




Next: Встановлення з'єднання та передача Up: протокол TCP Previous: протокол TCP Contents Index
Наша взаимовыгодная связь https://banwar.org/
Для встановлення з'єднання між двома процесами на різних комп'ютерах мережі необхідно знати не тільки IP-адреси комп'ютерів, але і номер ТСР-порту, який процес використовує на даному комп'ютері. У сукупності з IP-адресою комп'ютера порти утворюють систему гнізд (sockets). Пара гнізд унікально ідентифікує кожне з'єднання або потік даних в мережі Internet, а порт забезпечує незалежність кожного ТСР-каналу на даному комп'ютері. Безумовно, кілька процесів на машині можуть використовувати один і той же ТСР-порт, але з точки зору віддаленого процесу між цими процесами не буде ніякої різниці.
Розглянемо потоки даних, що проходять через протоколи. При використанні протоколу TCP дані передаються між прикладним процесом і модулем TCP. Типовим прикладним процесом, що використовують протокол TCP є модуль FTP (File Transfer Protocol, Протокол передачі файлів). Стек протоколів в цьому випадку буде FTP / TCP / IP / ENET. При використанні протоколу UDP (User Datagram Piotocol, Протокол дейтаграм користувача) дані передаються між прикладним процесом і модулем UDP. Наприклад, SNMP (Simple Network Management Protocol, Простий протокол керування мережею) користується транспортними послугами UDP Його стек протоколів виглядає так: SNMP / UDP / IP / ENET.
Одне гніздо на комп'ютері може бути задіяно в з'єднаннях з декількома гніздами на віддалених комп'ютерах Крім того, один і той же гніздо може передавати потік даних в обох напрямках. Таким чином, механізм гнізд дозволяє на одному комп'ютері одночасно працювати декільком додаткам і унікально ідентифікує кожен потік даних мережі. Це називається мультиплексированием з'єднань.
Модулі TCP, UDP і драйвер Ethernet є мультиплексорами типу . Діючи в цій якості, вони перемикають кілька входів на один вихід. Вони ж є демультиплексор
. Як демультіплексори, вони перемикають один вхід на один з багатьох виходів у відповідності з вмістом поля типу в заголовку протокольного блоку даних. Коли Ethernet кадр потрапляє в драйвер мережевого інтерфейсу, він може бути направлений або в модуль ARP, або в модуль IP. Для цього використовується значення поля типу в заголовку кадру Ethernet.
Якщо IP-пакет потрапляє в модуль IP, то що містяться в ньому дані можуть бути передані або модулю TCP, або UDP, що визначається полем «Protocol» в заголовку IP-пакета. Якщо TCP-повідомлення потрапляє в модуль TCP, то вибір прикладної програми, якою має бути передано повідомлення, здійснюється на основі значення поля «порт» в заголовку TCP-повідомлення.
Мультиплексування даних у зворотний бік здійснюється досить просто, так як з кожного модуля існує тільки один шлях вниз. Кожен протокольний модуль додає до пакету свій заголовок, на підставі якого машина, яка прийняла пакет, виконує демультиплексування.
Призначення портів додатків на кожному комп'ютері відбувається независмо один від одного. TCP може самостійно вибирати порт, з яким буде працювати додаток, або додаток вкаже, з яким портом на даному комп'ютері воно буде працювати. Як правило, часто використовувані сервіси мають заздалегідь визначені номери портів, які є загальновідомими. До таких портів відносяться http, fpt, smtp і багато інших. Номери портів перераховані в / etc / services.
Крім того, машина може бути забезпечена декількома мережевими інтерфейсами, тоді вона повинна здійснювати мультиплексування типу , Т е. Між декількома прикладними програмами і мережевими інтерфейсами.
Alex Otwagin 2002-12-16
Спонсори:
Хостинг: