Сетевой уровень (уровень III) определяет межсетевое взаимодействие, принимая от вышестоящего уровня запрос отправителя на посылку пакета вместе с адресом получателя, помещая пакет в 'дейтаграмму и при необходимости используя алгоритм маршрутизации. На приемной стороне механизмы сетевого уровня извлекают пакет из дейтаграммы и определяют, какой из протоколов вышестоящего уровня необходим для дальнейшей обработки.
Основной задачей транспортного уровня (уровня II) является 'обеспечение взаимодействия между приложениями, для чего используется механизм подтверждения правильно принятых пакетов и повторная передача искаженных или утерянных пакетов.
Уровни модели ВОС | Уровни стека TCP/IP |
Прикладной Представления | Уровень I — прикладной |
Сеансовый Транспортный | Уровень II — транспортный |
Сетевой | Уровень III — сетевой |
Канальный Физический | Уровень ГУ — сетевого интерфейса |
Транспортный уровень принимает информацию от нескольких приложений и передает ее на нижестоящий уровень, добавляя служебную информацию, предназначенную для борьбы с ошибками.
Наконец, вершиной TCP/IP является прикладной уровень (уровень I), на котором реализованы широко используемые приложения: протокол передачи файлов между удаленными системами, протокол эмуляции удаленного терминала, почтовый протокол и др. Каждая прикладная программа выбирает тип транспортировки (либо непрерывный поток сообщений, либо последовательность пакетов) и передает данные на транспортный уровень в требуемой форме.
Практически ситуация оказывается несколько сложнее. В структуре TCP/IP существует наиболее значимый — сетевой уровень, в основу которого положен Интернет-протокол (IP). Каждый уровень стека принимает решение о корректности принятого сообщения и производит определенное действие, основываясь на значении его адреса и типе. Интернет-протокол способен взаимодействовать с несколькими протоколами более высокого уровня и несколькими сетевыми интерфейсами. Таким образом, процесс передачи сообщений практически выглядит следующим образом-Отправитель передает сообщение, которое на сетевом уровне (уровнем) помещается IPв дейтаграммы и посылается в сеть отправителя (Сеть 1). В промежуточных устройствах дейтаграммы передаются вверх до сетевого уровня, на котором IPотправляет их обратно вниз, в сеть получателя (Сеть 2). В оконечной сети IPвыделяет сообщение из дейтаграмм и передает его на верхние уровни.
Исходя из сказанного рассматривать принципы функционирования TCP/IP целесообразно начиная именно с сетевого уровня.
Введем некоторые базовые термины, касающиеся процессов передачи информации между уровнями.
Название передаваемого блока данных зависит от того, на каком уровне он находится. При нахождении блока на сетевом уровне его называют кадром. Если блок данных находится между уровнем сетевого интерфейса и сетевым уровнем, он называется дейтаграммой. Блок данных, находящийся между транспортным и сетевым уровнями, называется IP-пакетом. Наконец, данные верхнего — прикладного уровня называются сообщениями.
Интернет-протокол. IP-адресация
Интернет-протокол является основополагающим протоколом всего TCP/IP. Реализуя механизмы прохождения информации по различным сетям, он выполняет следующие основные функции:
• определение базового блока передачи данных — дейтаграммы, ее формата и значений полей в заголовках;
• фрагментацию дейтаграммы и ее обратного восстановления;
• надежную доставку дейтаграммы получателю;
• обеспечение логической адресации устройств в сети;
I• поддержку маршрутизации.
Любая дейтаграмма состоит из заголовка и поля данных, следующего сразу за заголовком. Пример структуры полей заголовка приведен в табл.14.1.
Номер версии (4 бит) | Длина заголовка (4 бит) | Тип услуги (8 бит) | Общая длина заголовка (16 бит) |
Идентификатор (16 бит) | Флаги (3 бит) | Смещение фрагмента (13 бит) | |
Время жизни (8 бит) | Протокол (8 бит) | Контрольная сумма заголовка (16 бит) | |
Адрес отправителя (32 бит) | |||
Адрес получателя (32 бит) | |||
Опции (переменная длина) | Выравнивание числа бит до 32 |
Фрагментация большой дейтаграммы заключается в разделении ее на несколько частей. В большинстве сетей определен максимальный размер передаваемого блока (MTU — MaximumTransmissionUnit), например в сети Ethernetон составляет 1 500 байт, а в сети FDDI- 4096 байт.
На рис. 14.4 представлена процедура фрагментации и восстановления дейтаграммы.
Пусть, например, отправителю необходимо передать сообщение длиной 5 700 байт из сети, в которой ограничение на максимальный размер кадра составляет 4096 байт, в сеть, где аналогичное значение — 1 500 байт. При поступлении блока на сетевой уровень Интернет-протокол делит его на две равные дейтаграммы, установив в первой из них отличный от нуля флаг фрагментации. Значение флага фрагментации во второй дейтаграмме равно нулю, что указывает на то, что это последний фрагмент сообщения. Размер каждой дейтаграммы составляет 2 850 байт плюс заголовок 20 байт (при отсутствии опций), что укладывается в кадр сетевого уровня.
Дейтаграммы поступают в маршрутизатор, который определяет, что их необходимо передать в сеть, в которой ограничение на максимальный размер кадра составляет 1 500 байт. Для этого из каждой дейтаграммы извлекаются фрагменты сообщения, делятся пополам, и формируются новые дейтаграммы, каждая из которых имеет размер (1425 + 20) байт, что меньше ограничения на максимальный размер кадра принимающей сети. При этом по пути маршрутизации фрагменты дейтаграмм не укрупняются, даже если текущая сеть допускает такое укрупнение. Восстановление исход ного сообщения производится в месте назначения путем выполнения последовательности обратных операций.
В сетях, построенных на базе TCP/IP, оконечные устройства (мобильный терминал, персональный компьютер, коммуникационный сервер и др.) имеют уникальные адреса, позволяющие идентифицировать эти устройства в сетевом пространстве. Адресация осуществляется с использованием трех уровней:
• физического адреса узла, определяемого технологией, по которой построена сеть. Формат физического адреса предполагает 6 байт; при этом старшие 3 байт определяют фирму-производителя, а младшие 3 байт уникальны и назначаются производителем в качестве идентификатора конкретного устройства;
• IP-адреса, используемого на сетевом уровне модели ВОС и состоящего из четырех байт. IP-адрес назначается независимо от физического адреса, и именно он является определяющим при рассмотрении процессов межсетевого взаимодействия;
• символьного адреса, назначаемого сетевым администратором и предназначенного для удобства запоминания и обращения.
На самом деле IP-адрес состоит из двух четырехбайтовых частей: собственно адреса и маски сети, которая несет информацию о том, какая часть адреса принадлежит главной сети, а какая — подсети. Если терминалы принадлежат одной и той же подсети, то они могут устанавливать между собой прямое соединение по Интернет-протоколу, если же они принадлежат различным подсетям, необходима маршрутизация.
В приведенном на рис. 14.5 примере наложение маски 255.255.255.0 выделяет подсеть 195.209.0.0, которую можно обозначить как 195.209.0.0/16, где 16 — число старших разрядов, выделяющих подсеть.
Адреса бывают статическими и динамическими. Статический адрес постоянно закреплен за абонентом (либо устройством, например компьютером), и всякий раз при подключении к сети обмен пакетами производится по этому адресу. Динамический же [адрес назначается абоненту на время сеанса, по окончании которого он может быть передан другому абоненту. Обычно статическая адресация используется в локальных сетях, а при работе в сети Интернет абонентам назначаются динамические адреса.
Адресация в локальной сети (в частности, в сети GPRS) связана с понятием порта. Применительно к компьютеру номер пор-
та определяет точку физического доступа в него. В сети Интернет портом также называется любое приложение, размещенное в узле что позволяет адресовать запросы к определенным файловым струк-турам, а также к аппаратным средствам, объединенным в группу единым адресом. Например, группе абонентов GPRSодного оператора со стороны сети Интернет может быть присвоен один ад. рее, но на уровне протокола пользовательских дейтаграмм (см. далее) каждый абонент будет иметь свой уникальный номер порта. Всего возможно 216 портов с номерами от 0 до 65 535. Адрес с указанием порта записывается в виде <адрес>:<порт>, например 195.209.231.196:33. Локальная адресация внутри сети GPRSпринята не только для более эффективного использования адресного поля, но также для ее зашиты от несанкционированного доступа.
Протоколразрешенияадресов
Поскольку IP-адрес назначается независимо от физического адреса, необходимо определить соответствие между этими адресами. Процесс определения их соответствия называется разрешением адресов, и решение этой задачи возложено на протокол разрешения адресов (ARP— AddressResolutionProtocol).