مقاله رشته کامپیوتر

دانلود رایگان مقاله مفاهیم اولیه پروتکل TCP/IP

 ( بخش اول )

TCP/IP ، یکی از مهمترین پروتکل های استفاده شده در شبکه های کامپیوتری است . اینترنت بعنوان بزرگترین شبکه موجود ، از پروتکل فوق بمنظور ارتباط دستگاه های متفاوت  استفاده می نماید. پروتکل ، مجموعه قوانین لازم بمنظور قانونمند نمودن نحوه ارتباطات در شبکه های کامپیوتری است .در مجموعه مقالاتی که ارائه خواهد شد به بررسی این پروتکل خواهیم پرداخت . در این بخش مواردی  همچون : فرآیند انتقال اطلاعات ، معرفی و تشریح لایه های پروتکل TCP/IP و نحوه استفاده از سوکت برای ایجاد تمایز در ارتباطات ، تشریح می گردد.

مقدمه

امروزه اکثر شبکه های کامپیوتری بزرگ و اغلب سیستم های عامل موجود از پروتکل TCP/IP ،  استفاده و حمایت می نمایند. TCP/IP ، امکانات لازم بمنظور ارتباط سیستم های غیرمشابه را فراهم می آورد. از ویژگی های مهم پروتکل فوق ، می توان به مواردی همچون : قابلیت اجراء بر روی محیط های متفاوت ، ضریب اطمینان بالا ،قابلیت گسترش و توسعه آن ، اشاره کرد . از پروتکل فوق، بمنظور دستیابی به اینترنت و استفاده از سرویس های متنوع آن نظیر وب و یا پست الکترونیکی استفاده می گردد. تنوع  پروتکل های  موجود  در پشته TCP/IP و ارتباط منطقی و سیستماتیک آنها با یکدیگر، امکان تحقق ارتباط در شبکه های کامپیوتری  را با اهداف متفاوت ، فراهم می نماید. فرآیند برقراری یک ارتباط  ، شامل فعالیت های متعددی نظیر :  تبدیل  نام کامپیوتر به آدرس IP  معادل ، مشخص نمودن موقعیت کامپیوتر مقصد ، بسته بندی اطلاعات ، آدرس دهی و روتینگ داده ها  بمنظور ارسال موفقیت آمیز به مقصد مورد نظر ، بوده که توسط  مجموعه پروتکل های موجود در پشته TCP/IP  انجام می گیرد.

معرفی پروتکل TCP/IP

TCP/IP ، پروتکلی استاندارد برای ارتباط کامپیوترهای موجود در یک شبکه مبتنی بر ویندوز ۲۰۰۰ است. از پروتکل فوق، بمنظور ارتباط در شبکه های بزرگ استفاده می گردد. برقراری ارتباط  از طریق پروتکل های متعددی که در چهارلایه مجزا سازماندهی شده اند  ، میسر می گردد. هر یک از پروتکل های موجود  در پشته TCP/IP ، دارای وظیفه ای خاص در این زمینه ( برقراری ارتباط)  می باشند . در زمان ایجاد یک ارتباط ، ممکن است در یک لحظه تعداد زیادی از برنامه ها ، با یکدیگر ارتباط برقرار نمایند.  TCP/IP ، دارای قابلیت تفکیک و تمایز یک برنامه موجود بر روی یک کامپیوتر با سایر برنامه ها بوده و پس از دریافت داده ها از یک برنامه ، آنها را برای  برنامه متناظر موجود بر روی کامپیوتر دیگر ارسال  می نماید. نحوه  ارسال داده  توسط پروتکل TCP/IP  از محلی به محل دیگر ،  با فرآیند ارسال یک نامه از شهری به شهر، قابل مقایسه  است .

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

لایه های پروتکل TCP/IP

TCP/IP ، فرآیندهای لازم بمنظور برقراری ارتباط را سازماندهی و در این راستا  از پروتکل های متعددی در پشته TCP/IP استفاده می گردد. بمنظور افزایش کارآئی در تحقق فرآیند های مورد نظر، پروتکل ها در لایه های متفاوتی، سازماندهی شده اند . اطلاعات مربوط به آدرس دهی در انتها قرار گرفته و بدین ترتیب کامپیوترهای موجود در شبکه قادر به بررسی آن با سرعت مطلوب خواهند بود. در این راستا،  صرفا” کامپیوتری که بعنوان کامپیوتر مقصد معرفی شده است ، امکان  باز نمودن بسته اطلاعاتی و انجام پردازش های لازم بر روی آن را دارا خواهد بود. TCP/IP ، از یک مدل ارتباطی چهار لایه بمنظور ارسال اطلاعات از محلی به محل دیگر استفاده می نماید: Application ,Transport ,Internet و Network Interface ، لایه های موجود در پروتکل TCP/IP  می باشند.هر یک از  پروتکل های وابسته به  پشته TCP/IP ، با توجه به رسالت خود ، در یکی از لایه های فوق،  قرار می گیرند.

لایه Application

لایه Application ، بالاترین لایه در پشته TCP/IP است .تمامی برنامه و ابزارهای کاربردی در این لایه ،  با استفاده از لایه فوق،  قادر به دستتیابی به شبکه خواهند بود. پروتکل های موجود در این لایه بمنظور فرمت دهی و مبادله اطلاعات کاربران استفاده می گردند . HTTP و FTP  دو نمونه از پروتکل ها ی موجود در این لایه  می باشند .

  • پروتکل HTTP)Hypertext Transfer Protocol) . از پروتکل فوق ، بمنظور ارسال فایل های صفحات وب مربوط به وب ، استفاده می گردد .
  • پروتکل FTP)File Transfer Protocol) . از پروتکل فوق برای ارسال و دریافت فایل،  استفاده می گردد .

لایه Transport

لایه ” حمل ” ، قابلیت ایجاد نظم و ترتیب و تضمین ارتباط بین کامپیوترها و ارسال داده به لایه Application  ( لایه بالای خود) و یا لایه اینترنت ( لایه پایین خود) را بر عهده دارد. لایه فوق ، همچنین مشخصه منحصربفردی از برنامه ای که داده را عرضه نموده است ،  مشخص می نماید. این لایه دارای دو پروتکل اساسی است که نحوه توزیع داده را کنترل می نمایند.

  •  TCP)Transmission Control Protocol) . پروتکل فوق ، مسئول تضمین صحت توزیع  اطلاعات است .
  •  UDP)User Datagram Protocol) . پروتکل فوق ، امکان عرضه سریع اطلاعات بدون پذیرفتن مسئولیتی در رابطه با تضمین صحت توزیع اطلاعات را برعهده دارد .

لایه اینترنت

لایه “اینترنت”، مسئول آدرس دهی ، بسته بندی و روتینگ داده ها  ، است. لایه فوق ، شامل چهار پروتکل اساسی است :

  •  IP)Internet Protocol) . پروتکل فوق ، مسئول آدرسی داده ها بمنظور ارسال به مقصد مورد نظر است .
  • ARP)Address Resoulation Protocol) . پروتکل فوق ، مسئول مشخص نمودن آدرس MAC)Media Access Control) آداپتور شبکه بر روی کامپیوتر مقصد است. 
  •  ICMP)Internet Control Message Protocol) . پروتکل فوق ، مسئول ارائه توابع عیب یابی و گزارش خطاء در صورت عدم توزیع  صحیح  اطلاعات است .
  •  IGMP)Internet Group Managemant Protocol) . پروتکل فوق ، مسئول مدیریت Multicasting   در TCP/IP  را برعهده دارد.

لایه Network Interface

لایه ” اینترفیس شبکه ” ، مسئول استقرار داده بر روی محیط انتقال شبکه و دریافت داده از محیط انتقال شبکه است . لایه فوق ، شامل دستگاه های فیزیکی نظیر کابل شبکه و آداپتورهای شبکه است . کارت شبکه ( آداپتور) دارای یک عدد دوازده رقمی مبنای شانزده  ( نظیر : B5-50-04-22-D4-66 ) بوده که  آدرس MAC ، نامیده می شود. لایه ” اینترفیس شبکه ” ، شامل پروتکل های مبتنی بر نرم افزار مشابه  لایه های قبل ، نمی باشد. پروتکل های  Ethernet و ATM)Asynchronous Transfer Mode)  ، نمونه هائی از پروتکل های موجود در این لایه می باشند . پروتکل های فوق ، نحوه ارسال داده در شبکه را مشخص می نمایند.

مشخص نمودن برنامه ها

