مفاهيم اوليه پروتکل 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 از پروتکل فوق ، بمنظور ارسال فايل هاي صفحات وب مربوط به وب استفاده مي گردد .
پروتکل FTP از پروتکل فوق براي ارسال و دريافت فايل، استفاده مي گردد .

۱-۳ : لايه Transport
لايه ” حمل ” ، قابليت ايجاد نظم و ترتيب و تضمين ارتباط بين کامپيوترها و ارسال داده به لايه Application لايه بالاي خود و يا لايه اينترنت لايه پايين خود را بر عهده دارد. لايه فوق ، همچنين مشخصه منحصربفردي از برنامه اي که داده را عرضه نموده است مشخص مي نمايد. اين لايه داراي دو پروتکل اساسي است که نحوه توزيع داده را کنترل مي نمايند.
TCP پروتکل فوق ، مسئول تضمين صحت توزيع اطلاعات است .

UDP
پروتکل فوق ، امکان عرضه سريع اطلاعات بدون پذيرفتن مسئوليتي در رابطه با تضمين صحت توزيع اطلاعات را برعهده دارد .
۱-۴ : لايه اينترنت
لايه “اينترنت”، مسئول آدرس دهي ، بسته بندي و روتينگ داده ها ، است. لايه فوق شامل چهار پروتکل اساسي است :
IP پروتکل فوق ، مسئول آدرسي داده ها بمنظور ارسال به مقصد مورد نظر است .
ARP پروتکل فوق ، مسئول مشخص نمودن آدرس MAC آداپتور شبکه بر روي کامپيوتر مقصد است.
ICMP پروتکل فوق ، مسئول ارائه توابع عيب يابي و گزارش خطاء در صورت عدم توزيع صحيح اطلاعات است .
IGMP پروتکل فوق ، مسئول مديريت Multicasting در TCP/IP را برعهده دارد.
۱- ۵ :لايه Network Interface

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

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

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

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

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

در فصل اول اين مقاله ،پروتکل TCP/IP بهمراه لايه هاي آن معرفي گردييد . در اين فصل به بررسي پروتکل هاي موجود در TCP/IPخواهيم پرداخت .
۲-۱ :TCP/IP شامل شش پروتکل اساسيTCP,UDP,IP,ICMP,IGMP ARP و مجموعه اي از برنامه هاي کاربردي است. پروتکل هاي فوق، مجموعه اي از استادنداردها ي لازم بمنظور ارتباط بين کامپيوترها و دستگاهها را در شبکه ، فراهم مي نمايد. تمامي برنامه ها و ساير پروتکل ها ي موجود در پروتکل TCP/IP ، به پروتکل هاي شش گانه فوق مرتبط و از خدمات ارائه شده توسط آنان استفاده مي نمايند . در ادامه به تشريح عملکرد و جايگاه هر يک از پروتکل هاي اشاره شده ، خواهيم پرداخت .
۲-۲ : پروتکل TCP : لايه Transport

TCP يکي از پروتکل هاي استاندارد TCP/IP است که امکان توزيع و عرضه اطلاعات سرويس ها بين صرفا دو کامپيوتر ، با ضريب اعتماد بالا را فراهم مي نمايد. چنين ارتباطي صرفا” بين دو نقطه Unicast ناميده مي شود .

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

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

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

UDP ، پروتکلي در سطح لايه “حمل” بوده که برنامه مقصد در شبکه را مشخص نموده و از نوع بدون اتصال است . پروتکل فوق، امکان توزيع اطلاعات با سرعت مناسب را ارائه ولي در رابطه با تضمين صحت ارسال اطلاعات ، سطح مطلوبي از اطمينان را بوجود نمي آورد . UDP در رابطه با داده هاي دريافتي توسط مقصد ، به Acknowledgment نيازي نداشته و در صورت بروز اشکال و يا خرابي در داده هاي ارسال شده ، تلاش مضاعفي بمنظور ارسال مجدد داده ها ، انجام نخواهد شد .

اين بدان معني است که داده هائي کمتر ارسال مي گردد ولي هيچيک از داده هاي دريافتي و صحت تسلسل بسته هاي اطلاعاتي تضمين نمي گردد .از پروتکل فوق بمنظور انتقال اطلاعات به چندين کامپيوتر با استفاده از Broadcast و يا Multicast ، استفاده بعمل مي آيد . پروتکل UDP ، در موارديکه حجم اندکي از اطلاعات ارسال و يا اطلاعات داراي اهميت بالائي نمي بانشد ، نيز استفاده مي گردد.

استفاده از پروتکل UDP در مواردي همچون Multicasting Streaming media ، نظير يک ويدئو کنفرانس زنده و يا انتشار ليستي از اسامي کامپيوترها که بمنظور ارتباطات محلي استفاده مي گردند ، متداول است . بمنظور استفاده از UDP ، برنامه مبداء مي بايست پورت UDP خود را مشخص نمايد دقيقا” مشابه عملياتي که مي بايست کامپيوتر مقصد انجام دهد . لازم به يادآوري است که پورت هاي UDP از پورت هاي TCP مجزا و متمايز مي باشند حتي اگر داراي شماره پورت يکسان باشند .
۳- ۱ : پروتکل IP : لايه Internet

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

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

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

