سلام امروز بخش دوم مفاهیم اولیهی شبکه را ادامه میدهیم.
بخش دوم
- معرفی مدلهای OSI
- مدل OSI
- لایه اول(Physical)
- لایه دوم(Data Link)
- لایه سوم(Network)
مدل OSI یا Open Systems Interconnection
مدل ۷ لایهای OSI یک راهنما، و الگو است که عملکردهای شبکه را به ۷ بخش که لایه نامیده میشوند تقسیم بندی میکند. اگر شما میخواهید به دنیای شبکه وارد شوید، باید مدل ۷ لایهای OSI را با جزئیات بالا و بخوبی درک کنید. مدل ۷ لایهای OSI مدلی عملی را برای شبکه فراهم میکند. این مدل دو چیز را فراهم میکند. برای تکنسینهای شبکه، مدل OSI ابزاری قدرتمند را به منظور تشخیص خطاهای شبکه فراهم میکند. درک مدل OSI تکنسین را قادر میسازد تا به سرعت تشخیص دهد که در چه لایهای ممکن است مشکل پیش آمده باشد و بنابراین هدر رفتن زمان زیاد در مسیرهای غلط را به صفر میرساند. همچنین مدل OSI زبان رایجی را برای توضیح شبکه فراهم میکند، راهی برای ما که درمورد عملکرد شبکهها با دیگران بحثوگفتگو کنیم.
بهترین راه برای یادگرفتن مدل ۷ لایهای OSI این است که آن را در عمل ببینید. به همین جهت من به شما یک شبکهی کوچک را نشان میدهم که نیاز به انتقال یک فایل از یک کامپیوتر به کامپیوتر دیگر را دارد. این مثال مروری بر هر یک از لایههای مورد نیاز برای انتقال فایل میباشد، توضیح دادن هر گام و بیان علت ضروری بودن آن زمانی را نیاز دارد. با اتمام این فصل شما یاد میگیرید که چگونه از طریق مدل ۷ لایهای OSI مفهوم شبکه را درک کنید.
مدل ۷ لایهای OSI در عمل
هر یک از لایهها در مدل OSI چالشهایی را در شبکههای کامپیوتر مشخص میکند، و Protocol هایی که در هر لایه وجود دارد راهحلهایی را برای آن چالشها معرفی میکنند. Protocolها قوانین، مقررات، استانداردها، و روشها را مشخص میکنند تا توسعه دهندگان نرمافزارها و سختافزارها بتوانند دستگاهها و برنامههایی را ایجاد کنند که عملکرد مناسبی داشته باشند. مدل OSI نیازمندی لایهها به یکدیگر در شبکه را طراحی میکند، به این معنی که هر پروتکل طراحی شده، با لایهای مشخص قرارداد دارد، و کمی هم با عملکرد لایههای دیگر در ارتباط است. هر پروتکل نیاز دارد پروتکلهایی را که لایههای بالایی و پایینی خودش به شکل مستقیم با آن سروکار دارند را شناخته و درک کند، اما آن میتواند، و باید،به پروتکلهایی که لایههای دیگر از آن استفاده میکنند بیتوجه باشد.
توجه داشته باشید که این لایهها قانون فیزیک نبوده و هر شخصی که در نظر دارد شبکهای را طراحی کند میتواند هرطوری که در نظر دارد از آن استفاده کند.
این لایهها عبارتاند از:
- Layer 7 Application
- Layer 6 Presentation
- Layer 5 Session
- Layer 4 Transport
- Layer 3 Network
- Layer 2 Data Link
- Layer 1 Physical
این واضح است که شبکه به یک کانال فیزیکی نیاز دارد، تا بتواند از طریق آن بیتهای داده را بین سیستمها جابجا کند. بسیاری از شبکهها کاز کابلی استفاده میکنند که نمونهای از آن در (تصویر ۲.۵) آمده است. در صنعت شبکه این کابل با نام Unshielded Twisted Pair یا UTP شناخته میشود، و معمولا دارای ۴ جفت سیم است که دادهها را انتقال میدهد. یکی دیگر از قطعات کلیدی سختافزاری که شبکه استفاده میکند یک دستگاه جعبهای شکل است که Hub نامیده میشود(تصویر۲.۶)، و اغلب در یک مکان در بسته و یا اتاق تجهیزات نگهداری میشود. هر سیستم در شبکه کابلی مخصوص به خود را دارد که توسط آن به Hub متصل میشود. Hub را همانند یکی از آن صفحه تقسیمهای تلفنهای قدیمی در نظر بگیرید، که تلفنچی ها ارتباطات را بین اشخاصی که مایل به تماس با تلفنهای دیگر افراد بودند، برقرار میکردند.
لایهی ۱ از مدل OSI روش حرکت دادهها بین کامپیوترها را مشخص میکند. بنابراین کابلکشیها و Hubها بخشی از لایهی فیزیکی (Physical Layer) میباشند. هر چیزی که داده را از یک سیستم به سیستم دیگری انتقال دهد، مثل کابلهای مسی(Copper Cabling)، فیبرهای نوری(Fiber Optic)، و حتی امواج رادیویی بخشی از لایهی فیزیکی به حساب میآید. لایهی(Physical Layer)1 به نوع دادهای که از آن عبور میکند اهمیت نداده، و فقط داده را از سیستمی به سیستنم دیگر انتقال میدهد. (تصویر۲.۷) نمایی از شبکه در مدل ۷ لایهای OSI را از نزدیک نشان میدهد. توجه داشته باشید که هر سیستم تمام ۷ لایه را دارد، پس دادهها از کامپیوتر Janelle به کامپیوتر Tiffany خواهند رفت.
جادوی واقعی شبکه به وسیلهی کارت رابط شبکه(Network Interface Card) یا NIC آغاز میشود، که به عنوان رابط میان کامپیوتر و شبکه عمل میکند. با این که NIC ها در مجموعهی وسیعی از اشکال و اندازههای مختلف موجود است، کارت شبکهای که ما استفاده میکنیم مانند (تصویر ۲.۸) میباشد. در کامپیوترهای قدیمیتر، کارتهای شبکه یک کارت جداگانه بود که در یک درگاه بزرگ Expansion، چفت میشد. کابلکشی ها و Hubها لایهی فیزیکی شبکه را مشخص میکنند، و کارت شبکه رابطی را برای کامپبوتر فراهم میکند. تصویر ۲.۱۰ طرحی از سیستم کابلکشی شبکه را نشان میدهد.
در این نقطه ممکن است شما کارت شبکه را به عنوان بخشی از لایهی فیزیکی طبقهبندی کرده، و استدلال معتبری هم برای آن داشته باشید. کارت شبکه برای برقرار کردن اتصال فیزیکی به وضوح لازم است!! ولی در امتحانات +CompTIA Network و بیشتر نویسندگان کارت شبکه را در لایهی ۲ (Data Link Layer) قرار میدهند، پس واضح است که چیز دیگری در کارت شبکه اتفاق میافتد. بریم و نگاهی نزدیکتر به آن داشته باشیم.
برای درک شبکه، شما باید درک کنید که یک کارت شبکه کار میکند. شبکه باید مکانیزمی را فراهم کند که به هر سیستم یک شناسهی منحصر به فرد بدهد( مانند شمارهی تلفن) تا این که دادهها به سیستم مورد نظر برسد. این یکی از مهمترین وظایف برای کارت شبکه است. در داخل هر کارت شبکه، نوعی از تراشهی ROM تعبیه شده است،(سیستم عامل مخصوصی که شامل یک شناسهی منحصر به فرد ۴۸ بیتی میباشد و آدرس کنترل دسترسی رسانه(Media Access Control Address) یا MAC Address نامیده میشود).
هیچگاه دو کارت شبکه دارای Mac Address شبیه و یکسان نخواهند بود. هر کمپانی که کارت شبکه تولید میکند باید با موسسهی مهندسان برق و الکترونیک(IEEE) تماس گرفته و بلوکی از MAC Address ها را درخواست کند و بعد آنها را برروی ROM کارتهای شبکهای که تولید کرده قرار دهد. حتی بسیاری از تولیدکنندگان کارت شبکه MAC Addressها را برروی کارت چاپ میکنند، که در تصویر (۲.۱۱) نشان داده شده.
توجه داشته باشید این کارت MAC Address را در مبنای ۱۶ نمایش داده است. تعداد کاراکترهای Hex را بشمارید. چون که هر کاراکتر Hex برابر با ۴ بیت میباشد. تعداد آنها ۱۲ کاراکتر Hex میباشد که ۴۸ بیت را نشان میدهد.(۱۲×۴=۴۸).
در تصویر بالا MAC Address برابر با 004005607D49 میباشد. شش رقم اول کد شرکت سازندهی کارت را نمایش میدهد. شش رقم دوم شماره سریال منحصربفردی است که سازنده برای کارت شبکه درنظر گرفته. اغلب این بخش از MAC Address به عنوان شناسهی دستگاه اشاره میکند.
لایهی ۲ (Data Link Layer)
لایهی دوم از مدل OSI لایهی Data Link میباشد. مهمترین وظیفهی این لایه آدرسدهی فیزیکی(Physical Addressing) است. علاوه بر این وظایف Encapsulation، تشخیص خطا(Error Detection)، و کنترل جریان بین فرستنده و گیرنده(Flow Control) نیز بر عهدهی این لایه میباشد. لایهی Data Link لایهی شلوغی میباشد و وظایف زیادی را بر عهده دارد. با نصب کارت شبکه(NIC) و درایو مربوط به آن، این لایه ایجاد شده و وظایفش انجام میشود. تصویر ۲.۲۴ ترتیب قرار گرفتن Hub و کارت شبکه را در مدل OSI نشان میدهد.
پس ماهیت لایهی ۲ یا Data Link، کارت شبکه و درایور آن است و به دلیل این که لایهی شلوغی است وظایف خود را به ۲ زیرلایه تقسیم میکند.
۱- زیرلایهی MAC یا Media Access Control
۲- زیرلایهی LLC یاLogical Link Control
در تصویر ۲.۲۵ شما نمایی از زیرلایههای لایهی دوم در مدل OSI، یعنی Data Link را مشاهده میکنید.
وظیفهی آدرس دهی فیزیکی که مهمترین وظیفهی لایهی Data Link است، بر عهدهی زیرلایهی MAC میباشد. در زیرلایهی MAC کاملا مشخص است که چه کسی با چه کسی کار دارد. وظیفهی Encapsulation نیز بر عهدهی زیرلایهی MAC میباشد که در آن با اضافه کردن آدرس مبدا و مقصد به Frame میرسیم.
زیرلایهی LLC وظیفهی Error Detection(تشخیص خطا) را برعهده دارد و این مسئولیت را با دو روش انجام میدهد.
۱- روش CRC یا Cyclic Redundancy Code
۲- روش FCS یا Frame Check Sequence
در روش CRC بر اساس یک فرمول توافق شده بین گیرنده و فرستنده یک CRC ایجاد میشود و همراه با داده به گیرنده میرسد. گیرنده نیز براساس فرمول مشخص شده، CRC دریافتی را با CRC که خودش در اختیار دارد مقایسه میکند، که اگر هر دو یکسان باشند یعنی داده بدون خطا بوده و در غیر اینصورت داده دور انداخته میشود و درخواست ارسال مجدد میدهد.
در روش FCS برای ایجاد کد خطا، به جای فرمول خاص، از جمع با یک عدد مشخص استفاده میکنیم.
لایهی ۳ (Network Layer)
در یک شبکهی ساده انتقال دادهها از یک سیستم به سیستمهای دیگر نسبتا نیاز به تلاش کمتری برای بخش NIC یا کارت شبکه ها دارد. اما مشکلی که با شبکههای ساده وجود دارد آن است که کامپیوترها برای دریافت MAC Addressها نیاز دارند تا عمل Broadcast انجام دهند. این روش برای شبکههای کوچک کارایی دارد، اما چه اتفاقی میافتد زمانی که شبکه بزرگ باشد، مثل مقیاس کل اینترنت؟ آیا میتوانید درخواست کردن همزمان میلیونها کامپیوتر برای دریافت MAC Address را فرض کنید؟
هیچ دادهای عبور نخواهد کرد. زمانی که شبکهها بزرگ میشوند، شما دیگر نمیتوانید از MAC Addressها استفاده کنید. شبکههای بزرگ نیاز به یک روش آدرسدهی منطقی دارند که دیگر سختافزار برایش اهمیت نداشته باشد و ما را قادر سازد تا سراسر شبکهی بزرگ را به شبکههای کوچکتر که Subnet (زیرشبکه) نامیده میشوند تقسیم کنیم. (تصویر ۲.۲۶) دو روش را برای برپا کردن شبکه نشان میدهد. در سمت چپ، تمامی کامپیوترها به یک Hub متصل شدهاند. اما در سمت راست، شبکهی LAN به ۲ زیرشبکهی ۵ کامپیوتری تقسیم بندی شده است.
برای گذشتن از آدرسدهی های فیزیکی و استفاده از آدرسدهی منطقی نیاز به یکسری نرمافزار خاص میباشد، که معمولا Network Protocol(پروتکل شبکه) نامیده میشود. پروتکلها در تمام سیستمعاملها وجود دارند. یک پروتکل شبکه نهتنها باید یک شناسهی متحصربهفرد برای هر سیستم ایجاد کند، بلکه باید مجموعهای از قوانین ارتباطی برای مسائلی مانند چگونگی رسیدگی به دادههای خردشده به چندین بسته کوچکتر، و چگونگی اطمینان از آنکه آن بستهها از زیرشبکهای به زیرشبکهی دیگر میرسند را ایجاد کند. اجازه دهید که دقیقهای در مورد مشهورترین پروتکل شبکه (TCP/IP) و سیستم جهانی منحصربهفرد آدرسدهی آن صحبت کنیم. به طور دقیق، پروتکل TCP/IP واقعا چند پروتکل شبکه میباشند که برای کارکردن با یکدیگر طراحی شدهاند، TCP و IP. اشخاصی که این پروتکلها را اختراع کرده و تمامی چیزها را TCP/IP نام نهادند کار بسیار بزرگی کردهاند. TCP مخفف Transmission Control Protocolبوده، و واژهی IP مخفف Internet Protocol میباشد. IP پرتکل اولی است که من میخواهم درمورد آن صحبت کنم. مطمئن باشید که در مورد TCP نیز در آینده بحث خواهیم کرد.
پرتکل IP، اصلیتربن پروتکلی است که TCP/IP در لایهی سوم OSI(لایهی Network) از آن استفاده میکند. پروتکل IP از آن اطمینان حاصل میکند که یک قطعهای از داده به جایی در شبکه میرود که به آن نیاز دارد. آن این کار را با دادن یک شناسهی عددی منحصربهفرد به هر دستگاه در شبکه، که IP Address نامیده میشود، انجام میدهد. IP Address به عنوان آدرس منطقی شناخته میشود تا بتوان آن را از آدرس فیزیکی یا MAC Address تشخیص داد.
هر پروتکل شبکه از نوعی نامگذاری استفاده میکند، اما هیچ دو پروتکلی از نام یکسان استفاده نمیکنند. IP از یک نماد اعشاری نقطهچین غیرانحصاری براساس ۴ شمارهی ۸ بیتی استفاده میکند. هر عدد ۸ بیتی دارای محدودهای از ۰ تا ۲۵۵ بوده و ۴ شماره به وسیلهی نقاط از هم جدا شدهاند.
یک IP Address شبیه به این است.
هیچ دو سیستمی در یک شبکه از IP Address یکسان استفاده نمیکنند؛ اگر تصادفا دو سیستم آدرس یکسانی دریافت کنند، آنها نخواهند توانست دادهها را انتقال دهند. این آدرسهای IP به صورت جادویی ظاهر نمیشوند، آنها باید به وسیلهی یک کاربر سیستم یا مدیر شبکه پیکربندی شوند. نگاهی به (تصویر ۲.۲۶) بیاندازید، چیزی که آدرسدهی منطقی را به این اندازه قدرتمند کرده، جعبههای جادویی هستند که Router(مسیریاب) نامیده میشوند و زیرشبکهها را از یکدیگر جدا میکنند. Routerها مانند Hub عمل میکنند، اما بجای ارسال بستهها توسط آدرس فیزیکی(MAC Address)، آنها از IP Address استفاده میکنند. Routerها شما را قادر میسازند تا یک شبکهی بزرگ را به تعدادی شبکهی کوچکتر تقسیم کنید. همچنین Routerها یک ویژگی بسیار مهم دومی هم دارند. آنها شما را قادر به اتصال شبکه هایی با انواع مختلف کابلکشی یا چارچوب میسازند. (تصویر ۲.۲۷) یک Router معمولی را نمایش میدهد.
این Router شمارا قادر میسازد تا شبکهای را که از MAC Addressها استفاده میکند را به یک شبکهی مودمهای کابلی متصل کنید. شما این کار را با یک Hub نمیتوانید انجام دهید، کابلها چارچوب، و آدرسدهی فیزیکی درکل متفاوتند!
چیزی که در اینجا برای شما مهم است، آن است که یک شبکهی TCP/IP را درک کنید. (تصویر ۲.۲۸) دوباره نمودار شبکه را نشان میدهد، این بار با نمایش
IP Address و MAC Address برای هر سیستم.
این سیستم دو-آدرسی، شبکهی IP را قادر میسازد تا یک کار واقعا جالب و قدرتمند را انجام دهد: با استفاده از IP آدرسها، سیستم ها میتوانند بدون درنظر گرفتن اتصال فیزیکی به یکدیگر داده ارسال کنند!! این قابلیت، نیاز بیشتر از انتساب یک IP Address ساده برای هر سیستم دارد. همچنین پروتکل شبکه باید بداند که Frame را به کجا بفرستد، اهمتی ندارد که کامپیوترهای مختلف از چه نوع سختافزارهایی استفاده میکنند. برای انجام این کار، یک پروتکل شبکه همچنین از Frameها استفاده میکند. Frameها درون Frameهای دیگر. هرکاری که مبنی بر آدرسیدهی منطقی باید انجام شود در لایهی Network از مدل OSI صورت میپذیرد.
در این مرحله ما تنها دو مورد از عملیات در Routerهای لایهی Network و بخشی از Protocolهای شبکه در کامپیوترهایی که آدرسدهی منطقی را درک میکنند، را میدانیم. (تصویر ۲.۲۹)
نرمافزار پروتکل شبکه را به عنوان لایهای بین نرمافزار سیستم و کارت شبکه تجسم کنید. زمانی که پروتکل شبکهی IP، داده را که از نرمافزار سیستم شما دریافت میکند، آن، Frame مربوط به خودش را برروی داده قرار میدهد. ما این Frame داخلی را IP Packet مینامیم، بنابراین، با Frame که بعدها توسط کارت شبکه به آن اضافه میشود اشتباه گرفته نمیشود. بجای اضافه کردن آدرس فیزیکی به آن Packet، پروتکل شبکه آدرسهای IP فرستنده و گیرنده را به آن اضافه میکند. (تصویر ۲.۳۰) یک IP Packet معمولی را نمایش میدهد.
اما IP Packetها کامپیوتر خودشان را عادی و بسادگی ترک نمیکنند. هر IP Packet به کارت شبکه میرود، که پس از آن IP Packet به طور منظم، محصور یا ایجاد میشود، در اصل، بستهای درون یک Frame(قاب). من دوست دارم بستهای را به عنوان یک پاکت نامه تجسم کنم، پاکت نامهای در یک قوطی (شکل ۲.۳۱).
یک طراحی متداولتر در (تصویر ۲.۳۲) قابل مشاهده است.
همهی اینها خوب است، اما چرا باید این مقدار خودمان را با بستهها در Frame به زحمت بیاندازیم، زمانی که میشود از MAC Address استفاده کرد؟
سوال خوبی است! اجازه دهید به صحبت درمورد Routerها برگردیم.
میخواهیم با کامپیوتری که از خطوط کابلی استفاده میکند به اینترنت دسترسی داشته باشیم. یک تکنسین میتواند مستقیما یک مودم کابلی را به کامپیوتر خود وصل کند، اما رئیس آن تکنسین میخواهد که تمامی کامپیوترها در شبکه با استفاده از اتصال یک مودم کابلی به اینترنت دسترسی داشته باشند. برای ممکن ساختن این، تمامی کامپیوترها از طریق یک Router به اینترنت متصل خواهند شد. (تصویر ۲.۳۳)
مسیریابی که در این شبکه استفاده شده دارای ۲ اتصال میباشد. یکی تنها یک کارت شبکهی توکار است که از Router به Hub متصل شده است. اتصال دیگر Router را به یک مودم کابلی متصل میکند. این پاسخ نادرست است: شبکههای کابلی از MAC Address استفاده نمیکنند. آنها از frameهای نوع خودشان استفاده میکنند که ربطی به MAC Address ندارد. اگر شما سعی کنید یک Frame شبکه عادی را به شبکهی مودمکابلی ارسال کنید، من به درستی نمیدانم که چه اتفاقی خواهد افتاد، اما به شما اطمینان میدهم، آن کار نخواهد کرد!
به همین دلیل، زمانی که Router بستهی IP را درون یک لایهای(Frame) که توسط کارت شبکه اضافه شده، دریافت میکند، آن لایه را برداشته و آن را با نوعی از Frameای که شبکهی کابلی نیاز دارد جایگزین میکند(تصویر ۲.۳۴).
دوستان به پایان بخش دوم این آموزش رسیدیم.
نظرات
سلام واقعا ممنون
ان شاءالله سربلند باشید
سلام دوست عزیز.
خواهش میکنم، امیدوارم برای همه سودمند باشه.
سلام خیلی ممنون اطفا بخش های دیگه هم زوتر بفرستین