2.1. Модуль IP создает единую логическую сеть

 

 

Архитектура протоколов TCP/IP предназначена для объединенной сети,

состоящей из соединенных друг с другом шлюзами отдельных разнородных

пакетных подсетей, к которым подключаются разнородные машины. Каждая из

подсетей работает в соответствии со своими специфическими требованиями и

имеет свою природу средств связи. Однако предполагается, что каждая под-

сеть может принять пакет информации (данные с соответствующим сетевым

заголовком) и доставить его по указанному адресу в этой конкретной под-

 

 

 

 

 

-- 22 --

 

сети. Не требуется, чтобы подсеть гарантировала обязательную доставку

пакетов и имела надежный сквозной протокол. Таким образом, две машины,

подключенные к одной подсети могут обмениваться пакетами.

 

Когда необходимо передать пакет между машинами, подключенными к раз-

ным подсетям, то машина-отправитель посылает пакет в соответствующий шлюз

(шлюз подключен к подсети также как обычный узел). Оттуда пакет направ-

ляется по определенному маршруту через систему шлюзов и подсетей, пока не

достигнет шлюза, подключенного к той же подсети, что и машина-получатель;

там пакет направляется к получателю. Объединенная сеть обеспечивает

датаграммный сервис.

 

Проблема доставки пакетов в такой системе решается путем реализации

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

является по существу базовым элементом во всей архитектуре протоколов,

обеспечивая возможность стандартизации протоколов верхних уровней.

 

2.2. Структура связей протокольных модулей

 

Логическая структура сетевого программного обеспечения, реализующего

протоколы семейства TCP/IP в каждом узле сети internet, изображена на

рис.1. Прямоугольники обозначают обработку данных, а линии, соединяющие

прямоугольники, - пути передачи данных. Горизонтальная линия внизу

рисунка обозначает кабель сети Ethernet, которая используется в качестве

примера физической среды; "o" - это трансивер. Знак "*" - обозначает

 

------------------------------

| прикладные процессы |

| ... \ | / ... \ | / ... |

| -------  ------- |

| | TCP | | UDP | |

| ------- ------- |

| \ / |

| ------ |

 | ------- | IP | |

| | ARP | -*---- |

| ------- | |

| \ | |

| -------- |

| | ENET | |

| ---@---- |

| | |

------------|-----------------

 |

-------------------o--------

кабель Ethernet

Рис.1. Структура протокольных модулей в узле сети TCP/IP

 

 

 

 

 

 

-- 33 --

 

IP-адрес, а "@" - адрес узла в сети Ethernet (Ethernet-адрес). Понимание

этой логической структуры является основой для понимания всей технологии

internet. В дальнейшем мы будем часто ссылаться на эту схему.

  2.3. Терминология

 

 

Введем ряд базовых терминов, которые мы будем использовать в даль-

нейшем.

 

Драйвер - это программа, непосредственно взаимодействующая с сетевым

адаптером. Модуль - это программа, взаимодействующая с драйвером, сете-

выми прикладными программами или другими модулями. Драйвер сетевого

адаптера и, возможно, другие модули, специфичные для физической сети

передачи данных, предоставляют сетевой интерфейс для протокольных модулей

семейства TCP/IP.

 

Название блока данных, передаваемого по сети, зависит от того, на

каком уровне стека протоколов он находится. Блок данных, с которым имеет

дело сетевой интерфейс, называется кадром; если блок данных находится

между сетевым интерфейсом и модулем IP, то он называется IP-пакетом; если

он - между модулем IP и модулем UDP, то - UDP-датаграммой; если между

модулем IP и модулем TCP, то - TCP-сегментом (или транспортным сообще-

нием); наконец, если блок данных находится на уровне сетевых прикладных

процессов, то он называется прикладным сообщением.

 

Эти определения, конечно, несовершенны и неполны. К тому же они

меняются от публикации к публикации. Более подробные определения

можно найти в RFC-1122, раздел 1.3.3.

  2.4. Потоки данных

 

 

Рассмотрим потоки данных, проходящие через стек протоколов, изобра-

женный на рис.1. В случае использования протокола TCP (Transmission Con-

trol Protocol - протокол управления передачей), данные передаются между

прикладным процессом и модулем TCP. Типичным прикладным процессом,

использующим протокол TCP, является модуль FTP (File Transfer Protocol -

протокол передачи файлов). Стек протоколов в этом случае будет

FTP/TCP/IP/ENET. При использовании протокола UDP (User Datagram Protocol

- протокол пользовательских датаграмм), данные передаются между приклад-

ным процессом и модулем UDP. Например, SNMP (Simple Network Management

Protocol - простой протокол управления сетью) пользуется транспортными

услугами UDP. Его стек протоколов выглядит так: SNMP/UDP/IP/ENET.

 

Модули TCP, UDP и драйвер Ethernet являются мультиплексорами n x 1.

