پیام‌های پروتکل IGMP

پروتکل های لایه شبکه برای کنترل جریان کار- آموزش شبکه درس 26

مدل TCP/IP از پروتکل‌های لایه شبکه که در ادامه می‌آید به خوبی پشتیبانی می‌کند. در این مقاله ما به بررسی انواع پروتکل های لایه شبکه می پردازیم و با کارکرد آن ها در شبکه آشنا می شویم.

پروتکل لایه شبکه ARP

پروتکل ARP بر گرفته از عبارت Address Resolution Protocol یا پروتکل تفکیک آدرس است. از این پروتکل برای همراه کردن یک IP آدرس با یک MAC آدرس استفاده می‌شود. هر دیوایسی که بر روی شبکه قرار دارد بر اساس یک MAC آدرس مشخص که در کارت شبکه آن وجود دارد شناخته می‌شود. به همین خاطر ما می‌توانید بگوئیم دیوایس‌های موجود در شبکه نیازمند MAC آدرس هستند تا بتوانند با شبکه محلی مستقر شده در آن ارتباط برقرار کنند. MAC آدرس‌ها می‌توانند به راحتی تغییر پیدا کنند. برای مثال اگر شما کارت شبکه موجود در یک دستگاه خاص بر روی شبکه را تغییر دهید و یا آن دچار اشتباه شود، MAC آدرس این دستگاه تغییر می‌کند، اما IP آدرس آن همچنان بدون تغییر باقی خواهد ماند. ARP برای یافتن MAC آدرس‌های گره‌ها (Nodes) که بر روی شبکه نیز وجود دارد به کار گرفته می‌شوند.

نکته:

  • MAC آدرس برای شناسائی یک دستگاه واقعی و فیزیکی بر روی شبکه به کار گرفته می‌شود؛
  • IP آدرس برای اختصاص دادن یک آدرس به یک دستگاه در شبکه به کار گرفته می‌شود.

پروتکل لایه شبکه ARP چطور کار می‌کند؟

اگر هاستی که در شبکه ما وجود دارد بخواهد آدرس فیزیکی هاست دیگری که در شبکه وجود دارد را بفهمد آن باید یک پیام جستجوی ARP (ARP Query) را که شامل IP آدرس آن است را بر روی شبکه منتشر کند. هر هاستی شبکه این پیام جستجو را پردازش می‌کند، اما تنها  دیوایسی که IP آدرس آن مشابه این بسته است به آن پاسخ داده و در جواب آدرس فیزیکی خودش را ارسال می‌کند. هاست دریافت آدرس فیزیکی اضافه شده به دیتاگرام را در حافظه خود نگه می‌دارد و سپس سرواره خود را به دیتاگرام اضافه کرده و آن را به مقصد پس می‌فرستد.

در تصویر زیر این روش به خوبی نشان داده شده است:

پروتکل های لایه شبکه

نحوه کارکرد پروتکل های لایه شبکه

مراحلی که در پروتکل ARP انجام می‌شود

اگر دیوایسی بخواهد از طریق شبکه با دیوایس دیگری که بر روی شبکه وجود دارد ارتباط برقرار کند، باید این مراحل را انجام دهد:

  • در ابتدا این دیوایس باید نگاهی به لیست اینترنت (Internet List) خود و پیام‌های ARP کش شده خودش داشته باشد تا بتواند IP آدرس‌هائی که با MAC آدرس‌ها تطابق داده شده‌اند را بررسی کرده و ببیند آید چنین دیوایس دارای آدرس‌های مشخص هست یا خیر. برای این کار این دیوایس از دستور arp -a استفاده می‌کند. در صورت وجود ARP‌های کش شده در حافظه آن لیست کاملی از آن‌ها در اختیار دیوایس فرستنده قرار می‌گیرد.
دستور arp -a

