در جلسه قبل با MAC Address و تا حدود با ساختار کارت شبکه (NIC) اشنا شدیم.
در این جلسه می خواهیم به صورت عمیق تر با نحوه کار کارت شبکه (NIC) اشنا شویم.
فریم (Frame)
خب، فهمیدیم که هر کارت شبکه ای یه ادرس منحصر به فرد داره که بهش میگن MAC Address، اما مهم این که چطور از این ادرس استفاده می کنه؟
تازه داریم به جاهای قشنگش میرسیم 😋! یادتونه که دادهای (Data) کامپیوتر به صورت باینری بودن که این یعنی از دریایی 0 و 1 تشکیل شدن (باینری یعنی 0 و 1 دیگه).
کارت شبکه (NIC) این دیتاهای باینری رو به صورت پالس (Puls) هایی از الکتریسیته، نور یا امواج رادیویی ارسال و دریافت میکنه.
بیاین اول با اون نوع کارت شبکه هایی که دیتا رو با استفاده از الکتریسیته ارسال و دریافت میکنه اشنا بشیم.
فرایند خاصی که NIC از برق برای ارسال و دریافت اطلاعات استفاده می کنه بسیار پیچیده است ولی خب خوشبختانه لازم نیست ما زیاد باهاش درگیر بشیم. به جاش، فقط فکر کنید جاهایی که برق تو سیم هست 1 هست جاهایی هم که برق نیست 0 هست یه سری از دیتا ها هم توی این سیم دارن حرکت میکنن، شکلش باید یه چیزی مثه شکل زیر بشه.
اگه برای اندازگیری ولتاژ سیم، سیم رو به یه اسیلوسکوپ وصل کنید یه همچین چیزی می بینید
اگه برای اندازگیری ولتاژ سیم، سیم رو به یه اسیلوسکوپ وصل کنید یه همچین چیزی می بینید
یادتون هست که گفتیم این پالس ها در واقع همون دیتاهای باینری هستن (همین 4 خط بالا گفتم دیگه😐) جاهایی که می بینید تو اسیلوسکوپ بلا رفته یعنی 1 جاهایی هم که بالا نرفته یعنی 0.
حالا که فهمیدید دیتا تو سیم چجوری حرکت میکنه، سوال بعدی این که شبکه از کجا میفهمه که کدوم دیتا رو باید به کدوم سیستم بده ؟!
دیتا اول میان هر چیزی (فایل، پرینت، صفحه وب و …) رو که در لایه Physical در حال حرکت هست رو میکشنن و تبدیلش میکنن به فریم (Frame).
فریم (Frame) در واقع یک ظرف برای یک تکه از دیتاهای در حال حرکت در شبکه است. فریم (Frame)برای ارسال اسان تر دیتا، دیتا رو کپسوله میکنه (Encapsulate). کارت شبکه (NIC) ها موقع ارسال این فریم (Frame) ها رو میسازن و موقع دریافت هم این فریم ها (Frame) رو میخونن.
میخوام که یه میز تخیلی رو تصور کنید که این میز داخل همه ی کارت شبکه (NIC) ها وجود داره و مسعولیتشم ساخت فریم (Frame) و خواندن فریم هست. فریم رو هم که داریم تو عکس پایین می بینیم. داخل هر کارت شبکه (NIC) هم فرض میکنیم یه کسی هست که اسمش رو میزاریم “Nick”، کارشم این که اون فریم ها رو بسازه و بعدش بزاره داخل اون Central Box و بفرستشون تو سیم.
اینجا دیگه MAC Address مهم میشه ; تصویر پایین ساختار یک فریم (Frame) را نشان می دهد
اگرچه فریم به صورت رشته ای از 0 و 1 هاست ولی خب ما اکثرا فریم رو به این صورت نشون میدیم، هر یک دونه از این مستطیل ها در واقع یه بخشی از اون 0 و 1 هاست.
توجه کنید که فریم با MAC Address گیرنده شروع میشه و بعدش MAC Address ارسال کننده میاد. بعد از اینا هم Type (نوع) میاد که مشخص می کنه که چه چیزی داخل فریم کپسوله شده (encapsulated).
بعدش Data میاد که حاوی اون چیزیه که کپسوله شدست ( بسته بندی شده ) بعد از این هم یک سری بیت های مخصوصی میان که بهشون میگم (Frame Check Sequence (FCS .
FCS از یه فرمول ریاضی خاصی استفاده می کنه که بهش میگن (Cyclic Redundancy Check (CRC که چک میکنه که اون دیتایی که به دست کارت شبکه (NIC) گیرنده رسیده سالمه یا نه.
می تونید فریم (Frame) رو یه جور دیگه هم در نظر بگیرید: با Header (یعنی همون بخش Mac Address و Type) شروع میشه، بعدش یه Payload میاد (هر چیزی که داخل فریم کپسوله شده)، و در اخرم یک Trailer میاد (یعنی همون بخش FCS).
در عکس بالا می تونید اون 3 بخش رو ببینید:
L2H = Layer 2 Header
DATA = Payload
L2T = Layer 2 Trailer
خب حالا داخل بخش Data فریم چی هست؟؟
اصلا مهم نیست!
ممکنه Data بخشی از یک فایل، پرینت یا یک صفحه وب باشه. کارت شبکه (NIC) با این چیزا کاری نداره! (با محتوای Data کاری نداره)
کارت شبکه Data ی رو که قرار بفرسته با استفاد از درایورش (Driver) میگیره و اون رو برای ارسال به درست به سیستم ادرس دهی می کنه. یه نرم افزار مخصوصی هم مراقبت میکنه که چه دیتایی داره ارسال میشه و در طول مسیر (تا رسیدن به مقصد) بر سر دیتا چی میاد.
فریم (Frame) فقط می تونه یه مقدار مشخصی از دیتا رو درون خودش نگه داره. شبکه های مختلف، سایز فریم هاشون هم باهم فرق داره، اما فریم های مورد استفاده در اغلب شبکه های سیمی بیش از 1500 بایت دیتا را نگه نمی دارن. خب حالا یه سوالی پیشمیاد، اگه مقدار دیتا از سایز فریم بیشتر بود چه بلایی سر دیتا میاد؟
اون سیستمی که داره فریم (Frame) ارسال میکنه باید خودش سایز این دوتا رو (فریم و دیتا) یکی کنه که بعدش این فریم رو میده به کارت شبکه (NIC) تا ارسالش کنه
برای این جلسه تا همین جا کافیه، در جلسه بعد میرسیم به این که چطوری فریم میره به سیستمی که باید بره! (چطوری به سیستم درست میره)