سفر به اعماق پروتکل های مسیریابی: Distance Vector ها (۲)

سلام به همه ی مهندسين گرامی. در اين قسمت سعی داريم تا با هم بررسی کنيم که پروتکل های مسیریابی Distance Vector  برای حل مشکلاتی که در پايان قسمت قبل مطرح کرديم، چه راهکارهايی رو به کار می برند.

***

  • اگر از قسمت قبل به یاد داشته باشید، بیان شد که Distance Vector ها بر طبق قانون خود بايد کل Routing Table را بعد از گذشت يک بازه ی زمانی مشخص ارسال می کردند. اما تصور کنيد روتر X همسايه ای با نام Y دارد و از آن مسيرها به مقاصد A و B را فرا گرفته و در Routing Table خود ثبت نموده است. بازه ی زمانی مشخص مي گذرد و X بايد تمام مسيرهای موجود در Routing Table خود را با يک پيام آپديت برای همسايه ی خود یعنی Y ارسال نماید، در اين صورت روتر X بايد مسيرها به مقاصد A و B اي را که از Y فرا گرفته، دوباره به آن تبليغ کند.

اينجا دو مساله مطرح مي شود: اول اين که روتر X با اين کار بيهوده به نوعی سبب هدر رفت منابع می شود (پهنای باند براي ارسال جداول روتی با حجم بالا که اکثر مسيرها از طريق همان همسايه فراگرفته شده باشد)

دوم اين که فرض کنيد مقصد A، از دسترس خارج شود. روتر Y از اين موضوع باخبر می شود و قصد دارد تا با يک پيام آپديت اين موضوع رو به همسايه اش اطلاع دهد، اما قبل از اين که بتواند اين کار را انجام دهد ناگهان آپديتی از روتر X دريافت مي کند مبنی بر اين که روتر X به مقصد A که يک گام با آن فاصله دارد، دسترسی دارد. اگر به خاطر داشته باشید بیان شد که Distance Vector ها حکم تابلویی سر دو راهي را دارند که فقط فاصله و جهت تا یک مقصد را اطلاع می دهند، اما اين که آيا اين اطلاعات واقعا درست است يا نه، هيچ تضمينی نيست. بنابراين روتر Y، حرف X را قبول کرده و دوباره مسير به مقصد A را با افزايش يک گام به hop-count آن، به جدول روت خود اضافه می کند. به اين ترتيب اگر پکتی به مقصد A به دست X برسد، آن را برای Y ارسال می کند و Y دوباره آن را برای X ارسال می کند و این عمل همينطور ادامه پيدا کرده و  Loop در مسیریابی رخ ميدهد.

در اینجا قانونی مطرح می شود که : اگر آپديتی از طريق يک اينترفيس ارسال شود، نبايد شامل مسيرهايی باشد که از طريق دريافت پيام آپديتی از روي همان اينترفيس، فرا گرفته شده باشند. به این قانون يک خطی Simple Split Horizon گفته می شود. پس Simple Split Horizon با سرکوب مسيرها از بروز loop جلوگيری ميکند.

ادامه خواندن “سفر به اعماق پروتکل های مسیریابی: Distance Vector ها (۲)”

سفر به اعماق پروتکل های مسیریابی: Distance Vector ها (۱)

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

تقريبا کل ديروز و داشتم در رابطه با اين فکر مي کردم که نقطه ی شروع مباحثم چی می تونه باشه، نهايتا ياد چند ماه پيش افتادم که تصميم گرفتم پروتکل های مسيريابی رو خيلي جزيی بررسی کنم. تو شروع اين راه فهميدم اگر ميخوام رفتار يک پروتکل مسيريابی رو خوب درک کنم بايد هرچی که تا اون لحظه ياد گرفتم رو بذارم کنار و دوباره شروع کنم به يادگيری. من باید تمام پیش فرض ها رو فراموش میکردم و از صفر شروع میکردم. فهميدم تو اين راه مدام ذهنم بايد بپرسه چرا؟ چطور؟ و اين که پشت هر مساله ی سختي يک مفهوم خيلی ساده بوده که فراموش شده، پس بايد از اول با همون مفاهيم ساده که خيلی بهشون اهميت نمی دادم کارم رو شروع کنم.

تصميم بر اين هست که اون چه دارم تو اين مسير از اول فرا ميگيرم با شما به اشتراک بذارم. اما قبل از رفتن سراغ يک پروتکل مسيريابی مشخص و بررسی نحوه ی عملکرد حقيقی يک پروتکل، شروع داستان سفرم رو قصد دارم با همون مفاهيم ساده ولی خيلی مهم که به فراموشی سپرده ميشن شروع کنم يعنی: بررسی عملکرد دو دسته ی کلی Distance Vector ها و Link State ها! هميشه داشتن اطلاعات در رابطه با منشا يک موضوع، ديد بازتری به آدم در تحليل اون موضوع خواهد داد (البته به نظر من 🙂 )
برای همين قسمت اول “سفر به اعماق پروتکل های مسيريابی” رو به بررسی رفتار کلی Distance Vector ها اختصاص دادم.