دستور arp -a

  • اگر کش حافظه ARP خالی باشد، در آن صورت، دیوایس فرستنده، پیامی را بر روی کل شبکه ارسال می‌کند و هر دیوایس‌ها MAC آدرس دریافتی آن دیوایس را در جدول خودشان ست می‌کنند؛
  • دیوایسی که IP آدرس آن مشابه به پیام مورد نظر باشد، اقدام به پاسخ دهی می‌کند و در پاسخ MAC آدرس خودش را ارسال می‌کند.
  • هنگامی که MAC آدرس دیوایس دریافت کننده به وسیله دیوایس ارسال کننده دریافت شد، ارتباط میان دو دیوایس مورد نظر شروع می‌شود.
  • در زمانی که دیوایس ارسال کننده MAC آدرس مورد نظر خودش را دریافت کرد، آن را در حافظه ARP Cache خودش ذخیره می‌کند. برای دیدن این حافظه ما می‌توانید از دستور arp -a استفاده کنیم.
MAC آدرس ها و IP آدرس های ست شده

MAC آدرس ها و IP آدرس های ست شده

نکته: حافظه ARP برای ایجاد یک شبکه کارآمد‌تر به کار گرفته می‌شود.

در اسکرین شات بالا، ما می‌توانید IP آدرس‌هائی که با MAC آدرس‌ها ست شده‌اند را مشاهده کنیم.

در اینجا ما با دو نوع مدخل ARP (ARP Entries) روبرو هستیم:

  • مدخل‌های دینامیک (Dynamic entry): این موارد مدخل‌هائی هستند که به صورت خودکار در زمان انتشار یک پیام بر روی شبکه ساخته می‌شوند. مدخل‌های دینامیکی دائمی نیستند و به صورت دائمی تغییر پیدا می‌کنند؛
  • مدخل‌های استاتیک (Static Entry): این دست از مدخل‌ها به صورت دستی تنظیم می‌شوند. در اینجا IP آدرس و MAC آدرس با استفاده از دستورات ARP وارد روتر مورد نظر می‌شوند.

پروتکل لایه شبکه PARP

پروتکل PARP برگرفته از سرنام عبارت Revers Address Resolution Protocol به معنای پروتکل تفکیک آدرس معکوس است. در زمانی که هاستی می‌خواهد به یک IP آدرس دسترسی پیدا کند، آن یک پیام PARP (PARP Query) را بر روی شبکه می‌فرستد. این پیام حاوی آدرس فیزیکی مدخل شبکه مورد نظر است. یک سرور PARP در شبکه پک‌های داده‌ها PARP را سازماندی کرده و سپس IP آدرس هاست مورد نظر را به آن باز می‌گرداند.

پروتکلی که IP آدرس را از طریق یک سرور به دست می‌آورد به عنوان Reverse Address Resolution Protocol یا PARP شناخته می‌شود.  به مانند فریم ARP، فریم PARP نیز از یک ماشین به دیگری فرستاده می‌شود و بخش‌های مختلف داده به فریم چسبیده یا عمل کپسوله‌سازی (Encapsulation) بر روی آن انجام می‌شود.

در تصویر زیر این فرایند نمایش داده شده است:

پروتکل لایه شبکه PARP

پروتکل لایه شبکه PARP

پروتکل لایه شبکه ICMP

پروتکل لایه شبکه ICMP برگرفته از عبارت Internet Control Message Protocol به معنی پروتکل پیام کنترل اینترنت است. پروتکل ICMP یکی از پروتکل‌های لایه شبکه است که به وسیله هاست‌ها و روترها به کار گرفته می‌شود که بتوانند اعلام‌ها (Notifications) مشکلات دیتاگرام IP را به ارسال کننده آن، بفرستند.

پروتکل ICMP از روش تست و پاسخ (Test/Reply) استفاده می‌کند تا مطمئن شود که مقصد مورد نظر در دسترس بوده و پاسخگوی پیام‌ها است. پروتکل ICMP هر دو پیام کنترل و بررسی خطا را مدیریت می‌کند، اما آن عملکردهای دارد که می‌تواند با کمک آن خطاها را گزارش دهد، اما توانائی اصلاح آن‌ها را ندارد.

یک IP دیتاگرام حاوی آدرس‌های از منبع و مقصد است، اما آن هیچ اطلاعاتی از آدرس روتر قبل از خود و مسیری که طی کرده است ندارد. به همین خاطر، پروتکل ICMP تنها می‌تواند پیام مورد نظر خودش را به منبع ارسال کننده پک مورد نظر ارسال کند، اما توانائی ارسال پیام به‌هاپ‌های میانه مسیر را ندارد. پروتکل ICMP برای ارسال اعلام خطا به فرستنده پیام به کار می‌رود، فرستنده پس از دریافت پیام‌های ICMP اقدام به ارسال دوباره پک‌های داده می‌کند. پیام‌های ICMP در درون IP دیتاگرام انتقال داده می‌شوند.

