ТОП 10:

Реалізація стека протоколів Інтернету



Сукупність протоколів, які лежать в основі сучасного Інтернету, називають набо­ром протоколів Інтернету (Internet Protocol Suite, IPS) або стеком протоколів TCP/IP за назвою двох основних протоколів [13, 21, 39]. У цьому розділі наве­демо основні характеристики такого набору та особливості його реалізації у су­часних ОС.

 

Рівні мережної архітектури TCP/IP

Мережна архітектура TCP/IP має чотири рівні, яки показані на рис. 16.1. Розгля­немо їх знизу вгору.

Канальний рівень (data link layer) відповідає за передавання кадру даних між будь-якими вузлами в мережах із типовою апаратною підтримкою (Ethernet, FDDI тощо) або між двома сусідніми вузлами у будь-яких мережах (SLIP, РРР). При цьому забезпечуються формування пакетів, корекція апаратних помилок, спільне використання каналів. Крім того, на більш низькому рівні він забезпечує передавання бітів фізичними каналами, такими як коаксіальний кабель, кручена пара або оптоволоконний кабель (іноді для опису такої взаємодії виділяють окре­мий фізичний рівень — physical layer).

Перш ніж перейти до наступного рівня, дамо два означення. Хостом (host) є вузол мережі, де використовують стек протоколів TCP/IP. Мережним інтер­фейсом (network interface) є абстракція віртуального пристрою для зв'язку із мере­жею, яку надає програмне забезпечення канального рівня. Хост може мати декіль­ка мережних інтерфейсів, зазвичай вони відповідають його апаратним мережним пристроям.

На мережному рівні (network layer) відбувається передавання пакетів із вико­ристанням різних транспортних технологій. Він забезпечує доставлення даних між мережними інтерфейсами будь-яких хостів у неоднорідній мережі з довіль­ною топологією, але при цьому не бере на себе жодних зобов'язань щодо надійно­сті передавання даних. На цьому рівні реалізована адресація інтерфейсів і мар­шрутизація пакетів. Основним протоколом цього рівня у стеку TCP/IP є IP (Internet Protocol).

 

 

Транспортний рівень (transport layer) реалізує базові функції з організації зв'язку між процесами, що виконуються на віддалених хостах. У стеку ТСР/ІР на цьому рівні функціонують протоколи TCP (Transmission Control Protocol) і UDP (User Datagram Protocol). TCP забезпечує надійне передавання повідомлень між віддаленими процесами користувача за рахунок утворення віртуальних з'єднань (цей протокол розглядатиметься докладніше у розділі 16.2.4). UDP забезпечує ненадійне передавання прикладних пакетів (подібно до ІР), виконуючи винятко­во функції сполучної ланки між ІР і процесами користувача (далі на ньому зупи­нятися не будемо).

Прикладний рівень (application layer) реалізує набір різноманітних мережних сервісів, наданих кінцевим користувачам і застосуванням. До цього рівня нале­жать протоколи, реалізовані різними мережними застосуваннями (службами), наприклад, НТТР (основа організації Web), SMTP (основа організації переси­лання електронної пошти).

Основна відмінність прикладного рівня полягає в тому, що у більшості випад­ків його підтримка реалізована в режимі користувача (звичайно за це відповіда­ють різні прикладні програми-сервери), а підтримка інших рівнів - у ядрі ОС. Завдання мережної служби прикладного рівня — реалізувати сервіс для кінце­вого користувача (пересилання електронної пошти, передавання файлів тощо), який не має інформації про особливості переміщення даних мережею. Інші рівні, навпаки, не мають інформації про особливості застосувань, які обмінюватимуть­ся даними за їхньою допомогою.

 

Канальний рівень

Реалізація канального рівня звичайно включає драйвер мережного пристрою ОС і апаратний мережний пристрій та приховує від програмного забезпечення верхнього рівня та прикладних програм деталі взаємодії з фізичними каналами, надаючи їм абстракцію мережного інтерфейсу. Передавання даних мережею у програмному забезпеченні верхнього рівня відбувається між мережними інтер­фейсами.

Як зазначено вище, кількість мережних інтерфейсів звичайно співвідносить­ся з кількістю мережних апаратних пристроїв хоста. Крім того, виділяють спеці­альний інтерфейс зворотного зв'язку (loopback interface); усі дані, передані цьому інтерфейсу, надходять на вхід реалізації стека протоколів того самого хоста.

 

Мережний рівень

У цьому розділі йтиметься про особливості протоколів мережного рівня.

 

Протокол IPv4

 

Протокол ІР надає засоби доставлення дейтаграм неоднорідною мережею без встановлення з'єднання. Він реалізує доставлення за заданою адресою, але при цьому надійність, порядок доставлення і відсутність дублікатів не гарантовані. Усі засоби щодо забезпечення цих характеристик реалізуються у протоколах ви­щого рівня (наприклад, TCP).

Кожний мережний інтерфейс в IP-мережі має унікальну адресу. Такі адреси називають IP-адресами. Стандартною версією ІР, якою користуються від початку 80-х років XX століття, є ІР версії 4 (IPv4), де використовують адреси завдовжки 4 байти. їх зазвичай записують у крапково-десятковому поданні (чотири десятко­ві числа, розділені крапками, кожне з яких відображає один байт адреси). При­кладом може бути 194.41.233.1. Спеціальну адресу зворотного зв'язку 127.0.0.1 (loopback address) присвоюють інтерфейсу зворотного зв'язку і використовують для зв'язку із застосуваннями, запущеними на локальному хості.

Як зазначалося, ІР доставляє дейтаграми мережному інтерфейсу. Пошук про­цесу на відповідному хості забезпечують протоколи транспортного рівня (наприк­лад, TCP). Пакети цих протоколів інкапсулюють в ІР-дейтаграми.

 

Протокол IPv6

Суттєвим недоліком протоколу IPv4 є незначна довжина IP-адреси. Кількість адрес, які можна відобразити за допомогою 32 біт, є недостатньою з огляду на су­часні темпи росту Інтернету. Сьогодні нові IP-адреси виділяють обмежено.

Для вирішення цієї проблеми було запропоновано нову реалізацію ІР-прото-колу - ІР версії 6 (IPv6), основною відмінністю якої є довжина адреси - 128 біт (16 байт).

 







Последнее изменение этой страницы: 2017-02-06; Нарушение авторского права страницы

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.233.215.196 (0.004 с.)