Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
практична робота 9.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
188.42 Кб
Скачать

Транспортний рівень. Протоколи tcp і udp. Tcp і udp сокети. Адресні простори портів. Поняття encapsulation

Ми не вдаватимемося в деталі реалізації протоколів транспортного рівня, а лише стисло розглянемо їх основні характеристики. До протоколів транспортного рівня відносяться протоколи TCP і UDP.

Протокол TCP реалізує потокову модель передачі інформації, хоча в його основі, як і в основі протоколу UDP, лежить обмін інформацією через пакети даних. Він є орієнтованим на встановлення логічного зв'язку (connection-oriented), надійний (забезпечуючий перевірку контрольних сум, передачу підтвердження у разі правильного прийому повідомлення, повторну передачу пакету даних у разі неотримання підтвердження протягом певного проміжку часу, правильну послідовність отримання інформації, повний контроль швидкості передачі даних) дуплексний спосіб зв'язку між процесами в мережі. Протокол UDP, навпаки, є способом зв'язку ненадійним, орієнтованим на передачу повідомлень (датаграмм). Від протоколу IP він відрізняється двома основними рисами: використовуванням для перевірки правильності прийнятого повідомлення контрольної суми, наліченої по всьому повідомленню, і передачею інформації не від вузла мережі до іншого вузла, а від відправника до одержувача.

Повна адреса видаленого процесу або проміжного об'єкту для конкретного чину зв'язку з погляду операційних систем визначається парою адрес: <числова адреса комп'ютера в мережі, локальна адреса>.

Така пара одержала назву socket (кубло, панель), оскільки по суті справи є віртуальним комунікаційним вузлом (можна уявити собі віртуальний роз'єм або ящик для прийому/відправки листів), що веде від об'єкту в зовнішній світ і навпаки. При непрямій адресації самі проміжні об'єкти для організації взаємодії процесів також іменуються сокетами.

Оскільки рівень Internet сімейства протоколів TCP/IP уміє доставляти інформацію тільки від комп'ютера до комп'ютера, дані, одержані з його допомогою, повинні містити тип використаного протоколу транспортного рівня і локальні адреси відправника і одержувача. І протокол TCP, і протокол UDP використовують непряму адресацію.

Для того, щоб уникнути плутанини, ми надалі термін "сокет" вживатимемо тільки для позначення самих проміжних об'єктів, а повні адреси таких об'єктів називатимемо адресами сокетів.

Для кожного транспортного протоколу в стеку TCP/IP існують власні Для кожного транспортного протоколу в стеку TCP/IP існують власні сокети: UDP сокети і TCP сокети, що мають різні адресні простори своїх локальних адрес – портів. В сімействі протоколів TCP/IP адресні простори портів є позитивними значеннями цілого 16-бітового числа. Тому, кажучи про локальну адресу сокета, ми часто використовуватимемо термін "номер порту". З відмінності адресних просторів портів виходить, що порт 1111 TCP – це зовсім не та ж сама локальна адреса, що і порт 1111 UDP. Про те, як призначаються номери портів різним сокетам, ми поговоримо пізніше.

Отже, ми описали ієрархічну систему адресації, що використовується в сімействі протоколів TCP/IP, яка включає декілька рівнів:

  • Фізичний пакет даних, передаваний по мережі, містить фізичні адреси вузлів мережі (MAC-адреси) з вказівкою на те, який протокол рівня Internet повинен використовуватися для обробки передаваних даних (оскільки користувача цікавлять тільки дані, що доставляються потім на рівень додатків/процесів, то для нього це завжди IP).

  • IP-пакет даних містить 32-бітові IP-адреси комп'ютера-відправника і комп'ютера-одержувача, і вказівка на те, який вищерозміщений протокол (TCP, UDP або ще що-небудь) повинен використовуватися для їх подальшої обробки.

  • Службова інформація транспортних протоколів (UDP-заголовок до даних і TCP-заголовок до даних) повинна містити 16-бітові номери портів для сокета відправника і сокета одержувача.

Додавання необхідної інформації до даних при переході від верхніх рівнів сімейства протоколів до нижніх прийнято називати англійським словом encapsulation (дослівно: герметизація). На рисунку 15–16.5 приведена схема encapsulation при використовуванні протоколу UDP на мережі Ethernet.

Мал. 15-16.5.  Encapsulation для UDP-протоколу на мережі Ethernet

Оскільки між MAC-адресами і IP-адресами існує взаємно однозначна відповідність, відома сімейству протоколів TCP/IP, то фактично для повного завдання адреси доставки і адреси відправлення, необхідної для встановлення двостороннього зв'язку, потрібно вказати п'ять параметрів:

<транспортний протокол, IP-адреса відправника, порт відправника, IP-адреса одержувача, порт одержувача>