
- •Глава 1 Архитектура и стандартизация сетей
- •Декомпозиция задачи сетевого взаимодействия
- •Многоуровневый подход
- •Протокол и стек протоколов
- •Примечание
- •Модель osi
- •Общая характеристика модели osi
- •Физический уровень
- •Канальный уровень
- •Сетевой уровень
- •Пример-аналогия
- •Транспортный уровень
- •Сеансовый уровень
- •Уровень представления
- •Прикладной уровень
- •Модель osi и сети с коммутацией каналов
- •Стандартизация сетей
- •Понятие открытой системы
- •Источники стандартов
- •Стандартизация Интернета
- •СтекIpx/spx
- •Примечание
- •Стек NetBios/smb
- •Стек tcp/ip
- •1 В Интернете конечный узел традиционно называют хостом, а маршрутизатор — шлюзом. В этой главе мы будем также придерживаться такой терминологии.
- •Примечание
- •Соответствие популярных стеков протоколов модели osi
- •Информационные и транспортные услуги
- •Распределение протоколов по элементам сети
- •Вспомогательные протоколы транспортной системы
- •Вопросы и задания
Примечание
Стек TCP/IP позволяет включать в составную сеть сети независимо от того, каким количеством уровней описывается используемая в них технология. Так, перемещение данных в сети Х.25 обеспечивают собственные протоколы физического, канального и сетевого уровней (в терминологии OSI). Тем не менее стек TCP/IP рассматривает сеть Х.25 наравне с другими технологиями в качестве средства транспортировки IP-пакетов между двумя пограничными шлюзами. Уровень сетевых интерфейсов обычным образом предоставляет для этой технологии способ инкапсуляции IP-пакета в пакет Х.25, а также средства преобразования сетевых IP-адресов в адреса сетевого уровня Х.25. Если рассматривать такую организацию сети в строгом соответствии с моделью OSI, то налицо явное противоречие — один сетевой протокол (IP) работает поверх другого сетевого протокола (Х.25). Однако для стека TCP/IP это нормальное явление.
Каждый коммуникационный протокол оперирует некоторой единицей передаваемых данных. Названия этих единиц иногда закрепляются стандартом, а чаще просто определяются традицией. В стеке TCP/IP за многие годы его существования образовалась устоявшаяся терминология в этой области (рис. 1.15).
Потоком данных, или просто потоком, называют данные, поступающие от приложений на вход протоколов транспортного уровня — TCP и UDP.
Протокол TCP «нарезает» из потока данных сегменты.
Рис. 1.15. Названия PDU в TCP/IP
Единицу данных протокола UDP часто называют дейтаграммой, или датаграм-мой. Дейтаграмма — это общее название для единиц данных, которыми оперируют протоколы без установления соединений. К таким протоколам относится и протокол IP, поэтому его единицу данных также называют дейтаграммой. Однако очень часто используется и другой термин — пакет.
В стеке TCP/IP принято называть кадрами, или фреймами, единицы данных любых технологий, в которые упаковываются IP-пакеты для последующей переноски их через сети составной сети. При этом не имеет значения, какое название используется для этой единицы данных в технологии составляющей сети. Для TCP/IP фреймом является и кадр Ethernet, и ячейка ATM, и пакет Х.25, так как все они выступают в качестве контейнера, в котором IP-пакет переносится через составную сеть.
Соответствие популярных стеков протоколов модели osi
На рис. 1.16 показано, в какой степени популярные стеки протоколов соответствуют рекомендациям модели OSI. Как мы видим, часто это соответствие весьма условно. В большинстве случаев разработчики стеков отдавали предпочтение скорости работы сети в ущерб модульности — ни один стек, кроме стека OSI, не разбит на семь уровней. Чаще всего в стеке явно выделяются 3-4 уровня: уровень сетевых адаптеров, в котором реализуются протоколы физического и канального уровней, сетевой уровень, транспортный уровень и уровень служб, вбирающий в себя функции сеансового уровня, уровня представления и прикладного уровня.
Структура стеков протоколов часто не соответствует рекомендуемому моделью OSI разбиению на уровни и по другим причинам. Давайте вспомним, чем характеризуется идеальная многоуровневая декомпозиция. С одной стороны, необходимо соблюсти принцип иерархии: каждый вышележащий уровень обращается с запросами только к нижележащему, а нижележащий предоставляет свои сервисы только непосредственно соседствующему с ним вышележащему. В стеках протоколов это приводит к тому, что PDU вышележащего уровня всегда инкапсулируется в PDU нижележащего.
Рис. 1.16. Соответствие популярных стеков протоколов модели OSI
С
другой же стороны, идеальная многоуровневая
декомпозиция предполагает, что все
модули, отнесенные к одному уровню,
ответственны за решение общей для всех
них задачи. Однако эти требования часто
вступают в противоречие. Например,
основной функцией протоколов сетевого
уровня стека TCP/IP (так же как и сетевого
уровня OSI)
является обеспечение передачи пакетов
через составную сеть. Для решения
этой задачи в стеке TCP/IP предусмотрено
несколько протоколов: протокол продвижения
IP-пакетов
и протоколы маршрутизации RIP,
OSPF
и др. Если считать признаком принадлежности
к одному и тому же уровню общность
решаемых задач, то, очевидно, протокол
IP
и протоколы маршрутизации должны
быть отнесены к одному уровню. Вместе
с тем, если принять во внимание, что
сообщения протокола RIP
инкапсулируются в дейтаграммы UDP,
а сообщения протокола OSPF
— в IP-пакеты,
то, следуя формально принципу иерархической
организации стека, OSPF
следовало бы отнести к транспортному,
a
RIP
— к прикладному уровню. На практике же
протоколы маршрутизации обычно включают
в сетевой уровень.