در شبکه های کامپیوتری ، برنامه ها ی متعددی در یک زمان با یکدیگر مرتبط می گردند. زمانیکه چندین برنامه بر روی یک کامپیوتر فعال می گردند ، TCP/IP ، می بایست از  روشی بمنظور تمایز یک برنامه از برنامه دیگر، استفاده نماید. بدین منظور ، از یک سوکت ( Socket)  بمنظور مشخص نمودن یک برنامه خاص ، استفاده می گردد.

آدرس IP

برقراری ارتباط در یک شبکه ، مستلزم مشخص شدن آدرس کامپیوترهای مبداء و مقصد است ( شرط اولیه بمنظور برقراری ارتباط بین دو نقطه ، مشخص بودن آدرس نقاط درگیر در ارتباط است ) . آدرس هر یک از دستگاه های درگیر در فرآیند ارتباط ، توسط یک عدد منحصربفرد که  IP  نامیده می شود ، مشخص می گردند. آدرس فوق به هریک از کامپیوترهای موجود در شبکه نسبت داده می شود . IP :  ۱۰٫ ۱۰٫۱٫۱ ، نمونه ای در این زمینه است .

پورت TCP/UDP 

پورت مشخصه ای برای یک برنامه و در یک کامپیوتر خاص است .پورت با یکی از پروتکل های لایه “حمل” ( TCP و یا UDP ) مرتبط  و پورت TCP و یا پورت UDP ، نامیده  می شود. پورت می تواند عددی بین صفر تا ۶۵۵۳۵ را شامل شود. پورت ها برای برنامه های TCP/IP سمت سرویس دهنده ، بعنوان پورت های “شناخته شده  ” نامیده شده و به اعداد کمتر از ۱۰۲۴ ختم و رزو می شوند تا هیچگونه تعارض و برخوردی  با سایر برنامه ها بوجود نیاید. مثلا” برنامه سرویس دهنده FTP از پورت TCP  بیست و یا بیست ویک استفاده می نماید.

سوکت (Socket) 

 سوکت ، ترکیبی از یک آدرس IP و پورت TCP ویا پورت UDP است . یک برنامه ، سوکتی را با مشخص نمودن آدرس IP مربوط به کامپیوتر و نوع سرویس ( TCP برای تضمین توزیع اطلاعات و یا UDP) و پورتی که نشاندهنده  برنامه است، مشخص می نماید. آدرس IP موجود در سوکت ، امکان آدرس دهی  کامپیوتر مقصد را فراهم و پورت مربوطه ، برنامه ای را که داده ها برای آن ارسال می گردد را مشخص می نماید.

در بخش دوم این مقاله به تشریح هر یک از پروتکل های موجود در پشته TCP/IP، خواهیم پرداخت .

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

در بخش اول این مقاله ،پروتکل TCP/IP بهمراه لایه های آن  معرفی گردیید . در این بخش ، به بررسی پروتکل های موجود در TCP/IPخواهیم پرداخت .

 TCP/IP ،شامل شش پروتکل اساسی( TCP,UDP,IP,ICMP,IGMP ،ARP ) و مجموعه ای از برنامه های کاربردی است. پروتکل های فوق، مجموعه ای از استادنداردها ی لازم بمنظور ارتباط بین کامپیوترها و دستگاهها  را در شبکه ، فراهم می نماید. تمامی برنامه ها و سایر پروتکل ها ی موجود در پروتکل TCP/IP ، به پروتکل های شش گانه فوق مرتبط و از خدمات ارائه شده توسط آنان استفاده می نمایند .  در ادامه به تشریح عملکرد و جایگاه هر یک از پروتکل های  اشاره شده  ، خواهیم پرداخت .

پروتکل TCP  : لایه Transport

 TCP) Transmission Control Protocol) ، یکی از پروتکل های استاندارد TCP/IP است که امکان توزیع و عرضه اطلاعات ( سرویس ها) بین صرفا” دو کامپیوتر ، با ضریب اعتماد بالا را  فراهم می نماید. چنین ارتباطی ( صرفا” بین دو نقطه ) ، Unicast نامیده می شود . در ارتباطات با رویکرد اتصال گرا ، می بایست قبل از ارسال داده ، ارتباط بین دو کامپیوتر برقرار گردد . پس از برقراری ارتباط ، امکان ارسال اطلاعات برای صرفا” اتصال ایجاد شده ، فراهم می گردد . ارتباطات از این نوع  ، بسیار مطمئن می باشند ، علت این امر به تضمین توزیع اطلاعات برای مقصد مورد نظر برمی گردد . بر روی کامپیوتر مبداء ، TCP داده هائی که می بایست ارسال گردند را در بسته های اطلاعاتی (Packet) سازماندهی می نماید. در کامپیوتر مقصد ، TCP ، بسته های اطلاعاتی را تشخیص و داده های اولیه را مجددا” ایجاد خواهد کرد .

ارسال اطلاعات با استفاده  از TCP

TCP ، بمنظور افزایش کارائی ، بسته های اطلاعاتی را بصورت گروهی ارسال می نماید . TCP ، یک عدد سریال ( موقعیت یک بسته اطلاعاتی نسبت به تمام بسته اطلاعاتی ارسالی )  را به هریک از بسته ها نسبت داده و از Acknowledgment بمنظور اطمینان از دریافت گروهی از بسته های اطلاعاتی ارسال شده ، استفاده می نماید. در صورتیکه کامپیوتر مقصد ، در مدت زمان مشخصی نسبت به اعلام وصول بسته های اطلاعاتی ، اقدام ننماید ، کامپیوتر مبداء ، مجددا” اقدام به ارسال اطلاعات می نماید. علاوه برافزودن یک دنباله عددی و Acknowledgment به یک بسته اطلاعاتی ، TCP اطلاعات مربوط به پورت مرتبط با برنامه ها ی مبداء و مقصد را نیز به بسته اطلاعاتی اضافه می نماید. کامپیوتر مبداء ، از پورت کامپیوتر مقصد بمنظور هدایت صحیح بسته های اطلاعاتی به برنامه مناسب بر روی کامپیوتر مقصد ، استفاده می نماید.  کامپیوتر مقصد از پورت کامپیوتر مبداء بمنظور برگرداندن اطلاعات به برنامه ارسال کننده در کامپیوتر مبداء ، استفاده  خواهد کرد .

هر یک از کامپیوترهائی که تمایل به استفاده از پروتکل TCP بمنظور ارسال اطلاعات دارند ، می بایست قبل از مبادله اطلاعات ، یک اتصال بین خود ایجاد نمایند . اتصال فوق ، از نوع مجازی بوده و Session نامیده می شود .دو کامپیوتر درگیر در ارتباط ، با استفاده از TCP  و بکمک فرآیندی با نام : Three-Way handshake  ، با یکدیگر مرتبط و هر یک پایبند به رعایت اصول مشخص شده در الگوریتم مربوطه خواهند بود .  فرآیند فوق ، در سه مرحله صورت می پذیرد :

  • مرحله اول : کامپیوتر مبداء ، اتصال مربوطه را از طریق ارسال اطلاعات مربوط به Session ، مقداردهی اولیه می نماید ( عدد مربوط به موقعیت یک بسته اطلاعاتی بین تمام بسته های اطلاعاتی و اندازه مربوط به بسته اطلاعاتی )
  • مرحله دوم : کامپیوتر مقصد ، به اطلاعات Session  ارسال شده ، پاسخ مناسب را خواهد داد .
  • کامپیوتر مبداء ، از شرح واقعه بکمک Acknowledgment  ارسال شده توسط کامپیوتر مقصد ، آگاهی پیدا خواهد کرد .

پروتکل UDP : لایه Transport

UDP) User Datagram Protocol )  ،  پروتکلی  در سطح لایه “حمل” بوده که برنامه مقصد در شبکه را مشخص نموده و از نوع بدون اتصال است . پروتکل  فوق، امکان توزیع اطلاعات با سرعت مناسب  را ارائه ولی در رابطه با تضمین صحت ارسال اطلاعات ، سطح مطلوبی از اطمینان را بوجود نمی آورد . UDP  در رابطه با داده های دریافتی توسط مقصد ، به Acknowledgment نیازی نداشته و در صورت بروز اشکال و یا خرابی در داده های ارسال شده ، تلاش مضاعفی بمنظور ارسال مجدد داده ها ، انجام نخواهد شد . این بدان معنی است که داده هائی کمتر ارسال می گردد ولی هیچیک از داده های دریافتی و صحت تسلسل  بسته های اطلاعاتی ، تضمین نمی گردد .از پروتکل فوق ،  بمنظور انتقال اطلاعات به چندین کامپیوتر با استفاده از Broadcast و یا Multicast ، استفاده بعمل می آید . پروتکل UDP ،  در مواردیکه حجم اندکی از اطلاعات ارسال و یا اطلاعات دارای اهمیت بالائی نمی بانشد ، نیز استفاده می گردد. استفاده از پروتکل UDP در مواردی همچون  Multicasting Streaming media ، (نظیر یک ویدئو کنفرانس زنده)  و یا انتشار لیستی از اسامی کامپیوترها  که بمنظور ارتباطات محلی استفاده می گردند ، متداول است . بمنظور استفاده از UDP ، برنامه مبداء می بایست پورت UDP خود را مشخص نماید دقیقا” مشابه عملیاتی که می بایست کامپیوتر مقصد انجام دهد . لازم به یادآوری است که پورت های UDP از پورت های TCP مجزا و متمایز می باشند (حتی اگر دارای شماره پورت یکسان باشند ).