در تصویر زیر این موضوع نشان داده شده است:

دیتاگرام در پروتکل لایه شبکه ICMP

دیتاگرام در پروتکل لایه شبکه ICMP

فرمت یک پیام ICMP

برای درک بهتر فرمت پیام ICMP بهتر است که نگاهی به تصویر زیر داشته باشید:

فرمت پیام در پروتکل لایه شبکه ICMP

فرمت پیام در پروتکل لایه شبکه ICMP

  • اولین فیلد در اینجا معرفی کننده نوع پیام ارسالی است.
  • دومین فیلد در اینجا علتی که سبب ارسال پیام شده است را نشان می‌دهد و همچنین نوع پیام را مشخص می‌کند؛
  • سومین فیلد مربوط به چک سام (Checksum) است که در آن مدخل پیام ICMP پوشش داده می‌شود.

گزارش دهی خطا در ICMP

پروتکل ICMP خطاهای بروز پیدا کرده در شبکه را به فرستنده پیام اعلام می‌کند. در اینچا پنج نوع خطا وجود دارد که توسط پروتکل ICMP قابل پیگیری است:

  • مقصد نامشخص (Destination Unreachable)؛
  • از دست کم کردن ارسال (Source Quench)؛
  • زمان صرف شده زیاد (Time Exceeded)؛
  • مشکلات پارامتری (Parameter Problems)؛
  • تغییر مسیر (Redirection)؛
خطاها در پروتکل لایه ICMP

خطاها در پروتکل لایه ICMP

خطای مقصد نامشخص (Destination Unreachable)

خطای مقصد نامشخص (Destination Unreachable)، در زمانی از سمت دریافت کننده به سمت ارسال کننده فرستنده ارسال می‌شود که مقصد مورد نظر در پک داده قابل دستیابی نباشد و یا آنکه این مقصد نا مشخص باشد.

خطای کم کردن (Source Quench)

علت ایجاد این خطا کنترل ازدحام (congestion control) است. این پیام از سوی روتر دریافت کننده به سمت روتر ارسال کننده ارسال می‌شود و از آن می‌خواهد که ارسال پک‌ها را با سرعت کمتری انجام دهد. ICMP  IP از پک‌های از دست رفته را دریافت می‌کند و آن را به پیام کم کردن ارسال اضافه می‌کند و در نتیجه از IP موجود در دیتاگرام استفاده کرده و آن را به مقصد مورد نظر ارسال می‌کند. با این روش در خواست کاهش ارسال انجام می‌شود. هاست ارسال کننده پس از دریافت این پیام، مقدار ارسال پیام را بر حسب نرخ درخواست شده کاهش می‌دهد تا از ایجاد ازدحام بر روی شبکه جلوگیری شود.

خطای زمان صرف شده زیاد (Time Exceeded)

زمان صرف شده زیاد که به عنوان «زمان زنده بودن – Time to live» هم شناخته می‌شود، پارامتری است که بر حسب آن مشخص می‌شود که پاکت پیام قبل از پاک شدن باید تا چه مدت زمانی در کش روتر باقی بماند.

در اینجا دو راه وجود دارد که می‌تواند زمان صرف شده را تضمین کند.

  • گاهی از اوقات پک‌های ناقص به صورت نادرستی مسیر دهی شده‌اند و این مسئله سبب ایجاد مشکل حلقه (Looping Issue) و در نتیجه ازدحام شبکه (Network Congestion) گردیده است. به خاطر وجود مشکل ایجاد حلقه، مقدار TTL باید به صورت کاهش تنظیم شود و در زمانی که آن به صفر رسید، روتر دیتاگرام موجود را از بین می‌برد. هرچند، دیتاگرام به وسیله روتر مورد نظر از بین می‌رود، اما یک پیام صرف زمان زیاد برای منبع ارسال کننده پاکت داده فرستاده می‌شود.
  • هنگامی که مقصد نتواند تمام بخش‌های یک پیام را در زمان مشخص دریافت کند، در آن صورت بخش‌های دریافت شده را از بین می‌برد و یک پیام صرف زمان زیاد را برای هاست ارسال کننده می‌فرستد.

