
آدرس هگزا دسی مال بهصورت کامل با باینری و دسی مال متفاوت است . هگز از nibble برای تبدیل استفاده میکند . توسط nibble شما میتوانید بهراحتی هگز را به دسی مال و باینری تبدیل کند . ابتدا این را بدانید که در هگز از اعداد ۰ تا ۹ استفاده میشود و برای اعداد بزرگتر نمیتوانیم از ۱۰ ، ۱۱ و یا ۱۲ استفاده کنیم ( به دلیل اینکه نمایش این اعداد نیازمند استفاده از ۲ بیت است ) بهجای اعداد بالاتر از ۹ به ترتیب از حروف A , B , C , D , E , F استفاده میشود .
[box type=”info” align=”aligncenter” class=”” width=””]در این مقاله برای راحتی کار ، از هگز استفاده میکنیم که مخفف هگزا دسی مال است . حروفی که در مبنای هگز استفاده میشوند حساس به بزرگی و کوچکی نیستند ( not case sensitive )[/box]
شکل ۲٫۷ ، جدول تبدیل اعداد باینری و دسی مال را به هگز نشان میدهد :
شکل ۲٫۷
توجه کردید که ده شماره اول ( ۰ – ۹ ) هگز با دسی مال دارای یک ارزش است ؟ دوباره به جدول دقت کنید ، تبدیل هگز به دسی مال با توجه به این نکته نمیتواند سخت باشد .
حالا اگر عددی مانند این را داشتید : ۰x6A . توجه داشته باشید که در سیسکو گاهی اوقات مقدار ۰x قبل از عدد قرار میگیرد که به معنی آن است که عدد در مبنای هگزاست و دارای معنا و ارزش دیگری نیست . خب مقدار این عدد در دسی مال و باینری چقدر است ؟ این نکته را به یاد دارید که هر عدد در هگز برابر یک nibble یا ۴ بیت است . پس دو عدد برابر یک بایت ( ۸ بیت ) میشود . با توجه به جدول عدد ۶ = ۰۱۱۰ و عدد A = 1010 است که با قرار گرفتن در کنار یکدیگر برابر ۰۱۱۰۱۰۱۰میشود .
برای تبدیل باینری به هگز ، راحتتر است که ابتدا آن را به دو nibble تبدیل کنیم .
بهعنوانمثال : ۰۱۰۱۰۱۰۱ را ابتدا به دو nibble ، ۰۱۰۱ و ۰۱۰۱ جدا میکنیم سپس هر nibble را جداگانه به هگز تبدیل کرده و در انتها در کنار یکدیگر قرار میدهیم . که هرکدام از nibble ها برابر ۵ میشود که در کنار یکدیگر به هگز برابر ۰x55 میشود .تبدیل آن به باینری برابر میشود با : ۶۴ + ۱۶ + ۴ + ۱ = ۸۵
متوجه شدید که عدد بالا از مجموع ارزش ۱ ها در دسی مال محاسبه شد .
برای تمرین بیشتر عدد باینری ۱۱۰۰۱۱۰۰ را به هگز و دسی مال تبدیل کنید :
دو nibble ، ۱۱۰۰ میشود ۱۲ پس با توجه به جدول عدد ۱۲ برابر است با C در هگز که با کنار هم قرار دادن دو nibble میشود CC و تبدیل آن به دسی مال برابر است با مجموع ۱۲۸ + ۶۴ + ۸ + ۴ که برابر است با ۲۰۴ .
[box type=”shadow” align=”aligncenter” class=”” width=””]در انتهای فصل تبدیلهای بیشتری برای تمرین ارائه خواهد شد[/box]
Ethernet Frames
وظیفه لایه Data Link ترکیب بیتها به بایت و بایت به فریم است . این لایه با دریافت پکت ها از لایه Network و کپسوله کردن آنها بهصورت فریم ، اطلاعات را برای انتقال به داخل مدیا آماده میکند .
عملکرد اترنت ، عبور اطلاعات فریم با توجه به مشخصه MAC های آن است . در این لایه همچنین خطایابی بر روی فریمها نیز انجام میشود ( ولی اصلاح نمیشود ) .
شکل ۲٫۸ یک فریم اترنت را نشان میدهد :
شکل ۲٫۸
[box type=”info” align=”aligncenter” class=”” width=””]کپسوله کردن یک فریم به فرمهای دیگر را Tunneling میگویند[/box]
Preamble : یک مدل ۱ و ۰ است که اول بسته قرار میگیرد و سیگنال ۵MHz تولید کرده که باعث میشود هر دستگاهی آن را دریافت میکند متوجه شود که یک بسته در حال ارسال است .
Start Frame Delimiter (SFD)/Synch : همانطور که در شکل نیز میبینید ، preamble دارای ۷ بیت و SFD یک بیت دارد . این دو با ترکیب یکدیگر یک بایت را میسازند که SFD بهعنوان بیت آخر ، اگر ۱ باشد نشاندهنده شروع ارسال اطلاعات و ۰ بودن آن به معنای ادامه داشتن راسال اطلاعات است .
Destination Address (DA): شش بایت یا همان ۴۸ بیت آدرس فیزیکی مقصد است که برای رسیدن بستهها در شبکه محلی (local) استفاده میشود . آدرس میتواند منحصربهفرد(Uniqe) برای یک مقصد و یا Broadcast یا Multicast باشد . توجه داشته باشید که برای آدرس Broadcast همه بیتهای ۱ و یا همه عدد هگز ، Fاست . آدرسهای Multicast برای تعداد مشخصی که در یک رنج شبکه (Subnet) حضور دارند به کار میرود .
Source Address (SA) : آدرس فیزیکی دستگاه ارسالکننده اطلاعات است . نکته مهم این است که آدرسهای Multicast و Broadcast برای آدرس مبدأ (SA)غیرقانونی است و نمیتواند استفاده شود .
Length or Type : استاندارد ۸۰۲٫۳ از Length و استاندارد Ethernert-II از Type ، برای مشخص کردن پروتکل بهکاررفته در لایه Network ، به استفاده میکنند . نسخه قدیمی ۸۰۲٫۳ نمیتوانست پروتکل لایه بالایی خود را تشخیص دهد شما باید بهعنوانمثال از یک ارتباط LAN-IPX اختصاصی استفاده میکردید .
Data : همانطور که از اسمش نیز مشخص است . اطلاعاتی است که از لایه بالاتر به لایه Data Link انتقال پیداکرده است . سایز آن میتواند بین ۴۶ تا ۱۵۰۰ بایت باشد .
Frame Check Sequence (FCS) : در انتهای هر فریم ، یک فیلد به نام FCS قرار میگیرد که اطلاعاتی از اجرای یک الگوریتم بر روی فریم را در خودش ذخیره دارد . به آن الگوریتم Cyclic Redundancy Check (CRC) میگویند که با محاسبه بر روی هر فریم و قرار دادن در داخل فیلد انتهایی ، دستگاه گیرنده از سلامتی فریم دریافت شده اطمینان حاصل میکند . دستگاه گیرنده با دریافت فریم ، CRC را بر روی آن اجرا کرده و جواب آن با فیلد FCS باید یکی باشد .
حال به مثالی از یک فریم توجه کنید :
در مثال بالا ، شما میتوانید آدرس مبدأ ، مقصد و نوع پروتکل را ببینید . این یه نوع از فریم با استاندارد Ethernet_II است . دقت کنید که در قسمت پروتکل ، IP و یا ۰۸-۰۰ که بیشتر بهصورت 0x800 مشخص میشود ، نشان دادهشده است .
فریم بعدی با همان قالب قبلی است ، پس حتماً استاندارد Ethernet را دارد .
به آدرس مقصد دقت کردید که بهصورت Broadcast است ؟به دلیل اینکه تمامی بیتهای آن ۱و یا در مبنای هگز ، F است .
در فصلهای آینده که در مورد IPv6 است بیشتر در مورد فریم Ethernet صحبت خواهیم کرد اما بهعنوانمثال میتوانید ببینید که نوع قالب آن با IPv4 تفاوتی ندارد .
در قسمت Type آن از ۰x89dd استفادهشده است که نشاندهنده IPv6 است . این از مزایای بزرگ استاندارد Ethernet بهحساب میآید که از تمامی پروتکلها در فریم برای انتقال اطلاعات استفاده کنیم .