پروتکل IP  : لایه Internet

  1. IP)  Internet Protocol ) ، امکان مشخص نمودن محل کامپیوتر مقصد در یک شبکه ارتباطی را فراهم می نماید. IP ، یک پروتکل بدون اتصال و غیرمطمئن بوده که اولین مسئولیت آن آدرس دهی بسته های اطلاعاتی و روتینگ بین کامپیوترهای موجود در شبکه است . با اینکه IP همواره سعی در توزیع یک بسته اطلاعاتی می نماید ، ممکن است یک بسته اطلاعاتی در زمان ارسال گرفتار مسائل متعددی نظیر : گم شدن ، خرابی ، عدم توزیع با اولویت مناسب ، تکرار در ارسال و یا  تاخیر، گردند.در چنین مواردی ، پروتکل IP تلاشی بمنظور حل مشکلات فوق را انجام نخواهد داد ( ارسال مجدد اطلاعات درخواستی ) .آگاهی  از وصول بسته اطلاعاتی  در مقصد  و بازیافت بسته های اطلاعاتی گم شده ، مسئولیتی است که بر عهده یک لایه بالاتر نظیر TCP و یا برنامه  ارسال کننده اطلاعات ، واگذار می گردد .

عملیات انجام شده توسط IP

می توان IP را بعنوان مکانی در نظر گرفت که عملیات مرتب سازی و توزیع بسته های اطلاعاتی در آن محل ، صورت می پذیرد .بسته ها ی اطلاعاتی  توسط یکی از پروتکل های لایه حمل ( TCP و یا UDP)  و یا از طریق لایه ” ایترفیس شبکه ” ،  برای IP  ارسال می گردند . اولین وظیفه IP ، روتینگ بسته های اطلاعاتی بمنظور ارسال  به مقصد نهائی است . هر بسته اطلاعاتی ، شامل آدرس IP مبداء ( فرستنده ) و آدرس IP مقصد ( گیرنده ) می باشد. در صورتیکه IP ، آدرس مقصدی  را مشخص نماید که در همان سگمنت موجود باشد ، بسته اطلاعاتی مستقیما”  برای کامپیوتر مورد نظر ارسال می گردد . در صورتیکه آدرس مقصد در همان سگمنت نباشد ، IP ، می بایست از یک روتر استفاده و اطلاعات را برای آن ارسال نماید.یکی دیگر از وظایف IP ، ایجاد اطمینان از عدم وجود یک بسته اطلاعاتی ( بلاتکلیف ! ) در شبکه است . بدین منظور محدودیت زمانی خاصی در رابطه با مدت زمان حرکت بسته اطلاعاتی در طول شبکه ، در نظر گرفته می شود .عملیات فوق،  توسط نسبت دادن یک مقدار TTL)Time To Live) به  هر یک از بسته های اطلاعاتی صورت می پذیرد. TTL ، حداکثر مدت زمانی را  که بسته اطلاعاتی قادر به حرکت در طول شبکه است را مشخص می نماید( قبل از اینکه بسته اطلاعاتی  کنار گذاشته شود) .

پروتکل ICMP   : لایه Internet

 ICMP) Internet Control Message Protocol)  ، امکانات لازم در خصوص اشکال زدائی  و گزارش خطاء در رابطه با  بسته های اطلاعاتی غیرقابل توزیع  را  فراهم می نماید. با استفاده از ICMP ، کامپیوترها و روترها که از IP بمنظور ارتباطات  استفاده می نمایند ، قادر به گزارش خطاء و مبادله اطلاعاتی محدود در رابطه  وضعیت  بوجود آمده  می باشند. مثلا” در صورتیکه IP ، قادر به توزیع یک بسته اطلاعاتی به مقصد مورد نظر نباشد ، ICMP یک پیام مبتنی بر غیرقابل دسترس بودن  را برای کامپیوتر مبداء ارسال می دارد .  با اینکه پروتکل IP بمنظور انتقال داده بین روترهای متعدد استفاده می گردد ، ولی  ICMP  به نمایندگی از TCP/IP ، مسئول ارائه  گزارش خطاء و یا  پیام های کنترلی است . تلاش ICMP  ، در این جهت نیست که  پروتکل IP  را بعنوان یک پروتکل مطمئن مطرح نماید ، چون پیام های ICMP  دارای هیچگونه محتویاتی  مبنی بر اعلام وصول پیام (Acknowledgment )  بسته اطلاعاتی نمی باشند . ICMP ، صرفا” سعی در گزارش خطاء  و ارائه فیدبک های  لازم در رابطه با  تحقق یک وضعیت خاص را می نماید .

پروتکل  IGMP   : لایه Internet

IGMP) Internet Group Managment Protocol) ، پروتکلی است که مدیریت لیست اعضاء برای  IP Multicasting  ، در یک شبکه  TCP/IP را بر عهده دارد . IP Multicasting، فرآیندی است که بر اساس آن یک پیام برای  گروهی انتخاب شده از گیرندگان که گروه multicat  نامیده می شوند ؛ ارسال می گردد . IGMP لیست اعضاء را  نگهداری می نماید .

مدیریت IP Multicasting

تمامی اعضاء یک گروه multicast  ، به ترافیک IP هدایت شده به یک آدرس Multicast IP ، گوش داده و بسته های اطلاعاتی ارسال شده به آن آدرس را دریافت می نمایند. زمانیکه چندین کامپیوتر نیازمند دستیابی به اطلاعاتی نظیر Streaming media باشند، یک آدرس IP رزوشده برای multicasting  استفاده می گردد. روترها که بمنظور پردازش multicast پیکربندی می گردند، اطلاعات را انتخاب و آنها را برای تمامی مشترکین گروه multicast ارسال ( Forward ) می نمایند .  بمنظور رسیدن اطلاعات Multicast به گیرندگان مربوطه ، هر یک از روترهای موجود در مسیر ارتباطی می بایست ، قادر به حمایت از Multicasting باشند . کامپیوترهای مبتنی بر سیستم عامل وینوز ۲۰۰۰ ، قادر به ارسال و دریافت  IP Multicast  ، می باشند .

پروتکل ARP : لایه Internet

 ARP) Address Resolution Protocol) ، پروتکلی است که  مسئولیت مسئله ” نام به آدرس” را در رابطه با  بسته های اطلاعاتی خروجی (Outgoing) ، برعهده دارد . ماحصل فرآیند فوق ،  Mapping  آدرس IP به آدرسMAC )Media Access Control) ، مربوطه  است . کارت شبکه از آدرس MAC ،  بمنظور تشخیص تعلق یک بسته اطلاعاتی به کامپیوتر مربوطه ، استفاده می نمایند . بدون آدرس های MAC ، کارت های شبکه ، دانش لازم در خصوص ارسال بسته های اطلاعاتی به لایه بالاتر  بمنظور پردازش های مربوطه را  دارا نخواهند بود . همزمان با رسیدن بسته های اطلاعاتی به لایه IP  بمنظور ارسال در شبکه ، آدرس های MAC مبداء و مقصد به آن اضافه می گردد .

ARP ، از جدولی خاص بمنظور ذخیره سازی آدرس های IP و MAC مربوطه ، استفاده می نماید. محلی از حافظه که جدول فوق در آنجا ذخیره می گردد ، ARP Cache نامیده می شود. ARP Cache هر کامپیوتر شامل  mapping  لازم  برای کامپیوترها و روترهائی است که  صرفا”  بر  روی یک سگمنت مشابه قرار دارند.

Physical Address Resolution 

پروتکل ARP ، آدرس IP مقصد هر یک از بسته های اطلاعاتی خروجی را با ARP Cache مقایسه تا آدرس MAC  مقصد مورد نظر را بدست آورد . در صورتیکه موردی  پیدا گردد  ، آدرس MAC از Cache بازیابی می گردد . در غیر اینصورت ؛ ARP درخواستی را برای کامپیوتری که مالکیت IP را برعهده دارد ، Broadcast  نموده و از وی می خواهد که آدرس MAC خود را اعلام نماید . کامپیوتر مورد نظر ( با IP مربوطه ) ، در ابتدا آدرس MAC کامپیوتر ارسال کننده درخواست را به Cache خود اضافه نموده و در ادامه پاسخ لازم را از طریق ارسال آدرس MAC خود ، به متقاضی خواهد داد . زمانیکه پاسخ ARP توسط درخواست کننده ، دریافت گردید ، در ابتدا با استناد به اطلاعات جدید دریافتی، Cache مربوطه  بهنگام و در ادامه بسته اطلاعاتی به مقصد کامپیوتر مورد نظر ارسال می گردد .

در صورتیکه مقصد یک بسته اطلاعاتی ، سگمنتی دیگر باشد ، ARP ، آدرس MAC را به روتر مسئول در سگمنت مربوطه ، تعمیم  خواهد داد ( در مقابل آدرس مربوط به کامپیوتر مقصد ) . روتر ، در ادامه مسئول یافتن آدرس MAC مقصد و یا Forwarding بسته اطلاعاتی برای روتر دیگر است .

در بخش سوم این مقاله به بررسی ، برنامه ها و ابزارهای کمکی در رابطه با پروتکل TCP/IP  ، خواهیم پرداخت .

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

در بخش اول این مقاله،  پروتکل TCP/IP بهمراه لایه های آن معرفی گردید . در  بخش دوم ، به بررسی  برخی از پروتکل های مهم موجود در پشته TCP/IP  اشاره گردید . در این بخش ، به  بررسی  برنامه ها و ابزارهای کمکی موجود  در رابطه با پروتکل TCP/IP  ، خواهیم پرداخت .

نسخه TCP/IP پیاد ه سازی شده در ویندوز، بهمراه خود مجموعه ای از برنامه های کاربردی را ارائه نموده است . با استفاده از برنامه های فوق ، امکان اجرای ویندوز ۲۰۰۰ بر روی یک کامپیوتر بمنظور دستیابی به مجموعه ای گسترده از اطلاعات موجود در یک شبکه ، وجود خواهد داشت . ویندوز ۲۰۰۰ ، سه گروه عمده از ابزارهای مبتنی بر TCP/IP را ارائه می نماید : برنامه های عیب یابی ، برنامه های ارتباطی و نرم افزارهای سمت سرویس دهنده .

 در ادامه به تشریح امکانات موجود در هر گروه خواهیم پرداخت .

برنامه های عیب یابی

برنامه های عیب یابی ، امکان  تشخیص و برطرف نمودن مسائل مرتبط با شبکه را برای کاربران فراهم می نمایند. برخی از این ابزارها  عبارتند از :

  • ARP . برنامه فوق ، Cache مربوط به ARP) Addreee Resolution Protocol)   را نمایش و امکان اصلاح آن را فراهم می نماید . بمنظور استفاده از برنامه فوق ، کافی است  ARP -a را در خط دستور تایپ و در ادامه جدول  مربوط به ARP Cache ، نمایش داده می شود. با استفاده از برنامه فوق می توان یک Entry  ایستا را به جدول مربوطه اضافه ( arp  -s  ۱۵۷٫۵۵٫۸۵٫۲۱۲  ۰۰-aa-00-62-c6-09 ) ، و یا اقدام به حذف یک host از جدول نمود (  arp -d  ) .
  • Hostname . برنامه فوق ، نام کامپیوتر میزبان را نمایش می دهد . برای استفاده از برنامه فوق ، کافی است Hostname را در خط دستور ، تایپ و نام کامپیوتر خود را مشاهده نمود.
  • IPConfig . برنامه فوق ، پیکربندی جاری پروتکل TCP/IP را نمایش ( آدرس IP  ، آدرس فیزیکی ، نام کامپیوتر و …  ) و امکان بهنگام سازی آن را فراهم می نماید. بمنظور آشنائی با پتانسیل های برنامه فوق ، ipcongig/help را در خط دستور تایپ تا با  عملکرد این برنامه و سوئیچ های مربوطه آشنا گردید .
  • Nbtstat . برنامه فوق ، جدول محلی اسامی NetBIOS  را نمایش می دهد .جدول فوق ، شامل لیستی از اسامی کامپیوتر ها  بهمراه  IP مربوطه است (  mapping )
  • Netstat . برنامه فوق ، اطلاعات مربوط به جلسه کاری (Session)  پروتکل TCP/IP  را نمایش می دهد .
  • Ping . برنامه فوق ، پیکربندی و ارتباط مبتنی بر IP بین دو کامپیوتر را بررسی و تست می نماید. Ping یک درخواست ICMP را از کامپیوتر مبداء ارسال و کامپیوتر مقصد از طریق یک پاسخ ICMP به آن جواب خواهد داد .بمنظور تست ارتباط با استفاده از یک آدرس IP  و یا نام یک کامپیوتر ، فرمان [ PING [IP_Address or Computer_Name  را تایپ نمائید. بمنظور تست پیکربندی TCP/IP بر روی کامپیوتر خود ، از Local  Loopback  استفاده نمائید . Local  loopback  ، شامل آدرس  ۱۲۷٫۰٫۰٫۱ است. ( Ping 127.0.0.1 )
  • Tracert . برنامه فوق ، ردیابی یک بسته اطلاعاتی تا رسیدن به مقصد مورد نظر را انجام می دهد .

برنامه های ارتباطی

برنامه های  فوق ، امکان ارتباط  با مجموعه وسیعی از سیستم های مبتنی بر ویندوز و یا غیرویندوز نظیر سیستم های یوینیکس ، را در اختیار کاربران قرار می دهند . با اینکه این نوع از برنامه ها امکان ارسال سریع اطلاعات را فراهم می نمایند ولی با توجه به ماهیت ارسال اطلاعات توسط آنان ( تمامی اطلاعات شامل اطلاعات مربوط به تائید اعتبار و هویت کاربران بصورت متن شفاف ارسال می گردد ) ، می بایست دقت لازم صورت پذیرد .موارد زیر نمونه هائی از برنامه های ارتباطی می باشند : 

  • FTP . برنامه فوق،  با استفاده از پروتکل TCP ، اقدام به ارسال فایل بین ویندوز ۲۰۰۰ و کامپیوترهائی که بر روی  آنان نرم افزار سرویس دهنده FTP نصب شده است ، می نماید .
  • Telnet . برنامه فوق ، امکان ارتباط از راه دور به منابع شبکه موجود در کامپیوترهائی که سرویس دهنده Telnet  بر روی آنان نصب شده است  را فراهم می نماید .
  • Tftp . برنامه فوق از پروتکل UDP ، برای ارسال فایل های کوچک بین ویندوز ۲۰۰۰ و کامپیوترهائی که بر روی آنان سرویس دهنده TFTP)Trivial File Transfer Protocol )  نصب شده است را فراهم می نماید.

نرم افزارهای سمت سرویس دهنده

این نوع نرم افزارها امکان چاپ و انتشار سرویس ها را برای سرویس گیرندگان مبتنی بر TCP/IP در ویندوز ۲۰۰۰ ، فراهم می نماید.

  • سرویس چاپ TCP/IP . برنامه فوق ، سرویس استاندارد چاپ TCP/IP را ارائه می نماید. سرویس فوق ، امکان ارسال چاپ را برای  کامپیوترهائی که بر روی آنان سیستم های عاملی بجز ویندوز ۲۰۰۰ نصب شده باشد ، به  چاپگر های متصل شده به یک کامپیوتر مبتنی بر ویندوز ۲۰۰۰ ، فراهم می نماید .
  • سرویس های اطلاعاتی اینترنت (IIS) .  برنامه IIS ، نرم افزارهای سرویس دهنده  متعددی نظیر وب ، اخبار ، پست الکترونیکی  و ارسال فایل مبتنی بر TCP/IP  را در اختیار قرار می دهد. IIS  ، در سیستم هائی که از نسخه های Server ویندوز ۲۰۰۰ استفاده می نمایند ، بصورت پیش فرض نصب می گردد . پیشنهاد می گردد در صورتیکه به عملکرد این برنامه نیازی وجود ندارد ، اقدام به حذف (Uninstall )  آن از روی سیستم نمود .

مثال

