جلسه چهارم

خب در جلسه ی قبل ، داشتیم لایه های OSI رو بررسی میکردیم که رسیدیم به لایه ی دوم ، لایه ی Data Link !
گفتیم این لایه دو وظیفه ی اصلی داره ، LLC , MAC .
در تشریح MAC به اصطلاح " فریم " برخوردیم . گفتیم برای اینکه با فریم آشنا بشیم ،
فرض کنید من یک کامپیوترم که میخوام برای شما داده ای رو ارسال کنم . خب در ابتدا فریم مقدماتی رو فرستادیم و رسیدیم به ارسال فریم بعدی که حاوی آدرس MAC بود ! اما بحث رو در اینجا به پایان رسوندیم.
پس بحث رو از تشریح " آدرس MAC " شروع میکنیم...
4.3.2 آدرس MAC
آدرس MAC يه آدرس 48 بيتي هست كه هر كارت شبكه اي كه در هر كجاي جهان ساخته بشه ، براش يه آدرس MAC منحصر به فرد صادر ميشه .
يعني هيچ كارت شبكه اي نيست كه آدرس MAC نداشته باشه و هيچ دو كارت شبكه اي نيست كه يك آدرس MAC داشته باشن.
( ممكنه اين عدد روي پورت موازي پشت دستگاه يا در مجاورت كانكتور باشه. )
به عكس كه توجه كنيد ميبينيد يه عدد 12 رقمي روي اون نوشته شده ، اين عدد 12 رقمي همان MAC هست ، در واقع هر رقم نشانگر 4 بيت است ، چرا كه اين عدد در مبناي 16 نوشته شده است.
در شكل زير كه نشاندهنده ي يه شبكه ي 3 كامپيوتره است ، هر ماشين يه عدد منحصر به فرد داره. اين شماره ها همون MAC هستند ، كه توسط سازمان استاندارد ايالات متحده IEEE ساخته شده اند. پس هركي قصد ساخت كارت شبكه داره ، بايد بره به اين سازمان پول پرداخت كنه تا اونها بهش تعدادي آدرس MAC بدهند تا براي كارت شبكه هاي خودش استفاده كنه.
بگذريم. بريم سراغ همون آدرس 48 بيتي. اين 48 بيت از دو قسمت 24 تايي تشكيل شده.
24 بيت اول يا 6 رقم اول آدرس نشانگر شناسه يا ID اون شركت سازنده است و 24 بيت آخر يا 6 رقم آخر نشانگر شناسه ي منحصر به فرد آدرس هست.
خب حالا كه با آدرس MAC به طور مقدماتي آشنا شديم ، برگرديم به بحث قبل.
رسيده بوديم به اينكه فريم مقدماتي رو براتون فرستادم و ميخواستم فريم بعدي كه حاوي آدرس MAC هست رو براتون بفرستم !
خب...
حالا اين فريم بعدي كه MAC رو در خودش داره چيو ميخواد بفرسته ؟
با توجه به آشنايي اي كه با MAC پيدا كرديم، MAC آدرس كامپيوتر هست ديگه ! پس وقتي ميفرستيم داريم آدرس كامپيوتري رو ميفرستيم ، اما چه كامپيوتري ؟ كامپيوتر مبدا يا مقصد ؟
بعد فرستادن فريم مقدماتي ، آدرس MAC مقصد رو ميفرسته !
- دقت كنيد كه گفتم ، فريم مقدماتي كه فرستاده ميشه ، كامپيوترها رو بيدار ميكنه و اونايي كه سرشون خلوت باشه فريم رو ميگيرن و ميخون . اينطور كه بده ؟ نه ؟ خب داده اي رو كه ارسال ميكنم رو هم بقيه ميخونن ! راهكار چيه ؟
راهكار همين ارسال MAC مقصد بعد از فريم مقدماتي است، با اين كار كامپيوترهاي ديگه كه سرشون خلوته ، چون MAC خودشون نيست ، ديگه فريم ارسالي رو نميخونن و فقط كامپيوتر مقصد اونو ميخونه.
علاوه بر اين مزيت ، ارسال آدرس مقصد در اول كار طبيعيه ، چون لازمه اول از همه بدونه بايد كجا بره!
خب در مثال ما ، كه داشتم براتون فريم ارسال ميكردم ، الان بايد MAC شما رو ارسال كنم . و بعد شايد لازم باشه شما به من جواب بدين ، پس بايد بدونين MAC من چيه ؟
بعد ارسال MAC مقصد ، MAC خودم يا مبدا رو ميفرستم و بعد كه آدرس دهي ها تكميل شد ، نوبت به ارسال داده است ، داده هم مثل فريم مقدماتي و آدرس MAC شامل صفر و يك هست،
حالا اين صفر و يكها چي هست ؟ نميدونم من فقط فرستنده ي داده هستم !
ميتونه اين صفر و يك ها ، بخشي از يك سند چاپي باشه ، ميتونه بخشي از يك فايل باشه ، ميتونه حتي بخشي از يك وب سايت باشه ، هرچي ميتونه باشه... من فقط صفر و يك اون رو ارسال ميكنم ...
و بعد از داده ، چند بيت CRC ميفرستم !
اما CRC چيه ؟
CRC يه عددي هست كه از محاسبه ي قرار دادي بين سيستم هاي موجود در شبكه بدست مياد، وقتي در دو طرف اين عدد يكسان بشه ، ميشه گفت احتمالا خطايي رخ نــداده .
در واقع مكانيزمي هست كه توسط اون ، كارت شبكه ميتونه بفهمه خطا رخ داده يا نه ! در واقع چگونگي و كيفيت ارسال با اون سنجيده ميشه.
خب بررسي فريم به اين مدلي كه براتون گفتم ، زياد مرسوم نيست چون اجزاي فريم رو تك به تك براتون باز كردم ، معمولا فريم و اجزاش رو يك جا باهم به نام " بلوك " معرفي ميكنند و جزيياتش رو شرح نميدن. در كل اگه شنيدين بلوك بدونين كه منظور ، همون فريمه و اجزاش که در شکل زیر میبینید.
5.3.2 مدل فريم
خب راجع به مدل فريم بندي صحبت ميكنيم.
ساختار فريم پايه اي مورد استفاده در تمامي شبكه ها متشكل از 4 عنصر اصلي است :
1- Destination MAC Address
2- source MAC Address
3- Data
4- CRC
فريم ها از نظر ابعاد انواع متعددي دارن ، ابعاد فريم بستگي به اندازه ي داده داره ، هر چه داده بزرگتر فريم بزرگتر و بلعكس.
فريم نام هاي ديگه هم داره :
- بسته ي كوچك/ Packet
- ِبرنامه حاوي داده ها/ Dategram
- فريم/ Frame
فريم رو ميشه مثل بسته ي پولي كه ميخوايد به بانك برسونيد شبيه سازي كرد، روي بسته ، آدرس MAC مبدا و مقصد نوشته شده و پول همان داده و CRC است. بسته به مقصد ميرود و بر ميگردد.
در قسمت قبل گفتيم كه فريم ، تعبيه شده در كارت شبكه است در اينجا اين مفهوم رو بيشتر باز ميكنم.
فرض كنيد من يك كامپيوترم . قرار هست داده اي رو براتون ارسال كنم . كارت شبكه ام كه مثل ميز مونتاژه ، فريم يا همون بسته ي پوله رو ايجاد ميكنه ( معني اين حرف اينه فريم از نظر فيزيكي – سخت افزاري – درون كارت شبكه شكل ميگيره ، فريم و كارت شبكه با هم تطابق ساختاري دارند و هر كارت شبكه اي فريم مخصوص به خودش رو داره و خصوصيات فريم رو كارت شبكه تعيين ميكنه )
سيستم عامل ام ، داده همراه CRC و آدرس مقصد رو براي كارت شبكه ام يا همون ميز مونتاژ ميفرسته ، همه ي اينها كه در كارت شبكه جمع شد ، به سمت شبكه ارسال ميشه .
در واقع شبكه مجرايي هست براي عبور دادن داده به مكاني معين و داده هم از طريق فريم به شبكه فرستاده ميشه.
اين شبيه سازي رو روي يه شبكه ي كوچيك سه كامپيوتره پياده سازي ميكنيم...
كامپيوتر اول تماميه اين مراحل گفته شده رو انجام ميده و بسته ي فريم رو به سمت شبكه ميفرسته ، كامپيوتر دوم فريم رو ميگيره ، MAC مقصد بسته رو نگاه ميكنه و با MAC خودش مقايسه ميكنه ، ميفهمه براي خودش نيست و به كامپيوتر بعدي ميفرسته ، كامپيوتر بعدي بسته رو ميگيره و MAC ها رو مقايسه ميكنه و ميفهمه براي خودش هست و داده رو دريافت ميكنه.
خب براي اين جلسه كافيه . ان شاءالله در جلسه ي بعد لايه هاي منطقي OSI رو با هم بررسي ميكنيم.
موفق باشيد.
پايان جلسه چهارم