معرفی لایه های شبکه (مدل OSI) و بررسی کاربردهای آن ها

​به عنوان یک شبکه کار یا دانشجوی کامپیوتر باید لایه های OSI یا مدل هفت لایه ای شبکه را به خوبی بشناسید. در سال های اولیه وجود و استفاده از شبکه، ارسال و دریافت دیتا در شبکه سختی های خاص خود را داشت؛ بخاطر آن که شرکت های بزرگی مثل IBM، Honeywell و Digital Equipment هرکدام استانداردهای خاص خود را برای اتصال و ارتباط کامپیوترها داشتند. شناخت لایه های شبکه در قالب مدل مرجع OSI و مدل 4 لایه ای TCP/IP یکی از مواردی است که شما حتما در دوره آموزش نتورک پلاس به خوبی آموزش می بینید.این موضوع باعث میشد که فقط اپلیکیشن هایی که بر روی تجهیزات یکسانی از یک شرکت خاص وجود دارند، میتوانند با یکدیگر ارتباط داشت باشند. به همین علت سازنده ها، کاربران و استانداردها نیاز داشتند تا بر ایجاد و اجرای یک ساختار استاندارد واحد که به کامپیوترها این اجازه را بدهد تا بتوانند براحتی با یکدیگر تبادل دیتا داشته باشند.فارغ از هرگونه شرکت و برند مختلف، توافق کنند.در سال 1978، موسسه (ISO (International Standards Organization یک مدل شبکه بنام مدل (OSI (Open System interconnection را معرفی کرد.همانطور که گفته شد برای ارتباط دو کامپیوتر نیاز به الگویی هست که ایندو بتوانند حرف همدیگر را تحت آن الگو بفهمند. این زبان و قاعده مشترک یک استاندارد است که تحت نام OSI معرفی شده است. مدل OSI دارای 7 لایه بشرح زیر است :??​لایه های بالایی نرم افزاری هستند و هرچه بیشتر بسمت لایه های پاین تر پیش برویم، به بُعد سخت افزار نزدیکتر میشویم. بطوری که لایه Physical کاملا سخت افزاری بوده و عملیاتی که در آن تعریف میشود، کاملا در حد تجهیزات سخت ازفزاریست.قانون کلی به این صورت است که در لایه بالایی اطلاعات مورد نظر جهت ارسال، قطعه قطعه شده و هر قطعه (Chunk) اطلاعاتی بصورت مجزا وارد مدل OSI خواهد شد.در هر لایه یکسری اعمال روی هر Chunk انجام میشود و نتیجه آن عملیات در همان لایه به Chunk اضافه میگردد. به قطعاتی که در هر لایه به Chunk اضافه میگردد، هدر (Header) و Trailer (فقط در لایه DataLink) گویند. هر چیزی که در نهایت در لایه آخر به Chunk اضافه شده است، در کامپیوتر مقصد و در لایه های متناظر یک به یک از Chunk جدا خواهند شد. به عمل اضافه شدن هدر در هر لایه، Encapsulation گویند.هر لایه با لایه های بالا و پایین خودش توسط یک interface در ارتباط است.با توجه به آن که سیگنال های اطلاعات از طریق مدیا ( کابل یا هر رسانه انتقال دیگر) انتقال میابد، و مدیا یک ابزار سخت افزاری و فیزیکی برای انتقال است، میتوان نتیجه گرفت که هر کامپیوتر باید از طریق لایه Physical که پایین ترین لایه مدل OSI است با کامپیوتر طرف مقابل ارتباط مستقیم دارد.PDU: با توجه به اضافه شدن هدر در هر لایه به دیتای اصلی، طبیعی است که در هر لایه از لحاظ ظاهر و محتوا شاهد دیتایی بمراتب کاملتر از لایه قبلی باشیم. بطور قراردادی به نام دیتا در هر لایه (PDU (Protocol Data Unit گویند.لایه Application یا کاربردلایه Application در مدل OSI یک واسط کاربری است که مسئول نمایش اطلاعات ارسالی و دریافتی از یک اپلیکیشن به کاربر است. این لایه اپلیکیشن ها و فرآیندهای کاربر نهایی را پشتیبانی میکند.در این لایه است که دوطرف ارتباط (تقاضا دهنده و پاسخ دهنده) مشخص شده، احراز هویت و حریم خصوصی کاربر و هرگونه محدودیت در ترکیب و ساختار اطلاعات در نظر گرفته میشود.??​هرچیزی در این لایه بر مبنای خواست کاربر و اپلیکیشن مشخص میشود. این لایه سرویس های اپلیکیشن در زمینه های انتقال فایل، ایمیل و دیگر سرویس های نرم افزاری تحت شبکه را ایجاد میکند.نوع درخواست کاربر از کامپیوتر مقابل از طریق نوع برنامه ای که کاربر باز کرده مشخص میشه.در این لایه اطلاعات برای ورود به لایه Presentation، قطعه قطعه میشوند و سپس کامپیوتر مقصد، آنچه را که از لایه Presentation تحویل میگیرد، را بترتیب بهم متصل کرده تا اصل اطلاعات بدست آید.نظارت بر Error Recovery و Flow control در این لایه صورت میپذیرد.Error Recovery: قابلیت تشخیص خطا در انتقال و بازیابی اطلاعات از دست رفتهFlow control: کنترل جریان دیتا را بین سیستم ارسال کننده و دریافت کننده به عهده دارد. Flow control زمانی اهمیت پیدا میکند که سرعت ارسال داده از سرعت دریافت داده بالاتر باشد و در صورت کنترل نشدن جریان، ممکن است برخی از داده های دریافت شده از بین بروند و یا دریافت نشوند.اپلیکیشن های FTP و Telnet تماما در لایه Application قرار میگیرند.به PDU در این لایه Data هم اطلاق میشود.معرفی پروتکل های لایه هفتم(HTTP (port 80(FTP (port 20 , 21(DNS (Port 53(SNMP UDP port 162)(Simple Network Management Protocol): برای مانیتورینگ و ریپورت گیری نود های مختلف شبکه(Telnet (Port23: برای ریموت به دیوایس دیگر از طریق محیط Command prompt(RDP (Port TCP//UDP 3389) (Remote Desktop Protocol(SMTP (Port TCP 25) (Simple Mail Transfer Protocol برای ارسال میل استفاده میشود(POP3 (Port 110) (Post Office Protocol: برای دریافت ایمیل در نرم افزارهای ایمیل(IMAP (port 143) (Internet Message Access Protocol: برای دریافت ایمیل در نرم افزارهای ایمیللایه Presentation یا نمایشاین لایه اطلاعات دریافتی از لایه Application را از فرمت Application به فرمت شبکه ترجمه میکند. در طرف دیگر نیز این لایه دیتا را طوری تغییر فرم میدهد تا توسط لایه Application قابل پذیرش و فهم باشد.استاندارد کدها مثل ASCII-Unicode-EBCDIC در این لایه هستند و اگر کامپیوتر ها از استاندارد کد های مختلف استفاده کنند در این لایه تبدیل و قابل استفاده خواهد شد.??​عمل compression و Encryption و متقابلا Decompression و Decryption در این لایه صورت میپذیرد.عمل Encryption در این لایه بر اساس Certificate انجام میشود.Encryption چیست و در ویندوز چگونه انجام میشود؟Encryption طی عملگری بنام Hashing صورت می پذیرد. Hashing یک الگوریتم ریاضی غیرقابل بازگشت است. در ویندوز میتوان بر اساس کاربر Encryption انجام داد. مکانیسم یا قابلیتی بنام EFS (Encryption File System) داریم که داده را بدون کمک هیچگونه Third party ای (نرم افزار جانبی غیر مایکروسافتی) کد میکند. برای مثال کاربری بنام Ali روی سیستم لاگین کرده و فایلی را Encrypt میکند. در این صورت بغیر یوزر Ali و Admin هیچ کاربر دیگری نمیتواند به این فایل دسترسی داشته باشد.این عملیات رمزنگاری توسط مکانیسم های با نام Public Key و Private Key صورت میپذیرد.این لایه عملگری تحت عنوان redirector یا RDR دارد که بر اطلاعات ارسالی نظارت میکند. اگر مقصد ارسال اطلاعات همان کامپیوتر بود، جلوی ارسال داده به لایه های پایین تر را گرفته و آن را به سیستم خودش Redirect میکند.این لایه گاها به نام Syntax layer نامیده میشود.به PDU در این لایه Data هم اطلاق میشود.معرفی پروتکل های لایه ششم(SSL (Secure Socket Layer: پروتکلی است که توسط شرکت Netscape برای ردّ و بدل کردن سندهای خصوصی از طریق اینترنت توسعه یافته‌است. SSL از یک کلید خصوصی برای به رمز درآوردن اطلاعاتی که بر روی یک ارتباط SSL منتقل می‌شوند استفاده می‌نماید.(TLS (Transport Layer Security: یکی از پروتکل‌های رمزنگاری است و برای تامین امنیت ارتباطات از طریق اینترنت و بر پایه SSL بنا شده‌است.لایه Session یا نشستاین لایه مسئول برقراری، مدیریت و پایان بخشی به ارتباطات بین اپلیکیشن هاست. در واقع این لایه صحبت ها، تبادلات و گفتگوهای صورت گرفته بین اپلیکیشن ها در دو طرف ارتباط را ایجاد و مختصات بندی کرده و در نهایت پایان میبخشد.با توجه به این که دو کامپیوتر در یک زمان تحت یک Connection میتوانند در بیش از یک موضوع ارتباط داشته باشند، باید از قبل بدانند که چه packet هایی را ارسال و یا دریافت خواهند کرد و این که داده ارسالی و یا دریافتی مربوط به کدام موضوع از ارتباط یا session ایجاد شده است. در این لایه نوع ارتباط و موضوع صحبت دو کامپیوتر با یکدیگر تعریف میشود.??​قبل از ایجاد ارتباط و تبادل دیتا دو کامپیوتر از طریق فرآیند 3-way hand shaking با هم به تفاهم میرسند. تصمیم گیری در رابطه با شروع، ادامه و پایان session ها در این لایه انجام میشود. از آنجایی که شبکه ما baseband است، داده به packet هایی تقسیم میشود که ممکن است به ترتیبو پشت سرهم به مقصد نرسند؛ به همین علت در این لایه بر روی هر قسمت از داده یک برچسب زده میشود که بوسیله آن بروشنی مشخص میشود که این تکه داده متعلق به به چه موضوع و داده ای است.در مقصد بر اساس این برچسب ها، تکه های داده در کنار هم قرار گرفته و تشکیل داده اصلی را خواهند داد.عملیات شناسایی و احراز هویت (Authentication و Authorization) در این لایه صورت می پذیرد. شایان ذکر است که در این لایه نوع ارتباط صورت گرفته میتواند با توجه به اپلیکیشن مورد نظر، Simplex، Half duplex و یا Full duplex باشد.به PDU در این لایه Data هم اطلاق میشود.معرفی پروتکل های لایه پنجم(SDP(Session Description Protocol: این پروتکل برای توصیف session های ارتباطی مالتی مدیا در نظر گرفته شده است.(SAP (Session Announcement Protocol: پروتکلی آزمایشگاهی برای Broadcast کردن اطلاعات Multicast sessionNetBIOS: برنامه‌ای است که به ما اجازه می‌دهد تا ارتباط مابین کامپیوتر‌های مختلف درون یک شبکه محلی (LAN) را برقرار کنیم.Winsock: یک مشخصه فنی است که نحوه دسترسی برنامه تحت شبکه را به سرویس های شبکه ای، خصوصا TCP/IP بیان میکند.لایه Transport یا انتقالاین لایه تحویل بدون خطا، بترتیب و بدون هیچگونه کمبود و یا مشکل پیام ها را تضمین میکند. این لایه به پروتکل های لایه بالا دستی خود این اطمینان را میدهد که پیام بی هیچ مشکلی بین سیستم فعلی و مقصد جابجا خواهد شد.در واقع در این لایه در مورد اینکه نوع ارتباط Connection-Oriented(TCP) باشد یا Connection-less(UDP) تصمیم گیری میشود.سایز و پیچیدگی یک پروتکل در این لایه بستگی به نوع سرویسی دارد که از لایه Network خواهد گرفت. برای یک لایه network قابل اطمینان با قابلیت جریان مجازی (Virtual Circuit) یک لایه حداقلی Transport نیاز است اما در اگر لایه Network غیرقابل اطمینان باشد و یا فقط ساختار دیتاگرام ها را ساپورت کند، پروتکل Transport باید شدیدترین و سنگین ترین Error detection و Error recovery را از خود به نمایش بگذارد.در این لایه فرآیندهای زیر رخ میدهد:Message Segmentation: این لایه یک پیام را از لایه بالایی (session) دریافت کرده و آن را به بخش های کوچکتر تقسیم میکند (اگر به اندازه کافی کوچک نباشد)، سپس بخش های کوچکتر را به لایه Network خواهد فرستاد. به این عمل sequencing گویند. لایه Transport این کار به جهت تسریع در ارسال داده، پر نشدن بافر سیستم گیرنده و همچنین از بین نرفتن کل دیتا در صورت وجود Collision انجام میدهد. لایه Transport در سیستم مقصد این قطعات را مجددا سرهم بندی خواهد کرد که به این کار نیز Re- assembling گویند.Message acknowledgment: در صورتی که از پروتکل TCP برای انتقال استفاده شود، به ازای هر قطعه ارسالی، یک پیام تحویل در قالب یک تائیدیه (acknowledgment) ایجاد میکند.Flow Control: در صورتی که در سیستم مقصد هیچ بافری جهت ذخیره پیام های دریافتی وجود نداشته باشد، به سیستم ارسال کننده اطلاعات فرمان قطع ارسال را خواهد داد.Session Multiplexing: در روابطی که از پروتکل TCP استفاده میشود اگر یک دیتا به هزار قطعه تقسیم شود، باید هزار قطعه ارسال و متعاقبا هزار پیام Acknowledgment برای فرستنده ارسال شود که این کار علاوه بر کاهش سرعت باعث بالا رفتن ترافیک میشود. بنابراین این لایه با کامپیوتر مقابل مذاکره کرده و نتیجه بر این میشود که به ازای هر چند packet یک acknowledgment ارسال شود. به این کار Window گویند.به PDU در این لایه Segment هم اطلاق میشود.معرفی پروتکل های لایه چهارم(TCP (Transmission Control Protocol(UDP (User Datagram ProtocolSPX: در شبکه های مبتنی بر سیستم های عمل Novell Netware استفاده میشوند.(RTP (Real-Time Transport Protocol: در تحویل ترافیک صوت و تصویر مورد استفاده قرار میگیرد.(SCTP (Stream Control Transmission Protocol: نقشی مشابه TCP و UDP را دارد اما با این تفاوت که برخی ویژگی های آن مانند TCP و برخی دیگر مانند UDP است.لایه Network یا شبکهاین لایه اعمال subnet، تصمیم گیری درباره انتخاب مسیر فیزیکی که دیتا بر اساس شرایط شبکه باید انتخاب کند، اولویت بندی سرویس و دیگر فاکتورها را کنترل میکند.اصلی ترین پروتکل این لایه IP است. مکانیسم اضافه شدن IP به دیتا در این لایه صورت میپذیرد.داده ما در این لایه تبدیل به packet شده و IP میگیرد. سخت افزارهایی که در این لایه کار میکنند، عبارتند از روتر، سوئیچ لایه 3. این لایه تکنولوژی های سوئیچینگ و روتینگ، مسیرهای منطقی معروف به Virtual circuit، را برای انتقال دیتا از یک نود به نود دیگر ایجاد میکند. ارسال و مسیریابی از وظایف این لایه میباشد. در این لایه شاهد موارد زیر هستیم:Routing: فریم را در بین شبکه های مختلف مسیر یابی و مسیر دهی میکند.Subnet Traffic Control: روترها به عنوان سیستم های میانی در لایه Network، میتوانند در صورت پر شدن بافرشان به سیستم ارسال کننده جهت توقف ارسال خبر دهند.Frame fragmentation: اگر سیستم و یا روتر تشخیص دهد که اندازه MTU روتر بعدی (next hob یا down stream router) کمتر از سایز فعلی فریم است، روتر این توانایی را دارد تا فریم را برای انتقال قطعه قطعه کرده و در مقصد مجددا آن ها را سرهم بندی کند.(MTU (Maximum Transmission Unit پارامتری به مفهوم حداکثر واحد انتقال در روترها میباشد.Logical-physical address mapping: تناظر و تطابق آدرس های IP و MAC به این ترتیب که آدرس های منطقی یا IP و یا نام ها را به آدرس های فیزیکی متناظرشان ترجمه میکند.ارتباطات Subnet چیست؟نرم افزار لایه network وظیفه ساخت هدرها را بر عهده دارد. به همین علت نرم افزار مربوطه در سیستم های میانی subnet ها میتواند همتایان خودش را در سیستم های میانی دیگر شناسایی کرده و از آن ها برای تکمیل فرآیند مسیر یابی استفاده کند.به PDU در این لایه Packet هم اطلاق میشود.معرفی پروتکل های لایه سوم(IP (Internet Protocol: پروتکل اصلی مجموعه TCP//IP در ارتباطات برای ارسال دیتاگرام ها در طول مرزهای شبکه و از پایه های برقراری اینترنت است.(ICMP (Internet Control Message Protocol: یکی از مهمترین پروتکل ها در مجموع پروتکل های TCP/IP است. این پروتکل توسط دیوایس های شبکه مثل روترها جهت ارسال و نشان دادن پیام های error استفاده میشود. برای مثال موقعی که سرویس مورد نظر در دسترس نیست. این پروتکل در ارسال پیام های کوئری نیز استفاده میشود. برای مثال کوئری های Ping و trace route.(IGMP (Internet Group Managment Protocol: یک پروتکل ارتباطی است که توسط هاست ها و روترهای مجاور در شبکه های IPv4 برای برقراری اعضای گروه multicast استفاده میشود. این پروتکل بخش جدایی ناپذیر IP multicast است. این پروتکل در اپلیکیشن های تحت شبکه "یک به چند" مثل جریان آنلاین ویدئو و بازی مورد استفاده قرار میگیرد.(ARP (Address Resolution Protocol: یک پروتکل ارتباط از راه دور است که در تناظر آدرس های لایه Network مورد استفاده قرار میگیرد.(RIP ( Routing Information Protocol: یکی از قدیمیترین پروتکل های مسیر یابی که در محاسبه hop ها به عنوان یک متریک مسیریابی مورد استفاده قرار میگیرد.لایه پیوند داده یا Data Linkاین لایه انتقال بدون خطای فریم های دیتا را از یک نود به نود دیگر در لایه Physical، میسر میسازد. برای این منظور لایه Data Link قابلیت های زیر را ارائه میدهد:Link Establishment and Termination: لینک های منطقی را بین دو نود برقرار کرده و پایان میبخشد.Frame Traffic Control: هنگامی که هیچ بافری برای فریم در نود مقصد وجود ندارد، به نود ارسال کننده فرمان توقف انتقال را میدهد.Frame Sequencing: انتقال و دریافت فریم ها را بر اساس ترتیب موجود انجام میدهد.Frame Acknowledgment: ack های فریم را صادر میکند. خطاهای رخ داده در لایه Physical را برای فریم های بدون ack و یا ناقص دریافت شده، شناسایی و بازیابی میکند.Frame Delimiting: محدوده و مرزهای فریم را ایجاد و آن را به رسمیت میشناسد.Frame Error Checking: یکپارچگی فریم های رسیده را بررسی میکند.Media Access Management: هنگامی که نود اجازه استفاده از مدیای فیزیکی را دارد، را تعیین میکند.آدرس دهی MAC در این لایه انجام میشود. هر کامپیوتر در محیط LAN مثلا در محیط شبکه ای از نوع اترنت، باید از این مدل آدرس دهی برای ارسال اطلاعات استفاده کنند.به علاوه CRC در این لایه به فریم (Trailer) اضافه میشود. سخت افزارهای موجود در این لایه عبارتند از: Switch، bridge، Access Point (اگر کار روتر را انجام دهد در لایه 3 قرار دارد) و Modesm ADSL ( کار سوئیچ را هم انجام میدهد).باید توجه داشت با توجه به پروتکلی که در این لایه انتخاب میشود، سخت افزار مورد نیازی در این لایه بکار میرود.به PDU در این لایه Frame هم اطلاق میشود.معرفی پروتکل های لایه دومEthernet: یکی از فناوریهای مبتنی بر Frame در شبکه های رایانه برای شبکه‌های محلی (LAN) می‌باشد. این نام از مفهوم فیزیکی ether گرفته شده‌است. این فناوری وضعیت سیم‌کشی و استانداردهای سیگنالینگ در لایه فیزیکی وهمچنین قالب‌های آدرسی همچون MAC آدرس را در لایه Data link معین می‌کند. Ethernet به‌عنوان استاندارIEEE 802.3 شناخته می‌شود. این تکنولوژی از دهه ۱۹۹۰ تاکنون بکارگرفته شده‌است و جایگزین استانداردهائی همچون Token ring ،FDDI و ARCNET شده‌است.Token Ring(FDDI(Fiber Distributed Data: استاندارد انتقال دیتا در شبکه های LAN میباشد. FDDI از فیبرنوری به عنوان رسانده و مدیای استاندارد خود استفاده میکند.(PPP (Point to Point Protocol: پروتکلی در لایه Data Link است که برای برقراری ارتباط مستقیم بین دو نود مورد استفاده قرار میگیرد. این پروتکل قابلیت احراز هویت، رمزنگاری و فشرده سازی را دارد.Frame Relayلایه Physical یا فیزیکیاین لایه پایین ترین لایه در مدل OSI است که مرتبط با انتقال و دریافت جریانی ساختار نیافته از بیت ها تحت یک مدیای فیزیکی است. این لایه به شرح اینترفیس های الکتریکی/نوری، مکانیکی و کاربردی در مدیای فیزیکی میپردازد و سیگنال ها را برای تمام لایه های بالا دستی، حمل میکند.این لایه وظیفه انتقال سیگنال را بر عهده داشته و به محتویات هیچ کاری ندارد. سخت افزار موجود در این لایه از جنس: انواع کابل ها، کارت شبکه و هاب است.توجه داشته باشید که با توجه به نوع رسانه، داده ما میتواند تغییر کند؛ مثلا در کابل های مسی از جنس سیگنال الکتریکی (ولتاژ) و در فیبر نوری از جنس پالس نوری است.به PDU در این لایه bit هم اطلاق میشود.معرفی پروتکل های لایه اولFast EthernetRS232ATM: یک مفهوم مخابراتی است که توسط استانداردهای ANSI و ITU تعریف شده است و تمام ترافیک کاربر از جمله سیگنال های صوت، دیتا و ویدئو را حمل میکند.E1T1ISDN​