محمد نصیری
بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه خاکستری ، کارشناس امنیت اطلاعات و ارتباطات

حلقه مسیریابی ( Routing Loop ) چیست؟ به زبان بسیار ساده

Routing Loop یک مشکل جدی در فرآیند های مسیریابی شبکه محسوب می شود ، در این حالت یک Packet داده بصورت متناوب از همان روتری که آمده است مجددا و مجددا مسیریابی و عبور می کند و باز هم به همان روتر برگشته و مسیریابی می شود. این تناوب اینقدر ادامه دار می شود که تقریبا می توان گفت هیچوقت تمام نمی شود و در یک چرخه بی نهایت مسیریابی این بسته اطلاعاتی انجام می شود.

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران
Routing Loop چیست و چگونه از بوجود آمدن Loop جلوگیری کنیم

Routing Loop ها می توانند مشکل بسیار جدی برای شبکه های ما ایجاد کنند و در برخی اوقات توان این را دارند که شبکه را بصورت کلی از مدار خارج کنند و غیرفعال کنند. معمولا مشکلات مربوط به Routing Loop در پروتکل های مسیریابی Distance Vector مشاهده می شود.

Routing Loop ها چگونه کارایی شبکه را تحت تاثیر قرار می دهند ؟

مهمترین مشکی که Routing Loop ها برای شبکه های ما ایجاد می کنند گرفتن پهنای باند مفید شبکه است ، با به وجود آمدن Routing Loop ها پهنای باند مفید شبکه دچار اختلال می شود و پهنای باند غیر مفیدی که توسط Packet های Loop ایجاد شده اند جایگزین آنها می شوند و این یعنی پایین آمدن کارایی شبکه ، اما دومین مشکلی که Routing Loop ها ایجاد می کنند و باعث کاهش کارایی شبکه ما می شوند این است که قدرت پردازشی که در روترهای شبکه ما وجود دارد در چنین حالتی مجبور است به Packet های ایجاد شده توسط Loop بی مصرف هم جوابگو باشد و به همین دلیل قدرت پردازشی روترهای ما برای Packet های سالم شبکه دچار مشکل خواهد شد و به طبع کارایی روتر نیز پایین خواهد آمد.

Routing Loop ها معمولا در شبکه های بزرگی اتفاق می افتند که در آنها یک تغییر قبلا در توپولوژی شبکه انجام شده است اما هنوز به روترهای دیگر Converge نشده است و در همین حین تغییر دومی در توپولوژی شبکه ایجاد می شود و قبل از رسیدن تغییرات اول در شبکه پخش می شود و باعث بروز مشکل در Converge شدن شبکه می شود. Convergence یا Converge شدن به فرآیندی گفته می شود که در آن تمامی روترهای موجود در یک شبکه بر روی یک توپولوژی مشترک شبکه به توافق می رسند. پروتکل های Link State سرعت Convergence بسیار بالایی دارند و این در حالی است که پروتکل های Distance Vector از سرعت پایینی در Converge کردن شبکه ها برخوردارند.

راهکارهای جلوگیری از بوجود آمدن Routing Loop در شبکه

1- تعیین Maximum Hop Count یا حداکثر تعداد Hop Count

مکانیزم تعیین حداکثر تعداد Hop Count می تواند از به وجود آمدن Routing Loop جلوگیری کند. پروتکل های مسیریابی Distance Vector از مقدار TTL یا Time To Live در IP Datagram Header خود برای جلوگیری از به وجود آمدن Routing Loop استفاده می کنند. زمانیکه یک IP Datagram از یک روتر به روتر دیگری منتقل می شود روتر وضعیت تعداد Hop های رد شده توسط IP Datagram را در فیلد TTL در Header آن نگهداری می کند.

با عبور کردن از هر Hop یک عدد از این عدد TTL کاسته می شود و زمانیکه این عدد به صفر برسد به این معناست که بسته اطلاعاتی دیگر به مقصد نخواهد رسید و روترهای دیگر به محض دریافت آن آن را Drop می کنند که این یعنی دیگر Loop ای ایجاد نخواهد شد. کافیست برای درک بهتر دستور Ping را اجرا کنید و به قسمت TTL توجه کنید. اگر این قسمت در پروتکل های مسیریابی در اینترنت وجود نداشت اینترنت پر از بسته های اطلاعاتی می شد که بدون هدف در اینترنت سرگردان می شدند.

2- قابلیت Split Horizon

Split Horizon قابلیتی است که شما می توانید در روترهای خود پیکربندی کنید و مکانیزم کاری آن به ترافیک یا بسته اطلاعاتی که یکبار مسیریابی شده است اجازه بازگشت به همان مسیری که از ان آمده است را نمی دهد ، به زبان ساده اگر Route ای از شبکه شما خارج شده باشد و مجددا به شبکه شما وارد شود ایجاد Loop می کند این مکانیزم اجازه ورود مجدد بسته اطلاعاتی به درون شبکه شما را نخواهد داد. به زبان فنی اگر یک Neighbor Router یا روتر همسایه یک Route به سمت روتر دیگری ارسال کند ، روتر دریافت کننده دیگر این Route را به سمت Router ای که از آن دریافت کرده است بازگشت یا Advertise نمی کند.

3- فرآیند Route Poisoning

Route Poisoning روشی است که در آن از ارسال شدن Route های Invalid در شبکه جلوگیری می شود. زمانیکه پروتکل مسیریابی به هر دلیلی اعم از قطع شدن لینک یا کابل شبکه تشخیص بدهد که یک route نامعتبر یا Invalid است به تمامی روترهای شبکه اطلاع رسانی می شود که Route ای که Invalid است دارای Hop Count عدد 16 است و این بدین معناست که این Route در شبکه تا ابد باقی خواهند ماند و به محض اینکه روترهای دیگر شبکه در فرآیند Convergence این Route را تشخیص دهند دیگر به این Route چیزی ارسال نمی کنند و از به وجود آمدن Loop جلوگیری می کنند.

4- مکانیزم Hold-Down Timer

Hold-Down Timer هم یکی دیگر از مکانیزم هایی است که برای جلوگیری از به وجود آمدن Bad Route ها در شبکه استفاده می شود. زمانیکه یک Route در وضعیت Hold-Down قرار می گیرد روترهای دیگر موجود در شبکه نه به این Route چیزی ارسال می کنند و نه چیزی از آن دریافت می کنند ، این فرآیند تا مدت زمانی طول می کشد که Route به حالت Valid در بیاید یا دوباره وارد مدار شود ، در این حالت به مدت زمانی که Route در این وضعیت باقی می ماند Hold-Down گفته می شود که می تواند از به وجود آمدن Loop در شبکه های Distance Vector جلوگیری کند.  توسینسو باشید


محمد نصیری
محمد نصیری

بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه خاکستری ، کارشناس امنیت اطلاعات و ارتباطات

محمد نصیری هستم ، هکر قانونمند و کارشناس امنیت سایبری ، سابقه همکاری با بیش از 50 سازمان دولتی ، خصوصی ، نظامی و انتظامی در قالب مشاور ، مدرس و مدیر پروژه ، مدرس دوره های تخصص شبکه ، امنیت ، هک و نفوذ ، در حال حاضر در ایران دیگه رسما فعالیتی غیر از مشاوره انجام نمیدم و مقیم کشور ترکیه هستم ، عاشق آموزش و تدریس هستم و به همین دلیل دوره های آموزشی که ضبط می کنم در دنیا بی نظیر هستند.

نظرات