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 ، پردازش های لازم و ضروری در ارتباط با آنها انجام خواهد شد.
در بخش ششم اين مقاله به بررسی "روتينگ داده " ، خواهيم پرداخت
نظرات شما عزیزان: