آموزش کاربردی شبکه های Lan تا سطح CCNA منحصرا (Routing&Switching)- سوئیچینگ در سویچ های اترنت
در این مقاله می خواهیم عملیات پردازش سویئچ منحصرا Learning و Forwarding را برای شما بیان کنیم. و نحوه عملکرد هر یک را با مثال شرح دهیم. به دلیل اینکه فهم مکانیزم سویچینگ در شبکه های اترنت بسیار مهم است ما این مقاله را به صورت اختصاصی به این موضوع پرداختیم.
مکانیزم سویچینگ در سویچ های اترنت:
اولین کاری که سوئیچ ها انجام می دهند بدست آوردن اطلاعاتی در مورد اینکه چه دستگاهی به چه پورتی وصل شده است می باشد. سپس باتوجه به آدرسهای MAC موجود در حافظه خود ،فریم ها را به مقاصد خودشان هدایت می کنند.
در واقع در این بخش می خواهیم درباره دو وظیفه اصلی سویچ یعنی :
Switch Forwarding
Switch Learning
صحبت کنیم. با ما و مجله تک تیک همراه باشید…
تمام دیوایس هایی که کارشان فوروارد کردن می باشد مثل سوئیچ و روتر سوئیچ های ATM ویا سویچ های MPLS ویا هر دیوایسی که کارش جابه جایی ترافیک است(خودش مبدا و مقصد ترافیک نیست) حتما این دو وظیفه Forwarding و Learning را دارند.
عمل Learning به بیان ساده یعنی اینکه کدام Mac در کدام پورت سوئیچ قرار گرفته تا بتواند ترافیک را از آن پورت عبور دهد.
عمل Forwarding با فرض اینکه سوئیچ یک Mac Table دارد چگونه می تواند این عمل انتقال ترافیک از یک Port به یک Mac خاص را انجام دهد.
عملیات Forwarding سویچ های اترنت
فرض می کنیم سوئیچ Mac Table را در خود دارد:
با این شرایط سعی می کنیم مفاهیم مرتبط با Forwarding را برای شما بیان کنیم.
سویچ های اترنت سه نوع فورواردینگ دارند:
Know Unicast
UnKnow Unicast
Broadcast
حال به تشریح این مفاهیم می پردازیم:
Know Unicast
همانطورکه از نامش مشخص است سوئیچ مقصد را با توجه به Mac Table خود می داند (اصطلاح Unicast یعنی مقصد یک ایستگاه می باشد) فرض کنید فریمی به سوئیچ می رسد که مقصد آن ۴۴۴۴:۵۵۵۵:۶۶۶۶ می باشد با توجه به Mac Table سویچ آن را به پورت خود یعنی Port2 فوروارد می کند.
UnKnow Unicast
فرض کنید ایستگاهی وجود دارد که به Port4 سویئچ متصل شده است و در جدول مک این سوئیچ آدرس مک آن مشخص نشده است.حال تصور کنید ایستگاه دوم قصد ارسال به ایستگاه چهارم با مک آدرس ۱۰۱۰.۲۰۲۰.۳۰۳۰ را دارد.
با این شرایط سویئچ با این مسله مواجه می شود که فریمی دریافت کرده که آدرس مک آن را در جدول خود ندارد و نمی داند که مقصد آن کجاست!
Click here to preview your posts with PRO themes ››
شاید این سوال در ذهن شما ایجاد شود که این مکانیزم از نظر امنیتی مشکل زا خواهد بود!ولی باید دید این مکانیزم چند درصد یا چه مقدار ممکن است به وجو بیاید!
همانطور که از قبل می دانید هاب کارش به این صورت است که روی تمام پورت های خود Flood می کند حال اگر سوئیچ بیشتر فریم هایی که به آن می رسد از نوع UnKnow Unicast و یا Broadcast باشد همانند هاب عمل می کند که خوشایند ما نیست. بنابراین می توان نتیجه گرفت که بیشتر (تقریبا بالای ۹۸درصد)از ترافیک های موجود از نوع Know Unicast می باشد.
Broadcast
در این حالت وقتی فریمی به سوئیج برسد و آدرس مقصد آن ffff:ffff:ffff باشد همانند Unknow Unicast عمل کرده و آن را بر روی تمام پورت های خود Fload می کند.مثل ARP یا DHCP که البته تعدادشان بسیار پایین می باشد.
مکانیزم Learning
اولین مرحله از مراحل اصلی عمل سوئیچینگ, بدست آوردن اطلاعاتی در مورد اینکه چه دستگاهی به چه پورتی از سوئیچ وصل است می باشد. زمانی که سوئیچ یک فریم را دریافت نمود، آدرس MAC فرستنده آن را با اطلاعات موجود در جدول MAC-Address مقایسه کرده و در صورت نبود مشابه آن، آدرس مزبور را به همراه شماره پورتی که فریم از راه آن پورت وارد سوئیچ شده است در جدول پورت خود ثبت خواهد کرد. اما اگر مشابه آدرس رسیده در جدول موجود باشد ،شماره پورت فریم رسیده با مورد موجود در جدول مقایسه خواهد شد که اگر تفاوتی مشاهده گردید، اطلاعاتی که در جدول وجود دارد به وسیله اطلاعات جدید به روز خواهند گردید.
سعی می کنیم با شکل این مفاهیم را برای شما بیان کنیم:
فرض کنید در ابتدا جدول MAC خالی است ،بنابر این به محض دریافت اولین فریم توسط سوئیچ عمل Learning انجام می شود. به این صورت که فرض کنید کامپیوتر A می خواهد ترافیکی به سمت کامپیوتر C ارسال کند. اولین کاری که سوئیچ می کند عملLearning است! به دلیل اینکه وقتی فریمی دریافت می کند توی جدول Mac خود از آن پورتی که فریم را دریافت کرده آنرادرجدول ثبت می کند.یعنی چون فریم را از پورت شماره E0 خود دریافت کرده است و اطلاعاتی از آن در جدول موجود نیست دو عمل اساسی انجام می دهد:
Click here to preview your posts with PRO themes ››
مورد اول ابتدا آدرس مک ایستگاهی که برای سوئیچ ترافیک ارسال کرده است رادر جدول مک خود Cache می کند.(درواقع عمل یادگیری انجام می شود)
مورد دوم اینکه چون مقصد را در جدول خود یافت نمی کند ترافیک موردنظر را بر روی تمام پورت های خود Flood می کند.
بدین ترتیب عملیات Learning انجام می شود.با این کار سوئیچ از این لحظه به بعد می داند که اگر ترافیکی دریافت کند که مقصد آن ۲۲۲۲.۳۳۳۳.۴۴۴۴ باشد باید آن را بر روی پورت ۲ خود ارسال کند.
دو جمله اساسی:
حال این عملیات را روی شبیه ساز تست می کنیم:
توپولوژی شبکه را به این صورت درنظر گرفته ایم:
حال در محیط CLI ابتدا با دستور Enable وارد مد Privilage می شویم و با دستوری که در تصویر مشاهده می کنید وضعیت Mac Table سویچ می شویم.
مشاهده می کنید که هنوز آدرسی در Mac Table سویچ Learn نشده است.
حال یه پکت ICMP با دستور Ping از کامپیوتر با شماره IP 192.168.1.2 به سمت سیستم ۱۹۲.۱۶۸.۱.۳ ارسال می کنم
حال مجددا در CLI سویچ دستور show mac address-table را وارد می کنیم تا وضعیت جدول Mac سوئبچ را ببینیم:
همانطور که در تصویر مشاهده می کنید سویچ ۲ عمل اصلی Learning و Forwarding را انجام داد.در ابتدا با اینکه جدول خالی بود وسوئیچ آدرس مقصد را نمی دانست ولی عمل Forwarding و ارسال فریم به صورت UnKnow UniCast را انجام داد.و همچنین ۲ آدرس در جدول Mac خود یکی از پورت ۲ و یکی از پورت۱ ثبت کرده است(Learn).
به عنوان توضیحات تکمیلی جدول ARP کامپیوتری که به ۱ سوئیچ متصل شده است را با هم می بینیم:
خیلی عالی بود واضح خوانا روشن و بدون چرت وپرت دست شمادرد نکنه