مفاهیم اولیه پروتکل TCP/IP ( بخش چهارم )

مفاهیم اولیه پروتکل TCP/IP  ( بخش چهارم )

آنچه تاکنون گفته شده است : 
بخش اول : معرفی  پروتکل TCP/IP بهمراه لایه های آن
بخش دوم   : بررسی پروتکل های موجود در  TCP/IP
بخش سوم  : بررسی برنامه ها و ابزارهای کمکی در رابطه با پروتکل TCP/IP
 در این بخش به  بررسی Name Resoulation  ، خواهیم پرداخت . ماحصل فرآیند فوق، یافتن آدرس IP  مپ (map)  شده به یک  نام است ( در صورتیکه عملیات با موفقیت انجام گردد ) . تمامی اسامی User-friendly ، می بایست به آدرس معادل IP مربوطه مپ تا زمینه ارتباط بین دستگاههای متقاضی در یک شبکه مبتنی بر TCP/IP ،  فراهم گردد .

پروتکل TCP/IP کامپیوترهای مبداء و مقصد را از طریق آدرس IP آنان ، شناسائی می نماید . کاربران ، تمایل بیشتری  برای بخاطرسپردن و استفاده از اسامی ، نسبت به اعداد ( آدرس های IP )  را دارند . برای آدرس دهی یک کامپیوتر از انواع متفاوتی نام ( user friendly names )  ، استفاده می گردد. ویندوز 2000 ، بمنظور ذخیره سازی اسامی و آدرس IP  معادل آنان  ، از رویکردهای متفاوتی استفاده می گردد .با توجه به نوع نام استفاده شده ، از یک فایل ایستا و یا پویا بمنظور ذخیره نمودن اسامی و آدرس های IP مپ شده به آنان استفاده می گردد . برخی از برنامه ها نظیر IE و FTP  ، قادر به استفاده از آدرس IP و یا   نام  برای برقراری ارتباط  با مقصد مورد نظر می باشند .زمانیکه از نام استفاده می گردد ، قبل از آغاز یک ارتباط از طریق پروتکل TCP/IP ، از فرآیندی با نام  Name Resolution استفاده تا آدرس IP  کامپیوتر مورد نظر ، مشخص گردد  . در صورتیکه آدرس IP ، مشخص شده باشد ( در مقابل مشخص شدن  نام ) ،ارتباط بلافاصله برقرارخواهد شد . 

انواع نام
دو نوع نام 
user friendly  وجود دارد : اسامی میزبان (Host) و اسامی NetBIOS . نام میزبان ، نامی است که به یک آدرس IP کامپیوترنسبت داده شده  تا آن را بعنوان یک میزبان TCP/IP مشخص نماید. نام میزبان ، می تواند دارای حداکثر 255 کاراکتر ( حروف الفبائی ، کاراکترهای عددی ، نقطه و  hyphens ) باشد . اسامی میزبان دارای اشکال متفاوتی می باشند . نام مستعار (Alias) و  Domain names  ، دو نمونه متداول در این زمینه می باشند. نام مستعار، نامی خاص و مرتبط شده به یک آدرس IP است . (نظیر : Tehran ) .  یک  Domain name ، بمنظور استفاده بر روی اینترنت سازماندهی و از نقطه بعنوان یک جداکننده استفاده می نماید ( مثلا" Tehran.Citys.com  ) .
 نام NetBIOS ، یک نام شانزده کاراکتری است که از آن  بمنظور مشخص نمودن یک منبع NetBIOS بر روی شبکه استفاده می گردد . از یک نام NetBIOS ، بمنظور مشخص نمودن یک و یا مجموعه ای از کامپیوترها ، استفاده میگردد .در این راستا ، صرفا"  از پانزده حرف اول آن برای نام و از کاراکتر نهائی بمنظور مشخص نمودن منبع و یا سرویسی که به یک کامپیوتر اشاره می نماید، استفاده می گردد.  نمونه ای از یک منبع NetBIOS ، عنصر File and Print Sharing for Microsoft Networks   در شبکه های مبتنی بر ویندوز 2000 است . زمانیکه کامپیوتر فعالیت خود را آغاز می نماید ، عنصر فوق ، یک نام منحصر بفرد NetBIOS را ریجستر(ثبت) می نماید . نام ثبت شده شامل نام کامپیوتر و کاراکتری است که بیانگر عنصر ثبت کننده است ( برای در نظر گرفتن نام کامپیوتر از حداکثر پانزده حرف و برای مشخص نمودن عنصر ثبت کننده نام ، از یک حرف دیگر استفاده می گردد ) . درویندوز 2000 ، نام NetBIOS ، می تواند حداکثر پانزده کاراکتر باشد . ویندوز 2000 ، خود نیازی به این نوع اسامی نداشته و نسخه های قبلی ویندوز نیازمند استفاده از اسامی NetBIOS بمنظور حمایت از قابلیت های شبکه ای، دارند.

Static IP mapping
زمانیکه کاربران یک نام را بمنظور برقراری ارتباط با یک کامپیوتر مقصد ، مشخص می نمایند ، پروتکل TCP/IP  همچنان نیازمند یک آدرس IP برای تحقق انتقال اطلاعات است . در این راستا لازم است که  نام کامپیوتر به یک آدرس IP  ، مپ گردد. ماحصل عملیات فوق ( mapping ) ، در یک جدول ایستا و یا پویا ذخیره می گردد . در صورتیکه از یک جدول ایستا  استفاده گردد ، نتایج مورد نظر در یکی از فایل های  Hosts و یا Lmhosts ذخیره می گردند( فایل ها ی فوق، متنی می باشند ) . مهمترین مزیت استفاده از یک جدول ایستا ، امکان سفارشی نمودن آن با توجه به ماهیت فایل ( متنی ) و محل ذخیره سازی (  ذخیره  بر روی هر کامپیوتر) آن است. در این راستا هر یک از کاربران می توانند  برای دستیابی به منابعی با فرکانس بالای دستیابی ، به هر میزان که ضرورت دارد ، entry در جدول فوق ثبت نمایند . بهنگام سازی جداول ایستا ، یکی از چالش های اصلی در این زمینه بوده و در مواردیکه تعداد آدرس های IP  مپ شده ، زیاد و آدرس های فوق متناوبا" تغییر یابند ، بهنگام سازی جداول ایستا مسائل خاص خود را خواهد داشت .

فایل  Hosts  . فایل فوق  ، یک فایل متنی و شامل آدرس های IP مپ شده به اسامی میزبان است . فایل فوق،  دارای ویژگی های زیر است   : 

  • می توان چندین نام میزبان را به  آدرس IP مشابهی نسبت داد .در این حالت ، امکان مراجعه به یک سرویس دهنده در آدرس IP : 167.91.45.121  از طریق نام حوزه  Tehran.Citys.Com و یا نام مستعار Tehran وجود خواهد داشت . در این راستا ، کاربران می توانند بمنظور مراجعه به سرویس دهنده از نام مستعار Tehran در مقابل نام Domain  ، استفاده نمایند .

  • هر Entry در فایل فوق ، با توجه به نوع پلات فرم ،  نسبت به حروف بزرگ و کوچک حساس خواهد بود . در رابطه با کامپیوترهائی که ویندوز 2000 و یا NT بر روی آنها نصب شده است ، حساسیت فوق ، وجود نخواهد داشت . 

فایل LmHosts  . فایل فوق ، یک فایل متنی وشامل آدرس IP مپ شده به نام NetBIOS است . بخشی از فایل Lmhosts در ابتدا وارد حافظه شده و به آن اصطلاحا" NetBIOS name Cache می گویند.

Dynamic IP mapping
مهمترین مزیت جداول پویا ( مسئول ذخیره سازی IP مپ شده ) ، بهنگام سازی اتوماتیک آنان است.در این راستا ، جداول پویا از دو سرویس استفاده می نمایند : DNS)Domain Name System) و WINS)Windows Internet Neame Service) .   سرویس دهنده DNS و WINS عملیات مشابه ای را نظیر فایل های Hosts و Lmhosts انجام خواهند داد ( بدون نیاز به پیکربندی دستی ) .

