کلاس CCNA - جلسه اول

ساخت وبلاگ

 مقدمه - مفهوم روتینگ

به تصویر زیر دقت کنید:

در این جلسه می خواهیم، مفهوم روتینگ را بایک مثال توضیح دهیم. بعبارتی با یک مثال بررسی می کنیم که اگر یک بسته بخواهد از PC شماره A به PC شماره C برسد ، باید چه مراحلی را طی کند.

روتینگ : پروسه انتقال و تحویل بسته ها از یک شبکه به شبکه دیگر است. بعبارت دیگر روتینگ پروسه انتقال بسته ها بر اساس تصمیم گیری در لایه نتورک است.

 

خب همانطور که گفتیم تصور کنید A  یک مرورگری را باز کرده، در آنجا آدرس C را زده (فرض بگیرید PC با نام C، یک وب سرور هست.)

در لایه Application مرورگر را باز می کنیم و درخواست را بر اساس پروتکل http تولید می کنیم. Message یک لایه پایین تر می آید.

در لایه Transport بسته به قطعات کوچکتر تقسیم می شود و خرد می شود. (segmentation)

پورت مبدا و مقصد در لایه Transport مشخص می شود و به صورت Header بر روی هر کدام از اون قطعات سوار می شود.

همانطور که می دانید پروتکل های مختلفی در لایه Application وجود دارد . برای اینکه اشتباه نشود که بسته برای کدام پروتکل است. هر پروتکل در لایه Application با یک عددی در لایه Transport مشخص میشود.

بعنوان مثال  چون پروتکل سمت گیرنده ،Http هست، پورت مقصد یا Destination Port ، شماره 80 است.

 Destination Port مشخص می کند که در طرف گیرنده Data باید توسط کدام پروتکل سرویس دهی شود.

اما بحث Source Port کمی پیچیده تر است.

ببینید ممکن است زمانی که شما درخواست را در لایه Application ایجاد می کند مرورگری را باز کرده باشید که شامل ده سربرگ باشد. مثلا شما یک جستجویی را در گوگل انجام داده باشید و در صفحات دیگر مطالب دیگر را باز کرده باشید. از کجا PC شما بفهمد که این درخواست جستجو مربوط به  کدام سربرگ از این مرورگر می باشد؟

زمانی که شما درخواست می دهید در لایه چهار، به Source Port یک پورت اتفاقی از پورت های Random اختصاص می یابد. به عنوان مثال 1027. این عدد مشخص می کند که این درخواست از کدام سربرگ مرورگر مطرح شده است. و هنگام بازگشت هم دقیقا درخواست به همان سربرگ برمی گردد.

کلا پورت ها 65535 عدد می باشند که از 0 تا 1024 را well-known port و از 1024 تا 65535 را Random-Port  می گویند.

در اینجا می توانید لیست نامگذاری پورت ها را ببینید.

به مجموع Header لایه 4 و Data آن یک سگمنت گفته می شود.غیر از Source Port و Destination Port هدر های دیگری هم در لایه 4 بر روی Data قرار می گیرد اما چون بحث ما بر سر Addressing است اونها موضوع مورد بحث ما نیست و به اونها کاری نداریم.

خب بحث ما تا اینجا میشه تصویر زیر:

سگمنت بالا تحویل لایه 3 یا لایه Network می شود. بحث آدرس دهی و مسیر یابی در این لایه انجام می شود. دوفیلد دیگر (مربوط به مقوله آدرسینگ)در این لایه به هدر این بسته اضافه می شود و تحویل لایه پایینی می شود.

آن دو فیلد عبارتند از : فیلد Source IP و Destionation IP یعنی IP مبدا و مقصد.

اما destination IP را از کجا می فهمد؟ وقتی درخواست www.c.com به این لایه می رسد. لایه نتورک یک درخواست به DNS Server می فرستد تا ببیند که آدرس IP این www.c.com چیست. DNS هم آدرس IP آن را می دهد و این Destination IP ضمیمه بسته می شود و بسته را تحویل لایه 2 می دهد.

به مجموع Header لایه 3(لایه نتورک) و Data ، پکت Packet می گویند.

در لایه Data Link سه فیلد دیگه اضافه می شود که عبارتند از Source Mac و Destination Mac و FCS .

FCS به زبان ساده سایز و اندازه بسته رو طبق یه فرمولی جمع و تفریق می کند و یک عددی بدست می آورد و در داخل هدر بسته در قسمت FCS ذخیره می کند. در لایه Data Link سمت گیرنده بر اساس CRC مجددا طبق همان فرمول عدد رو بدست می آورد و با FCS بسته مقایسه می کند. اگر این دو عدد مساوی بودند، متوجه می شود که بسته سالم است و  FCS بسته رو پاک می کند. اگر مساوی نبودند، می فهمد که بسته ناقص به دستش رسیده است و بسته را Drop می کند و دور می اندازد.

خب . Source Mac و Destination Mac را در هدر بسته ثبت می کند و همینطور FCS رو محاسبه می کند وبسته به شکل زیر در می آید:

خب سوال: چرا مک مقصد رو CC نگذاشت؟ مگه با C کار نداشت؟

اولین پاسخ این است که چون Mac Addres کامپیوتر C راندارد. اما چرا ARP نزد؟ (اگر نمی دانید ARP چیست بر روی لینک کلیک کنید)

