|
وقتي كه يك تودة خام اطلاعات (ديتاگرام)، جهت ارسال به پروتكل شبكه
تحويل دادهميشود اولين وظيفة پروتكل، قالببندي و ايجاد واحدهاي
مستقل وداراي هويّتاست.
هر واحد مستقل و داراي هويّت كه اصطلاحاً ”بسته -Packet-”
ناميدهميشود شناسنامة دقيقي را بهمراه خواهد داشت تا با استفاده از
اين شناسنامه هدايت بستهها به مقصد ممكن باشد. فراموش نكنيد كه ساختار
و قالب هر بسته، استاندارد است و ربطي به سختافزار يا نرمافزار ماشين
توليدكنندة آن ندارد.
براي تشريح وظيفة سرآيند هر پروتكل شبكه، به سرآيند پروتكل مشهور IP
ميپردازيم. وقتي يك تودة اطلاعات براي انتقال برروي شبكه، تحويل
پروتكل IP ميشود، يكي از اولين عمليات، اضافهكردن سرآيند دقيق و
متناسب، به آن خواهد بود. شكل (1-5) فيلدهاي سرآيند بسته IP را نشان
ميدهد.
فيلد Version مشخص ميكند كه براي قالبدهي به دادهها از كدام نسخة
پروتكل IP استفاده شدهاست. نسخهاي كه امروزه در همه جا عموميت دارد
نسخه چهار
(Ipv4 ) است؛ البته Ipv6 (نسخة شش از پروتكل IP) در حال رائجشدن است
ودرآيندهاي نه چندان دور Ipv4 را از رونق خواهد انداخت. (برخي از
مؤسسات و شركتها آزمايش Ipv8- پروتكل IP نسخة هشت ـ را آغاز
كردهاند)
فيلد Version اولين فيلدي است كه مسيرياب براي آغاز عمليات پردازش و
مسيريابي بسته، به آن احتياج خواهد داشت.
·فيلد IHL (IP Header) : اين فيلد چهاربيتي، طول كل سرآيند بسته را
برمبناي كلمات 32 بيتي مشخص مينمايد. بعنوان مثال اگر در اين فيلد عدد
10 قرارگرفته باشد بدينمعناست كه كل سرآيند، 320 بيت معادل چهل بايت
خواهد بود. اگر به ساختار يك بستة IP دقت شود به غير از فيلد Options
كه اختياري است، وجود تمام فيلدهاي سرآيند الزامي ميباشد. طول قسمت
اجباريِ سرآيند 20 بايت است و بهمين دليل حداقل عددي كه در فيلد HIL
قرارميگيرد 5 يا 2(0101) خواهدبود و هر مقدار كمتر از 5 به عنوان خطا
تلقيشده و منجر به حذف بسته خواهدشد. با توجه به طول 4 بيتي اين فيلد،
بديهي است كه حداكثر مقدار آن 15 يا 2(1111) خواهد بود كه در اين صورت
طول قسمت سرآيند 60 بايت (4*15) و طول قسمت اختياري 40 بايت ميباشد.
قسمت اختياري در سرآيند براي اضافهكردن اطلاعاتي مثل آدرس مسيرهاي
پيمودهشده، ”مهرزمان” و برخي ديگر از گزينهها است. با استفاده از اين
فيلد مسيرياب قادر است مرز بين دادهها و سرآيند بسته را تشخيص بدهد.
فيلدType of service : اين فيلد هشت بيتي است و توسط آن ماشين
(يعني ماشين توليدكنندة بستة IP ) از مجموعة زيرشبكه (يعني مجموعة
مسيريابهاي بين راه) تقاضاي سرويس ويژهاي براي ارسال يك ديتاگرام
مينمايد. بعنوان مثال ممكن است يك ماشين ميزبانبخواهد ديتاگرامِ صدا
يا تصوير براي ماشين مقصد ارسال نمايد؛ در چنين شرايطي از زير شبكه
تقاضاي ارسال سريع و به موقع اطلاعات را دارد نه قابليت اطمينان
صددرصد، چرا كه اگر يك يا چند بيت از دادههاي ارسالي در مسير دچار
خرابيشود تأثيرچنداني در كيفيت كار نخواهد گذاشت ولي اگر بستههاي حاوي
اطلاعات صدا يا تصوير به سرعت و سرموقع تحويل نشود اشكال عمده بوجود
خواهدآمد. در چنين مواقعي ماشين ميزبان از زير شبكه تقاضاي سرويس سريع
(ولاجرم غيرقابل اطمينان) مينمايد. در برخي از محيطهاي ديگر مثل
ارسال نامة الكترونيكي يا مبادلة فايل انتظارِ اطمينانِ (Reliability)
صددرصد از زيرشبكه وجود دارد و سرعت تأثيرچنداني بر كيفيت كار ندارد.
از طريق اين فيلد نوع سرويس درخواستي مشخص ميشود؛ اين فيلد خودش به
چند بخش تقسيمشدهاست:
الف) سه بيت سمت چپ، اولويت بستة IP را تعيين ميكند. اگر در اين سه
بيت صفر قرارگرفته باشد بسته اطلاعاتي از نوع معمولي تلقي ميشود، يعني
داراي پايينترين مقدار اولويت است و اگر مقدار 7 يعني 2(111) در اين
سه بيت قرارگرفتهباشد بالاترين اولويت براي بسته در نظرگرفته ميشود.
مسيرياب در بين بستههاي IP كه از كانالهاي مختلف واردشدهاند،
بستههايي را زودتر پردازش و مسيريابي ميكند كه داراي حق تقدم و
اولويت بالاتري باشند. بسته هاي با حق تقدم بالابراي عملياتي نظير
ارسال بسته هاي اطلاعاتي به منظور تنظيم و پيكربندي پارامترهاي زير
شبكه مورد استفادهقرارميگيرد.(مثلاً براي گزارش يك خرابي در زير شبكه
يا مبادلة جداول مسيريابي)
ب) بيتهاي R,T,D : بيت D به معناي تأخير، بيت R به معناي قابليت
اطمينان و بيت T به معناي توان خروجي خط (Throughput) است و ماشين
ميزبان با قراردادن 1 در اين بيتها انتظارش را از زيرشبكه بيان ميكند.
مسيريابها بابررسي اين سه بيت ميتوانند در مورد انتخاب مسير مناسب
تصميم بگيرند. بسياري از مسيريابهاي سيسكو قادرند اين فيلد را
پردازشكرده ودر صورت امكان سرويس لازم را ارائهنمايند.
فيلد Total Length : در اين فيلدِ شانزده بيتي عددي قرارميگيرد كه
اندازة كل بستة IP را (شامل مجموع اندازة سرآيند و ناحيه داده) بر حسب
بايت تعيين ميكند؛ بنابراين حداكثر طول كل بستة IP ميتواند 65535
بايت باشد.
فيلد Identification : همانگونه كه قبلاً اشاره شد برخي از مواقع
مسيريابها يا ماشينهاي ميزبان مجبورند يك ديتاگرام را به قطعات كوچكتر
بشكنند و ماشين مقصد مجبور است آنها را بازسازي كند، بنابراين وقتي يك
ديتاگرامِ واحد شكستهميشود بايد مشخصهاي داشته باشد تا در هنگام
بازسازيِ آن در مقصد بتوان قطعههاي آن ديتاگرام را از بقيه جدا كرد.
در اين فيلدِ 16 بيتي عددي قرارميگيرد كه شمارة يك ديتاگرامِ واحد را
مشخص ميكند. كليه بستههاي IP كه با اين شماره وارد ميشوند قطعههاي
مربوط به يك ديتاگرام بوده و بايد پس از گردآوري قطعهها، آن را مجدداً
بازسازي كرد. بعنوان مثال اگر در اين فيلد عدد 1652 قراربگيرد تمامي
بسته هاي IP كه مشخصة 1652 دارند قطعههاي مربوط به يك ديتاگرام هستند
و پس از دريافت كل قطعهها بايد بازسازي شوند. البته براي حفظ ترتيب،
هر قطعه گذشته از يك شمارة ترتيب نيز باشد تا بتوان آنها را طبق اين
شماره مرتب و بازسازي كرد.
فيلد Fragment : اين فيلد در سه بخش سازماندهي شدهاست:
الف) بيت DF (Don’t Fragment) با يك شدن اين بيت در يك بستة IP هيچ
مسيريابي حق ندارد آن را قطعه قطعه كند، چرا كه مقصد قادر به بازسازي
ديتاگرام هاي تكهتكه شده نيست. اگر اين بيت به 1 تنظيم شدهباشد و
مسيريابي نتواند آنرا به دليل بزرگي اندازة آن، انتقال بدهد لاجَرَم
آنراحذف خواهد كرد.
ب) بيت MF : اين بيت مشخص ميكند كه آيا بستة IP آخرين قطعه از يك
ديتاگرام محسوب ميشود يا باز هم قطعههاي بعدي وجود دارد. در آخرين
قطعه از يك ديتاگرام بيت MF صفر خواهد بود ودر بقيه الزاماً 1 است.
ج) Fragment offset : اين قسمت كه سيزده بيتي است در حقيقت شماره ترتيب
هر قطعه در يك ديتاگرام شكسته شده محسوب ميشود. با توجه به سيزده بيتي
بودن اين فيلد، يك ديتاگرام حداكثر ميتواند به 8192 تكه تقسيم شود.
فيلد Time To Live (TTL ): اين فيلد هشت بيتي در نقش يك شمارنده، طول
عمر بسته را مشخص ميكند. طول عمر يك بسته بطور ضمني به زماني
اشارهميكند كه يك بسته IP ميتواند بر روي شبكه سرگردان باشد. حداكثر
طول عمر يك بسته، 255 خواهد بود كه به ازاي عبور از هر مسيرياب از
مقدار اين فيلد يك واحد كمميشود. هرگاه يك بستة IP به دليل بافرشدن
در حافظه يك مسيرياب زماني را معطل بماند، به ازاي هر ثانيه يك واحد از
اين فيلد كم خواهد شد. به محض انكه مقدار اين فيلد به صفر برسد بستة IP
در هر نقطه از مسير باشد حذفشده و از ادامة سيرِ آن به سمت مقصد
جلوگيري خواهد شد. (البته معمولاً يك پيام هشدار به ماشيني كه آن بسته
را توليدكرده باز پس فرستاده خواهد شد.)
فيلد Protocol : ديتاگرامي كه در فيلد داده از يك بستة IP حمل ميشود
با ساختمان دادة خاص از لاية بالاتر تحويلِ پروتكل IP شده تا روي شبكه
ارسال شود. بعنوان مثال ممكن است اين دادهها را پروتكل TCP در لايه
بالاتر ارسال كردهباشد و يا ممكن است اين كار توسط پروتكل UDP انجام
شدهباشد. بنابراين مقدار اين فيلد شمارة پروتكلي است كه در لاية
بالاتر تقاضاي ارسال يك ديتاگرام كردهاست؛ بستهها پس از دريافت در
مقصد بايد به پروتكل تعيين شده تحويل داده شود.
فيلد Header Checksum : اين فيلد كه شانزده بيتي است به منظور كشف
خطاهاي احتمالي در سرآيند هر بستة IP استفاده ميشود. براي محاسبة كد
كشف خطا، كل سرآيند بصورت دو بايت، دوبايت با يكديگر جمعميشود.
نهايتاً حاصل جمع به روش ”مكمل يك” (Ones Compelement) منفي ميشود و
اين عدد منفي در اين فيلد سرآيند قرار ميگيرد. در هر مسيرياب قبل از
پردازش و مسيريابي ابتدا صحت اطلاعات درون سرآيند بررسي ميشود. روش
بررسي بدينصورت است كه اگر تمامي سرآيند بصورت دو بايت، دوبايت در
مبناي مكمل يك با يكديگر جمع شود بايد حاصلجمع، صفر بدستآيد؛ درغير
اين صورت بستة IP فاقد اعتبار بوده حذفخواهدشد.
دقت كنيد كه فيلد Checksum در هر مسيرياب بايد از نو محاسبه و مقداردهي
شود زيرا وقتي يك بستة IP وارد يك مسيرياب ميشود حداقل فيلد TTL از آن
بسته عوضخواهد شد.
فيلد Checksum براي كشف خطاهاي احتمالي درون دادههاي فيلد Payload
استفادهنميشود چرا كه اينگونه خطاها در لايه پايينتر يعني لايه
فيزيكي معمولاً اوسط كدهاي CRC نظارت ميشود؛ در ضمن لايههاي بالاتر
نيز مسئلة خطا را بررسي ميكنند. در حقيقت اين فيلد براي كشف خطاهايي
است كه يك مسيرياب در تنظيم سرآيند يك بستة IP مرتكبشدهاست.
فيلد Source Address : هر ماشين ميزبان در شبكة اينترنت يك آدرس جهاني
و يكتاي 32 بيتي دارد. بنابراين هر ماشين ميزبان در هنگام توليد يك
بستة IP بايد آدرس خودش را در اين فيلد قراربدهد. (از اين بعد به اين
آدرس، آدرسِ IP ميگوييم )
فيلد Destination Address : در اين فيلد آدرس 32 بيتيِ مربوط به ماشين
مقصد كه بايد بسته IP تحويل آن بشود، قرارميگيرد.
فيلد اختياري Options : در اين فيلدِ اختياري ميتوان تا حداكثر 40
بايت قرارداد ودر برگيرندة اطلاعاتي است كه ميتواند به مسيريابها در
مورد يافتن مسير مناسب كمككند.
|