پروتکل 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

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 باشند . کامپيوترهای مبتنی بر سيستم عامل وينوز 2000 ، قادر به ارسال و دريافت  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 بسته اطلاعاتی برای روتر ديگر است .

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

  • ARP . برنامه فوق ، Cache مربوط به ARP) Addreee Resolution Protocol)   را نمايش و امکان اصلاح آن را فراهم می نمايد . بمنظور استفاده از برنامه فوق ، کافی است  ARP -a را در خط دستور تايپ و در ادامه جدول  مربوط به ARP Cache ، نمايش داده می شود. با استفاده از برنامه فوق می توان يک Entry  ايستا را به جدول مربوطه اضافه ( arp  -s  157.55.85.212  00-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  ، شامل آدرس  127.0.0.1 است. ( Ping 127.0.0.1 )

  • Tracert . برنامه فوق ، رديابی يک بسته اطلاعاتی تا رسيدن به مقصد مورد نظر را انجام می دهد .

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

  • FTP . برنامه فوق،  با استفاده از پروتکل TCP ، اقدام به ارسال فايل بين ويندوز 2000 و کامپيوترهائی که بر روی  آنان نرم افزار سرويس دهنده FTP نصب شده است ، می نمايد .

  • Telnet . برنامه فوق ، امکان ارتباط از راه دور به منابع شبکه موجود در کامپيوترهائی که سرويس دهنده Telnet  بر روی آنان نصب شده است  را فراهم می نمايد .

  • Tftp . برنامه فوق از پروتکل UDP ، برای ارسال فايل های کوچک بين ويندوز 2000 و کامپيوترهائی که بر روی آنان سرويس دهنده TFTP)Trivial File Transfer Protocol )  نصب شده است را فراهم می نمايد.

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

  • سرويس چاپ TCP/IP . برنامه فوق ، سرويس استاندارد چاپ TCP/IP را ارائه می نمايد. سرويس فوق ، امکان ارسال چاپ را برای  کامپيوترهائی که بر روی آنان سيستم های عاملی بجز ويندوز 2000 نصب شده باشد ، به  چاپگر های متصل شده به يک کامپيوتر مبتنی بر ويندوز 2000 ، فراهم می نمايد .

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

مثال
مثال 1 - هدف : استفاده از برنامه  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

مثال 2 -  هدف : استفاده از برنامه های  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  [ 10.10.1.1]  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

پروتکل 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 ارسال می نمايد .

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 ، پردازش های لازم و ضروری در ارتباط با آنها انجام خواهد شد.

جريان داده در شبکه ای که صرفا" شامل يک سگمنت است ، عمليات ساده ای خواهد بود . در چنين شبکه هائی ،  کامپيوترهای ارسال کننده ،  يک درخواست 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 مربوط به روتر را مشخص نمايد.