خطای مشکلات پارامتری (Parameter Problems)

در زمانی که هاست یا روتر بهفمند که مقدارهای در IP دیتاگرام از دست رفته است، روتر اقدام به از بین بردن دیتاگرام می‌کند و یک پیام «Parameter Problem» را برای هاست ارسال کننده می‌فرستد.

خطای تغییر مسیر (Redirection)

پیام تغییر مسیر در زمانی ایجاد می‌شود که هاست مورد نظر دارای هاست کوچکی باشد. هنگامی که هاست مورد نظر حاوی تعداد محدودی از مدخل‌ها باشد، این مشکل سبب ایجاد مشکل در ارسال دیتاگرام‌ها شده و آن‌ها را به روترهای اشتباهی ارسال می‌کند. روتری که دیتاگرام را دریافت می‌کند، یک دیتاگرام را به روتر درست ارسال می‌کند، همچنین یک پیام Redirection را به هاست ارسال کننده می‌فرستد و از آن می‌خواهد که جدول مسیر دهی خودش را به روز رسانی کند.

پروتکل لایه شبکه IGMP

پروتکل IGMP برگرفته از سرنام عبارت Internet Group Message Protocol به معنای پروتکل پیام گروهی اینترنت است. پروتکل IP می‌تواند دو نمونه از ارتباطات را پشتیبانی کند که شامل موارد زیر می‌شود:

  • تک بخشی (Unicasting): این دسته از ارتباطات میان یک فرستند و یک گیرنده ایجاد می‌شود. به همین خاطر می‌توانیم به آن «ارتباطات تک به تک – One to One» نیز بگوئیم.
  • چند بخشی (Multicasting): برخی از مواقع فرستند می‌خواهد که پیام را به صورت همزمان به چند فرستنده ارسال کند. این فرایند به عنوان «ارتباطات چند بخشی یا یک به چند – One to Mant» شناخته می‌شود.

پروتکل IGMP به وسیله هاست‌ها و روترها برای پشتیبانی از ارتباطات چند بخشی به کار گرفته می‌شود. پروتکل IGMP به وسیله هاست‌ها و روتر برای شناسائی هاست‌ها در یک شبکه محلی (LAN) به کار گرفته می‌شود. در این شبکه‌ها اغلب دیوایس‌ها عضو در گروه‌های مشخصی قرار گرفته‌اند.

پروتکل لایه شبکه IGMP

پروتکل لایه شبکه IGMP

پروتکل IGMP بخشی از لایه IP است و اندازه پیام‌های IGMP نیز به صورت یکسان هستند. پیام‌های IGMP در درون یک IP دیتاگرام کپسوله می‌شوند. تصویر زیر این موضوع را نشان داده است.

دیتاگرام در پروتکل IGMP

دیتاگرام در پروتکل IGMP

فرمت پیام IGMP

برای درک بهتر فرمت IGMP به تصویر زیر نگاهی داشته باشید:

فرمت پیام IGMP

فرمت پیام IGMP

بر حسب تصویر بالا:

  • Type (نوع): مشخص کننده نوع پیام IGMP است. در اینجا سه نوع پیام IGMP داریم که شامل کوئری عضویت (Membership Query)، گزارش عضویت (Membership Report) و گزارش سطح (Leave Report) می‌شود.
  • Maximum Response Time (حداکثر زمان پاسخ دهی): این فیلد تنها برای پیام‌های کوئری عضویت به کار گرفته می‌شود. این فیلد حداکثر زمانی که هاست می‌تواند پیام گزارش عضویت را در پاسخ به پیام کوئری عضویت ارسال کند را مشخص می‌کند.
  • Checksum (چکسام): این بخش مدخل ظرفیت ترابری IP دیتاگرام که در پیام IGMP کپسوله می‌شود را مشخص می‌کند.

آدرس گروهی (Group address)