مثال ۱ – هدف : استفاده از برنامه  Ping بمنظور اطمینان از صحت عملکرد پروتکل TCP/IP

  • مرحله یک : بعنوان یک کاربر مجاز ، به شبکه وارد شوید .
  • مرحله دو  : گزینه Command Prompt را از مسیر  Start | Programs | Accessories  انتخاب نمائید. 
  • مرحله سه :  دستور Ping 127.0.0.1 را در پنجره مربوطه تایپ نمائید .

نتایج : پس از انجام مراحل فوق ، نتایج زیر می بایست نشان داده شود :

  • نتیجه یک : می بایست چهار بسته اطلاعاتی ارسال و چهار بسته اطلاعاتی دریافت و هیچگونه بسته اطلاعاتی  گم نگردد . در غیر اینصورت در رابطه با نصب TCP/IP مشکلاتی وجود دارد .
  • نتیجه دو  : در صورتیکه چهار بسته اطلاعاتی ارسال و دریافت گردد ، نشاندهنده صحت عملکرد و نصب پروتکل TCP/IP است .
نتایج حاصل از اجرای  برنامه Ping
C:\>ping 127.0.0.1
Pinging 127.0.0.1 with 32 bytes of data: Reply from 127.0.0.1: bytes=32 time<10ms TTL=128

Reply from 127.0.0.1: bytes=32 time<10ms TTL=128

Reply from 127.0.0.1: bytes=32 time<10ms TTL=128

Reply from 127.0.0.1: bytes=32 time<10ms TTL=128

Ping statistics for 127.0.0.1:

Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),

Approximate round trip times in milli-seconds:

Minimum = 0ms, Maximum = 0ms, Average = 0ms

مثال ۲ –  هدف : استفاده از برنامه های  Ping  و Hostname بمنظور صحت عملکرد TCP/IP

  • مرحله یک : بعنوان یک کاربر مجاز ، به شبکه وارد شوید .
  • مرحله دو  : گزینه Command Prompt را از مسیر  Start | Programs | Accessories  انتخاب نمائید.
  • مرحله سه : در پنجره مربوطه ، دستور hostname را تایپ نمائید.
  • مرحله چهارم :  در پنجره مربوطه ، دستور Ping  Computer_Name  را تایپ نمائید . نام کامپیوتر ، مقدار برگردانده شده در اثر اجرای فرمان hostname است .

نتایج : پس از انجام مراحل فوق ، نتایج زیر می بایست نشان داده شود :

  • نتیجه یک : نام کامپیوتر (  در این رابطه هر کامپیوتر دارای نام اختصاصی مربوط به خود خواهد بود )  
  • نتیجه دو  : آدرس IP کامپیوتر ( در این رابطه هر کامپیوتر دارای آدرس IP مربوط به خود خواهد بود )
مرحله اول : مشخص نمودن نام کامپیوتر
C:\> hostname
Srco

 

مرحله دوم : استفاده از دستور Ping بهمراه نام کامپیوتر
C:> Ping  Srco
Pinging  Srco.Test.com  [ ۱۰٫۱۰٫۱٫۱]  with 32 bytes of data: Reply from 10.10.1.1: bytes=32 time<10ms TTL=128

Reply from 10.10.1.1: bytes=32 time<10ms TTL=128

Reply from 10.10.1.1: bytes=32 time<10ms TTL=128

Reply from 10.10.1.1: bytes=32 time<10ms TTL=128

Ping statistics for 10.10.1.1:

Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),

Approximate round trip times in milli-seconds:

Minimum = 0ms, Maximum = 0ms, Average = 0ms

در بخش چهارم این مقاله به بررسی ، Name Resoulation  ، خواهیم پرداخت .

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

آنچه تاکنون گفته شده است :

بخش اول  : معرفی  پروتکل TCP/IP بهمراه لایه های آن

بخش دوم   : بررسی پروتکل های موجود در  TCP/IP

بخش سوم  : بررسی برنامه ها و ابزارهای کمکی در رابطه با پروتکل TCP/IP

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

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

انواع نام

دو نوع نام  user friendly  وجود دارد : اسامی میزبان (Host) و اسامی NetBIOS . نام میزبان ، نامی است که به یک آدرس IP کامپیوترنسبت داده شده  تا آن را بعنوان یک میزبان TCP/IP مشخص نماید. نام میزبان ، می تواند دارای حداکثر ۲۵۵ کاراکتر ( حروف الفبائی ، کاراکترهای عددی ، نقطه و  hyphens ) باشد . اسامی میزبان دارای اشکال متفاوتی می باشند . نام مستعار (Alias) و  Domain names  ، دو نمونه متداول در این زمینه می باشند. نام مستعار، نامی خاص و مرتبط شده به یک آدرس IP است . (نظیر : Tehran ) .  یک  Domain name ، بمنظور استفاده بر روی اینترنت سازماندهی و از نقطه بعنوان یک جداکننده استفاده می نماید ( مثلا” Tehran.Citys.com  ) .

 نام NetBIOS ، یک نام شانزده کاراکتری است که از آن  بمنظور مشخص نمودن یک منبع NetBIOS بر روی شبکه استفاده می گردد . از یک نام NetBIOS ، بمنظور مشخص نمودن یک و یا مجموعه ای از کامپیوترها ، استفاده میگردد .در این راستا ، صرفا”  از پانزده حرف اول آن برای نام و از کاراکتر نهائی بمنظور مشخص نمودن منبع و یا سرویسی که به یک کامپیوتر اشاره می نماید، استفاده می گردد.  نمونه ای از یک منبع NetBIOS ، عنصر File and Print Sharing for Microsoft Networks   در شبکه های مبتنی بر ویندوز ۲۰۰۰ است . زمانیکه کامپیوتر فعالیت خود را آغاز می نماید ، عنصر فوق ، یک نام منحصر بفرد NetBIOS را ریجستر(ثبت) می نماید . نام ثبت شده شامل نام کامپیوتر و کاراکتری است که بیانگر عنصر ثبت کننده است ( برای در نظر گرفتن نام کامپیوتر از حداکثر پانزده حرف و برای مشخص نمودن عنصر ثبت کننده نام ، از یک حرف دیگر استفاده می گردد ) . درویندوز ۲۰۰۰ ، نام NetBIOS ، می تواند حداکثر پانزده کاراکتر باشد . ویندوز ۲۰۰۰ ، خود نیازی به این نوع اسامی نداشته و نسخه های قبلی ویندوز نیازمند استفاده از اسامی 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 در فایل فوق ، با توجه به نوع پلات فرم ،  نسبت به حروف بزرگ و کوچک حساس خواهد بود . در رابطه با کامپیوترهائی که ویندوز ۲۰۰۰ و یا 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 مبتنی بر ویندوز ۲۰۰۰ ، بصورت اتوماتیک عملیات بهنگام سازی را انجام خواهند داد .

WINS)Windows Internet Name Service)  

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

Name Resoulation در ویندوز ۲۰۰۰

Name Resoulation ، فرآیندی است که بر اساس آن مشکل یک نام برطرف  و یا به یک آدرس IP مپ می گردد . زمانیکه کاربری یک نام را در یک برنامه ، وارد می نماید، برنامه مشخص می نماید که نام فوق یک میزبان و یا یک نام NetBIOS است. برنامه های فعلی در ویندوز ۲۰۰۰ ، از فرآیند host name resolution ، استفاده می نمایند ولی برخی از برنامه های قدیمی تر نظیر برنامه هائی که مختص ویندوز NT و یا ویندوز ۹۵ , ۹۸ طراحی شده اند ، همچنان از اسامی 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 پیدا نگردد ، ویندوز ۲۰۰۰ ، Cache  مربوط به اسامی NetBIOS را بررسی می نماید .این امر بدین علت است که ویندوز ۲۰۰۰ ، با   NetBIOS name  بمنزله host name ، رفتار می نماید.
  • در صورتیکه Cache فوق ،  شامل نام میزبان مورد نظر نباشد  ، یک query برای سرویس دهنده WINS ارسال می گردد .
  • در صورتیکه سرویس دهنده WINS قادر به حل مشکل نام نباشد ، یک پیام Broadcast  بر روی شبکه ارسال می گردد.
  • در صورتیکه میزبانی به پیام منتشر شده پاسخ ندهد ، فایل Lmhosts بمنظور نام میزبان( NetBIOS)  ، بررسی خواهد شد.

فرآیند NetBIOS  Name Resolution

بصورت پیش فرض ، اسامی NetBIOS  بر روی یک شبکه مبتنی بر TCP/IP کار نخواهند کرد . ویندوز ۲۰۰۰ ، امکان برقراری ارتباط  در شبکه های مبتنی بر 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 ارسال می نماید .

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

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

آنچه تاکنون گفته شده است :

بخش اول  : معرفی  پروتکل TCP/IP بهمراه لایه های آن

بخش دوم   : بررسی پروتکل های موجود در  TCP/IP

بخش سوم  : بررسی برنامه ها و ابزارهای کمکی در رابطه با پروتکل TCP/IP

بخش چهارم : بررسی Name Resoulation  

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

TCP/IP ، بمنظور ارسال داده بر روی شبکه  آنها را به بخش های کوچکتری با نام Packets ( بسته های اطلاعاتی ) ، تقسیم می نماید. از بسته های اطلاعاتی ، بر اساس پروتکل های مرتبط با آنان با واژه های متفاوتی یاد می گردد. تقسیم داده به بسته های اطلاعاتی امری  حیاتی و ضروری است . ارسال حجم بالائی از اطلاعات در شبکه ، مدت زمان زیادی  طول خواهد کشید و همین امر ، باعث کند شدن شبکه  می گردد. در زمانیکه حجم بالائی از اطلاعات در شبکه جابجا می گردد ، سایر کامپیوترهای موجود در شبکه قادر به ارسال اطلاعات نخواهند بود. در چنین حالتی ، اگر در فرآیند انتقال اطلاعات اشکالی بروز نماید ، می بایست تمامی اطلاعات مجددا” ارسال شوند. در مقابل ، اگر بسته های اطلاعاتی کوچک بر روی شبکه ارسال گردند ، انتقال آنها بسرعت انجام و محیط انتقال به مدت زیادی ، اشغال نخواهد شد . در چنین حالتی در صورتیکه هر یک از بسته های اطلاعاتی با مشکل مواجه شوند ، صرفا”  بسته اطلاعاتی  که با مشکل مواجه شده است ، مجددا” ارسال می گردد. ( در مقابل ارسال تمام اطلاعات ) .

زمانیکه یک بسته اطلاعاتی به لایه اینترفیس شبکه ارسال می گردد ( Network interface layer ) ، به آن فریم ( frame )  می گویند .  فریم ، از بخش های  متفاوتی که  هر یک دارای عملکرد خاص خود  در جریان انتقال اطلاعات در لایه اینترفیس شبکه می باشند، تشکیل شده است  .

فرآیند ارسال اطلاعات، شامل مراحل متعددی است ( سازماندهی داده درون بسته های اطلاعاتی در کامپیوتر مبداء و بهم بستن آنان در کامپیوتر مقصد  بگونه ای که شکل اولیه مجددا” ایجاد گردد) . هر لایه از پروتکل TCP/IP  ، دارای نقشی موثر در کامپیوترهای مبداء و مقصد است .

واژگان بسته های اطلاعاتی ( Packets )

در هر یک از لایه های TCP/IP از بسته اطلاعاتی ( packet ) با اسامی متفاوتی نام برده می شود . همزمان با حرکت یک بسته اطلاعاتی از یک لایه به لایه دیگر در پروتکل TCP/IP ، هر یک از پروتکل های مربوطه ، اطلاعات اختصاصی خود را به آن اضافه می نمایند. از بسته اطلاعاتی بهمراه اطلاعات اضافه شده به آن ، با اسامی فنی دیگر ، یاد می گردد. این اسامی : Segment ( سگمنت ) ، message ( پیام ) ، datagram ( دیتاگرام ) و frame ( فریم )  ، می باشند . 

  • سگمنت . سگمنت واحد انتقال اطلاعات در TCP  بوده و شامل یک TCP header است که توسط Application data ، همراهی شده است .
  • پیام .  پیام ، واحد انتقال اطلاعات در پروتکل هائی نظیر ICMP,UDP,IGMP. و ARP است . پیام شامل یک Protocol header بوده که توسط Application و یا  protocol data ، همراهی شده است .
  • دیتاگرام . دیتاگرام ، واحد انتقال اطلاعات در سطح لایه IP است . دیتاگرام شامل یک IP header است که توسط لایه transport ، همراهی  شده است .
  • فریم . فریم ، واحد انتقال اطلاعات در سطح لایه اینترفیس شبکه است . فریم  شامل یک header است که در لایه network به آن اضافه شده است که توسط داده لایه IP ، همراهی  شده است .

اجزاء یک فریم

یک فریم ( اصطلاحی برای یک بسته اطلاعاتی در سطح لایه شبکه ) شامل سه بخش اساسی : header , data و trailer است .

Header . اطلاعات موجود در این بخش شامل موارد زیر می باشد :

  • یک سیگنال هشداردهنده  مبنی بر ارسال یک بسته اطلاعاتی 
  • آدرس مبداء
  • آدرس مقصد

Data . در این بخش ، اطلاعات واقعی ارسال شده توسط برنامه ، قرار می گیرد. این بخش از بسته اطلاعاتی  دارای اندازه های متفاوتی است  ( بستگی به محدودیت اندازه تنظیم شده توسط شبکه دارد) . بخش Data ، در اکثر شبکه ها از نیم کیلو بایت تا چهار کیلو بایت را می تواند شامل شود. در شبکه های اترنت ، اندازه داده تقریبا” معادل یک و نیم کیلو بایت است . با توجه به  اینکه اکثر تنظیمات داده های اولیه ، بیش از چهار کیلو بایت می باشند ،می بایست داده به بخش های کوچکتری با نام ” بسته های اطلاعاتی ” ( packet ) ، تقسیم گردد. در زمان انتقال یک فایل با ظرفیت بالا ، بسته های اطلاعاتی زیادی در طول شبکه منتقل خواهند شد.

Trailer . محتویات trailer ، ارتباط مستقیم به پروتکل استفاده شده در لایه اینترفیس شبکه دارد . trailer ، معمولا” شامل بخشی بمنظور بررسی خطاء بوده که CRC)Cyclical redundancy check) ، نامیده می شود .CRC ، عددی است که توسط یک محاسبه ریاضی بر روی بسته اطلاعتی در مبداء ( فرستنده)  ، تولید  می گردد . زمانیکه بسته اطلاعاتی به مقصد خود می رسد ، مجددا” محاسبه مربوطه انجام خواهد شد. در صورتیکه نتایج  بدست آمده ، یکسان باشد ، نشاندهنده صحت ارسال یک بسته اطلاعاتی خواهد بود . در صورتیکه ماحصل محاسبه در مقصد با نتیجه محاسبه شده در مبداء ، مغایرت داشته باشد ، بدین مفهوم خواهد بود که داده در زمان انتقال ، تغییر نموده است . در چنین حالتی ، کامپیوتز مبداء ، مجددا” داده را ارسال خواهد کرد .

جریان انتقال اطلاعات ( از کامپیوتر مبداء تا کامپیوتر مقصد )

بسته های اطلاعاتی ارسال شده از یک کامپیوتر برای کامپیوتر دیگر از بین لایه های متعدد پروتکل TCP/IP عبور خواهند کرد . بموازات رسیدن یک بسته اطلاعاتی به یک لایه  ، پروتکل های موجود در آن ، اطلاعات خاصی را به آن اضافه خواهند کرد . اطلاعات اضافه شده ( ضمیمه شده )  توسط هر پروتکل ، شامل اطلاعاتی در رابطه با  بررسی خطاء بوده  که Checksum ، نامیده می شود. از Checksum ،  بمنظور بررسی صحت ارسال اطلاعات اضافه شده در header توسط پروتکل مربوطه ، در پروتکل مقصد استفاده می گردد ( اطلاعات می بایست بی کم و کاست در اختیار پروتکل مقصد قرار بگیرند ) .فراموش نکنیم که  CRC  ، صحت انتقال یک بسته را بطور کامل بررسی می نماید. اطلاعات اضافه شده توسط پروتکل ها در هر لایه ، بعنوان داده توسط پروتکل های لایه زیرین ( پایین ) ، کپسوله خواهند شد. زمانیکه بسته اطلاعاتی به مقصد مورد نظر می رسد ، لایه مربوطه ( منتاظر ) یک بخش از header را برداشته و با باقی  بسته اطلاعاتی بعنوان داده برخورد خواهد کرد . بسته اطلاعاتی در ادامه بسمت پروتکل های موجود در لایه بالاتر ارسال و دراختیار پروتکل مربوطه قرار خواهد گرفت . در ادامه عملکرد هر یک از لایه ها را در فرآیند انتقال اطلاعات بررسی و این موضوع را از زاویه کامپیوتر مبداء و مقصد دنبال خواهیم نمود.

لایه Application

فرآیند انتقال اطلاعات از لایه application آغاز می گردد . یک برنامه نظیر FTP ، پردازش را در کامپیوتر مبداء مقدار دهی اولیه می نماید(آماده نمودن داده به فرمتی که برنامه در کامپیوتر مقصد ، قادر به تشخیص  آن باشد) . برنامه موجود در کامپیوتر مبداء ، کنترل تمامی فرآیند را برعهده خواهد داشت .

