TCP/IP ، یکی از مهمترین پروتکل های استفاده شده در شبکه های
کامپیوتری است . اینترنت بعنوان بزرگترین شبکه موجود ، از پروتکل فوق
بمنظور ارتباط دستگاه های متفاوت استفاده می نماید. پروتکل ، مجموعه
قوانین لازم بمنظور قانونمند نمودن نحوه ارتباطات در شبکه های کامپیوتری
است .در مجموعه مقالاتی که ارائه خواهد شد به بررسی این پروتکل خواهیم
پرداخت . در این بخش مواردی همچون : فرآیند انتقال اطلاعات ، معرفی و
تشریح لایه های پروتکل TCP/IP و نحوه استفاده از سوکت برای ایجاد تمایز در
ارتباطات ، تشریح می گردد.
مقدمه
امروزه اکثر شبکه های
کامپیوتری بزرگ و اغلب سیستم های عامل موجود از پروتکل TCP/IP ، استفاده و
حمایت می نمایند. TCP/IP ، امکانات لازم بمنظور ارتباط سیستم های غیرمشابه
را فراهم می آورد. از ویژگی های مهم پروتکل فوق ، می توان به مواردی همچون
: قابلیت اجراء بر روی محیط های متفاوت ، ضریب اطمینان بالا ،قابلیت گسترش
و توسعه آن ، اشاره کرد . از پروتکل فوق، بمنظور دستیابی به اینترنت و
استفاده از سرویس های متنوع آن نظیر وب و یا پست الکترونیکی استفاده می
گردد. تنوع پروتکل های موجود در پشته TCP/IP و ارتباط منطقی و سیستماتیک
آنها با یکدیگر، امکان تحقق ارتباط در شبکه های کامپیوتری را با اهداف
متفاوت ، فراهم می نماید. فرآیند برقراری یک ارتباط ، شامل فعالیت های
متعددی نظیر : تبدیل نام کامپیوتر به آدرس IP معادل ، مشخص نمودن موقعیت
کامپیوتر مقصد ، بسته بندی اطلاعات ، آدرس دهی و روتینگ داده ها بمنظور
ارسال موفقیت آمیز به مقصد مورد نظر ، بوده که توسط مجموعه پروتکل های
موجود در پشته TCP/IP انجام می گیرد.
معرفی پروتکل TCP/IP
TCP/IP
، پروتکلی استاندارد برای ارتباط کامپیوترهای موجود در یک شبکه مبتنی بر
ویندوز 2000 است. از پروتکل فوق، بمنظور ارتباط در شبکه های بزرگ استفاده
می گردد. برقراری ارتباط از طریق پروتکل های متعددی که در چهارلایه مجزا
سازماندهی شده اند ، میسر می گردد. هر یک از پروتکل های موجود در پشته
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 ،
بالاترین لایه در پشته TCP/IP است .تمامی برنامه و ابزارهای کاربردی با
استفاده از لایه فوق، قادر به دستیابی به شبکه خواهند بود. پروتکل های
موجود در این لایه بمنظور فرمت دهی و مبادله اطلاعات کاربران استفاده می
گردند . HTTP و FTP دو نمونه از پروتکل های موجود در این لایه می باشند.
پروتکل HTTP)Hypertext Transfer Protocol) از پروتکل فوق ، بمنظور ارسال فایل های صفحات وب مربوط به وب ، استفاده می گردد .
پروتکل FTP)File Transfer Protocol) از پروتکل فوق برای ارسال و دریافت فایل، استفاده می گردد .
لایه Transport
لایه " حمل " ، قابلیت ایجاد نظم و
ترتیب و تضمین ارتباط بین کامپیوترها و ارسال داده به لایه (Application)
لایه بالای خود و یا لایه اینترنت ( لایه پایین خود) را بر عهده دارد.
لایه فوق ، همچنین مشخصه منحصر بفردی از برنامه ای که داده را عرضه نموده
است ، مشخص می نماید. این لایه دارای دو پروتکل اساسی است که نحوه توزیع
Data را کنترل می نمایند.
(TCP) Transmission Control Protocol پروتکل فوق ، مسئول تضمین صحت توزیع اطلاعات است.
UDP) User Datagram Protocol) تضمین صحت توزیع اطلاعات را برعهده دارد .
لایه اینترنت
لایه "اینترنت"، مسئول آدرس دهی ، بسته بندی و روتینگ داده ها ، است. لایه فوق ، شامل چهار پروتکل اساسی است :
(IP)Internet Protocol پروتکل فوق ، مسئول آدرسی داده ها بمنظور ارسال به مقصد مورد نظر است .
 Address
Resoulation Protocol (ARP) پروتکل فوق ، مسئول مشخص نمودن آدرس
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 : 10. 10.1.1 ، نمونه ای در این زمینه است
.
پورت TCP/UDP
پورت مشخصه ای برای یک برنامه و در یک
کامپیوتر خاص است .پورت با یکی از پروتکل های لایه حملTCP و یا UDP مرتبط
و پورت TCP و یا پورت UDP ، نامیده می شود. پورت می تواند عددی بین صفر تا
65535 را شامل شود. پورت ها برای برنامه های TCP/IP سمت سرویس دهنده ،
بعنوان پورت های "شناخته شده " نامیده شده و به اعداد کمتر از 1024 ختم و
رزو می شوند تا هیچگونه تعارض و برخوردی با سایر برنامه ها بوجود نیاید.
مثلا" برنامه سرویس دهنده FTP از پورت TCP 20 و یا 21 استفاده می نماید.
سوکت (Socket)
سوکت
، ترکیبی از یک آدرس IP و پورت TCP ویا پورت UDP است . یک برنامه ، سوکتی
را با مشخص نمودن آدرس IP مربوط به کامپیوتر و نوع سرویس TCP برای تضمین
توزیع اطلاعات و یا UDP و پورتی که نشان دهنده برنامه است، مشخص می نماید.
آدرس 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
han_dshake ، با یکدیگر مرتبط و هر یک پایبند به رعایت اصول مشخص شده در
الگوریتم مربوطه خواهند بود . فرآیند فوق ، در سه مرحله صورت می پذیرد :
مرحله
اول : کامپیوتر مبداء ، اتصال مربوطه را از طریق ارسال اطلاعات مربوط به
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، فرآیندی است که بر اساس آن یک پیام برای گروهی انتخاب شده
از گیرندگان که گروه multicast نامیده می شوند ؛ ارسال می گردد 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 به Media Access Control ،  MAC مربوطه
است . کارت شبکه از آدرس 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 بسته اطلاعاتی برای روتر دیگر است .