بدين منظور محدوديت زماني خاصي در رابطه با مدت زمان حرکت بسته اطلاعاتي در طول شبکه ، در نظر گرفته مي شود .عمليات فوق توسط نسبت دادن يک مقدار TTL به هر يک از بسته هاي اطلاعاتي صورت مي پذيرد TTL حداکثر مدت زماني را که بسته اطلاعاتي قادر به حرکت در طول شبکه است را مشخص مي نمايد قبل از اينکه بسته اطلاعاتي کنار گذاشته شود
۳-۲ : پروتکل ICMP : لايه Internet

ICMP امکانات لازم در خصوص اشکال زدائي و گزارش خطاء در رابطه با بسته هاي اطلاعاتي غيرقابل توزيع را فراهم مي نمايد. با استفاده از ICMP ، کامپيوترها و روترها که از IP بمنظور ارتباطات استفاده مي نمايند ، قادر به گزارش خطاء و مبادله اطلاعاتي محدود در رابطه وضعيت بوجود آمده مي باشند. مثلا” در صورتيکه IP ، قادر به توزيع يک بسته اطلاعاتي به مقصد مورد نظر نباشد ،

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

۳- ۳ : پروتکل IGMP : لايه Internet

IGMP پروتکلي است که مديريت ليست اعضاء براي IP Multicasting ، در يک شبکه TCP/IP را بر عهده دارد IP Multicastingفرآيندي است که بر اساس آن يک پيام براي گروهي انتخاب شده از گيرندگان که گروه multicat ناميده مي شوند ارسال مي گردد IGMP ليست اعضاء را نگهداري مي نمايد .
مديريت IP Multicasting

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

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

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

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

در ادامه به تشريح امکانات موجود در هر گروه خواهيم پرداخت .
۴- ۲ : برنامه هاي عيب يابي
برنامه هاي عيب يابي ، امکان تشخيص و برطرف نمودن مسائل مرتبط با شبکه را براي کاربران فراهم مي نمايند. برخي از اين ابزارها عبارتند از :
ARP برنامه فوق ، Cache مربوط به ARPرا نمايش و امکان اصلاح آن را فراهم مي نمايد . بمنظور استفاده از برنامه فوق ، کافي است 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 مربوطه است Netstat برنامه فوق اطلاعات مربوط به جلسه کاري پروتکل TCP/IP را نمايش مي دهد .

Ping برنامه فوق ، پيکربندي و ارتباط مبتني بر IP بين دو کامپيوتر را بررسي و تست مي نمايد Ping يک درخواست ICMP را از کامپيوتر مبداء ارسال و کامپيوتر مقصد از طريق يک پاسخ ICMP به آن جواب خواهد داد .بمنظور تست ارتباط با استفاده از يک آدرس IP و يا نام يک کامپيوتر فرمان PING [IP_Address or Computer_Name] را تايپ نمائيد. بمنظور تست پيکربندي TCP/IP بر روي کامپيوتر خود ، از Local Loopback استفاده نمائيد شامل آدرس ۱۲۷٫۰٫۰٫۱ است. ( Ping 127.0.0.1 )

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

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

Telnet برنامه فوق ، امکان ارتباط از راه دور به منابع شبکه موجود در کامپيوترهائي که سرويس دهنده Telnet بر روي آنان نصب شده است را فراهم مي نمايد .
Tftpبرنامه فوق از پروتکل UDP ، براي ارسال فايل هاي کوچک بين ويندوز ۲۰۰۰ و کامپيوترهائي که بر روي آنان سرويس دهنده TFTP نصب شده است را فراهم مي نمايد.
۴-۳ : نرم افزارهاي سمت سرويس دهنده
اين نوع نرم افزارها امکان چاپ و انتشار سرويس ها را براي سرويس گيرندگان مبتني بر TCP/IP در ويندوز ۲۰۰۰ ، فراهم مي نمايد.
سرويس چاپ TCP/IP برنامه فوق ، سرويس استاندارد چاپ TCP/IP را ارائه مي نمايد. سرويس فوق ، امکان ارسال چاپ را براي کامپيوترهائي که بر روي آنان سيستم هاي عاملي بجز ويندوز ۲۰۰۰ نصب شده باشد ، به چاپگر هاي متصل شده به يک کامپيوتر مبتني بر ويندوز ۲۰۰۰ فراهم مي نمايد .
سرويس هاي اطلاعاتي اينترنت برنامه IIS ، نرم افزارهاي سرويس دهنده متعددي نظير وب اخبار ، پست الکترونيکي و ارسال فايل مبتني بر TCP/IP را در اختيار قرار مي دهد IIS در سيستم هائي که از نسخه هاي Server ويندوز ۲۰۰۰ استفاده مي نمايند ، بصورت پيش فرض نصب مي گردد . پيشنهاد مي گردد در صورتيکه به عملکرد اين برنامه نيازي وجود ندارد ، اقدام به حذف آن از روي سيستم نمود .
مثال :

مثال ۱ – هدف : استفاده از برنامه 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/I
مرحله يک : بعنوان يک کاربر مجاز ، به شبکه وارد شويد .
مرحله دو : گزينه 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