لایه Transport

از لایه Application ، داده به لایه transport منتقل می گردد. این لایه شامل پروتکل های TCP و UDP است . برنامه مورد نظر نوع پروتکل “حمل” را مشخص می نماید( TCP یا UDP ) . در هر دو حالت Checksum برای TCP و UDP اضافه خواهد شد.

در صورتیکه پروتکل TCP ، انتخاب گردد :

  •  یک دنباله عددی ( Sequence number ) به هر سگمنت منتقل شده ، اضافه خواهد شد.
  • اطلاعات مربوط  به  Acknowledgment برای یک ارتباط ” اتصال- گرا” ، به هر سگمنت اضافه می شود .
  • شماره پورت TCP در رابطه با برنامه های مبداء و مقصد ، اضافه خواهد شد.

در صورتیکه پروتکل UDP ، انتخاب گردد :

  • شماره پورت UDP در رابطه با برنامه های مبداء و مقصد ، اضافه خواهد شد.

لایه اینترنت

پس از اینکه اطلاعات “حمل ” اضافه گردید ، بسته اطلاعاتی در اختیار لایه “اینترنت ” قرار داده می شود. در این لایه ، اطلاعات زیر به header  اضافه می گردد :

  • آدرس IP مبداء
  • آدرس IP مقصد
  • نوع پروتکل “حمل “
  • مقدار checksum
  • اطلاعات TTL)Time to Live)

علاوه بر اطلاعات فوق ، لایه اینترنت مسئولیت  بر طرف نمودن آدرس های IP مقصد به یک آدرس MAC  را نیز بر عهده دارد . پروتکل ARP ، مسئول انجام عملیات فوق ، است . آدرس MAC به header بسته اطلاعاتی اضافه و در ادامه بسته اطلاعاتی  در اختیار لایه ” اینترفیس شبکه ” ، قرار داده می شود.

لایه “اینترفیس شبکه ”

لایه فوق ، پس از دریافت یک بسته اطلاعاتی از لایه IP ، اطلاعات زیر را به آن اضافه خواهد کرد :

  • یک Preamble ( مقدمه ) . دنباله ای از بایت ها است که ابتدای یک “فریم ” را مشخص می نماید .
  • یک CRC .  ماحصل یک محاسبه ریاضی است که به انتهای فریم اضافه و از آن بمنظور صحت  ارسال فریم ، استفاده می گردد.

پس ازافزودن اطلاعات مورد نظر به فریم ها در لایه اینترفیس شبکه ، در ادامه فریم ها  بر روی شبکه ارسال خواهند شد.

عملیات در کامپیوتر مقصد

زمانیکه فریم ها به کامپیوتر مقصد می رسند ، لایه اینترفیس شبکه ، Preamble را حذف و مقدار CRC را مجددا” محاسبه می نماید. در صورتیکه مقدار بدست آمده با مقدار محاسبه شده در مبداء ، یکسان باشد در ادامه آدرس MAC مقصد ، موجود بر روی فریم،  بررسی می گردد . در صورتیکه آدرس MAC ، یک آدرس Broadcast   و یا آدرس MAC با کامپیوتر مقصد مطابقت نماید ، فریم به لایه “اینترنت ” ، ارسال خواهد شد. در غیر اینصورت فریم نادیده گرفته می شود. در لایه IP ، مجددا” Checksum محاسبه و با مقدار محاسبه شده قبل از انتقال ، مقایسه تا این اطمینان حاصل گردد که بسته اطلاعاتی در طول مسیر تغییر ننموده است . در ادامه ، IP بسته اطلاعاتی را در اختیار پروتکل “حمل” ، قرار می دهد ( TCP  یا UDP ) . بمنظور تصمیم گیری در رابطه با نوع پروتکل “حمل ” ، از اطلاعات موجود در IP header استفاده می گردد. در لایه “حمل” ،  در صورتیکه بسته اطلاعاتی از TCP دریافت شده باشد ، دنباله عددی ( sequence number ) بر روی بسته اطلاعاتی بررسی و یک acknowledgement برای TCP کامپیوتر مبداء ارسال می گردد . در ادامه از اطلاعات پورت TCP موجود در بسته اطلاعاتی استفاده تا  بسته اطلاعاتی برای برنامه مربوطه در لایه Application ، ارسال گردد.

 در صورتیکه UDP بسته اطلاعاتی را از لایه “اینترنت” دریافت نماید ، از اطلاعات پورت UDP موجود در بسته اطلاعاتی استفاده تا آن را برای برنامه مربوطه در لایه Application ارسال نماید . ( بدون ارسال یک acknowledgement  برای کامپیوتر مبداء ) .

پس از دریافت اطلاعات توسط Appliaction ، پردازش های لازم و ضروری در ارتباط با آنها انجام خواهد شد.

در بخش ششم این مقاله به بررسی “روتینگ داده ” ، خواهیم پرداخت .

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

آنچه تاکنون گفته شده است :

بخش اول  : معرفی  پروتکل TCP/IP بهمراه لایه های آن

بخش دوم   : بررسی پروتکل های موجود در  TCP/IP

بخش سوم  : بررسی برنامه ها و ابزارهای کمکی در رابطه با پروتکل TCP/IP

بخش چهارم : بررسی Name Resoulation  

بخش پنجم : بررسی فرآیند انتقال اطلاعات

در این بخش به بررسی  روتینگ داده خواهیم پرداخت .

جریان داده در شبکه ای که صرفا” شامل یک سگمنت است ، عملیات ساده ای خواهد بود . در چنین شبکه هائی ،  کامپیوترهای ارسال کننده ،  یک درخواست Broadcast را بمنظور مشخص نمودن آدرس MAC کامپیوتر مقصدی که قصد ارسال اطلاعات برای آن وجود دارد ، ارسال می نمایند . فرآیند ارسال اطلاعات در شبکه هائی که شامل چندین سگمنت می باشند ، بدین صورت نخواهد بود . در شبکه هائی شامل چندین سگمنت ، فرآیند انتقال اطلاعات بمراتب پیچیده تر خواهد بود. در چنین محیط هائی ، TCP/IP مسیرهای متعددی را بمنظور ارتباط کامپیوترهای موجود در شبکه ارائه و از ارتباطات غیر ضروری  در این خصوص ، پیشگیری می نماید .

درمحیطی که شامل چندین شبکه مرتبط با یکدیگر است ، ممکن است کامپیوترهای مبداء و مقصد در یک سگمنت یکسان نباشند . بدین منظور ،  آدرس IP کامپیوتر مقصد بررسی تا این اطمینان حاصل گردد که موقعیت کامپیوتر مقصد نسبت به کامپیوتر مبداء ،  محلی ( بر روی یک سگمنت ) و یا از راه دور( موجود بر روی سگمنت دیگر )  است .در صورتیکه کامپیوتر مقصد در راه دور( سگمنت دیگر)  باشد ، داده نمی تواند مستقیم برای وی ارسال گردد . در چنین مواردی لایه IP  داده مورد نظر را برای یک روتر ارسال می نماید . روتر، بسته اطلاعاتی دریافتی را به مقصد مورد نظر ، ارسال ( فوروارد ) می نماید .

روتینگ IP

شبکه های بزرگ TCP/IP که از آنان با عنوان شبکه های مرتبط بهم ( Internetworks ) یاد می گردد ، خود به بخش های ( سگمنت ) کوچکتری تقسیم تا بتوانند میزان مبادله اطلاعات و ترافیک موجود در یک سگمنت را کاهش نمایند . Internetwork ، شبکه ای مشتمل بر چندین سگمنت است که  توسط روترها  بیکدیگر مرتبط می گردد . اولین و در عین حال مهمترین وظیفه یک روتر،ارتباط دو و یا چندین سگمنت فیزیکی  با یکدیگر است . روترها ، بسته های اطلاعاتی لایه  IP را از یک سگمنت در شبکه به سگمنت دیگر ارسال می نمایند . فرآیند فوق ( فورواردینگ بسته های IP ) ، روتینگ نامیده می شود. روترها دو و چندین سگمنت را بیدیگر متصل و امکان حرکت ( ارسال )  بسته های اطلاعاتی از یک سگمنت به سگمنت دیگر را فراهم می نمایند.

توزیع بسته های اطلاعاتی