DNS)Domain Name System)
DNS ، روشی بمنظور نامگذاری کامپیوترها و منابع شبکه است . شبکه های مبتنی بر TCP/IP ، از بانک اطلاعاتی اسامی DNS ، بمنظور یافتن کامپیوترها و سرویس ها از طریق اسامی User friendly مربوط به Domain names ، استفاده می نمایند. زمانیکه کاربری نام یک Domain را در برنامه ای وارد ( مشخص ) می نماید، سرویس دهنده  DNS  ، نام مورد نظر را به IP مربوطه ، map خواهد کرد .ساختار سیستم نامگذاری DNS ،  بصورت سلسله مراتبی است  ، بدین ترتیب امکان استفاده از سیستم فوق،در شبکه های بزرگی نظیر اینترنت وجود خواهد شد . با استفاده از یک سیستم سلسله مراتبی بمنظور ایجاد اسامی Domain ، کامپیوترهائی که  اسامی Domain و معادل IP مربوطه را ذخیره می نمایند ، دارای mapping لازم برای صرفا" ناحیه مربوط به خود می باشند . این نوع از کامپیوترها اصطلاحا" ، سرویس دهنده DNS ، نامیده شده و صرفا" پردازش های لازم برای کامپیوترهائی که در میدان عملیاتی آنان می باشد را انجام خواهند داد . زمانیکه mapping در ناحیه مربوطه تغییر نماید ، سرویس دهندگان DNS مبتنی بر ویندوز 2000 ، بصورت اتوماتیک عملیات بهنگام سازی را انجام خواهند داد .

WINS)Windows Internet Name Service)  
WINS ، یک بانک اطلاعاتی توزیعی را برای ثبت mapping  پویای اسامی NetBIOS استفاده شده در شبکه ، ارائه می نماید . WINS ، اسامی NetBIOS را به آدرس های IP مپ و این امکان را فراهم خواهد آورد که اسامی NetBIOS  در طول روترها ، قابل استفاده باشند .

Name Resoulation در ویندوز 2000
Name Resoulation ، فرآیندی است که بر اساس آن مشکل یک نام برطرف  و یا به یک آدرس IP مپ می گردد . زمانیکه کاربری یک نام را در یک برنامه ، وارد می نماید، برنامه مشخص می نماید که نام فوق یک میزبان و یا یک نام NetBIOS است. برنامه های فعلی در ویندوز 2000 ، از فرآیند host name resolution ، استفاده می نمایند ولی برخی از برنامه های قدیمی تر نظیر برنامه هائی که مختص ویندوز NT و یا ویندوز 95 , 98 طراحی شده اند ، همچنان از اسامی NetBIOS استفاده می نمایند. در صورتیکه فرآیند فوق ، با موفقیت همراه نگردد ، برنامه  متقاضی  قادر به برقراری ارتباط با مقصد مورد نظر خود نخواهد بود. در صورتیکه از یک آدرس IP استفاده می نمائید ، name resolution  نیاز نخواهد بود .