ادامه خواندن “سفر به اعماق پروتکل های مسیریابی: Distance Vector ها (۱)”

چی بخونم که بازارش خوب باشه؟

سلام! به کرّات از من این سوال پرسیده میشه که “چی بخونم؟” “چی یاد بگیرم؟” “کلاسِ چی برم؟” “بازار کارِ چه تخصصی خوبه؟” و من همیشه یک پاسخ میدم: “چیزی رو بخونین که بهش علاقه دارین“.
مطلب امروز صرفاً دیدگاه شخصی من در پاسخ به این سوال هست و سعی میکنم با توجه به حوزه‌ی کاری خودم در زمینه شبکه و امنیت، توضیحات مختصری هم در این رابطه ارائه کنم.
ضمناً روی صحبتم با افرادی هست که قصد متخصص شدن و پیشرفت دارند و نه یک کار روتین، چون بنظرم کار روتین تخصص لازم نداره. هیچ اشکالی هم نداره، هرکسی یک سبک زندگی رو دوست داره و این انتخاب کاملاً شخصی هست.

قبل از شروع بحث اصلی یکسری توضیحات در رابطه با وبلاگ و پاره‌ای از تغییرات عرض کنم:

  • هفته‌ی پیش یکی از بدترین اتفاقاتی که ممکنه برای دیتابیس MySQL بیافته برای وبلاگهای من افتاد و باعث شد مدتی خارج از سرویس باشن. به هرحال این مورد حل شد و تمامی Table ها مجدداً ریکاوری شدن بجز اون اطلاعاتی که مربوط به عزیزانی بود که عضو خبرنامه وبلاگ شدن. برای همین درصورت علاقه با استفاده از همین جعبه‌ی کوچولوی کنار صفحه، قسمت اطلاع رسانی، عضو خبرنامه وبلاگ بشین 🙂
  • همینطور که میبینین وبلاگ تغییرات ظاهری زیادی کرده؛ بررسی‌هایی کردم و به این نتیجه رسیدم که تا امکان داره وبلاگ رو سبک کنم و SEO / Google friendly.
  • به نصیحت برخی دوستان پیرو همه‌گیر شدن تلگرام در ایران، کانالی برای وبلاگ ایجاد کردم که با عضو شدن میتونین براحتی از مطالب جدید مطلع بشین. ID کانال networkz هست؛ میتونین براحتی با کلیک کردن در اینجا کانال رو ببنین.
چی بخونم که بازارش خوب باشه؟

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

بازار کار هم خودِش میاد؛ خودش هم نیاد شما میری بسمتش! اگر واقعاً به تسلط کافی در رشته‌ای برسیم و واقعاً حرفی برای گفتن داشته باشیم همیشه برای اون رشته بازار کار هست. اگر بازار کار کم باشه با سختی بیشتر شاید خودمون بتونیم با خلاقیت براش بازار کار درست کنیم. نکته‌ی خیلی تأثیرگذار در این زمینه خودشناسی هست و اینکه بتونیم خودمون و تخصصمون رو خوب پرزنت کنیم.

البته و صد البته که باید اینجا واقع بینی داشت و یک بررسی کوچولو (پارادوکس) کرد که در محیطی که قصد داریم نوآوری کنیم یا یک رشته ی خاص رو دنبال کنیم، تقاضای عمومی براش هست اصلا؟ آیا فرهنگ اون جامعه علاقه ای ممکنه به اون تکنولوژی یا مفاهیم اون رشته داشته باشه؟ اگه اینجوری نیس فکر میکنم بهتره راهی براش پیدا کنیم و یا اون مفهوم رو بومی سازی کنیم یا بدنبال نمونه ی مشابه و نزدیکی بگردیم که امکان جذب رو داشته باشه. البته بُعد زمان رو از یاد نبریم. نه ما باید زمان رو از دست بدیم نه این رو فراموش کنیم در طول زمان ممکنه یک فرهنگ جا بیافته. بنظرم تصمیم‌گیری در همچین شرایطی ارتباط مستقیم با علاقه و اهمیت شخصی ما به اون مفهوم و شرایط شخصی زندگی مونه داره. مهم اینه که زمان طلاس و وقتی می بینیم امکان بهبود و جاانداختن یک مفهوم نیست، وقت گذر هست. ادامه خواندن “چی بخونم که بازارش خوب باشه؟”