وقتی در لایه Data Link می خواهد Destination Mac را مشخص کند به Source IP و Destination IP نگاه می کند. اگر این دو در یک شبکه باشند. ARP می زند و Destination Mac را پیدا می کند. چون ARP تکنولوژی لایه دو شبکه است و نمی تواند از بین برودکست دامین های متفاوت عبور کند.اما اگر در یک شبکه نباشند ، ARP می زند برای Gateway.(گیت وی را قبلا برایش تعریف کرده ایم و بهش گفتیم که Gateway تو دارای آدرس آی پی 192.168.1.1 می باشد).

Gateway دیوایس لایه سه می باشد که توانایی این را دارد که بسته ها را از یک شبکه بردارد و به شبکه دیگر تحویل دهد.

به هرحال ARP می زند برای Gateway که آدرس آی پی آن را داشت و در نهایت مک آدرس R11 برای آن برمی گردد و آن را در هدر بسته یادداشت می کند و بسته را تحویل لایه یک می دهد.

در لایه یک بسته به سیگنال الکتریکی و 0 و 1 تبدیل می شود و ارسال می شود.

در سمت سوئیچ، از سیگنال الکتریکی در لایه Data Link ، فریم می سازد.

خب سوئیچ به محض دریافت بسته درلایه 2، Source Mac بسته را Learn می کند و یادمی گیرد که بسته از کجا آمده است. و AA روی کدام پورت است.

سپس تصمیم گیری رو بر اساس Destination Mac انجام میدهد. حالا یا مک آدرس R11 را در Mac Table خودش دارد یا ندارد. اگر نداشته باشد، روی همه پورت های خودش می فرستد تا جوابش برگردد و یادبگیرد که مک آدرس R11 به کدام پورتش وصل است و برای بسته های دیگر مشکلی نداشته باشد.

به هرحال یا آدرس مقصد را دارد یا ندارد و پیدا می کند تصمیم گیری در لایه دو انجام می شود و بسته تحویل لایه یک می شود ، و بسته به سمت مقصد که روتر R1 باشد حرکت می کند.

هنگامی که بسته به روتر R1 می رسد در ابتدا از لایه یک به لایه دو می رود(بسته از سیگنال الکتریکی به فریم تبدیل می شود.)

در لایه data link اولین کاری که می شود به FCS نگاه می کند. دقت می کند که بسته سالم هست یا خیر. اگر سالم باشد FCS را از هدر جدا می کند و دور می اندازد. بعد به Destination Mac نگاه می کند. می بینید که آیا آدرس مک خودش هست یا خیر. اگر بله. source mac و destination mac آن را هم جدا می کند . و بسته را تحویل لایه سه می دهد.

تصمیم گیری در لایه سه انجام می شود و مشخص می کند که بسته به کدام مسیر روت شود. چگونه؟ باید قبلا در روتر تعریف کرده باشیم که اگرمثلا با 192.168.2.0 کار داشتی باید به روتر 172.16.1.2 بسته هات رو بفرستی.. مثلا استاتیک روت تعریف کرده باشیم.(نحوه تعریفش رو یادتونه؟ اینجا رو بخونید.)

مجددا بسته را تحویل لایه دو می دهد (data link)

مجددا در این لایه header و trailer بر روی بسته ایجاد می شود.source mac را R12 و destination mac را چون ندارد. ARP می زند برای  172.16.1.2 و آدرس مک R21 را بدست می آورد و جایگذاری می کند.

همچین چیزی میشه:

بسته تحویل لایه یک می شود و تبدیل به سیگنال الکتریکی می شود و برای روتر R2 فرستاده می شود.

خب R2 از 0و 1 ها فریم می سازد. همه مراحل بالا که برای R1 چک شد،اینجا هم چک می شود. یعنی می بینید که بسته برای خودش هست یا نه. بسته سالم هست یا نه . اگر همه اینها OK بود بسته رو تحویل لایه سه می دهد.

در لایه سه ، روتر به روتینگ تیبل خودش نگاه می کند و می بیند که شبکه 192.168.2.0 به یکی از اینترفیس-هایش متصل است. مسیریابی که انجام شد بسته را تحویل لایه دو می دهد.

در لایه دو مجددا header بسته می شود.

source mac را که R22 یادداشت می کند. destination mac را Arp می زند برای 192.168.2.10  و CC برمیگردد و در header یادداشت می کند.

بسته تحویل سوئیچ می شود و مجددا از سیگنال الکتریکی فریم ساخته می شود و تحویل لایه 2 می شود و سورس مک رو learn می کند و destination mac رو فلات می کند و تصمیم گیری که انجام شدو mac مقصد مشخص شد، بسته تحویل لایه یک می شود و در نهایت دست CC می رسد.

CC هم تمام هدر رو چک می کند. destination mac را چک می کند که بسته مال خودش باشد FCS را با CRC که خودش بدست آورده است مقایسه می کند تا بسته سالم باشد. Destination IP را مقایسه می کند تا ببینید IP خودش هست یا خیر و بسته درست به دستش رسیده باشد. و سپس بسته تحویل لایه چهار یا Transport می شود و سگمنت ها روی هم سوار می شوند و data را می سازند(دیتایی که در لایه Transport سمت فرستنده تیکه تیکه شده بودند.)

بسته تحویل لایه های بالاتر می شود و با توجه به destination Port بسته به دست پروتکل http می رسد.

این بود یک مثال ساده از مفهوم روتینگ .فعلا.

پایان جلسه اول

کتابخانه تخصصی رشته کامپیوتر ...
ما را در سایت کتابخانه تخصصی رشته کامپیوتر دنبال می کنید

برچسب : نویسنده : َA&N dlebook بازدید : 1791 تاريخ : دوشنبه 11 آذر 1392 ساعت: 15:14