فرآیند Host name Resolution
آدرس  IP  اسامی میزبان ( Host Names)  ، با استفاده از فایل Host و یا بکمک  سرویس دهنده DNS  ، مشخص خواهد شد . فرآیند فوق ، بصورت زیر انجام خواهد شد .

  • کامپیوتر A دستوری را نظیر FTP  بهمراه  نام کامپیوتر میزبان B  ، وارد می نماید .

  • کامپیوتر A ، بررسی می نماید که آیا نام مشخص شده با نام میزبان محلی مطابقت می نماید.

  • در صورتیکه نام مشخص شده با نام میزبان محلی مطابقت ننماید ، کامپیوتر A ، فایل میزبانان خود را (Hosts File )  بمنظور آگاهی از کامپیوتر میزبان B ، جستجو می نماید. در صورتیکه نام کامپیوتر میزبان پیدا گردد ، آدرس IP مپ شده به آن ، برگردانده خواهد شد . پس از مشخص شدن  آدرس IP ، زمینه ارتباط با کامپیوتر مورد نظر فراهم خواهد شد . 

  • اگر کامپیوتر A ، نام میزبان کامپیوتر B را پیدا ننماید ، در ادامه یک query برای سرویس دهنده DNS ارسال می گردد. در صورتیکه نام میزبان پیدا گردد ، آدرس IP  نسبت داده شده به آن مشخص خواهد شد.  پس از مشخص شدن آدرس IP ، زمینه ارتباط با کامپیوتر مورد نظر فراهم خواهد شد . 

  • درصورتیکه نام کامپیوتر میزبان در سرویس دهنده DNS پیدا نگردد ، ویندوز 2000 ، Cache  مربوط به اسامی NetBIOS را بررسی می نماید .این امر بدین علت است که ویندوز 2000 ، با   NetBIOS name  بمنزله host name ، رفتار می نماید.

  • در صورتیکه Cache فوق ،  شامل نام میزبان مورد نظر نباشد  ، یک query برای سرویس دهنده WINS ارسال می گردد .

  • در صورتیکه سرویس دهنده WINS قادر به حل مشکل نام نباشد ، یک پیام Broadcast  بر روی شبکه ارسال می گردد.

  • در صورتیکه میزبانی به پیام منتشر شده پاسخ ندهد ، فایل Lmhosts بمنظور نام میزبان( NetBIOS)  ، بررسی خواهد شد.

فرآیند NetBIOS  Name Resolution
بصورت پیش فرض ، اسامی NetBIOS  بر روی یک شبکه مبتنی بر TCP/IP کار نخواهند کرد . ویندوز 2000 ، امکان برقراری ارتباط  در شبکه های مبتنی بر TCP/IP را برای سرویس گیرندگان NetBIOS ، از طریق پروتکل NetBT ، فراهم می نماید . NetBT ، از  کلمات NetBIOS over TCP/IP اقتباس شده است . پروتکل فوق ، امکان برقراری ارتباط را برای برنامه های مبتنی بر NetBIOS  ، توسط  TCP/IP و از طریق  ترجمه نام NetBIOS به یک آدرس IP ، فراهم می نماید . درصورتیکه سرویس دهنده WINS برای استفاده ، پیکربندی  شده  باشد ، فرآیند  NetBIOS Name  Resolution ،   بصورت زیر خواهد بود :

  • کامپیوتر A ، دستوری نظیر Net use را بهمراه  نام NetBIOS کامپیوتر B ، وارد  می نماید .

  • کامپیوتر A ، بررسی می نماید  که آیا نام مشخص شده در Cache  اسامی NetBIOS  ، موجود است .

  • در صورتیکه نام موجود نباشد ، کامپیوتر A یک query  را برای  سرویس دهنده WINS ارسال می دارد.

  • در صورتیکه سرویس دهنده WINS قادر به یافتن نام نباشد ، کامپیوتر A از Broadcast در شبکه ، استفاده می نماید .

  • در صورتیکه  Broadcast ، قادر به حل مشکل نام نگردد  ، کامپیوتر A ، فایل Lmhosts را بررسی می نماید.

  • در صورتیکه روش های NetBIOS فوق ،  قادر به حل مشکل نام نگردند  ، کامپیوتر A  ، فایل Hosts را بررسی می نماید.

  • در نهایت ، کامپیوتر A ، یک query برای یک سرویس دهنده DNS ارسال می نماید .

در بخش پنجم این مقاله به بررسی نحوه  انتقال اطلاعات خواهیم پرداخت .

  
نویسنده : ali gooliof ; ساعت ۱٢:٥٥ ‎ق.ظ روز ۱۳۸٧/٢/٢
تگ ها :