بسته های اطلاعاتی فوروارد شده ، با توجه به ماهیت مقصد خود ، حداقل یک و یا دو نوع توزیع را دنبال خواهند کرد. در این رابطه از دو نوع توزیع و با نام های توزیع  مستقیم و یا غیر مستقیم ، استفاده می گردد :

  • توزیع  مستقیم . از روش فوق ، زمانی استفاده می گردد که کامپیوتر ارسال کننده، یک بسته اطلاعاتی  را برای کامپیوتری ارسال می نماید که بر روی همان سگمنت قرار دارد ( موقعیت فیزیکی  کامپیوترهای فرستنده و گیرنده بر روی یک سگمنت یکسان است ) . در چنین مواردی ،  کامپیوتر مورد نظر بسته اطلاعاتی  را بر اساس یک فریم قالب بندی و آن را برای لایه اینترفیس شبکه ارسال می نماید . آدرس دهی بسته اطلاعاتی مربوطه ، بر اساس آدرس MAC کامپیوتر مقصد ، انجام خواهد شد .
  • توزیع غیر مستقیم . از روش فوق ، زمانی استفاده می گردد که کامپیوتر ارسال کننده ، بسته اطلاعاتی را برای یک روتر فوروارد می نماید ( مقصد نهائی بسته اطلاعاتی در همان سگمنت نمی باشد) . در چنین مواردی ،  کامپیوتر مورد نظر بسته اطلاعاتی  را بر اساس یک فریم قالب بندی و آن را برای لایه اینترفیس شبکه ارسال می نماید . آدرس دهی بسته اطلاعاتی مربوطه ، بر اساس آدرس MAC روتر، انجام خواهد شد .

جدول روتینگ

بمنظور مشخص نمودن ، مقصدی که می بایست یک بسته اطلاعاتی فوروارد گردد ، روترها  از جداول روتینگ برای ارسال داده بین سگمنت های شبکه استفاده می نمایند. جدول روتینگ ، در حافظه ذخیره و مسئول نگهداری اطلاعات ضروری در خصوص سایر شبکه های مبتنی بر IP و میزبانان است  . جداول روتینگ ، همچنین اطلاعات ضروری را برای هر میزبان محلی بمنظور آگاهی از نحوه ارتباط با با سایر شبکه ها  و میزبانان را دور، ارائه می نمایند .

برای هر کامپیوتر موجود بر روی یک شبکه مبتنی بر IP ، می توان یک جدول روتینگ را نگهداری کرد. سیاست فوق در خصوص شبکه های بزرگ عملی نبوده  و از  یک روتر پیش فرض بمنظور نگهداری جدول روتینگ استفاده می گردد .

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

ارسال اطلاعات بین روترها

لایه IP ،  دارای نقشی بسیار مهم در رابطه با ارسال اطلاعات بین شبکه های متعدد است . بسته ها ی اطلاعاتی مبادله  و بر اساس شرایط موجود و با استفاده از IP مربوطه درلایه اینترنت کامپیوتر مبداء ، کامپیوتر مقصد و یا روترهای موجود در مسیر مربوطه ، پردازش های لازم بر روی آنان انجام خواهد شد.

بمنظور ارسال داده بین دو کامپیوتر موجود در سگمنت های متفاوت شبکه ، لایه IP  از اطلاعات موجود در یک جدول محلی روتینگ در جهت یافتن مسیر مناسب دسترسی به کامپیوتر مقصد استفاده می نماید( مشاوره اطلاعاتی ! ) . در صورت یافتن مسیر مناسب ، بسته اطلاعاتی با استفاده ازمسیر فوق ، ارسال خواهد شد. در غیر اینصورت بسته های اطلاعاتی برای روتر پیش فرض فوروارد می گردند .

عملکرد لایه IP در کامپیوتر مبداء

لایه IP ، علاوه بر افزودن اطلاعاتی نظیر TTL ، همواره آدرس IP کامپیوتر مقصد را به بسته اطلاعاتی اضافه می نماید. در مواردیکه توزیع بسته های اطلاعاتی از نوع مستقیم باشد ،از ARP استفاده و آدرس MAC کامپیوتر مقصد به آن اضافه گردد . در مواردیکه توزیع  اطلاعات از نوع غیر مستقیم باشد ، از ARP استفاده و آدرس MAC روتری که می بایست بسته های اطلاعاتی برای آن  فوروارد گردد، به آن اضافه خواهد شد.

عملکرد لایه IP  در روتر

پس از دریافت یک  بسته اطلاعاتی توسط  روتر، لایه  IP  مربوطه مسئول مشخص نمودن محل ارسال بسته اطلاعاتی است . برای نیل به هدف فوق ، مراحل  زیر دنبال خواهد شد : 

  • لایه IP ،  بررسی لازم در خصوص Checksum و آدرس IP مقصد را انجام می دهد .  اگر آدرس IP ، مربوط به روتر باشد ، روتر پردارش های لازم در خصوص بسته اطلاعاتی را بعنوان کامپیوتر مقصد انجام خواهد داد ( IP در مقصد )
  •  در ادامه لایه IP ،  مقدارTTL را کاهش و جدول روتینگ مربوطه را بمنظور یافتن مناسبترین مسیر بمنظور رسیدن به  آدرس IP مقصد ، بررسی می نماید .
  •  در مواردیکه توزیع بسته های اطلاعاتی از نوع مستقیم باشد ،از ARP استفاده و آدرس MAC کامپیوتر مقصد به آن اضافه گردد . در مواردیکه توزیع  اطلاعات از نوع غیر مستقیم باشد ، از ARP استفاده و آدرس MAC روتری که می بایست بسته های اطلاعاتی برای آن  فوروارد گردد، به آن اضافه خواهد شد .

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

Fragmentation و Reassembly

زمانیکه یک بسته اطلاعاتی بسیار بزرگ به روتر می رسد ، لایه IP  قبل از ارسال آن را به بخش های کوچکتری تقسیم می نماید . فرآیند فوق ، Fragmentation نامیده می شود.

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

لایه IP در کامپیوتر مقصد

زمانیکه یک بسته اطلاعاتی به کامپیوتر مقصد می رسد ، لایه IP در کامپیوتر مقصد ، Checksum و آدرس IP مقصد آن را  بررسی و  در ادامه بسته اطلاعاتی  در اختیار TCP و یا UDP قرار خواهد گرفت  در نهایت ، بسته اطلاعاتی بمنظور انجام پردازش نهائی و با توجه به شماره پورت موجود ، در اختیار برنامه مقصد قرار خواهد گرفت .

خلاصه

در شش مقاله ارائه شده  به بررسی مفاهیم اولیه پروتکل TCP/IP پرداخته گردید . در ادامه به برخی از  نکات مهم،  مجددا” اشاره می گردد: 

  • پروتکل TCP/IP از مدل ارتباطی چهار لایه بمنظور ارسال اطلاعات از یک محل به محل دیگر استفاده می نماید. لایه های فوق عبارتند از: Internet , application, transport و لایه  network interface
  •  زمانیکه برنامه ای  نیازمند ارتباط با برنامه موجود بر روی کامپیوتر دیگر باشد ، پروتکل TCP/IP بمنظور تمایز برنامه ها  از ” سوکت ” استفاده می نماید .
  • یک سوکت از سه عنصر: آدرس IP ، شما ره پورت و پروتکل لایه حمل  تشکیل می گردد .
  • پروتکل TCP/IP ارائه شده توسط مایکروسافت درویندوز ، شامل شش پروتکل : TCP, UDP, ICMP, IGMP, IP, و ARP است .
  • بمنظور حصول اطمینان از ارسال اطلاعات  و دریافت آنان توسط گیرنده ، از پروتکل TCP استفاده می گردد .( مثلا” ارسال اطلاعات مربوط به کارت اعتباری و اطمینان از صحت دریافت داده در مقصد) .
  • پروتکل IP ،  مسئولیت آدرس دهی  و روتینگ داده برای مقصد نهائی را برعهده دارد.
  • بمنظور بررسی صحت نصب و عملکرد TCP/IP  ، از برنامه کاربردی  PING  استفاده می شود.
  • در صورت تمایل به استفاده از یک نام  در مقابل یک آدرس IP ، از امکانات متعددی بمنظور ذخیره سازی اسامی کامپیوتر و آدرس IP مربوطه استفاده می گردد.  Hosts file  Lmhosts file, DNS,  WINS  ، نمونه هائی در این زمینه می باشند.
  • در مواردیکه از روش توزیع غیر مستقیم بمنظور ارسال یک بسته اطلاعاتی از کامپیوتر مبداء به کامپیوتر مقصد استفاده می گردد ، کامپیوتر مبداء می بایست در ابتدا آدرس MAC مربوط به روتر را مشخص نماید.

 

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

پنج × 4 =

بستن