شبکه اترنت-3
آدرس هگزا دسی مال بهصورت کامل با باینری و دسی مال متفاوت است . هگز از nibble برای تبدیل استفاده میکند . توسط nibble شما میتوانید بهراحتی هگز را به دسی مال و باینری تبدیل کند . ابتدا این را بدانید که در هگز از اعداد 0 تا 9 استفاده میشود و برای اعداد بزرگتر نمیتوانیم از 10 ، 11 و یا 12 استفاده کنیم ( به دلیل اینکه نمایش این اعداد نیازمند استفاده از 2 بیت است ) بهجای اعداد بالاتر از 9 به ترتیب از حروف A , B , C , D , E , F استفاده میشود .
" در این مقاله برای راحتی کار ، از هگز استفاده میکنیم که مخفف هگزا دسی مال است . حروفی که در مبنای هگز استفاده میشوند حساس به بزرگی و کوچکی نیستند ( not case sensitive ) "
شکل 2.7 ، جدول تبدیل اعداد باینری و دسی مال را به هگز نشان میدهد :
توجه کردید که ده شماره اول ( 0 – 9 ) هگز با دسی مال دارای یک ارزش است ؟ دوباره به جدول دقت کنید ، تبدیل هگز به دسی مال با توجه به این نکته نمیتواند سخت باشد .
حالا اگر عددی مانند این را داشتید : 0x6A . توجه داشته باشید که در سیسکو گاهی اوقات مقدار 0x قبل از عدد قرار میگیرد که به معنی آن است که عدد در مبنای هگزاست و دارای معنا و ارزش دیگری نیست . خب مقدار این عدد در دسی مال و باینری چقدر است ؟ این نکته را به یاد دارید که هر عدد در هگز برابر یک nibble یا 4 بیت است . پس دو عدد برابر یک بایت ( 8 بیت ) میشود . با توجه به جدول عدد 6 = 0110 و عدد A = 1010 است که با قرار گرفتن در کنار یکدیگر برابر 01101010 میشود .
برای تبدیل باینری به هگز ، راحتتر است که ابتدا آن را به دو nibble تبدیل کنیم .
بهعنوانمثال : 01010101 را ابتدا به دو nibble ، 0101 و 0101 جدا میکنیم سپس هر nibble را جداگانه به هگز تبدیل کرده و در انتها در کنار یکدیگر قرار میدهیم . که هرکدام از nibble ها برابر 5 میشود که در کنار یکدیگر به هگز برابر 0x55 میشود .تبدیل آن به باینری برابر میشود با : 64 + 16 + 4 + 1 = 85
متوجه شدید که عدد بالا از مجموع ارزش 1 ها در دسی مال محاسبه شد .
برای تمرین بیشتر عدد باینری 11001100 را به هگز و دسی مال تبدیل کنید :
دو nibble ، 1100 میشود 12 پس با توجه به جدول عدد 12 برابر است با C در هگز که با کنار هم قرار دادن دو nibble میشود CC و تبدیل آن به دسی مال برابر است با مجموع 128 + 64 + 8 + 4 که برابر است با 204 .
" در انتهای فصل تبدیلهای بیشتری برای تمرین ارائه خواهد شد "
Ethernet Frames
وظیفه لایه Data Link ترکیب بیتها به بایت و بایت به فریم است . این لایه با دریافت پکت ها از لایه Network و کپسوله کردن آنها بهصورت فریم ، اطلاعات را برای انتقال به داخل مدیا آماده میکند .
عملکرد اترنت ، عبور اطلاعات فریم با توجه به مشخصه MAC های آن است . در این لایه همچنین خطایابی بر روی فریمها نیز انجام میشود ( ولی اصلاح نمیشود ) . شکل 2.8 یک فریم اترنت را نشان میدهد :
" کپسوله کردن یک فریم به فرمهای دیگر را Tunneling میگویند "
Preamble : یک مدل 1 و 0 است که اول بسته قرار میگیرد و سیگنال 5MHz تولید کرده که باعث میشود هر دستگاهی آن را دریافت میکند متوجه شود که یک بسته در حال ارسال است .
Start Frame Delimiter (SFD)/Synch : همانطور که در شکل نیز میبینید ، preamble دارای 7 بیت و SFD یک بیت دارد . این دو با ترکیب یکدیگر یک بایت را میسازند که SFD بهعنوان بیت آخر ، اگر 1 باشد نشاندهنده شروع ارسال اطلاعات و 0 بودن آن به معنای ادامه داشتن راسال اطلاعات است .
Destination Address (DA): شش بایت یا همان 48 بیت آدرس فیزیکی مقصد است که برای رسیدن بستهها در شبکه محلی (local) استفاده میشود . آدرس میتواند منحصربهفرد(Uniqe) برای یک مقصد و یا Broadcast یا Multicast باشد . توجه داشته باشید که برای آدرس Broadcast همه بیتهای 1 و یا همه عدد هگز ، F است . آدرسهای Multicast برای تعداد مشخصی که در یک رنج شبکه (Subnet) حضور دارند به کار میرود .
Source Address (SA) : آدرس فیزیکی دستگاه ارسالکننده اطلاعات است . نکته مهم این است که آدرسهای Multicast و Broadcast برای آدرس مبدأ (SA) غیرقانونی است و نمیتواند استفاده شود .
Length or Type : استاندارد 802.3 از Length و استاندارد Ethernert-II از Type ، برای مشخص کردن پروتکل بهکاررفته در لایه Network ، به استفاده میکنند . نسخه قدیمی 802.3 نمیتوانست پروتکل لایه بالایی خود را تشخیص دهد شما باید بهعنوانمثال از یک ارتباط LAN-IPX اختصاصی استفاده میکردید .
Data : همانطور که از اسمش نیز مشخص است . اطلاعاتی است که از لایه بالاتر به لایه Data Link انتقال پیداکرده است . سایز آن میتواند بین 46 تا 1500 بایت باشد .
Frame Check Sequence (FCS) : در انتهای هر فریم ، یک فیلد به نام FCS قرار میگیرد که اطلاعاتی از اجرای یک الگوریتم بر روی فریم را در خودش ذخیره دارد . به آن الگوریتم Cyclic Redundancy Check (CRC) میگویند که با محاسبه بر روی هر فریم و قرار دادن در داخل فیلد انتهایی ، دستگاه گیرنده از سلامتی فریم دریافت شده اطمینان حاصل میکند . دستگاه گیرنده با دریافت فریم ، CRC را بر روی آن اجرا کرده و جواب آن با فیلد FCS باید یکی باشد .
حال به مثالی از یک فریم توجه کنید :
در مثال بالا ، شما میتوانید آدرس مبدأ ، مقصد و نوع پروتکل را ببینید . این یه نوع از فریم با استاندارد Ethernet_II است . دقت کنید که در قسمت پروتکل ، IP و یا 08-00 که بیشتر بهصورت 0x800 مشخص میشود ، نشان دادهشده است .
فریم بعدی با همان قالب قبلی است ، پس حتماً استاندارد Ethernet را دارد .
به آدرس مقصد دقت کردید که بهصورت Broadcast است ؟به دلیل اینکه تمامی بیتهای آن 1و یا در مبنای هگز ، F است .
در فصلهای آینده که در مورد IPv6 است بیشتر در مورد فریم Ethernet صحبت خواهیم کرد اما بهعنوانمثال میتوانید ببینید که نوع قالب آن با IPv4 تفاوتی ندارد .
در قسمت Type آن از 0x89dd استفادهشده است که نشاندهنده IPv6 است . این از مزایای بزرگ استاندارد Ethernet بهحساب میآید که از تمامی پروتکلها در فریم برای انتقال اطلاعات استفاده کنیم .