رفتار این فیلد بسته به نوع پیام‌های فرستاده شده دارد:

  • در پیام‌های کوئری عضویت: آدرس گروه برای کوئری‌های عمومی (General Query) بر روی صفر تنظیم می‌شود و برای کوئری‌های ویژه (Specific Query) بر روی آدرس گروه چندبخشی (Multicast Group Address) تنظیم می‌شود.
  • در گزارش عضویت: آدرس گروه بر روی آدرس‌های گروه چند بخشی تنظیم می‌شود.
  • برای گروه‌ها ترک (Leave Group): آن بر روی آدرس گروه چندبخشی تنظیم می‌شود.

پیام‌های IGMP

پیام کوئری عضویت (Membership Query Message)

این پیام تنها در زمانی ارسال می‌شود که تمام هاست‌های بر روی یک شبکه محلی مجموعه از گروه‌های چندبخشی باشند که به یک هاست مشخص متصل شده باشند. این پیام مشص می‌کند که چطور یک گروه چندبخشی متصل به هاست با رابط کاربری متصل شده در تماس است. آدرس گروه‌ها در کوئری مورد نظر تا زمانی که یک پاسخ از یک هاست از هر گروهی دریافت شود که حاوی یک و یا چند هاست عضو باشد،  بر روی صفر تنظیم شده است.

پیام گزارش عضویت (Membership Report Message)

در اینجا هسات پیام کوئری عضویت را با پیام گزار عضویت ارسال می‌کند. پیام‌های گزارش عضویت همچنین می‌توانند به وسیله هاست در زمانی که یک هاست می‌خواهد بدون منتظر ماند برای پیام کوئری عضویت از روتر، در گروهی عضو شود، نیز ارسال شود. پیام‌های گزارش عضویت به وسیله یک روتر و نیز تمام هاست‌های مرتبط به یک رابط کاربری ارسال می‌شوند. پروتکل IGMP درباره اینکه کدامیک از هاست‌ها به گروه متصل است و چه تعداد از هاست در یک گروه منفرد هستند، هیچ اطلاعاتی را ارائه نمی‌کند. آن نتها به این موضوع می‌پردازند که یک و یا چند هاست به یک گروه جندبخشی واحد متصل هستند.

پیام کوئری عضویت هوسیله یک روتر ارسال می‌شود که شامل یک «پیام حداکثر پاسخ (Maximum Response time)» است. بعد از دریافت پیام کوئری عضویت، و پیش از ارسال پیام گزارش عضویت، هاست برای مدت زمان مشخصی از صفر تا حداکثر زمان مشخص شده منتظر می‌ماند. اگر هاستی  متوجه شد که برخی دیگر از هاست برای او پیام پیام گزارش حداکثری را می‌فرستند، رد آن صورت آن پیام گزارش حدکثری خودش را از بیت می‌برد، که این به معنای آن است که روتر قبل می‌داند که به یک و یا چند هاست از یک گروه چندبخشی منفرد متصل است. این فرایند به عنوان «سرکوب بازخورد – Feedback Suppression» شناخته می‌شود. آن می‌تواند عملکرد سیستم را بهینه کند، به خاطر آنکه در اینجا زا انتقال پیام‌های گزارش عضویت غیرضروری خودداری می‌شود.

گزارش ترک (Leave Report)

هنگامی که هاست پیام گزارش عضویت را ارسال نکند، به آن معنا است که آن هاست گروه مورد نظر را ترک کرده است. هاست ما اکنون می‌داند که هیچ عضوی در گروه نیست، حتی در زمانی که کوئری بعدی را دریافت کند، آن نمی‌تواند گزارشی از گروه را ارائه کند.

پیام‌های پروتکل IGMP

پیام‌های پروتکل IGMP

Rating: 4.0/5. From 13 votes.
Please wait...

6 دیدگاه

  1. برای تدریس چه نوع قلم نوری خریداری کنیم؟ نیاز به نوشتن، نمودار کشیدن و نوشتن روابط و فورمول ها دارم.
    • قلم های نوری Wacom و Genus هر دو مارک های خوبی هستند. بسته به توان مالیتان تصمیم بگیرید، اما بهتر است که از قلم های نوری با حساسیت بالا و با امکان درک فشار استفاده کنید تا نوشته های شما متناسب با فشار و حرکت قلم به خوبی تغییر کند.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.

منو اصلی

question