Действуя как мультиплексоры, они переключают несколько входов на один

выход. Они также являются демультиплексорами 1 x n. Как демультиплек-

соры, они переключают один вход на один из многих выходов в соответствии

с полем типа в заголовке протокольного блока данных (рис.2).

 

Когда Ethernet-кадр попадает в драйвер сетевого интерфейса Ethernet,

он может быть направлен либо в модуль ARP (Address Resolution Protocol -

адресный протокол), либо в модуль IP (Internet Protocol - межсетевой про-

токол). На то, куда должен быть направлен Ethernet-кадр, указывает зна-

чение поля типа в заголовке кадра.

 

Если IP-пакет попадает в модуль IP, то содержащиеся в нем данные

могут быть переданы либо модулю TCP, либо UDP, что определяется полем

"протокол" в заголовке IP-пакета.

 

 Если UDP-датаграмма попадает в модуль UDP, то на основании значения

поля "порт" в заголовке датаграммы определяется прикладная программа,

которой должно быть передано прикладное сообщение. Если TCP-сообщение

попадает в модуль TCP, то выбор прикладной программы, которой должно быть

передано сообщение, осуществляется на основе значения поля "порт" в заго-

ловке TCP-сообщения.

 

Мультиплексирование данных в обратную сторону осуществляется

довольно просто, так как из каждого модуля существует только один путь

вниз. Каждый протокольный модуль добавляет к пакету свой заголовок, на

основании которого машина, принявшая пакет, выполняет демультиплексирова-

ние.

 

 

1 2 3 .... n | 1 2 3 .... n ^

\ | | / | \ | | / |

----------------- поток ------------------- поток

| мультиплексор | данных | демультиплексор | данных

----------------- | ------------------- |

| | ^ |

v V | |

1 1

Рис.2. Мультиплексор n x 1 и демультиплексор 1 x n

 

 

 

 

 

 

-- 55 --

 

Данные от прикладного процесса проходят через модули TCP или UDP,

после чего попадают в модуль IP и оттуда - на уровень сетевого интер-

фейса.

 

Хотя технология internet поддерживает много различных сред передачи

данных, здесь мы будем предполагать использование Ethernet, так как

именно эта среда чаще всего служит физической основой для IP-сети.

Машина на рис.1 имеет одну точку соединения с Ethernet. Шестибайтный

Ethernet-адрес является уникальным для каждого сетевого адаптера и рас-

познается драйвером.

 

Машина имеет также четырехбайтный IP-адрес. Этот адрес обозначает

точку доступа к сети на интерфейсе модуля IP с драйвером. IP-адрес дол-

жен быть уникальным в пределах всей сети Internet.

 

 Работающая машина всегда знает свой IP-адрес и Ethernet-адрес.

 


Информация о работе «TCP/IP»
Раздел: Информатика, программирование
Количество знаков с пробелами: 77813
Количество таблиц: 0
Количество изображений: 0

Похожие работы

Скачать
52868
2
1

... .   1. Персональные компьютеры в cетях TCP/IP 1.1 Иерархия протоколов TCP/IP Протоколы TCP/IP широко применяются во всем мире для объединения компьютеров в сеть Internet. Архитектура протоколов TCP/IP предназначена для объединенной сети, состоящей из соединенных друг с другом шлюзами отдельных разнородных компьютерных подсетей. Иерархию управления в TCP/IP – сетях обычно представляют в виде ...

Скачать
27320
2
2

... деление его функций. Однако модель TCP/IP разрабатывалась значительно позже самого комплекса протоколов, поэтому она ни как не могла быть взята за образец при проектировании протоколов. Семейство протоколов TCP/IP Семейство протоколов IP состоит из нескольких протоколов, часто обозначаемых общим термином “TCP/IP”: o  IP – протокол межсетевого уровня; o  TCP – протокол межхостового уровня, ...

Скачать
12969
0
2

... изменить размер окна, посылая управляющие сообщения некоторым конечным узлам, что позволяет им дифференцировано управлять интенсивностью потока данных в разных частях сети. Формат сообщений TCP Сообщения протокола TCP называются сегментами и состоят из заголовка и блока данных. Заголовок сегмента имеет следующие поля: Порт источника (SOURS PORT) занимает 2 байта, идентифицирует процесс- ...

Скачать
9559
0
1

... ISO/OSI, то, хотя он также имеет многоуровневую структуру, соответствие уровней стека TCP/IP уровням модели OSI достаточно условно. Структура протоколов TCP/IP приведена на рисунке 2.1. Протоколы TCP/IP делятся на 4 уровня. Рис. 2.1. Стек TCP/IP Самый нижний (уровень IV) соответствует физическому и канальному уровням модели OSI. Этот уровень в протоколах TCP/IP не регламентируется, но ...

0 комментариев


Наверх