جلسه 25 : شناسایی پروتکل های لایه Network به کمک فیلد Type
در ای جلسه در مورد شناسایی پروتکل های لایه Network به کمک فیلد Type صحبت میکنیم ، خب در حالی که فیلد آدرس ها در هدر اترنت نقش مهم و مشخصی در شبکه های اترنت ایفا می کنند ، فیلد Type اترنت (EtherType) در لایه data-link نقش کم رنگ تری دارد . هدف این فیلد کمک مستقیم به پردازش شبکه در روترها و هاست است. اساساً ، فیلد Type نوع بسته لایه Network (لایه 3) را که درون فریم اترنت قرار دارد ، مشخص می کند.
در قسمت داده فریم اترنت چه چیزی قرار دارد ؟ به طور معمول ، بسته ایجاد شده توسط پروتکل لایه network درون یک فریم اترنت قرار میگیرد . در سال های گذشته ، این پروتکل هایی شامل IBM Systems Network Architecture (SNA) ، Novell NetWare ، DECnet Corporation Equipment Corporation و AppleTalk AppleTalk بوده است. امروزه ، رایج ترین پروتکل های لایه network پرتوکل های IP نسخه 4 (IPv4) و IP نسخه 6 (IPv6) هستند .
هاست اصلی عددی (یک عدد هگزا دسیمال) را برای شناسایی اطلاعات بسته بندی شده درون فریم اترنت در فیلد Type قرار می دهد . حالا برای بسته IPv4 یا بسته IPv6 چه عددی درون این فیلد قرار میگیرد ؟ همانطور که پیداست ، IEEE لیستی از مقادیر EtherType را برای هر پروتکل تعیین می کند ، به طوری که هر پروتکل لایه network که به مقدار منحصر به فرد EtherType احتیاج دارد ، می تواند یک عدد داشته باشد . فرستنده فقط باید لیستی از این EtherType داشته باشد . (برای مشاهده این لیست ها ؛ کافی است به www.ieee.org بروید و EtherType را جستجو کنید.)
به عنوان مثال ، یک هاست می تواند یک فریم اترنت با بسته IPv4 و فریم اترنت بعدی را با بسته IPv6 ارسال کند . هر فریم دارای مقدار فیلد Ethernet Type متفاوت ، با استفاده از مقادیر ذخیره شده توسط IEEE است ( شکل زیر )
تشخیص خطا با FCS
اترنت همچنین از فیلدی استفاده می کند تا دریابد که بیت های یک فریم در حین عبور از لینک اترنت تغییر کرده اند یا خیر . (معمولاً، بیت ها ممکن است به دلیل نوعی تداخل الکتریکی یا یک NIC بد تغییر کنند.) مانند اکثر پروتکل های data-link ، از یک فیلد در تریلر data-link به منظور تشخیص خطا استفاده می کند.
فیلد Ethernet Frame Check Sequence (FCS) در تریلر پرتوکل اترنت – تنها فیلد موجود در تریلر اترنت – به گره گیرنده امکان مقایسه نتایج با فرستنده را برای تشخیص خطا در فریم می دهد . فرستنده یک فرمول ریاضی پیچیده را قبل از ارسال به فریم اعمال می کند و نتیجه آن را در قسمت FCS ذخیره می کند . گیرنده همان فرمول ریاضی را روی فریم دریافتی اعمال می کند . سپس گیرنده نتایج خود را با نتایج فرستنده مقایسه می کند . اگر نتایج یکسان باشد ، فریم تغییر نکرده است . در غیر این صورت ، خطایی رخ داده است و گیرنده فریم را دور می اندازد .
توجه داشته باشید که تشخیص خطا (error detection) به معنی بازیابی خطا (error recovery) نیست . اترنت تلاشی برای بازیابی فریم اشتباه نمیکند بلکه تشخیص میدهد که فریم اشتباه است و آن را دور می اندازد .