RFC: 1180
Оригинал: A TCP/IP Tutorial
Категория: Информационный
Дата публикации:
Авторы: ,
Перевод: Николай Малых

2.3. Поток данных

Рассмотрим поток данных, проходящий вниз через стек протоколов на рисунке 1. Для приложений, использующих протокол TCP (Transmission Control Protocol — протокол управления передачей), данные передаются между приложением и модулем TCP. Для приложений, использующих протокол UDP (User Datagram Protocol — протокол пользовательских дейтаграмм), обмен данными идет между приложением и модулем UDP. FTP (File Transfer Protocol — протокол передачи файлов) является типичным примером использования протокола TCP. В данном случае стек протоколов будет иметь вид FTP/TCP/IP/ENET. Приложения SNMP (Simple Network Management Protocol — простой протокол сетевого управления) используют протокол UDP и стек будет иметь вид SNMP/UDP/IP/ENET.

В модулях TCP, UDP и драйвере Ethernet выполняется мультиплексирование n х 1 (мультиплексор имеет один выход и множество входов). Существует также обратная операция — демультиплексирование 1 х n (демультиплексор имеет один вход и множество выходов). Схематическое представление мультиплексоров и демультиплексоров приведено на рисунке 2. Если кадр Ethernet попадает в драйвер Ethernet из сети, этот кадр передается модулю преобразования адресов ARP (Address Resolution Protocol) или модулю IP (Internet Protocol). Выбор одного из этих модулей (ARP или IP) определяется полем типа в заголовке кадра Ethernet.

1   2 3 ...   n                   1   2 3 ...   n
 \  |      /      |               \  | |      /       ^
  \ | |   /       |                \ | |     /        |
-------------   flow              ----------------   flow
|multiplexer|    of               |de-multiplexer|    of
-------------   data              ----------------   data
     |            |                     |              |
     |            v                     |              |
     1                                  1


Рисунок 2: Мультиплексор и демультиплексор

Если пакет попадает в модуль IP, после этого он передается модулю TCP или UDP в соответствии со значением поля протокола в заголовке IP.

Дейтаграммы UDP, приходящие в одноименный модуль, преобразуются в сообщения прикладного уровня и передаются программам, выбор которых определяется номером порта в заголовке UDP. Сегменты TCP в одноименном модуле преобразуются в сообщения прикладного уровня и передаются пользовательским программам в соответствии с номером порта в заголовке TCP. Мультиплексирование исходящего потока является очень простой задачей, поскольку на каждом уровне существует только один путь передачи информации; каждый протокол просто добавляет в пакет свой заголовок, обеспечивающий демультиплексирование данных на приемной стороне.

Данные передаются от прикладных программ через TCP или UDP, преобразуются модулем IP и передаются в сеть с использованием драйвера сетевой платы на самом нижнем уровне.

Хотя в сетях может использоваться множество различных технологий, все примеры здесь построены на основе технологии Ethernet, которая на сегодняшний день является самой распространенной для передачи IP-трафика. Компьютер на рисунке 1 имеет одно соединение Ethernet. Шестибайтовый адрес Ethernet является уникальным для каждого адаптера Ethernet и задается на аппаратном уровне.

Компьютер также имеет 4-байтовый адрес IP. Этот адрес используется на интерфейсе нижнего уровня в модуле IP. Этот адрес должен быть уникальным в масштабах сети.

Работающий компьютер всегда знает свои адреса IP и Ethernet.

2007 - 2017 © Русские переводы RFC, IETF, ISOC.