Електронний посібник

Лекція № 11

Тема: Відповідність рівнів стека TCP/IP рівням моделі OSI. Структура зв'язків протокольних модулів

Мета: ознайомитися з відповідністю рівнів стека TCP/IP рівням моделі OSI

План

1 Відповідність рівнів стека TCP/IP рівням моделі OSI.

2 Одиниці даних протоколів стека TCP/IP

3 Структура зв'язків протокольних модулів

4 Схема взаємозалежності протоколів сімейства TCP/IP


Лекційний матеріал

Відповідність рівнів стека TCP/IP рівням моделі OSI

Оскільки стік TCP/IP був розроблений до появи моделі взаємодії відкритих систем OSI, то, хоча він також має багаторівневу структуру, сответствие рівнів стека TCP/IP рівням моделі OSI достатньо умовно (табл.1).

Табл.1. Відповідність рівнів стека TCP/IP і моделі OSI.

7

WWW, Gopher, WAIS

SNMP

FTP

Telnet

TFTP

SMTP

I


6

5

TCP

UDP

II

4

3

IP

ICMP

RIP

OSPF

ARP

III

2

не регламентируется: Ethernet, Gigabit Ethernet,

Token Ring, PPP, FDDI, X.25, SLIP, frame relay ...

IV

1

уровни

OSI







уровни

TCP/IP


Розглядаючи багаторівневу архітектуру TCP/IP, можна виділити в ній, подібно до архітектури OSI, рівні, функції яких залежать від конкретної технологічної реалізації мережі, і рівні, функції яких орієнтовані на роботу тільки з додатками і не залежать від технологій мережі.

Протоколи прикладного рівня стека TCP/IP працюють на комп'ютерах, що виконують додатки користувачів. Навіть повна зміна мережевого устаткування в загальному випадку не повинна впливати на роботу додатків, якщо вони дістають доступ до мережевих можливостей через протоколи прикладного рівня.

Протоколи транспортного рівня вже більш залежні від мережі, оскільки вони реалізують інтерфейс до рівнів, безпосередньо організуючих передачу даних по мережі. Проте подібно до протоколів прикладного рівня, програмні модулі, що реалізовують протоколи транспортного рівня, встановлюються тільки на кінцевих вузлах.

Протоколи двох нижніх рівнів є сетезависимыми, а отже, програмні модулі протоколів міжмережевого рівня і рівня мережевих інтерфейсів встановлюються як на кінцевих вузлах складеної мережі, так і на маршрутизаторах.

Одиниці даних протоколів стека TCP/IP

Кожен комунікаційний протокол оперує з деякою одиницею передаваних даних. Назви цих одиниць іноді закріплюються стандартом, але частіше просто визначаються традицією. У стеку TCP/IP за багато років його експлуатації утворилася стала термінологія в цій області (табл.2).


Табл.2. Одиниці даних в стеку TCP/IP

I


ПРИКЛАДНЫЕ ПРОТОКОЛЫ

(поток)


II

UDP

(дейтаграмма)

TCP

(сегмент)

III

IP

(пакет или IP-дейтаграмма)


IV

СЕТЕВЫЕ ИНТЕРФЕЙСЫ

(кадр(фрейм))



Потоком називають дані, що поступають від додатків на вхід транспортного рівня TCP або UDP.

Протокол TCP нарізує з потоку сегменти.

Одиницю даних протоколу UDP часто називають дейтаграммой (або датаграмою). Дейтаграмма - це загальна назва для одиниць даних, якими оперують протоколи без встановлення з'єднань. До таких протоколів відноситься і протокол міжмережевої взаємодії IP.

Дейтаграмму протоколу IP називають також пакетом.

У стеку TCP/IP прийнято називати кадрами (фреймами) одиниці даних протоколів, на основі яких IP-пакеты переносяться через підмережі складеної мережі. При цьому не має значення, яка назва використовується для цієї одиниці даних в локальній технології.


Структура зв'язків протокольних модулів

Розглянемо потоки даних, що проходять через стек. У разі використання протоколу TCP, дані передаються між прикладним процесом і модулем TCP. Типовим прикладним процесом, що використовує протокол TCP, є модуль FTP. Стек протоколів в цьому випадку буде FTP/TCP/IP/Ethernet. При використанні протоколу UDP, дані передаються між прикладним процесом і модулем UDP. Наприклад, SNMP користується транспортними послугами UDP. Його стек протоколів виглядає так: SNMP/UDP/IP/Ethernet.

Модулі TCP, UDP і драйвер Ethernet є мультиплексорами n x 1. Діючи як мультиплексори, вони перемикають декілька входів на один вихід. Вони також є демультиплексорами 1 x n. Як демультиплексори, вони перемикають один вхід на один з багатьох виходів відповідно до поля типу в заголовку протокольного блоку даних. Іншими словами, відбувається наступне:

Коли Ethernet-кадр потрапляє в драйвер мережевого інтерфейсу Ethernet, він може бути направлений або в модуль ARP, або в модуль IP. На те, куди повинен бути направлений Ethernet-кадр, указує значення поля типу в заголовку кадру.

Якщо IP-пакет потрапляє в модуль IP, то що містяться в нім дані можуть бути передані або модулю TCP, або UDP, що визначається полем "протокол" в заголовку IP-пакета.

Якщо UDP-датаграмма потрапляє в модуль UDP, то на підставі значення поля "порт" в заголовку датаграми визначається прикладна програма, якою повинне бути передане прикладне повідомлення.

Якщо TCP-сообщение потрапляє в модуль TCP, то вибір прикладної програми, якою повинне бути передане повідомлення, здійснюється на основі значення поля "порт" в заголовку TCP-сообщения.

Мультиплексування даних у зворотний бік здійснюється досить просто, оскільки з кожного модуля існує тільки один шлях вниз. Кожен протокольний модуль додає до пакету свій заголовок, на підставі якого машина, що прийняла пакет, виконує демультиплексування.

Схема взаємозалежності протоколів сімейства TCP/IP




Рис.1. Структура взаємозв'язків протоколів сімейства TCP/IP