Вы находитесь на странице: 1из 115

Оглавление

Протокол Ethernet.....................................................................................................................................5
Принцип работы Ethernet.....................................................................................................................5
Подуровни LLC и MAC........................................................................................................................5
Подуровень MAC................................................................................................................................6
Управление доступом к среде передачи данных............................................................................8
MAC-адрес: идентификация Ethernet...............................................................................................9
Обработка кадров............................................................................................................................10
Атрибуты кадра Ethernet.....................................................................................................................11
Инкапсуляция Ethernet....................................................................................................................11
Размер кадра Ethernet.....................................................................................................................12
Поля кадра Ethernet.........................................................................................................................13
MAC Ethernet........................................................................................................................................13
MAC-адреса и шестнадцатеричная система счисления................................................................14
MAC-адрес одноадресной рассылки..............................................................................................15
MAC-адрес широковещательной рассылки...................................................................................16
MAC-адрес многоадресной рассылки............................................................................................16
MAC и IP................................................................................................................................................16
Сквозное подключение, MAC- и IP-адреса....................................................................................17
Протокол разрешения адресов (ARP).....................................................................................................18
ARP........................................................................................................................................................18
Функции ARP....................................................................................................................................18
Принцип работы ARP...........................................................................................................................19
Проблемы ARP.....................................................................................................................................21
Коммутаторы LAN....................................................................................................................................22
Коммутация..........................................................................................................................................22
Таблица MAC-адресов коммутатора..............................................................................................23
Настройки дуплексного режима.....................................................................................................24
Функция Auto-MDIX.........................................................................................................................25
Способы пересылки кадра на коммутаторах Cisco.......................................................................26
Коммутация без буферизации........................................................................................................26
Буферизация памяти на коммутаторах..........................................................................................27
Коммутация уровня 3..........................................................................................................................28
Сравнение коммутации уровня 2 и уровня 3.................................................................................28
Технология Cisco Express Forwarding..............................................................................................28
Типы интерфейсов уровня 3............................................................................................................30
Конфигурация маршрутизируемого порта на коммутаторе уровня 3.........................................31
Заключение..........................................................................................................................................31
Протоколы сетевого уровня....................................................................................................................33
Сетевой уровень в процессе передачи данных.................................................................................33
Сетевой уровень..............................................................................................................................33
Сетевой уровень в процессе передачи данных.............................................................................33
Характеристики IP-протокола.............................................................................................................34
IP: без установления соединения...................................................................................................34
IP: доставка с максимальными усилиями......................................................................................36
IP: независимость от среды.............................................................................................................37
Инкапсуляция IP...............................................................................................................................38
Пакет IPv4.............................................................................................................................................38
Пакет IPv6.............................................................................................................................................40
Маршрутизация.......................................................................................................................................44
Методы маршрутизации узлов...........................................................................................................44
Решение о перенаправлении узла.................................................................................................44
Шлюз по умолчанию.......................................................................................................................45
Таблица маршрутизации узла IPv4.................................................................................................46
Записи маршрутизации узла IPv4...................................................................................................47
Таблицы маршрутизации маршрутизатора.......................................................................................48
Решение о пересылке пакетов маршрутизатора...........................................................................48
Таблица маршрутизации маршрутизатора IPv4............................................................................49
Записи таблицы маршрутизации с прямым подключением........................................................50
Записи таблицы маршрутизации удалённой сети.........................................................................52
Адрес следующего перехода..........................................................................................................52
Протоколы транспортного уровня..........................................................................................................54
Передача данных.................................................................................................................................54
Значение транспортного уровня.....................................................................................................54
Мультиплексирование сеансов связи............................................................................................55
Надёжность транспортного уровня................................................................................................56
Протокол TCP....................................................................................................................................57
Протокол UDP...................................................................................................................................58
Соответствующий протокол транспортного уровня для соответствующего приложения.........59
Общие сведения о протоколах TCP и UDP.........................................................................................60
Краткое описание протокола TCP...................................................................................................60
Значение протокола TCP.................................................................................................................61
Краткое описание протокола UDP..................................................................................................62
Значение протокола UDP................................................................................................................63
Разделение нескольких каналов связи..........................................................................................63
Адресация портов TCP и UDP..........................................................................................................64
Сегментация TCP и UDP...................................................................................................................67
Протоколы TCP и UDP..............................................................................................................................68
Обмен данными по TCP.......................................................................................................................68
Надёжная доставка по TCP..............................................................................................................68
Процессы TCP-сервера....................................................................................................................68
Установление TCP-соединения и его завершение........................................................................69
Анализ трёхстороннего рукопожатия TCP......................................................................................70
Анализ завершения сеанса TCP......................................................................................................71
Надёжность и управление потоком...................................................................................................72
Надёжность TCP: упорядоченная доставка....................................................................................72
Надёжность TCP: подтверждение и размер окна..........................................................................73
Надёжность TCP: потеря данных и повторная передача..............................................................75
Управление потоком TCP: размер окна и подтверждения...........................................................75
Управление потоком TCP: предотвращение перегрузок..............................................................76
Обмен данными с использованием UDP...........................................................................................78
Низкая нагрузка UDP по сравнению с надёжностью.....................................................................78
Разборка UDP-датаграммы.............................................................................................................78
Процессы и запросы UDP-сервера..................................................................................................79
Процессы UDP-клиента...................................................................................................................79
TCP или UDP?........................................................................................................................................80
Приложения, использующие TCP...................................................................................................80
Приложения, использующие UDP..................................................................................................80
Сетевые IPv4-адреса................................................................................................................................82
Структура IPv4-адресов.......................................................................................................................82
Двоичное представление чисел.....................................................................................................82
Двоичная система исчисления........................................................................................................83
Преобразование двоичного адреса в десятичный........................................................................84
Преобразование из десятичного формата в двоичный................................................................84
Маска подсети IPv4..............................................................................................................................85
Сетевая и узловая части IPv4-адреса..............................................................................................85
Анализ длины префикса..................................................................................................................86
Сетевой адрес, адрес узла и широковещательный адрес сети IPv4............................................86
Первый и последний адреса узлов................................................................................................87
Побитовая операция И....................................................................................................................88
Значение операции И......................................................................................................................88
Одноадресная, широковещательная и многоадресная рассылка IPv4...........................................89
Присвоение узлу статического IPv4-адреса...................................................................................89
Присвоение узлу динамического IPv4-адреса...............................................................................89
Одноадресная передача.................................................................................................................90
Широковещательная передача......................................................................................................91
Многоадресная передача...............................................................................................................92
Типы IPv4-адресов...............................................................................................................................92
Сетевые IPv6-адреса................................................................................................................................97
Проблемы с IPv4..................................................................................................................................97
Потребность в IPv6...........................................................................................................................97
Совместное использование протоколов IPv4 и IPv6.....................................................................98
Адресация IPv6.....................................................................................................................................99
Шестнадцатеричная система исчисления......................................................................................99
Представление IPv6-адресов........................................................................................................100
Правило 1: пропуск начальных нулей..........................................................................................101
Правило 2: пропуск всех нулевых блоков....................................................................................101
Типы IPv6-адресов.............................................................................................................................102
Разбиение IPv4-сети на подсети...........................................................................................................105
Сегментация сети...............................................................................................................................105
Причины разбиения на подсети...................................................................................................105
Обмен данными между подсетями.............................................................................................105
Значимость разбиения IP-сети на подсети......................................................................................106
Разбиение IPv4-сети на подсети.......................................................................................................107
Базовое разбиение на подсети.....................................................................................................107
Используемые подсети.................................................................................................................108
Формулы разделения на подсети.................................................................................................108
Определение маски подсети............................................................................................................109
Разбиение на подсети на основе требований узлов...................................................................109
Разбиение на подсети на основе требований сетей...................................................................109
Преимущества разбиения на подсети с использованием маски переменной длины.................112
Традиционное разбиение ненужных адресов на подсети.........................................................112
Маски подсетей переменной длины (VLSM)...............................................................................112
Базовая модель VLSM....................................................................................................................113
VLSM на практике...........................................................................................................................113
Схема VLSM....................................................................................................................................114
Протокол Ethernet

Принцип работы Ethernet


Подуровни LLC и MAC

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


сетей.

Ethernet функционирует на канальном и физическом уровнях. Это семейство сетевых технологий,


которые регламентируются стандартами IEEE 802.2 и 802.3. Технология Ethernet поддерживает
передачу данных на скоростях:

 10 Мбит/с

 100 Мбит/с

 1000 Мбит/с (1 Гбит/с)

 10 000 Мбит/с (10 Гбит/с)

 40 000 Мбит/с (40 Гбит/с)

 100 000 Мбит/с (100 Гбит/с)

Как показано на рис. 1, стандарты Ethernet регламентируют как протоколы уровня 2, так и
технологии уровня 1. Для протоколов второго уровня, как и в случае со всеми стандартами группы
IEEE 802, технология Ethernet полагается на работу этих двух отдельных подуровней канального
уровня, а также на подуровни управления логическим каналом (LLC) и MAC.
Подуровень LLC

Подуровень LLC технологии Ethernet обеспечивает связь между верхними и нижними уровнями.
Как правило, это происходит между сетевым программным обеспечением и аппаратным
обеспечением устройства. Подуровень LLC использует данные сетевых протоколов, которые
обычно представлены в виде пакета IPv4, и добавляет управляющую информацию, чтобы помочь
доставить пакет к узлу назначения. LLC используется для связи с верхними уровнями приложений
и перемещает пакет для доставки на нижние уровни.

LLC реализован в программном обеспечении, и его применение не зависит от оборудования. LLC


для компьютера можно рассматривать как программное обеспечение драйвера сетевой платы
(NIC). Драйвер сетевой платы — это программа, которая непосредственно взаимодействует с
аппаратными средствами компьютера на сетевой интерфейсной плате для передачи данных
между подуровнем MAC и физической средой.

Подуровень MAC

MAC представляет собой более низкий подуровень канального уровня. MAC реализуется
аппаратно — обычно в сетевой интерфейсной плате компьютера. Спецификации содержатся в
стандартах IEEE 802.3. На рис. 2 приведен список общих стандартов IEEE Ethernet.

Подуровень MAC
Как показано на рисунке, подуровень MAC Ethernet выполняет две основные задачи:

 Инкапсуляция данных

 Управление доступом к среде передачи данных

Инкапсуляция данных

Процесс инкапсуляции данных включает в себя сборку кадра перед его отправкой и разборку
кадра после его получения. При формировании кадра на уровне MAC к PDU сетевого уровня
добавляются заголовок и концевик.

Инкапсуляция данных обеспечивает три основных функции.

 Разделение кадра. Процесс формирования кадров предоставляет важные разделители,


которые используются для определения группы битов, составляющих кадр. Этот процесс
обеспечивает синхронизацию между передающими и получающими узлами.

 Адресация. Процесс инкапсуляции также обеспечивает адресацию канального уровня.


Каждый заголовок Ethernet, добавляемый в кадр, содержит физический адрес (MAC-адрес),
посредством которого кадр доставляется к узлу назначения.

 Обнаружение ошибок. Каждый кадр Ethernet содержит концевик с циклическим контролем


по избыточности (CRC) содержимого кадра. После приёма кадра получающий узел создаёт
CRC для сравнения с аналогичным параметром в кадре. Если эти два расчета CRC
совпадают, кадр может считаться полученным без ошибок.

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

Управление доступом к среде передачи данных

Второй функцией подуровня MAC является управление доступом к среде передачи данных.
Управление доступом к среде передачи данных отвечает за размещение кадров в этой среде и
удаление из нее кадров. Судя по названию этой функции, она позволяет управлять доступом к
среде передачи данных. Этот подуровень напрямую взаимодействует с физическим уровнем.

Основная логическая топология Ethernet — это шина с множественным доступом; следовательно,


среда передачи данных используется всеми узлами (устройствами) в одном сегменте сети.
Ethernet — это способ ассоциативного доступа организации сети. Следует помнить, что метод
ассоциативного доступа (или недетерминированный метод) означает, что любое устройство может
постоянно предпринимать попытку передать данные в общей среде при наличии у него таких
данных для отправки. При этом если несколько устройств в одной среде начнут вместе передавать
информацию (подобно тому, как два человека попытаются разговаривать одновременно), то
возникнет конфликт при передаче данных, который приведёт к их повреждению и невозможности
дальнейшего использования. Чтобы не допустить подобной ситуации, Ethernet задействует метод
множественного доступа с контролем несущей (CSMA) для управления общим доступом узлов.

Управление доступом к среде передачи данных

Процесс CSMA используется для того, чтобы сначала определить, передаётся ли сигнал в среде.
Если в среде обнаружен сигнал несущей частоты, исходящий от другого узла, это значит, что в
данный момент другое устройство осуществляет передачу данных. Если среда занята, когда
устройство пытается передать данные, оно подождёт и повторит попытку позже. Если сигнал
несущей частоты не обнаружен, данное устройство начнёт передачу данных. Существует
вероятность возникновения сбоя процесса CSMA, в результате чего два устройства будут
передавать данные одновременно. Это называется коллизией данных. В этом случае данные,
отправленные обоими устройствами, будут повреждены, из-за чего потребуется их повторная
отправка.

Способы контроля доступа к среде передачи на основе ассоциативного доступа не требуют


наличия механизмов для отслеживания очередности доступа к среде; следовательно, они не
обладают нагрузкой на ресурсы, присущей способам контролируемого доступа. Однако
ассоциативные системы не отличаются хорошей масштабируемостью в условиях сильной
загруженности среды. По мере увеличения интенсивности нагрузки и количества узлов снижается
вероятность получить доступ к среде без коллизий. Кроме того, пропускная способность среды
также уменьшается, так как для исправления ошибок, вызванных такими коллизиями, требуется
задействовать механизмы восстановления.

Как показано на рисунке, CSMA обычно используется совместно с одним из методов разрешения
конфликтов в среде. К двум наиболее широко распространённым методам относятся следующие.
Обнаружение коллизий/CSMA

При обнаружении коллизий/CSMA (CSMA/CD) устройство проверяет среду на наличие в ней


сигнала данных. Если этот сигнал отсутствует, указывая на то, что среда передачи не загружена,
устройство передаёт данные. Если позже обнаруживаются сигналы о том, что в то же время
передачу данных осуществляло другое устройство, передача данных на всех устройствах
прерывается и переносится на другое время. Для использования этого метода были разработаны
традиционные формы Ethernet.

В современных сетях широкое применение технологий коммутации позволило практически


полностью исключить первоначальную потребность в CSMA/CD для локальных сетей. Почти все
проводные соединения между устройствами в современных локальных сетях являются
полнодуплексными, т. е. способность устройства одновременно отправлять и принимать данные.
Это означает, что, несмотря на то, что сети Ethernet разрабатывались с учетом использования
технологии CSMA/CD, современные промежуточные устройства позволяют устранить коллизии, и
процессы, обеспечиваемые CSMA/CD, в действительности уже не требуются.

Тем не менее, для беспроводных соединений в среде локальной сети возможность возникновения
таких коллизий всё еще необходимо учитывать. Устройства в беспроводной локальной сети
используют метод доступа к среде передачи данных с контролем несущей и предотвращением
коллизий (CSMA/CA).

Контроль несущей и предотвращение коллизий (CSMA/CA)

При использовании CSMA/CA устройство проверяет среду передачи данных на наличие в ней
сигнала данных. Если среда не загружена, данное устройство отправляет по среде уведомление о
намерении использовать её для передачи данных. Затем устройство отправляет данные. Этот
способ используется беспроводными сетевыми технологиями стандарта 802.11.

MAC-адрес: идентификация Ethernet

Как уже упоминалось ранее, основная логическая топология Ethernet — это шина с
множественным доступом. Каждое сетевое устройство подключено к одной и той же общей среде
передачи данных, и все узлы получают все передаваемые кадры. Проблема заключается в том,
что если все устройства принимают все кадры, как каждое отдельное устройство может
определить, является ли оно запланированным получателем, без дополнительной необходимости
в обработке и декапсуляции кадра для достижения IP-адреса? Ситуация усложняется ещё больше
в крупных сетях с высоким объёмом трафика, в которых пересылается значительное количество
кадров.

Для предотвращения чрезмерных нагрузок, возникающих при обработке каждого кадра, был
создан уникальный идентификатор — MAC-адрес, который используется для определения
фактических узлов источника и назначения в пределах сети Ethernet. Независимо от типа
используемой сети Ethernet MAC-адресация обеспечила метод идентификации устройств на более
низком уровне модели OSI. Возможно, вы помните, что MAC-адресация добавляется как часть
PDU уровня 2. MAC-адрес Ethernet — это 48-битное двоичное значение, выраженное в виде 12
шестнадцатеричных чисел (4 бита для каждой шестнадцатеричной цифры).
Структура MAC-адресов

MAC-адреса должны быть уникальными в глобальном масштабе. Значение MAC-адреса — это


непосредственный результат применения правил, которые разработаны институтом IEEE для
поставщиков, чтобы обеспечить глобальные уникальные адреса для каждого устройства Ethernet.
В соответствии с этими правилами каждый поставщик, который занимается реализацией Ethernet-
устройств, должен быть зарегистрирован в IEEE. IEEE присваивает поставщику 3-байтный (24-
битный) код, который называется уникальным идентификатором организации (OUI).

Институт IEEE требует от поставщиков соблюдения двух простых правил, как показано на рисунке:

 Все MAC-адреса, назначаемые сетевой интерфейсной плате или другому устройству


Ethernet, должны в обязательном порядке использовать этот идентификатор OUI поставщика
в виде первых 3 байтов.

Всем MAC-адресам с одним и тем же идентификатором OUI должно быть присвоено уникальное
значение (код производителя или серийный номер), которое указывается в виде последних 3
байтов.

Обработка кадров

MAC-адрес часто называется аппаратным адресом (BIA), поскольку исторически сложилось так,
что он записывается в ПЗУ (постоянное запоминающее устройство) на сетевой интерфейсной
плате. Это означает, что адрес вносится в чип ПЗУ на аппаратном уровне, и его изменение с
помощью программного обеспечения невозможно.

Примечание. Операционные системы и сетевые платы современных компьютеров поддерживают


возможность изменения MAC-адреса с использованием программ. Это удобно при попытке
получения доступа к сети, в которой используется фильтрация на основе BIA; следовательно,
фильтрация или отслеживание трафика на основе MAC-адреса более не является надёжным
способом.

MAC-адреса присваиваются рабочим станциям, серверам, принтерам, коммутаторам и


маршрутизаторам — любому устройству, которое должно отправлять или получать данные в сети.
Все устройства, подключённые к локальной сети Ethernet, имеют интерфейсы с использованием
MAC-адресов. Различные производители оборудования и программного обеспечения могут
представлять MAC-адрес в разных шестнадцатеричных форматах. Форматы адресов могут иметь
примерно следующий вид:

 00-05-9A-3C-78-00

 00:05:9A:3C:78:00

 0005.9A3C.7800

При запуске компьютера сетевая плата вначале копирует MAC-адрес из ПЗУ в ОЗУ. Если
устройство пересылает сообщение в сеть Ethernet, оно добавляет к пакету информацию
заголовка. Информация заголовка содержит MAC-адреса источника и назначения. Исходное
устройство отправляет данные по сети.

Каждая сетевая плата в сети просматривает информацию (на подуровне MAC), чтобы узнать,
соответствует ли MAC-адрес назначения в кадре MAC-адресу физического устройства в ОЗУ. Если
не удаётся обнаружить совпадения, устройство отклоняет кадр. Когда кадр достигает назначения,
в котором MAC-адрес сетевой платы соответствует MAC-адресу получателя кадра, сетевая плата
передаёт кадр на верхние уровни OSI, где происходит процесс деинкапсуляции

Атрибуты кадра Ethernet


Инкапсуляция Ethernet

С момента создания Ethernet в 1973 г. стандарты технологии совершенствовались, появлялись её


более быстрые и гибкие версии. Развитие Ethernet с течением времени — одна из основных
причин популярности технологии. Скорость ранних версий Ethernet была сравнительно низкой,
всего 10 Мбит/с. Современные версии сети Ethernet работают со скоростью 10 гигабит в секунду и
выше. На рис. 1 приведены изменения технологии Ethernet на примере различных версий.

На канальном уровне структура кадра практически идентична для всех скоростей Ethernet.
Структура кадра Ethernet добавляет заголовки и концевики вокруг PDU третьего уровня для
последующей инкапсуляции отправляемого сообщения.

Как заголовок, так и концевик Ethernet имеют несколько разделов информации, которые
используются протоколом Ethernet. Каждый раздел кадра называется полем. Как показано на рис.
2, существуют два стиля формирования кадров Ethernet:

 стандарт Ethernet IEEE 802.3, который несколько раз обновлялся в соответствии с новыми
технологиями;

 стандарт Ethernet DIX, который теперь называется Ethernet II.

Различия между стилями формирования кадров минимальны. Наиболее существенным различием


между этими двумя стандартами является добавление в стандарте 802.3 начала разделителя
кадра (SFD) и изменение поля «Тип» на поле «Длина».

Ethernet II — это формат кадра Ethernet, используемый в сетях TCP/IP.


Размер кадра Ethernet

Оба стандарта Ethernet II и IEEE 802.3 определяют минимальный размер кадра как 64 байта, а
максимальный — 1518 байт. К этому количеству относятся все байты, начиная с поля «MAC-адрес
назначения» и заканчивая полем «Контрольная последовательность кадра (FCS)». Поля
«Преамбула» и «Начало разделителя кадра (SFD)» при описании размера кадра не включаются.

Любой кадр с длиной менее 64 байт считается «фрагментом коллизии», или «карликовым
кадром», и автоматически отклоняется принимающими станциями.

Стандарт IEEE 802.3ac, выпущенный в 1998 году, позволил увеличить максимальный допустимый
размер кадра до 1522 байт. Размер кадра был увеличен для использования технологии, которая
называется «виртуальной локальной сетью» (VLAN). Виртуальные локальные сети создаются в
пределах коммутируемой сети и будут рассматриваться при изучении одного из последующих
курсов. Кроме того, множество технологий, которые обеспечивают качество обслуживания (QoS),
используют поле «Приоритет пользователя», чтобы реализовать разные уровни обслуживания,
такие как приоритет обслуживания для передачи голосового трафика. На рисунке показаны поля,
содержащиеся в маркере 802.1Q VLAN.

Если размер передаваемого кадра меньше минимального значения или больше максимального
значения, получающее устройство сбрасывает такой кадр. Отброшенные кадры, скорее всего,
являются результатом коллизий или других нежелательных сигналов и, следовательно, считаются
недействительными.

На канальном уровне структура кадра практически идентична. На физическом уровне различные


версии Ethernet могут использовать разные способы обнаружения и помещения данных в среду
передачи.
Поля кадра Ethernet.

Основными полями кадра Ethernet являются следующие.

 Поля «Преамбула» и «Начало разделителя кадра». Поля «Преамбула» (7 байт) и


«Начало разделителя кадра (SFD)», которое также называется «Начало кадра» (1 байт),
используются для синхронизации отправляющих и получающих устройств. Эти первые 8 байт
кадра необходимы для привлечения внимания получающих узлов. По существу, первые
несколько байт сообщают получателям о необходимости приготовиться к поступлению нового
кадра.

 Поле «MAC-адрес назначения». Это поле (6 байт) является идентификатором для


предполагаемого получателя. Как вы помните, этот адрес используется уровнем 2, чтобы
помочь устройствам определить, адресован ли кадр именно им. Адрес в кадре сравнивается
с MAC-адресом в устройстве. В случае совпадения устройство принимает кадр.

 Поле «MAC-адрес источника». Это поле (6 байт) определяет сетевую плату или
интерфейс, отправившие кадр.

 Поле «Длина». В любом стандарте IEEE 802.3, используемом до 1997 года, поле «Длина»
определяет точную длину поля данных кадра. Позже оно используется как часть контрольной
последовательности кадра (FCS), чтобы обеспечить правильность получения сообщения. В
других случаях это поле используется, чтобы описывать, какой протокол более высокого
уровня присутствует. Если 2-октетное значение равно или превышает шестнадцатеричный
формат 0x0600 или десятичное число 1536, то содержимое поля «Данные» декодируется в
соответствии с указанным протоколом EtherType. Если же значение равно или менее
шестнадцатеричного формата 0x05DC или десятичного числа 1500, то поле «Длина»
позволяет обозначить использование формата кадра IEEE 802.3. Вот таким образом
различаются кадры Ethernet II и 802.3.

 Поле «Данные». Это поле (46—1500 байт) содержит инкапсулированные данные из более
высокого уровня, который является универсальным PDU уровня 3, или, что используется
чаще, — пакетом IPv4. Длина всех кадров должна быть не менее 64 байт. В случае
инкапсуляции небольшого пакета используются дополнительные биты, которые называются
символами-заполнителями, для увеличения размера кадра до этого минимального значения.

 Поле «Контрольная последовательность кадра». Поле «Контрольная


последовательность кадра (FCS)» (4 байта) используется для обнаружения ошибок в кадре. В
нём используется циклический контроль избыточности (CRC). Отправляющее устройство
включает в себя результаты циклического контроля избыточности в поле FCS кадра.
Получающее устройство принимает кадр и создаёт CRC для поиска ошибок. Если расчёты
совпадают, ошибки отсутствуют. Несовпадение расчётов означает изменение данных;
следовательно, кадр сбрасывается. Данные могут измениться в результате нарушения
электрических сигналов, которые представляют биты.

MAC Ethernet
MAC-адреса и шестнадцатеричная система счисления

Использование MAC-адресов является одним из наиболее важных аспектов технологии локальной


сети Ethernet. MAC-адреса используют шестнадцатеричную систему счисления.

Шестнадцатеричный — это слово, которое используется и как существительное, и как


прилагательное. При использовании отдельно (как существительное) оно означает
шестнадцатеричную систему счисления. Шестнадцатеричная система счисления обеспечивает
удобный способ для представления двоичных значений. Подобно тому, как десятичный формат
является системой счисления с основанием 10, а двоичный — с основанием 2,
шестнадцатеричный формат представляет собой систему счисления с основанием 16.

В системе счисления с основанием 16 используются цифры от 0 до 9 и буквы от A до F. На рис. 1


показаны соответствующие десятичные и шестнадцатеричные значения для двоичного кода 0000
—1111. Нам проще представить значение в виде одной шестнадцатеричной цифры, чем в виде
четырёх двоичных битов.

Если 8 бит (байт) — это общепринятая бинарная группа, двоичный код 00000000—11111111 может
быть представлен в шестнадцатеричной системе исчисления в качестве диапазона 00–FF. Чтобы
заполнить 8-битное представление, всегда отображаются ведущие нули. Например, двоичное
значение 0000 1010 показано в шестнадцатеричной системе как 0A.

Примечание. Важно отличать шестнадцатеричные значения от десятичных относительно


символов от 0 до 9, как показано на рис. 1.

Представление шестнадцатеричных значений

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


после 0x (например, 0x73) или подстрочного индекса 16. В остальных, более редких случаях, за
ним может располагаться H (например, 73H). Однако, поскольку подстрочный текст не
распознаётся в командной строке или средах программирования, перед техническим
представлением шестнадцатеричных значений стоит «0x» (нулевой Х). Так, приведённые выше
примеры будут отображаться как 0x0A и 0x73 соответственно.
Шестнадцатеричная система счисления используется для представления MAC-адресов Ethernet и
IP-адресов версии 6.

Шестнадцатеричные преобразования

Числовые преобразования между десятичными и шестнадцатеричными значениями не вызывают


затруднений, однако быстрое деление или умножение на 16 не всегда удобно. При необходимости
такого преобразования обычно проще преобразовать десятичное или шестнадцатеричное
значение в двоичное, а затем преобразовать двоичное значение либо в десятичное, либо
шестнадцатеричное, по мере необходимости.

Обладая определённым опытом, можно распознать шаблоны двоичных разрядов, совпадающих с


десятичными и шестнадцатеричными значениями. На рис. 2 такие шаблоны показаны для
выбранных 8-битных значений.

На узле Windows MAC-адрес адаптера Ethernet можно определить с помощью команды ipconfig


/all. Обратите внимание — на рис. 1 на дисплее отображается, что физический адрес (MAC-
адрес) компьютера имеет вид 00-18-DE-C7-F3-FB. Если у вас есть соответствующие права
доступа, вы можете выполнить эту операцию на своем компьютере.

В зависимости от устройства и операционной системы вы увидите различные представления MAC-


адресов, как показано на рис. 2. Маршрутизаторы и коммутаторы Cisco используют форму
XXXX.XXXX.XXXX, где X — это шестнадцатеричный символ.

MAC-адрес одноадресной рассылки

В сети Ethernet разные MAC-адреса используются для одноадресной, многоадресной и


широковещательной рассылки уровня 2.

MAC-адрес одноадресной рассылки — это уникальный адрес, который используется при отправке
кадра от одного передающего устройства к одному устройству назначения.
В примере, приведённом на рисунке, узел с IP-адресом 192.168.1.5 (источник) запрашивает веб-
страницу с сервера с IP-адресом 192.168.1.200. Для отправки и приёма одноадресного пакета в
заголовке IP-пакета должен указываться IP-адрес назначения. Кроме того, в заголовке кадра
Ethernet должен присутствовать MAC-адрес назначения. IP-адрес и MAC-адрес — это данные для
доставки пакета одному узлу.

MAC-адрес широковещательной рассылки

В пакете широковещательной рассылки содержится IP-адрес назначения, в узловой части которого


присутствуют только единицы (1). Эта нумерация в адресе означает, что все узлы в локальной
сети (домене широковещательной рассылки) получат и обработают пакет. Многие сетевые
протоколы, в частности, DHCP и протокол разрешения адресов (ARP), используют
широковещательные рассылки. Использование широковещательных рассылок протоколом ARP
для сопоставления адресов уровня 2 с уровнем 3 будет рассмотрено в этой главе немного позже.

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


MAC-адрес широковещательной рассылки в кадре Ethernet. В сетях Ethernet используется MAC-
адрес широковещательной рассылки из 48 единиц, который в шестнадцатеричном формате
выглядит как FF-FF-FF-FF-FF-FF.

MAC-адрес многоадресной рассылки

Адреса многоадресных рассылок позволяют исходному устройству рассылать пакет группе


устройств. Устройства, относящиеся к многоадресной группе, получают ее IP-адрес. Диапазон
адресов многоадресных рассылок IPv4 — от 224.0.0.0 до 239.255.255.255. Поскольку адреса
многоадресных рассылок соответствуют группам адресов (которые иногда называются группами
узлов), они используются только как адресаты пакета. У источника всегда одноадресный адрес.

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


которых участвуют несколько человек из разных мест. Кроме того, такие адреса используются при
дистанционном обучении в режиме видеоконференции, когда несколько учащихся подключены к
одному и тому же курсу.

Как и в случае с адресами для одноадресной и широковещательной рассылки, IP-адресу для


многоадресной рассылки требуется соответствующий MAC-адрес, чтобы фактически передавать
кадры по локальной сети. MAC-адрес многоадресной рассылки — это особое значение, которое в
шестнадцатеричном формате начинается с 01-00-5E. Остальная часть MAC-адреса
многоадресной рассылки создаётся путем преобразования нижних 23 бит IP-адреса группы
многоадресной рассылки в 6 шестнадцатеричных символов.

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


многоадресной рассылки 01-00-5E-00-00-C8.

MAC и IP
Главному устройству присваиваются два основных адреса:

 физический адрес (MAC-адрес)

 логический адрес (IP-адрес)


MAC- и IP-адрес функционируют совместно, чтобы определить устройство в сети. Процесс
использования MAC- и IP-адресов для поиска компьютера подобен использованию имени и адреса
отдельного человека для отправки ему письма.

Как правило, имя человека не меняется. Адрес же зависит от местожительства и может


измениться.

Как и в случае с именем человека, MAC-адрес на узле не меняется — он физически внедрён в


сетевую плату узла и известен как физический адрес. Этот адрес остаётся неизменным
независимо от расположения узла в сети.

IP-адрес похож на адрес места жительства человека. Он зависит от фактического расположения


узла. Используя этот адрес, кадр может определить место, куда он должен быть отправлен. IP-
адрес, или сетевой адрес, известен как логический адрес, так как он назначается логическим
путем. Такой адрес присваивается каждому узлу сетевым администратором исходя из параметров
локальной сети, к которой подключён узел. На рисунке показан иерархический характер
определения местоположения отдельного лица с использованием «логического» адреса.
Щёлкните каждую группу, чтобы просмотреть, как происходит фильтрация адреса.

Физический MAC-адрес и логический IP-адрес необходимы компьютеру для обмена данными в


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

Сквозное подключение, MAC- и IP-адреса

Исходное устройство отправит пакет, используя IP-адрес. Одним из наиболее распространённых


способов, с помощью которого исходное устройство может определить IP-адрес устройства
назначения, является использование сервиса доменных имен (DNS), в котором IP-адрес привязан
к имени домена. Например, имя www.cisco.com связано с адресом 209.165.200.225. Используя этот
IP-адрес, пакет будет доставлен в то место в сети, в котором находится устройство назначения.
Именно этот IP-адрес будут использовать маршрутизаторы, чтобы определить наилучший путь к
узлу назначения. Другими словами, IP-адресация позволяет определять поведение IP-пакета при
его прохождении от начального узла к конечному.

При этом в каждом канале на своём пути IP-пакет инкапсулируется в кадре в зависимости от
используемой технологии канала передачи данных, которая связана с этим каналом, например,
технологии Ethernet. Оконечные устройства в сети Ethernet не принимают и не обрабатывают
кадры на основе IP-адресов — вместо этого кадр принимается и обрабатывается на основе MAC-
адресов.

В сетях Ethernet MAC-адреса используются для определения (на более низком уровне) узлов
источника и назначения. Когда подключённый к сети Ethernet узел начинает обмен данными, он
рассылает кадры со своим MAC-адресом в качестве источника и MAC-адресом предполагаемого
получателя в качестве назначения. Все узлы, которые получают кадр, будут считывать MAC-адрес
назначения. Если MAC-адрес назначения совпадёт с MAC-адресом, установленным на сетевой
интерфейсной плате узла, только после этого узел начнёт обработку сообщения.

На рис. 1 показано, как пакет данных, содержащий информацию об IP-адресе, инкапсулируется с


кадрами канального уровня, содержащими информацию о MAC-адресе.

На рис. 2 показано, как происходит инкапсуляция кадров на основе технологии, используемой для
фактического канала.

Каким образом IP-адреса IP-пакетов в потоке данных ассоциируются с MAC-адресами в каждом


канале на пути к узлу назначения? Для этого используется протокол разрешения адресов (ARP).
Протокол разрешения адресов (ARP)

ARP

Следует помнить, что у каждого узла в IP-сети есть как МАС-адрес, так и IP-адрес. Чтобы
отправлять данные, узел должен использовать оба адреса. Узел должен использовать
собственные МАС- и IP-адреса в полях источника, а также предоставить МАС- и IP-адреса для
назначения. Несмотря на то, что IP-адрес назначения будет предоставлен более высоким уровнем
OSI, отправляющему узлу необходим способ найти MAC-адрес назначения для данного канала
Ethernet. В этом заключается назначение протокола ARP.

В своей работе ARP полагается на конкретные типы широковещательных и одноадресных


сообщений Ethernet, которые также называются запросами и ответами ARP.

Протокол ARP выполняет две основные функции:

 сопоставление адресов IPv4 и МАС-адресов

 сохранение таблицы сопоставлений

Функции ARP

Сопоставление адресов IPv4 и МАС-адресов

Чтобы кадр можно было поместить в среду передачи данных локальной сети, ему необходим
MAC-адрес назначения. Когда пакет отправляется к канальному уровню для инкапсуляции в кадре,
узел обращается к таблице в его памяти, чтобы найти адрес канального уровня, который
сопоставлен с IPv4-адресом назначения. Эта таблица называется таблицей ARP или кэшем ARP.
Таблица ARP хранится в оперативной памяти устройства.

Каждая запись или строка в таблице ARP связывает IP-адрес с MAC-адресом. Мы называем
отношения между двумя значениями сопоставлением — это означает, что IP-адрес можно найти в
таблице и с его помощью определить соответствующий MAC-адрес. Таблица ARP временно
сохраняет (кэширует) сопоставление устройств в локальной сети.
Чтобы начать процесс, узел передачи пытается определить MAC-адрес, сопоставленный с IPv4-
адресом назначения. Если это сопоставление в таблице будет найдено, узел использует MAC-
адрес в качестве MAC-адреса назначения в кадре, который инкапсулирует пакет IPv4. Затем кадр
кодируется в сетевой среде передачи данных.

Сохранение таблицы ARP

Таблица ARP сохраняется динамически. Существуют два способа, с помощью которых устройство
может собирать MAC-адреса. Первый способ — мониторинг трафика, который появляется в
сегменте локальной сети. Когда узел получает кадры из среды передачи данных, он может
зарегистрировать IP- и MAC-адреса источника в виде сопоставления в таблице ARP. По мере
передачи кадров по сети устройство заполняет таблицу ARP, добавляя пары адресов.

Второй способ получения пары адресов для устройства — отправка запроса ARP, как показано на
рисунке. Запрос ARP представляет собой широковещательную рассылку уровня 2 на все
устройства в локальной сети Ethernet. Запрос ARP содержит IP-адрес узла назначения и MAC-
адрес широковещательной рассылки, FFFF.FFFF.FFFF. Поскольку это широковещательная
рассылка, все узлы в локальной сети Ethernet получат её и обработают содержимое. Ответ
поступит от того узла, у которого IP-адрес совпадает с IP-адресом в запросе ARP. Ответ будет
представлен в виде кадра одноадресной рассылки, который содержит MAC-адрес,
соответствующий IP-адресу в запросе. Затем этот ответ будет использован для добавления новой
записи в таблицу ARP отправляющего узла.

К записям в таблице ARP добавляются временные метки — для этого используется практически
такая же процедура, что и при добавлении временных меток для записей таблиц MAC-адресов в
коммутаторах. Если к моменту истечения действия временной отметки устройство не получит кадр
от какого-либо определённого устройства, запись для этого устройства будет удалена из таблицы
ARP.

Кроме того, в таблицу ARP можно добавлять статические записи сопоставления, но это
выполняется не часто. Срок действия статических записей в таблице ARP не истекает со
временем, поэтому их необходимо удалять вручную.

Принцип работы ARP


Создание кадра

Как ведет себя узел, когда ему необходимо создать кадр, а кэш ARP не содержит сопоставления
IP-адреса с MAC-адресом назначения? Он отправляет запрос ARP!

Когда протокол ARP получает запрос на сопоставление адреса IPv4 с MAC-адресом, он


обращается к своей таблице ARP для поиска сопоставления, добавленного в кэш. Если такая
запись не найдена, инкапсуляция пакета IPv4 будет невозможна, а процессы уровня 2 уведомят
протокол ARP о том, что ему требуется сопоставление. Затем процессы ARP отправляют пакет
запроса ARP, чтобы найти MAC-адрес устройства назначения в локальной сети. Если устройство,
получившее этот запрос, имеет IP-адрес назначения, оно отправляет ответ ARP. В таблицу ARP
добавляется сопоставление. Теперь пакеты для этого адреса IPv4 можно инкапсулировать в
кадрах.

Если на запрос ARP не отвечает ни одно устройство, пакет отбрасывается, поскольку создание
кадра невозможно. Информация об этом сбое инкапсуляции передаётся на верхние уровни
устройства. Если устройство является промежуточным (например, маршрутизатором), верхние
уровни могут отправить ответ на узел источника с ошибкой в пакете ICMPv4.
Все кадры должны быть доставлены на узел в сегменте локальной сети. Если узел назначения
IPv4 находится в локальной сети, кадр будет использовать MAC-адрес данного устройства в
качестве MAC-адреса назначения.

Если узел назначения IPv4 не находится в локальной сети, узлу источника необходимо доставить
кадр к интерфейсу маршрутизатора, который является шлюзом, или следующим переходом,
используемым для достижения этого узла назначения. Исходный узел будет использовать MAC-
адрес шлюза в качестве адреса назначения для кадров, которые содержат пакет IPv4,
адресованный узлам в других сетях.

Адрес шлюза интерфейса маршрутизатора сохраняется в IPv4-конфигурации узлов. Когда узел


создаёт пакет для адресата, он сравнивает IP-адрес назначения и свой собственный IP-адрес,
чтобы определить, находятся ли эти два IP-адреса в одной и той же сети уровня 3. Если узел-
получатель находится в пределах другой сети, источник использует процесс ARP для определения
МАС-адреса интерфейса маршрутизатора, выступающего в качестве шлюза.

В случае если запись шлюза отсутствует в таблице, обычный процесс ARP отправит запрос ARP
для получения MAC-адреса, связанного с IP-адресом интерфейса маршрутизатора.

Для каждого устройства таймер кэша ARP удаляет записи ARP, которые не используются в
течение указанного периода времени. Этот период может быть разным в зависимости от
устройства и его операционной системы. Например, некоторые операционные системы Windows
хранят записи кэша ARP в течение 2 минут. Если в течение этого периода запись используется
повторно, таймер ARP будет увеличен для неё до 10 минут.

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

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


системы, с помощью которой можно удалить содержимое кэша ARP. Эти команды не вызывают
выполнение ARP. Они только удаляют записи таблицы ARP. Служба ARP интегрирована внутри
протокола IPv4 и реализуется устройством. Её работа очевидна как для приложений верхнего
уровня, так и для пользователей.

На маршрутизаторе Cisco команда show ip arp используется для отображения таблицы ARP.


На компьютерах под управлением Windows 7 команда arp –a используется для отображения
таблицы ARP.

Проблемы ARP

На рисунке показаны две потенциальные проблемы, которые могут возникнуть при использовании
ARP.

Нагрузка на среду передачи данных


Являясь кадром широковещательной рассылки, запрос ARP получается и обрабатывается всеми
устройствами в локальной сети. В стандартной корпоративной сети такие широковещательные
рассылки, скорее всего, не окажут серьёзного влияния на производительность сети. Тем не менее,
если необходимо обеспечить питанием большое количество устройств, и все они одновременно
попытаются получить доступ к сетевым службам, это может на короткий период времени
негативно повлиять на продуктивность работы сети. Например, если все учащиеся, выполняющие
лабораторную работу, одновременно выполнят доступ в систему учебных компьютеров и
попытаются подключиться к Интернету, это может привести к появлению задержек. При этом,
после того как устройства разошлют начальные запросы широковещательной рассылки ARP и
получат необходимые MAC-адреса, любое влияние на сеть будет сведено к минимуму.

Безопасность

В некоторых случаях использование протокола ARP может представлять определённый риск для
безопасности. ARP-спуфинг (также называемый «отравлением» ARP-кэша) используется
злоумышленниками, чтобы с помощью фальшивых запросов ARP добавить в сеть заведомо
неправильную связь с MAC-адресом. Злоумышленник фальсифицирует MAC-адрес устройства,
после чего кадры могут отправляться на неправильный адрес назначения.

Конфигурация статических связей ARP вручную — это один из способов предотвращения ARP-
спуфинга. На некоторых устройствах можно указать допустимые MAC-адреса, и в результате
доступ к сети смогут получить только указанные устройства.

Устранение неполадок

Используя современные коммутаторы, можно уменьшить количество проблем, связанных с


широковещательными рассылками и обеспечением безопасности при работе с протоколом ARP.
Коммутаторы Cisco поддерживают несколько технологий обеспечения безопасности, которые
специально предназначены для решения проблем в сетях Ethernet, связанных с
широковещательными рассылками в целом и с использованием протокола ARP в частности.

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


коллизионных доменов. Каждый порт на коммутаторе представляет собой отдельный
коллизионный домен и обеспечивает полную пропускную способность для одного или нескольких
узлов, подключённых к этому порту. Несмотря на то, что по умолчанию коммутаторы не
предотвращают распространение широковещательных рассылок на подключённые устройства,
они действительно изолируют одноадресные рассылки в сети Ethernet таким образом, чтобы их
могли «услышать» только устройства источника и назначения. Поэтому при наличии большого
количества запросов ARP каждый ответ ARP будет передаваться только между двумя
устройствами.

Относительно снижения вероятности различных атак с использованием широковещательной


рассылки, к которым уязвимы сети Ethernet, сетевые специалисты могут применять
технологические разработки, обеспечивающие безопасность коммутаторов Cisco, такие как
создание специальных списков доступа и защита портов.

Коммутаторы LAN

Коммутация
Следует помнить, что логическая топология сети Ethernet — это шина с множественным доступом,
в которой все устройства используют общий доступ к одной и той же среде передачи данных. Эта
логическая топология определяет, как узлы в сети просматривают и обрабатывают кадры,
отправляемые и получаемые в этой сети. Тем не менее, в настоящее время практически во всех
сетях Ethernet используется физическая топология типа «звезда» или «расширенная звезда». Это
означает, что в большинстве сетей Ethernet оконечные устройства, как правило, подключаются к
коммутатору LAN уровня 2 по принципу «точка-точка».
Коммутатор LAN уровня 2 осуществляет коммутацию и фильтрацию только на основе МАС-адреса
канального уровня модели OSI. Коммутатор полностью прозрачен для сетевых протоколов и
пользовательских приложений. Коммутатор уровня 2 создаёт таблицу МАС-адресов, которую в
дальнейшем использует для принятия решений о пересылке пакетов. В процессе передачи данных
между независимыми IP-подсетями коммутаторы уровня 2 полагаются на маршрутизаторы.

Таблица MAC-адресов коммутатора

Коммутаторы используют MAC-адреса для передачи данных по сети через свою коммутирующую
матрицу на соответствующий порт в направлении узла назначения. Коммутирующая матрица
представляет собой интегрированные каналы и дополняющие средства машинного
программирования, что позволяет контролировать пути прохождения данных через коммутатор.
Чтобы коммутатор смог понять, какой порт необходимо использовать для передачи кадра
одноадресной рассылки, сначала ему необходимо узнать, какие узлы имеются на каждом из его
портов.

Коммутатор определяет способ обработки входящих кадров, используя для этого собственную
таблицу МАС-адресов. Он создаёт собственную таблицу MAC-адресов, добавляя в нее MAC-
адреса узлов, которые подключены к каждому из его портов. После внесения MAC-адреса для того
или иного узла, подключённого к определённому порту, коммутатор сможет отправлять
предназначенный для этого узла трафик через порт, который сопоставлен с узлом для
последующих передач.

Если коммутатор получает кадр данных, для которого в таблице нет MAC-адреса назначения, он
пересылает этот кадр на все порты, за исключением того, на котором этот кадр был принят. Если
от узла назначения поступает ответ, коммутатор вносит MAC-адрес узла в таблицу адресов,
используя для этого данные из поля адреса источника кадра. В сетях с несколькими
подключёнными коммутаторами в таблицы MAC-адресов вносятся несколько MAC-адресов портов,
соединяющих коммутаторы, которые отражают элементы за пределами узла. Как правило, порты
коммутатора, используемые для подключения двух коммутаторов, имеют несколько MAC-адресов,
внесённых в соответствующую таблицу.

Описание этого процесса приведено ниже.

Шаг 1. Коммутатор получает кадр широковещательной рассылки от PC1 на порт 1.

Шаг 2. Коммутатор вводит МАС-адрес источника и порт коммутатора, получившего кадр, в таблицу
МАС-адресов.

Шаг 3. Поскольку адрес назначения широковещательный, коммутатор рассылает кадр по всем


портам, кроме порта, по которому он был получен.

Шаг 4. Устройство назначения отвечает на широковещательную рассылку индивидуальным


кадром по адресу PC1.

Шаг 5. Коммутатор добавляет МАС-адрес источника PC2 и номер порта коммутатора,


получившего кадр, в таблицу МАС-адресов. Адрес назначения кадра и соответствующий порт
находятся в таблице МАС-адресов.

Шаг 6. Теперь коммутатор может пересылать кадры между устройствами источника и назначения
без лавинной рассылки, поскольку у него есть записи в таблице МАС-адресов, которые
идентифицируют соответствующие порты.

Примечание. Таблицу MAC-адресов иногда называют таблицей ассоциативной памяти (CAM).


Хотя понятие «таблица ассоциативной памяти» используется относительно часто, в этом курсе мы
будем называть её таблицей MAC-адресов.
Настройки дуплексного режима

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


приложений, они способны функционировать в разных режимах, что может как положительно, так
и отрицательно отразиться на пересылке кадров Ethernet по сети. Одним из базовых параметров
коммутатора является дуплексный режим для каждого отдельного порта, подключённого к
каждому главному устройству. Порт на коммутаторе должен быть настроен таким образом, чтобы
совпадать с параметрами дуплексного режима определённого типа среды передачи данных. Для
обмена данными в сетях Ethernet используются два типа настроек дуплексного режима:
полудуплексный и полнодуплексный.

Полудуплексная передача данных

Полудуплексная связь использует однонаправленный поток данных, когда отправка и получение


данных не выполняются в одно и то же время. Это подобно использованию рации, когда
единовременно может говорить только один человек. Если кто-либо пытается говорить во время
разговора другого человека, происходит коллизия. В результате при полудуплексной связи
используется множественный доступ с контролем несущей и определением коллизий, что
позволяет снизить вероятность коллизий и обнаружить их в случае возникновения. При
полудуплексной связи возможно снижение производительности, вызванное постоянным
пребыванием в режиме ожидания, поскольку данные могут передаваться одновременно только в
одном направлении. Полудуплексные соединения, как правило, встречаются на более старом
оборудовании, например на концентраторах. Узлы, которые подключены к концентраторам,
совместно использующим подключение к порту коммутатора, должны работать в полудуплексном
режиме, так как конечные компьютеры должны иметь возможность обнаруживать коллизии. Узлы
могут функционировать в полудуплексном режиме, если сетевую интерфейсную плату нельзя
настроить для работы в полнодуплексном режиме. В этом случае для порта на коммутаторе по
умолчанию также устанавливается полудуплексный режим. Из-за этих ограничений
полнодуплексная связь заменила полудуплексную на более современном оборудовании.

Полнодуплексная передача данных


В полнодуплексной связи поток данных передаётся в обе стороны, что позволяет одновременно
отправлять и получать информацию. Поддержка двухсторонней передачи данных повышает
производительность за счёт сокращения времени ожидания между передачами. Большинство
продаваемых сегодня сетевых адаптеров Ethernet, Fast Ethernet и Gigabit Ethernet работают в
полнодуплексном режиме. В полнодуплексном режиме детектор коллизий отключён. При этом
исключена возможность столкновения кадров, пересылаемых двумя связанными конечными
узлами, поскольку эти узлы используют два отдельных канала связи в сетевом кабеле. Каждое
полнодуплексное соединение использует только один порт. Полнодуплексным соединениям
требуется коммутатор, который поддерживает полнодуплексный режим, или прямое подключение,
между двумя узлами, каждый из которых поддерживает полнодуплексную передачу данных. Узлы,
которые непосредственно подключены к выделенному порту коммутатора с помощью сетевых
адаптеров, поддерживающих полнодуплексную связь, должны подключаться к портам
коммутатора, настроенных для работы в полнодуплексном режиме.

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


оборудовании.

Коммутатор Cisco Catalyst поддерживает три настройки дуплексного режима:

 Параметр full устанавливает полнодуплексный режим.

 Параметр half устанавливает полудуплексный режим.

 Параметр auto обеспечивает автоматическое согласование дуплексного режима. При


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

Для портов Fast Ethernet и 10/100/1000 по умолчанию выбирается параметр auto. Для портов
100BASE-FX по умолчанию выбирается параметр full. Порты 10/100/1000 функционируют либо в
полудуплексном, либо в полнодуплексном режиме, когда работают со скоростью 10 или 100
Мбит/с, и только в полнодуплексном, когда работают со скоростью 1000 Мбит/с.

Функция Auto-MDIX

Помимо правильной настройки дуплексного режима необходимо определить соответствующий тип


кабеля для каждого порта. Ранее для соединений между определёнными устройствами (типа
«коммутатор-коммутатор», «коммутатор-маршрутизатор», «коммутатор-узел» и «маршрутизатор-
главное устройство») требовалось использование кабелей особого типа (перекрёстных или
прямых). Вместо этого большинство современных коммутирующих устройств поддерживают
команду конфигурации интерфейса mdix auto, которая доступна через CLI и позволяет
использовать автоматическую функцию Auto-MDIX (интерфейс, зависящий от передающей среды
с перекрёстным соединением).

При использовании функции Auto-MDIX коммутатор определяет необходимый тип кабеля для
медных подключений Ethernet и соответствующим образом настраивает интерфейсы. Таким
образом, можно использовать либо перекрёстный, либо прямой кабель для подключений к
медному порту 10/100/1000 коммутатора независимо от типа устройства на другом конце
соединения.

Функция Auto-MDIX включена по умолчанию на коммутаторах под управлением ОС Cisco IOS


12.2(18)SE или более поздней версии. В версиях Cisco IOS от 12.1(14)EA1 до 12.2(18)SE функция
Auto-MDIX по умолчанию отключена.
Способы пересылки кадра на коммутаторах Cisco

В прошлом коммутаторы использовали один из следующих способов пересылки для коммутации


данных между сетевыми портами:

 Коммутация с буферизацией

 Коммутация без буферизации

При коммутации с буферизацией, когда коммутатор получает кадр, он хранит данные в буфере до
тех пор, пока не будет получен весь кадр. Во время сохранения коммутатор анализирует кадр,
чтобы получить информацию о его адресате. При этом коммутатор также выполняет проверку на
наличие ошибок, используя концевую часть кадра Ethernet циклического контроля избыточности
(CRC).

При CRC используется математическая формула, основанная на количестве бит (единиц) в кадре,
что позволяет определить, есть ли ошибка в полученном кадре. После подтверждения
целостности кадра он перенаправляется через соответствующий порт к узлу назначения. Если же
в кадре обнаружена ошибка, коммутатор отклонит его. Отклонение кадров с ошибками позволяет
уменьшить количество пропускной способности, потребляемой повреждёнными данными.
Коммутация с буферизацией необходима для анализа качества обслуживания (QoS) в
конвергированных сетях, в которых требуется классификация кадра для назначения приоритетов
проходящего трафика. Например, при передаче речи по IP потоки данных должны иметь больший
приоритет, чем трафик, используемый для просмотра веб-страниц.

Коммутация без буферизации

При использовании коммутации без буферизации коммутатор обрабатывает данные по мере их


поступления даже в том случае, если передача ещё не завершена. Коммутатор добавляет в буфер
именно такое количество кадра, которое требуется для чтения MAC-адреса назначения, чтобы он
смог определить, на какой порт пересылать данные. MAC-адрес назначения указан в 6 байтах
кадра после преамбулы. Коммутатор ищет MAC-адрес назначения в своей таблице коммутации,
определяет порт исходящего интерфейса и направляет кадр на свой узел назначения через
выделенный порт коммутатора. Коммутатор не проверяет кадр на наличие каких-либо ошибок.
Поскольку коммутатору не нужно ждать добавления в буфер всего кадра целиком, и при этом он
не выполняет проверку ошибок, коммутация без буферизации происходит быстрее, чем
коммутация с буферизацией. Тем не менее, так как коммутатор не проверяет ошибки, он
пересылает повреждённые кадры по всей сети. При пересылке повреждённые кадры уменьшают
пропускную способность. В конечном итоге сетевая плата назначения отклоняет повреждённые
кадры.

Воспроизведите анимацию, чтобы продемонстрировать коммутацию без буферизации.

Существуют два варианта коммутации без буферизации.

 Коммутация с быстрой пересылкой. Коммутация с быстрой пересылкой обеспечивает


наименьший уровень задержки. При такой коммутации пакет пересылается сразу же после
чтения адреса назначения. Поскольку при коммутации с быстрой пересылкой переадресация
начинается до получения всего кадра целиком, могут возникнуть случаи, когда пакеты
передаются с ошибками. Это происходит редко, и сетевой адаптер назначения отклоняет
пакет, содержащий ошибки, после его получения. В режиме быстрой пересылки задержка
измеряется с момента получения первого бита до передачи первого бита. Коммутация с
быстрой пересылкой является типичным способом коммутации без буферизации.

 Коммутация с исключением фрагментов. При коммутации с исключением фрагментов


коммутатор сохраняет первые 64 байта кадра перед его отправкой. Коммутацию с
исключением фрагментов можно рассматривать как компромиссный вариант между
коммутацией с буферизацией и коммутацией с быстрой пересылкой. Причина, по которой при
коммутации с исключением фрагментов сохраняют только первые 64 байта кадра,
заключается в том, что большинство сетевых ошибок и коллизий происходят именно в
первых 64 байтах. Коммутация с исключением фрагментов пытается повысить
эффективность коммутации с быстрой пересылкой, выполняя небольшую проверку ошибок в
первых 64 байтах кадра, чтобы перед пересылкой кадра убедиться в отсутствии коллизии.
Коммутация с исключением фрагментов представляет собой компромисс между большой
задержкой с высокой целостностью (коммутация с буферизацией) и малой задержкой с
меньшей целостностью (коммутация с быстрой пересылкой).

Некоторые коммутаторы настроены на использование коммутации без буферизации для каждого


порта до тех пор, пока не будет достигнуто указанное пользователем предельное количество
ошибок, после чего автоматически устанавливается коммутация с буферизацией. После того, как
частота повторения ошибок снизится до установленного предельного значения, порт
автоматически переключится на использование коммутации без буферизации.

Буферизация памяти на коммутаторах

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

Как показано на рисунке, существуют два метода буферизации памяти: буферизация на базе
портов и буферизация совместного доступа к памяти

Буферизация памяти на базе портов

В процессе буферизации памяти на базе портов кадры хранятся в очередях, связанных с


определёнными входящими и исходящими портами. Кадр пересылается на исходящий порт только
в том случае, если все кадры, находящиеся в очереди перед ним, были успешно отправлены.
Один кадр может стать причиной задержки передачи всех кадров в памяти из-за занятости порта
назначения. Такая задержка возникает и в том случае, если другие кадры могут быть переданы на
открытые порты назначения.

Буферизация совместного доступа к памяти

При буферизации совместного доступа к памяти все кадры помещаются в буфер, который
является общим для всех портов коммутатора. Количество буферной памяти, которое необходимо
каждому порту, выделяется динамически. Кадры в буфере динамически связываются с портом
назначения. Это позволяет получать пакет на один порт и затем пересылать его на другой порт
без перемещения в другую очередь.

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


переслать пакет. Связь сопоставления удаляется после успешной передачи кадра. Количество
кадров, сохранённых в буфере, ограничено размером всего буфера памяти и не ограничивается
буфером одного порта. Это позволяет передавать кадры большего объема, при этом число
сброшенных кадров будет меньше. Это особенно важно для асимметричной коммутации.
Асимметричная коммутация позволяет использовать различные скорости передачи данных на
разных портах. Это обеспечивает выделение пропускной способности некоторым портам,
например, порту, подключённому к серверу.

Коммутация уровня 3
Сравнение коммутации уровня 2 и уровня 3

Помимо определения различных форм-факторов коммутаторов может возникнуть необходимость


выбора между коммутатором LAN уровня 2 и коммутатором уровня 3.

Следует помнить, что коммутатор LAN уровня 2 выполняет коммутацию и фильтрацию, используя
только MAC-адрес (уровень 2) канального уровня OSI, и при этом зависит от маршрутизаторов для
передачи данных между независимыми IP-подсетями (см. рис. 1).

Как показано на рис. 2, коммутатор уровня 3 (например, Catalyst 3560) функционирует подобно
коммутатору уровня 2 (например, Catalyst 2960), но вместо использования только одного MAC-
адреса уровня 2 для принятия решений о пересылке коммутатор уровня 3 может также
использовать также IP-адрес. Вместо того чтобы определять, какие MAC-адреса связаны с каждым
из его портов, коммутатор уровня 3 может также установить, какие IP-адреса связаны с его
интерфейсами. Это позволяет коммутатору уровня 3 перенаправлять трафик по сети, также
используя данные об IP-адресе.

Коммутаторы уровня 3 также могут выполнять функции маршрутизации уровня 3, тем самым
снижая необходимость установки выделенных маршрутизаторов в локальной сети. Поскольку в
коммутаторах уровня 3 установлено специальное аппаратное обеспечение для коммутации, они,
как правило, могут направлять данные со скоростью самой коммутации.

Технология Cisco Express Forwarding

Устройства Cisco, которые поддерживают коммутацию уровня 3, используют технологию Cisco


Express Forwarding (CEF). Этот метод пересылки пакетов довольно сложен, но, к счастью, как и
любая хорошая технология, он в основном выполняется в фоновом режиме. Обычно устройствам
Cisco требуется небольшая настройка для использования технологии CEF.

По сути, CEF отделяет обычную строгую взаимозависимость между процессами принятия решений
уровня 2 и уровня 3. Замедляет пересылку IP-пакетов постоянное взаимное обращение между
структурными компонентами уровня 2 и 3 внутри сетевого устройства. Таким образом, ускорение
пересылки пакетов происходит в том объёме, в каком возможно отделение структур данных
уровней 2 и 3.
Двумя основными компонентами функционирования технологии CEF являются:

 База данных о переадресации (FIB)

 Таблицы смежности

По своей концепции FIB напоминает таблицу маршрутизации. Маршрутизатор использует таблицу


маршрутизации, чтобы определить оптимальный путь к сети назначения, основываясь на сетевой
части IP-адреса назначения. При использовании CEF информация, которая ранее хранилась в
кэше маршрута, вместо этого сохраняется в нескольких структурах данных для коммутации CEF.
Структуры данных обеспечивают оптимизированный поиск эффективной переадресации пакетов.
Сетевое устройство использует таблицу поиска FIB, чтобы принять решение о коммутации в
зависимости от назначения, не обращаясь при этом к кэшу маршрута.

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

Таблицы смежности поддерживают адреса следующего перехода уровня 2 для всех записей FIB.

Разделение информации о достижимости (в таблице FIB) и о пересылке (в таблице смежности)


предоставляет следующие преимущества.

 Таблица смежности может быть создана независимо от таблицы FIB, что позволяет
создавать обе таблицы без коммутации каких-либо обрабатываемых пакетов.

 Перезапись заголовка MAC, используемая для передачи пакета, не хранится в записях


кэша, вследствие чего для изменений в строке перезаписи заголовка MAC не требуется
аннулирование записей кэша.

По умолчанию использование технологии CEF включено для большинства устройств Cisco,


которые выполняют коммутацию уровня 3.
Типы интерфейсов уровня 3

Сетевые устройства Cisco поддерживают несколько различных типов интерфейсов уровня 3.


Интерфейс уровня 3 поддерживает пересылку IP-пакетов к конечному назначению на основе IP-
адреса.

К основным типам интерфейсов уровня 3 относятся следующие.

 Виртуальный интерфейс коммутатора (SVI) — логический интерфейс на коммутаторе,


связанный с виртуальной локальной сетью (VLAN).

 Маршрутизируемый порт — физический порт на коммутаторе уровня 3, настроенный на


работу в качестве порта маршрутизатора.

 EtherChannel уровня 3 — логический интерфейс на устройстве Cisco, который связан с


группой маршрутизируемых портов.

Как было показано ранее, интерфейс SVI для сети VLAN (VLAN1), используемой по умолчанию,
должен быть активирован для обеспечения подключения IP-узла к коммутатору и возможности
удалённого администрирования коммутатора. Интерфейсы SVI также должны быть настроены для
маршрутизации между сетями VLAN. Как уже упоминалось, SVI — это логические интерфейсы,
настроенные для определённых сетей VLAN; для маршрутизации между двумя или более сетями
VLAN каждая из них должна иметь отдельный активированный интерфейс SVI.

Маршрутизируемые порты позволяют коммутаторам Cisco (уровня 3) эффективно выступать в


роли маршрутизаторов. Каждый порт на таком коммутаторе можно настроить в качестве одного из
портов в независимой IP-сети.

Интерфейсы EtherChannel уровня 3 используются для объединения каналов Ethernet уровня 3


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

Примечание. Помимо интерфейсов SVI и EtherChannel уровня 3 другие логические интерфейсы


на устройствах Cisco содержат интерфейсы возвратной петли и интерфейсы туннеля.
Конфигурация маршрутизируемого порта на коммутаторе уровня 3

Порт коммутатора можно настроить таким образом, чтобы он функционировал в качестве


маршрутизируемого порта уровня 3 и действовал в режиме стандартного интерфейса
маршрутизатора. В частности, порт с маршрутизацией:

 не связан с определённой виртуальной локальной сетью (VLAN);

 может быть настроен для работы с протоколом маршрутизации уровня 3;

 является только интерфейсом уровня 3 и не поддерживает протокол уровня 2.

Настройте маршрутизируемые порты, переведя интерфейс в режим уровня 3 с помощью команды


настройки интерфейса no switchport. Затем назначьте IP-адрес порту. Вот и всё!

В следующей главе вы подробно узнаете о функциях маршрутизации.

Заключение
На сегодняшний день Ethernet является наиболее широко используемой технологией для
локальных сетей. Это семейство сетевых технологий, которые регламентируются стандартами
IEEE 802.2 и 802.3. Стандарты Ethernet регламентируют как протоколы второго уровня, так и
технологии первого уровня. Для протоколов второго уровня, как и в случае со всеми стандартами
группы IEEE 802, технология Ethernet полагается на работу этих двух отдельных подуровней
канального уровня, а также на подуровни управления логическим каналом (LLC) и MAC.

На канальном уровне структура кадра практически идентична для всех скоростей Ethernet.
Структура кадра Ethernet добавляет заголовки и концевики вокруг PDU третьего уровня для
последующей инкапсуляции отправляемого сообщения.

Существует два стиля формирования кадров Ethernet: стандарт Ethernet IEEE 802.3 и стандарт
Ethernet DIX, который теперь называется Ethernet II. Наиболее существенным различием между
этими двумя стандартами является добавление в стандарте 802.3 начала разделителя кадра
(SFD) и изменение поля «Тип» на поле «Длина». Ethernet II — это формат кадра Ethernet,
используемый в сетях TCP/IP. Являясь результатом реализации набора стандартов IEEE 802.2/3,
кадр Ethernet предоставляет функции адресации и проверки ошибок.
Адресация Ethernet уровня 2 поддерживает одноадресный, многоадресный и широковещательный
режимы передачи данных. Ethernet использует протокол разрешения адресов (ARP) для
определения MAC-адресов и их сопоставления с известными адресами сетевого уровня.

У каждого узла в IP-сети есть МАС- и IP-адреса. Узел должен использовать собственные МАС- и
IP-адреса в полях источника, а также предоставить МАС- и IP-адреса для назначения. Несмотря
на то, что IP-адрес назначения будет предоставлен более высоким уровнем OSI, отправляющему
узлу необходимо найти MAC-адрес назначения для данного канала Ethernet. В этом заключается
назначение протокола ARP.

В своей работе ARP полагается на конкретные типы широковещательных и одноадресных


сообщений Ethernet, которые также называются запросами и ответами ARP. Протокол ARP
преобразовывает адреса IPv4 в МАС-адреса и сохраняет таблицу сопоставлений.

В большинстве сетей Ethernet оконечные устройства, как правило, подключаются к коммутатору


локальной сети уровня 2 по принципу «точка-точка». Коммутатор LAN уровня 2 осуществляет
коммутацию и фильтрацию только на основе МАС-адреса канального уровня модели OSI.
Коммутатор уровня 2 создаёт таблицу МАС-адресов, которую в дальнейшем использует для
принятия решений о пересылке пакетов. В процессе передачи данных между независимыми IP-
подсетями коммутаторы уровня 2 полагаются на маршрутизаторы.

Коммутаторы уровня 3 также могут выполнять функции маршрутизации уровня 3, тем самым
снижая необходимость установки выделенных маршрутизаторов в локальной сети. Поскольку в
коммутаторах уровня 3 установлено специальное аппаратное обеспечение для коммутации, они,
как правило, могут направлять данные со скоростью самой коммутации.
Протоколы сетевого уровня

Сетевой уровень в процессе передачи данных


Сетевой уровень

Сетевой уровень, или уровень 3 OSI, предоставляет сервисы, позволяющие оконечным


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

 Адресация оконечных устройств: подобно тому, как телефону присваивается


индивидуальный номер, оконечным устройствам необходимо назначить уникальный IP-адрес
для возможности идентификации в сети. Оконечное устройство с настроенным IP-адресом
называется узлом.

 Инкапсуляция: сетевой уровень получает блок данных протокола (PDU) от транспортного


уровня. Во время выполнения процесса, который называется инкапсуляцией, сетевой
уровень добавляет информацию заголовка IP, например IP-адрес узла источника
(отправляющего) и узла назначения (получающего). После добавления в блок PDU
информации заголовка такой блок будет называться пакетом.

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


направляются к узлу назначения в другой сети. Для перемещения к другим сетям пакет
должен быть обработан маршрутизатором. Роль маршрутизатора заключается в том, чтобы
выбрать пути для пакетов и направить их к узлу назначения. Такой процесс называется
маршрутизацией. До того, как достигнуть узла назначения, пакет может пройти через
несколько промежуточных устройств. Каждый маршрут на пути пакета к узлу назначения
называется переходом.

 Деинкапсуляция: по прибытии пакета на сетевой уровень узла назначения этот узел


проверяет IP-заголовок пакета. Если IP-адрес назначения в заголовке совпадает с его
собственным IP-адресом, заголовок IP удаляется из пакета. Процесс удаления заголовков из
нижних уровней называется деинкапсуляцией. После деинкапсуляции пакета, выполняемой
сетевым узлом, полученный блок PDU уровня 4 пересылается соответствующей службе на
транспортном уровне.

В отличие от транспортного уровня (уровень 4 OSI), который управляет передачей данных между
процессами, запущенными на каждом узле, протоколы сетевого уровня указывают структуру
пакета и тип обработки, которые используются для перемещения данных от одного узла к другому.
Функционирование без учета данных, передаваемых в каждом пакете, позволяет сетевому уровню
передавать пакеты для нескольких типов коммуникации между несколькими узлами.

Сетевой уровень в процессе передачи данных

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

 Протокол IP версии 4 (IPv4)

 Протокол IP версии 6 (IPv6)

Среди других устаревших протоколов сетевого уровня, которые не нашли широкого применения,
можно выделить следующие.

 Межсетевой обмен пакетами компании Novell (протокол IPX)


 AppleTalk

 Сетевое обслуживание без установления соединения (CLNS/DECNet)

Эти устаревшие протоколы будут упомянуты только поверхностно.

Характеристики IP-протокола
IP — это сервис сетевого уровня, который реализовывается набором протоколов TCP/IP.

IP был разработан как протокол с низкой нагрузкой. Он обеспечивает только те функции, которые
необходимы для доставки пакета от узла источника к узлу назначения по взаимосвязанной
системе сетей. Этот протокол не предназначен для мониторинга и управления потоком пакетов.
При необходимости эти функции выполняют другие протоколы на других уровнях.

К основным характеристикам IP относятся следующие.

 Без установления соединения: перед отправкой пакетов данных соединение с узлом


назначения не устанавливается.

 Доставка с максимальными усилиями (ненадёжная): доставка пакетов не


гарантируется.

 Независимость от среды: функционирует независимо от среды, в которой передаются


данные.

IP: без установления соединения

Основная роль сетевого протокола — пересылка пакетов между узлами при наименьшей нагрузке
на сеть. Сетевой уровень не имеет отношения (и даже не обладает какой-либо информацией) к
типу обмена данными, который содержится внутри пакета. IP является протоколом без
установления соединения, а это означает, что перед отправкой данных выделенное сквозное
соединение не устанавливается. По своей сути обмен данными без установления соединения
аналогичен отправке письма без предварительного уведомления получателя.
Как показано на рис. 1, почтовая служба использует информацию, указанную на конверте, чтобы
доставить письмо получателю. Адрес на конверте не содержит информации о том, будет ли
получатель присутствовать в момент доставки письма или о том, сможет ли он его прочитать. По
сути, почтовой службе неизвестно содержание доставляемого пакета, и, следовательно, она не
может задействовать какие-либо механизмы исправления ошибок.

При передаче данных без установления соединения используется аналогичный принцип.

Протокол IP не использует соединения и, следовательно, ему не требуется первоначального


обмена контрольной информацией для установления сквозного подключения до начала пересылки
пакетов. IP также не нуждается в дополнительных полях в заголовке блока данных протокола
(PDU) для поддержки установленного соединения. Этот процесс значительно снижает нагрузку IP.
Тем не менее, без предварительно установленного сквозного подключения отправителям
неизвестно, имеются ли устройства-адресаты и способны ли они функционировать в момент
отсылки пакетов, а также получит ли пакет узел назначения и смогут ли устройства-адресаты
получить доступ к пакету и прочитать его. На рис. 2 показан пример обмена данными без
установления соединения.

IP: доставка с максимальными усилиями

IP часто называют ненадёжным протоколом или протоколом доставки с максимальными усилиями.


Это не означает, что в некоторых случаях протокол IP функционирует надлежащим образом, а все
остальное время работает с ошибками, или то, что он плохо подходит для передачи данных.
«Ненадёжный» протокол — тот, который не способен контролировать не доставленные или
повреждённые пакеты и восстанавливаться в случае их появления. Это связано с тем, что хотя
отправляемые пакеты IP и содержат сведения о месте доставки, в них отсутствует информация,
которую можно обработать, чтобы сообщить отправителю об успешно выполненной доставке.
Заголовок пакета не содержит данных синхронизации для отслеживания очерёдности доставки
пакетов. Также не предусмотрены подтверждения доставки пакетов по IP и отсутствуют данные
контроля ошибок, с помощью которых можно отследить, доставлены ли пакеты без повреждений.
Пакеты могут прибыть на узел назначения повреждёнными или с нарушенным порядком, либо не
прибыть совсем. В случае возникновения таких ошибок информация, которая содержится в
заголовке IP, не позволяет выполнить повторную пересылку пакетов.

Если отсутствие пакетов или несоблюдение очерёдности создаёт проблемы для приложений,
использующих данные, сервисы верхнего уровня, например TCP, должны устранить эти проблемы.
Это обеспечивает высокую эффективность работы протокола IP. Если нагрузки надёжности были
включены в IP, то процессы обмена данными, для которых не требуется подключения, или
надёжность могут пострадать от уменьшения пропускной способности и задержек, вызванных
такими нагрузками. В пакете протоколов TCP/IP транспортный уровень может использовать либо
TCP, либо UDP, в зависимости от необходимости обеспечения надёжности передачи данных. Если
решение об обеспечении надёжности принимается на транспортном уровне, это позволит IP
быстрее адаптироваться к различным типам передачи данных.
На рисунке приводится пример передачи данных с использованием протокола IP. Протоколам с
установлением соединения, таким как TCP, для установки соединения требуется обмен
управляющими данными. Для предоставления информации о подключении протоколу TCP также
необходимы дополнительные поля в заголовке PDU.

IP: независимость от среды

Сетевой уровень также не нагружается характеристиками данных среды, в которой передаются


пакеты. Протокол IP действует независимо от среды, которая служит для передачи данных на
нижних уровнях стека протоколов. Как показано на рисунке, любой отдельный пакет IP может
передаваться по кабелю (с помощью электрических импульсов, например оптических сигналов по
волоконному кабелю) или в виде радиосигналов в беспроводных сетях.

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

Тем не менее, существует одна важная характеристика среды передачи, которая учитывается на
сетевом уровне: максимальный размер блока PDU, который способна переслать каждая среда.
Эта характеристика называется максимальным размером передаваемого блока данных (MTU).
Часть обмена контрольными данными между канальным уровнем и сетевым уровнем — это
установление максимального размера пакета. Канальный уровень передаёт значение MTU к
сетевому уровню. Затем сетевой уровень определяет размер пакетов.

В некоторых случаях промежуточное устройство (как правило, это маршрутизатор) должно


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

Протокол IP инкапсулирует, или упаковывает, сегмент транспортного уровня путём добавления


заголовка IP. Этот заголовок используется для доставки пакета на узел назначения. Заголовок IP
остаётся на месте с момента отправки пакета с сетевого уровня узла источника до его прибытия
на сетевой уровень узла назначения.

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


разрабатывать и масштабировать на различных уровнях без влияния на другие уровни. Это
означает, что сегменты транспортного уровня можно легко упаковать с помощью протоколов IPv4
или IPv6 или любого нового протокола, который может быть создан в будущем.

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


функционирования в сети к одним и тем же или разным узлам, либо от них. Во время
маршрутизации, выполняемой этими промежуточными устройствами, учитывается содержимое
заголовка только того пакета, который инкапсулирует сегмент. Во всех остальных случаях часть
данных пакета (то есть инкапсулированный блок PDU транспортного уровня) во время выполнения
процессов на сетевом уровне остаётся неизменной.

Пакет IPv4
В 1983 году протокол IPv4 был впервые использован в Сети управления перспективных
исследований и разработок (ARPANET), предшественнице современного Интернета. IPv4 по-
прежнему является наиболее распространённым протоколом сетевого уровня и широко
применяется в сети Интернет.

Пакет IPv4 состоит из двух частей:

 заголовок IP: определяет характеристики пакета;

 полезная нагрузка: содержит информацию сегмента уровня 4 и фактические данные.

Как показано на рисунке, заголовок пакета IPv4 состоит из нескольких полей, включающих важную
информацию о пакете. Эти поля содержат двоичные числа, которые анализируются процессом
уровня 3. Двоичные значения каждого поля определяют различные параметры пакета IP.
Среди наиболее важных полей в заголовке IPv4 можно выделить следующие.

 Версия: включает в себя 4-битное двоичное значение, определяющее версию IP-пакета.


Для пакетов IPv4 в этом поле всегда указано значение 0100.

 Дифференцированные сервисы (DS): поле, которое ранее называлось «Тип сервиса»


(ToS); DS — это 8-битное поле, используемое для определения приоритета каждого пакета.
Первые 6 бит определяют значение точки кода дифференцированных сервисов (DSCP),
которое используется механизмом обеспечения качества обслуживания (QoS). Последние 2
бита определяют значение явного уведомления о перегрузке (ECN), которое можно
использовать для предотвращения потери пакетов во время перегрузки сети.

 Время существования (TTL): содержит 8-битное двоичное значение, используемое для


ограничения времени существования пакета. Оно указывается в секундах, но обычно
подразумевает количество переходов. Отправитель пакета устанавливает начальное
значение времени существования (TTL), которое уменьшается на единицу, или переход в
процессе каждой обработки пакета маршрутизатором. Если значение в поле TTL
уменьшается до нуля, маршрутизатор отбрасывает пакет и отправляет на IP-адрес источника
сообщение о превышении времени протокола ICMP (управление сообщениями в сети).
Команда traceroute задействует это поле, чтобы определить маршруты, использованные
между источником и назначением.

 Протокол: 8-битное двоичное значение, указывающее тип полезной нагрузки данных,


которые переносит пакет, что позволяет сетевому уровню пересылать данные на
соответствующий протокол более высокого уровня. Часто встречаются значения ICMP (1),
TCP (6), и UDP (17).

 IP-адрес источника: содержит 32-битное двоичное значение, которое представляет IP-


адрес источника пакета.

 IP-адрес назначения: содержит 32-битное двоичное значение, которое представляет IP-


адрес назначения пакета.
Два наиболее часто используемых поля — это IP-адрес источника и IP-адрес назначения. Эти
поля определяют, откуда поступил пакет и куда он направляется. Обычно в процессе передачи от
узла источника к узлу назначения эти адреса не меняются.

Оставшиеся поля используются для определения и проверки пакета либо для


переупорядочивания фрагментированного пакета.

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

 Длина заголовка Интернета (IHL): содержит 4-битное значение, определяющее число 32-
битных слов в заголовке. Значение IHL может отличаться в зависимости от полей
«Параметры» и «Заполнитель». Минимальное значение этого поля — 5 (т. е. 5×32 = 160 бит =
20 байт), а максимальное значение — 15 (т. е. 15×32 = 480 бит = 60 байт).

 Общая длина: 16-битное поле, которое иногда называется длиной пакета, определяет
размер всего пакета (фрагмента), включая заголовок и данные, выражая его в байтах. Пакет
минимальной длины составляет 20 байт (20-байтный заголовок + 0 байт данных), пакет
максимальной длины — 65 535 байт.

 Контрольная сумма заголовка: 16-битное поле, которое используется для проверки


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

Маршрутизатору может понадобиться выполнить фрагментацию пакета при его пересылке из


одной среды передачи данных в другую среду с меньшим максимальным размером пакета. В этом
случае выполняется фрагментация, а пакет IPv4 использует следующие поля для отслеживания
образовавшихся фрагментов.

 Идентификация: 16-битное поле, которое однозначно определяет фрагмент исходного


пакета IP.

 Флаги: 3-битное поле, которое определяет способ фрагментации пакета. Оно


используется с полями «Смещение фрагмента» и «Идентификация» для упрощения
восстановления фрагментов в исходный пакет.

 Смещение фрагмента: 13-битное поле, определяющее порядок, в котором необходимо


расположить фрагменты при восстановлении исходного нефрагментированного пакета.

Примечание. Поля «Параметры» и «Заполнитель» используются редко и в данной главе не


рассматриваются.

Пакет IPv6
На протяжении многих лет протокол IPv4 периодически обновлялся для решения новых задач. Тем
не менее, даже в результате изменений IPv4 по-прежнему имеет три основных недостатка.

 Нехватка IP-адресов. IPv4 может предложить лишь ограниченное количество уникальных


общедоступных IP-адресов. Несмотря на то, что существует примерно 4 миллиарда IPv4-
адресов, возросшее число новых устройств, в которых используется протокол IP, а также
потенциальный рост менее развитых регионов привели к необходимости дополнительно
увеличить количество адресов.
 Расширение таблицы интернет-маршрутизации. Таблица маршрутизации используется
маршрутизаторами для определения оптимальных путей пересылки данных. По мере
увеличения количества серверов (узлов), подключённых к Интернету, также растет число
сетевых маршрутов. Эти маршруты IPv4 потребляют значительное количество памяти и
ресурсов процессоров интернет-маршрутизаторов.

 Нехватка сквозных соединений. Преобразование сетевых адресов (NAT) представляет


собой технологию, которая обычно применяется в сетях IPv4. NAT позволяет различным
устройствам совместно использовать один публичный IP-адрес. При этом, поскольку
публичный IP-адрес используется совместно, IP-адрес узла внутренней сети скрыт. Это
может представлять проблему при использовании технологий, для которых необходимы
сквозные подключения.

В начале 90-х годов специалисты инженерной группы по развитию Интернета (IETF) подняли
вопрос о недостатках протокола IPv4 и начали поиски альтернативных решений. Результатом
поисков стала разработка протокола IP версии 6 (IPv6). IPv6 помогает преодолеть ограничения
протокола IPv4 и значительно расширяет доступные возможности, предлагая функции, которые
оптимально соответствуют текущим и прогнозируемым сетевым требованиям.

К улучшениям, которые предлагает протокол IPv6, относятся следующие.

 Расширенное адресное пространство: IPv6-адреса используют 128-битную


иерархическую адресацию, в отличие от протокола IPv4, использующего 32 бита. Это
существенно увеличивает количество доступных IP-адресов.

 Улучшенная обработка пакетов: структура заголовка IPv6 была упрощена благодаря


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

 Отсутствие необходимости в использовании NAT: благодаря большому количеству


общедоступных IPv6-адресов трансляция сетевых адресов (NAT) не требуется. Клиентские
узлы, от самых крупных предприятий до жилых домов, могут получить общедоступный
сетевой IPv6-адрес. Это позволяет устранить некоторые проблемы, связанные с
преобразованием сетевых адресов, которые возникают при работе приложений, требующих
наличия сквозного подключения.

 Интегрированная безопасность: протокол IPv6 изначально обладает средствами для


аутентификации и обеспечения конфиденциальности. При использовании протокола IPv4 для
этого требовалось реализовать дополнительные функции.

32-битное пространство адресов IPv4 предусматривает примерно 4 294 967 296 уникальных
адресов. Из этого количества могут быть назначены только 3,7 миллиарда, поскольку система
адресации IPv4 подразделяет адреса на классы, резервируя адреса для многоадресных рассылок,
тестирования и других особых целей.
Как показано на рисунке, адресное пространство протокола IP версии 6 поддерживает 340 282 366
920 938 463 463 374 607 431 768 211 456 или 340 ундециллионов адресов, что примерно равно
количеству песчинок на Земле.

Одним из основных конструктивных улучшений протокола IPv6 по сравнению с IPv4 является


упрощённый заголовок IPv6.

Заголовок IPv4 состоит из 20 октетов (до 60 байт, если используется поле «Параметры») и 12
основных полей заголовка, не учитывая поля «Параметры» и «Заполнитель».
Заголовок IPv6 состоит из 40 октетов (главным образом из-за длины адресов IPv6 источника и
назначения) и 8 полей заголовков (3 основных поля заголовков IPv4 и 5 дополнительных полей).

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

Упрощённый заголовок IPv6 предлагает ряд преимуществ по сравнению с IPv4:

 повышенная эффективность маршрутизации для масштабируемости производительности


и скорости пересылки;

 не требуется обработка контрольных сумм;

 упрощённые и более эффективные механизмы заголовков расширений (в отличие от поля


«Параметры» в IPv4);

 поле «Метка потока» предназначена для обработки по потокам без необходимости


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

В заголовке пакета IPv6 используются следующие поля.

 Версия: поле, содержащее 4-битное двоичное значение, которое определяет версию IP-
пакета. Для пакетов IPv6 в этом поле всегда указано значение 0110.

 Класс трафика: 8-битное поле, соответствующее полю «Дифференцированные сервисы


(DS)» в заголовке IPv4. Оно также содержит 6-битное значение точки кода
дифференцированных сервисов (DSCP), которое используется для классификации пакетов, а
также 2-битное значение явного уведомления о перегрузке (ECN), используемое для
управления перегрузками трафика.

 Метка потока: 20-битное поле, предоставляющее специальную службу для приложений


реального времени. Используя это поле, маршрутизаторам и коммутаторам передается
информация о необходимости поддерживать один и тот же путь для потока пакетов, что
поможет избежать их переупорядочивания.

 Длина полезной нагрузки: 16-битное поле, соответствующее полю «Общая длина» в


заголовке IPv4. Оно определяет размер всего пакета (фрагмента), включая заголовок и
дополнительные расширения.

 Следующий заголовок: 8-битное поле, соответствующее полю «Протокол» в заголовке


IPv4. Оно указывает тип полезной нагрузки данных, которые переносит пакет, что позволяет
сетевому уровню пересылать данные на соответствующий протокол более высокого уровня.
Это поле также используется в тех случаях, когда в пакет IPv6 добавляются дополнительные
заголовки расширений.

 Предел перехода: 8-битное поле, заменяющее поле «Время существования» (TTL) в IPv4.


Это значение уменьшается на единицу каждым маршрутизатором, пересылающим пакет.
Когда счетчик достигает 0, пакет отбрасывается, и на отправляющий узел пересылается
сообщение ICMPv6, которое означает, что пакет не достиг своего назначения.

 Адрес источника: 128-битовое поле, определяющее IPv6-адрес принимающего узла.

 Адрес назначения: 128-битное поле, определяющее IPv6-адрес принимающего узла.

Пакет IPv6 также может содержать заголовки расширений (EH), которые предоставляют
дополнительную информацию сетевого уровня. Заголовки расширений являются
дополнительными и помещаются между заголовком IPv6 и полезной нагрузкой. Заголовки
расширений используются для фрагментации, обеспечения безопасности, поддержки мобильности
и многого другого.

Маршрутизация

Методы маршрутизации узлов


Решение о перенаправлении узла

Другим предназначением сетевого узла является пересылка пакетов между узлами. Узел может
отправить пакет на следующие адреса.

 Самому себе: специальный IP-адрес, который представлен как 127.0.0.1 и называется


интерфейсом loopback. Этот loopback-адрес автоматически назначается узлу при запуске
TCP/IP. Возможность узла отправлять пакет самому себе, используя сетевые функции,
полезна для тестирования. Любой IP-адрес в пределах сети 127.0.0.0/8 относится к
локальному узлу.

 Локальный узел: узел в той же сети, в которой также находится отправляющий узел. Узлы
используют один и тот же сетевой адрес.

 Удалённый узел: узел в удалённой сети. Узлы не используют один и тот же сетевой
адрес.

Какому узлу адресован пакет — локальному или удалённому — определяется комбинацией IP-
адреса и маски подсети устройства источника (или отправляющего устройства), которые
сравниваются с IP-адресом и маской подсети устройства назначения.

В домашней или корпоративной сети могут находиться несколько проводных и беспроводных


устройств, соединённых друг с другом с помощью промежуточного устройства, такого как
коммутатор локальной сети или точка беспроводного доступа (WAP). Это промежуточное
устройство обеспечивает соединение между локальными узлами в локальной сети. Локальные
узлы могут получать доступ друг к другу и обмениваться информацией без использования каких-
либо дополнительных устройств. Если узел отправляет пакет устройству, которое настроено в
этой же IP-сети в качестве главного устройства, пакет просто пересылается из интерфейса узла
через промежуточное устройство прямо на устройство назначения.

Разумеется, в большинстве случаев нам требуется, чтобы наши устройства могли устанавливать
соединения за пределами сегмента локальной сети: подключаться к другим домам, офисам и
Интернету. Устройства, которые не входят в сегмент локальной сети, называются удалёнными
узлами. Если исходное устройство отправляет пакет к удалённому устройству назначения, то в
этом случае требуется помощь маршрутизаторов и выполнение маршрутизации. Маршрутизация
— это процесс определения наилучшего пути к узлу назначения. Маршрутизатор, подключённый к
сегменту локальной сети, называется шлюзом по умолчанию.

Шлюз по умолчанию

Шлюз по умолчанию — это устройство, которое направляет трафик из локальной сети к


устройствам в удалённых сетях. В домашних условиях или на малых предприятиях шлюз по
умолчанию часто используется для подключения локальной сети к Интернету.

Если узел отправляет пакет устройству в другой IP-сети, то в этом случае он должен пересылать
пакет через промежуточное устройство к шлюзу по умолчанию. Это связано с тем, что главное
устройство не сохраняет информацию о маршрутизации за пределами локальной сети, чтобы
достичь удалённых адресатов. Шлюз по умолчанию, напротив, сохраняет такую информацию.
Шлюз по умолчанию, в роли которого чаще всего выступает маршрутизатор, сохраняет таблицу
маршрутизации. Таблица маршрутизации — это файл данных в ОЗУ, который используется для
хранения информации о маршрутах для напрямую подключённых сетей, а также записей
удалённых сетей, о которых стало известно устройству. Маршрутизатор использует информацию в
таблице маршрутизации, чтобы определить наилучший путь к узлам назначения.

Итак, каким образом узел отслеживает необходимость пересылки пакетов на шлюз по умолчанию?
На узлах должна храниться их собственная локальная таблица маршрутизации, чтобы пакеты
сетевого уровня гарантированно направлялись к нужной сети назначения. Как правило, локальная
таблица узла содержит следующую информацию.

 Прямое подключение — маршрут к интерфейсу loopback (127.0.0.1).

 Маршрут локальной сети — информация о сети, к которой подключён узел,


автоматически добавляется в таблицу маршрутизации узла.

 Локальный маршрут по умолчанию — это маршрут, который должны пройти пакеты,


чтобы достичь всех удалённых сетевых адресов. Маршрут по умолчанию создаётся в том
случае, когда на узле имеется адрес шлюза по умолчанию. Адрес шлюза по умолчанию —
это IP-адрес сетевого интерфейса маршрутизатора, подключённого к локальной сети. Адрес
шлюза по умолчанию можно настроить на узле вручную, либо его можно получить
динамически.

Важно отметить, что маршрут по умолчанию, а, следовательно, и шлюз по умолчанию


используется только в том случае, если узлу необходимо пересылать пакеты к удалённой сети. Он
не требуется (и его можно даже не настраивать), если выполняется только отправка пакетов
устройствам в локальной сети.

В качестве примера представьте себе сетевой принтер или сканер. Если на сетевом принтере
настроены IP-адрес и маска подсети, то узлы могут отправлять на принтер документы для печати.
Кроме того, принтер может переслать отсканированные документы на любой локальный узел. До
тех пор, пока принтер используется только локально, адрес шлюза по умолчанию не требуется. В
действительности, не настроив на принтере адрес шлюза по умолчанию, вы фактически
отклоняете доступ к Интернету, что может являться разумным решением с точки зрения
безопасности. Отсутствие интернет-подключения означает и отсутствие внешних угроз
безопасности. Поскольку устройства, например принтеры, могут автоматически обновляться через
Интернет, обычно проще и безопаснее устанавливать такие обновления с помощью локальной
загрузки с безопасного локального узла, например, с компьютера.

Таблица маршрутизации узла IPv4

На узле под управлением Windows для отображения таблицы маршрутизации узла можно
использовать команду route print или netstat -r. Обе команды выдают одинаковый
результат. Сначала полученные выходные данные могут показаться слишком обширными, однако
разобраться в них довольно легко.

После ввода команды netstat -r или равноценной ей команды route print будут отображены


следующие три раздела, относящиеся к текущим сетевым подключениям TCP/IP.

 Список интерфейсов: содержит адрес управления доступом к среде (MAC) и


присвоенный номер интерфейса с поддержкой сети на узле, включая адаптеры Ethernet, Wi-Fi
и Bluetooth.

 Таблица маршрутизации IPv4: содержит все известные маршруты IPv4, включая прямые
подключения, локальные сети и локальные маршруты, используемые по умолчанию.

 Таблица маршрутизации IPv6: содержит все известные маршруты IPv6, включая прямые
подключения, локальные сети и локальные маршруты, используемые по умолчанию.

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


от настроек узла и используемых им типов интерфейсов.
На рисунке показан раздел таблицы маршрутизации IPv4 с полученными данными. Обратите
внимание, что таблица состоит из пяти столбцов, которые содержат следующие данные.

 Network Destination (Сеть назначения): список досягаемых сетей.

 Netmask (Маска сети): содержит маску подсети, которая сообщает узлу, как следует
определять сеть и узловые части IP-адреса.

 Gateway (Шлюз): содержит адрес, который используется локальным компьютером, чтобы


достичь удалённого сетевого адресата. Если узел назначения доступен напрямую, в этом
столбце он будет отображен как «On-link» (Соединено).

 Interface (Интерфейс): содержит адрес физического интерфейса, который используется


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

 Metric (Метрика): содержит стоимость каждого маршрута и используется для определения


наилучшего маршруту к адресату.

Записи маршрутизации узла IPv4

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

0.0.0.0

Локальный маршрут по умолчанию; то есть все пакеты с адресатами, которые не соответствуют


другим указанным адресам в таблице маршрутизации, перенаправляются к шлюзу.
Следовательно, все несовпадающие маршруты назначения отправляются к шлюзу с IP-адресом
192.168.10.1 (R1) и из интерфейса с IP-адресом 192.168.10.10. Обратите внимание, что адрес
конечного назначения, который указан в пакете, не изменяется; вместо этого узел просто
пересылает пакет к шлюзу для последующей обработки.

127.0.0.0 — 127.255.255.255

Все эти loopback-адреса относятся к прямому подключению и предоставляют сервисы локальному


узлу.

192.168.10.0 — 192.168.10.255

Все эти адреса относятся к узлу и локальной сети. Все пакеты с адресами назначения, которые
попадают в эту категорию, будут отправляться из интерфейса 192.168.10.10.

 192.168.10.0: адрес маршрута локальной сети; представляет все компьютеры в сети


192.168.10.x.

 192.168.10.10: адрес локального узла.

 192.168.10.255: сетевой широковещательный адрес; используется для рассылки


сообщений всем узлам на маршруте локальной сети.

224.0.0.0

Это специальные широковещательные адреса класса D, которые зарезервированы для


использования посредством либо интерфейса loopback (127.0.0.1), либо IP-адреса узла
(192.168.10.10).

255.255.255.255

Последние два адреса представляют ограниченные значения широковещательного IP-адреса для


использования посредством либо интерфейса loopback (127.0.0.1), либо IP-адреса узла
(192.168.10.10). Эти адреса могут использоваться для поиска сервера DHCP до того, как будет
определён локальный IP-адрес.

Таблицы маршрутизации маршрутизатора


Решение о пересылке пакетов маршрутизатора

Когда узел отправляет пакет другому узлу, он использует свою таблицу маршрутизации, чтобы
определить место отправки пакета. Если узел назначения находится в удалённой сети, пакет
пересылается на адрес шлюза.

Что происходит, когда пакет прибывает на интерфейс маршрутизатора? Маршрутизатор проверяет


свою таблицу маршрутизации, чтобы определить место пересылки пакета.

В таблице маршрутизации маршрутизатора хранится следующая информация.

 Маршруты с прямым подключением: предоставляются активными интерфейсами


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

 Удалённые маршруты: предоставляются удалёнными сетями, подключёнными к другим


маршрутизаторам. Маршруты к этим сетям могут быть настроены на локальном
маршрутизаторе вручную сетевым администратором или назначены динамически с помощью
локального маршрутизатора, который обменивается данными маршрутизации с другими
маршрутизаторами, используя для этого протоколы динамической маршрутизации.

На рисунке показаны сети с прямым подключением и удалённые сети маршрутизатора R1.

Таблица маршрутизации маршрутизатора IPv4

Таблица маршрутизации узла включает в себя только информацию о сетях с прямым


подключением. Для отправки пакетов удалённому адресату узлу требуется шлюз по умолчанию.
Таблица маршрутизации маршрутизатора содержит подобную информацию, но также позволяет
определить конкретные удалённые сети.

Таблица маршрутизации маршрутизатора подобна аналогичной таблице узла. Обе таблицы


содержат следующую информацию.

 Сеть назначения

 Метрика, связанная с сетью назначения

 Шлюз для подключения к сети назначения

На маршрутизаторе Cisco IOS можно использовать команду show ip route, чтобы отобразить


таблицу маршрутизации. Кроме того, маршрутизатор предоставляет дополнительную
информацию о маршруте, включая данные о его обнаружении, дату последнего обновления и
соответствующий интерфейс, который необходимо использовать, чтобы достичь предварительно
определённого адресата.

Когда на интерфейс маршрутизатора поступает пакет, маршрутизатор анализирует его заголовок,


чтобы определить сеть назначения. Если сеть назначения совпадает с маршрутом в таблице
маршрутизации, маршрутизатор пересылает пакет, используя информацию в таблице
маршрутизации. Если существует два или более вероятных маршрута к одному пункту
назначения, для определения маршрута, который появится в таблице маршрутизации,
используется метрика.
Записи таблицы маршрутизации с прямым подключением

Две записи таблицы маршрутизации создаются автоматически, когда для активного интерфейса
маршрутизатора настраиваются IP-адрес и маска подсети. На рисунке показаны записи таблицы
маршрутизации на маршрутизаторе R1 для сети с прямым подключением 192.168.10.0. Эти записи
были автоматически добавлены в таблицу маршрутизации в процессе настройки и активации
интерфейса GigabitEthernet 0/0. Записи содержат следующую информацию.

Источник маршрута

На рисунке источник маршрута отмечен буквой «A». Она обозначает способ получения
информации о маршруте. Интерфейсы с прямым подключением имеют два кода источника
маршрута.

 C: означает сеть с прямым подключением. Сети с прямым подключением создаются


автоматически, когда интерфейс настраивается с помощью IP-адреса и активируется.

 L: означает маршрут локального канала. Маршруты локального канала создаются


автоматически, когда интерфейс настраивается с помощью IP-адреса и активируется.

Сеть назначения

На рисунке сеть назначения отмечена буквой «B». Она обозначает адрес удалённой сети.

Исходящий интерфейс

На рисунке исходящий интерфейс отмечен буквой «C». Она обозначает выходной интерфейс для
пересылки пакетов к сети назначения.

Примечание. Записи таблицы маршрутизации локального канала не отображались в таблицах


маршрутизации до выпуска IOS версии 15.
Как правило, на маршрутизаторе настроены несколько интерфейсов. В таблице маршрутизации
хранится информация как о маршрутах с прямым подключением, так и об удалённых маршрутах.
Как и для сетей с прямым подключением, источник маршрута определяет, каким образом был
обнаружен маршрут. Например, к общим кодам для удалённых сетей относятся следующие.

 S: означает, что маршрут был создан вручную администратором, чтобы достичь


определённой сети. Такой маршрут называется статическим.

 D: означает, что маршрут был получен динамически от другого маршрутизатора с


использованием протокола EIGRP (усовершенствованного протокола внутренней
маршрутизации между шлюзами).

 O: означает, что маршрут был получен динамически от другого маршрутизатора с


использованием протокола маршрутизации OSPF (протокола алгоритма кратчайшего пути).

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

Записи таблицы маршрутизации удалённой сети

На рисунке показана запись таблицы маршрутизации на маршрутизаторе R1 для маршрута к


удалённой сети 10.1.1.0. Запись содержит следующую информацию.

 Источник маршрута: указывает способ получения маршрута.

 Сеть назначения: указывает адрес удалённой сети.

 Административное расстояние: указывает достоверность источника маршрута.

 Метрика: указывает значение, присвоенное для получения доступа к удалённой сети.


Меньшие значения означают предпочтительные маршруты.
 Следующий переход: указывает IP-адрес следующего маршрутизатора для пересылки
пакета.

 Отметка времени маршрута: указывает последнюю активность маршрута.

 Исходящий интерфейс: указывает выходной интерфейс для пересылки пакетов к


окончательному адресату.

Адрес следующего перехода

Следующий переход — это адрес устройства, которое будет обрабатывать следующий пакет. Для
узла в сети адрес шлюза по умолчанию (интерфейса маршрутизатора) это следующий переход
всех пакетов, которые необходимо отправить в другую сеть. В таблице маршрутизации
маршрутизатора следующий переход имеется для каждого маршрута к удалённой сети.

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


сеть назначения с маршрутом, указанным в таблице маршрутизации. Если совпадение найдено,
маршрутизатор пересылает пакет на IP-адрес маршрутизатора следующего перехода, используя
для этого интерфейс, указанный в записи маршрута.

Следующий переход — это шлюз к удалённым сетям.

Например, на рисунке поступающий на маршрутизатор R1 пакет, адресованный либо сети 10.1.1.0,


либо сети 10.1.2.0, пересылается на адрес следующего перехода 209.165.200.226 с помощью
интерфейса Serial 0/0/0.

Сети с прямым подключением к маршрутизатору не имеют адреса следующего перехода,


поскольку маршрутизатор может пересылать пакеты непосредственно к узлам в этих сетях с
помощью указанного интерфейса.

Маршрутизатор не может пересылать пакеты, если в таблице маршрутизации отсутствует


маршрут для сети назначения. Если маршрут, обозначающий сеть назначения, в таблице не
указан, пакет отбрасывается (то есть не пересылается).

Тем не менее, поскольку узел может использовать шлюз по умолчанию для пересылки пакета
неизвестному адресату, маршрутизатор также можно настроить для использования статического
маршрута по умолчанию, чтобы создавать шлюз «последней надежды». Более подробно шлюз
«последней надежды» будет рассмотрен при изучении курса «Маршрутизация CCNA».
Протоколы транспортного уровня

Передача данных
Значение транспортного уровня

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


между двумя приложениями. Приложение создаёт данные, которые пересылаются из приложения
на исходном узле приложению на узле назначения независимо от типа узла назначения, а также
среды, в которой должны передаваться данные, маршрута, используемого данными, перегрузки
канала или размера сети. Как показано на рисунке, транспортный уровень — это канал между
уровнем приложений и нижними уровнями, которые отвечают за передачу по сети.

Транспортный уровень обеспечивает такой способ передачи данных по сети, который гарантирует,
что на принимающей стороне данные будут скомпонованы без ошибок. Транспортный уровень
также использует разделение данных на сегменты и предлагает элементы управления,
необходимые для повторной сборки этих сегментов в различные потоки обмена данными. В
TCP/IP для выполнения процессов сегментации и повторной сборки можно использовать два
абсолютно разных протокола транспортного уровня — TCP (протокол управления передачей) и
UDP (протокол пользовательских датаграмм).
Основные функции протоколов транспортного уровня:

 Отслеживание отдельных сеансов передачи данных между приложениями на узле-


источнике и узле-получателе

 Сегментирование данных для управления ими, а также для их повторной компоновки в


потоки прикладных данных на узле-адресате

 Идентификация соответствующего приложения для каждого потока обмена данными

Отслеживание отдельных сеансов связи

На транспортном уровне каждый определённый набор данных, передаваемых между приложением


источника и приложением назначения, называется сеансом связи. Узел может иметь несколько
приложений, которые одновременно обмениваются данными по сети. Каждое из этих приложений
взаимодействует с одним или несколькими другими приложениями на одном или нескольких
удалённых узлах. Транспортный уровень должен поддерживать и отслеживать эти несколько
сеансов связи.

Разделение данных на сегменты и их последующая сборка

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


большинстве сетей существуют ограничения на объём данных, которые могут быть включены в
один пакет. Протоколы транспортного уровня имеют сервисы, которые разделяют данные
приложений на отдельные блоки необходимого размера. Такой сервис включает инкапсуляцию,
необходимую для каждой части данных. Заголовок, используемый для повторной сборки,
добавляется к каждому блоку данных. Этот заголовок позволяет отслеживать поток данных.

На узле назначения транспортный уровень должен быть в состоянии восстанавливать отдельные


части в один полный поток данных, который подходит для уровня приложений. Протоколы на
транспортном уровне описывают, как используется информация в заголовке транспортного
уровня, чтобы повторно собрать части данных в потоки для дальнейшей передачи на уровень
приложений.

Определение приложений

На каждом узле в сети может быть запущено множество приложений или сервисов. Чтобы
переслать потоки данных соответствующим приложениям, транспортному уровню необходимо
определить целевое приложение. Для выполнения этой задачи транспортный уровень
присваивает каждому приложению отдельный идентификатор. Этот идентификатор называется
номером порта. Каждому программному процессу, которому требуется доступ к сети, назначается
номер порта, уникальный для этого узла. Транспортный узел использует порты, чтобы определить
соответствующее приложение или сервис.

Мультиплексирование сеансов связи

Мультиплексирование сеансов связи

При передаче по сети данных некоторых типов (например, потокового видео) в виде одного
полного потока может использоваться вся доступная полоса пропускания, что в свою очередь
приведёт к блокированию других процессов передачи данных, выполняемых в это же время.
Кроме того, это усложняет восстановление после ошибок и повторную передачу повреждённых
данных.

Как показано на рисунке, сегментация данных на более мелкие блоки позволяет осуществлять
чередование (мультиплексирование) большого количества разных процессов передачи данных
между многими пользователями в одной и той же сети. Сегментация данных протоколами
транспортного уровня также обеспечивает возможности как для отправки, так и для получения
данных, когда на одном компьютере запущены несколько приложений.
Без сегментации получать данные сможет только одно приложение. Например, при передаче
потокового видео вся среда будет полностью использоваться этим процессом, поэтому для других
приложений она будет недоступна. Работа с электронной почтой, использование программ для
быстрого обмена сообщениями или просмотр веб-страниц одновременно с передачей
видеоизображения будут невозможны.

Чтоб определить каждый сегмент данных, транспортный уровень добавляет к нему заголовок,
который содержит двоичные данные. Этот заголовок содержит поля битов. Именно значения в
этих полях активируют различные протоколы транспортного уровня для выполнения различных
функций при управлении передачей данных.

Надёжность транспортного уровня

Транспортный уровень также отвечает за обеспечение надёжности сеанса связи. Различные


приложения имеют разные требования относительно надёжности передачи данных.

IP-сеть отвечает только за структуру, адресацию и маршрутизацию пакетов. IP не определяет


способ доставки или транспортировки пакетов. Транспортные протоколы предписывают способ
передачи сообщений между узлами. Как показано на рисунке, TCP/IP предоставляет два
протокола транспортного уровня: TCP (протокол управления передачей) и UDP (протокол
пользовательских датаграмм). IP использует эти транспортные протоколы для обеспечения связи
и передачи данных между узлами.

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


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

Как уже упоминалось ранее, TCP считается надёжным транспортным протоколом, а это значит,
что он использует процессы, которые обеспечивают надёжную передачу данных между
приложениями с помощью подтверждения доставки. Передача с использованием TCP аналогична
отправке пакетов, которые отслеживаются от источника к получателю. Если заказ службы Federal
Express разбивается на несколько отправок, заказчик может зайти на веб-сайт компании и
просмотреть порядок доставки.

TCP использует следующие три основные операции для обеспечения надёжности:

 отслеживание переданных сегментов данных

 подтверждение полученных данных

 повторная отправка всех неподтвержденных данных

TCP разбивает сообщение на фрагменты меньшего размера, которые называются сегментами.


Этим сегментам присваиваются порядковые номера, после чего они передаются IP-протоколу,
который собирает их в пакеты. TCP отслеживает количество сегментов, отправленных на тот или
иной узел тем или иным приложением. Если отправитель не получает подтверждения в течение
определённого периода времени, то TCP рассматривает эти сегменты как утраченные и повторяет
их отправку. Повторно отправляется только утраченная часть сообщения, а не все сообщение
целиком. Протокол TCP на принимающем узле отвечает за повторную сборку сегментов
сообщений и их передачу соответствующему приложению. Протокол передачи файлов (FTP) и
протокол передачи гипертекста (HTTP) — это примеры приложений, которые используют TCP для
доставки данных.

Нажмите кнопку «Воспроизведение» на рисунке, чтобы просмотреть анимированное


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

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

Протокол UDP

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

UDP обеспечивает только основные функции для отправки сегментов данных между
соответствующими приложениями, при этом незначительно используя ресурсы и проверку данных.
UDP известен как протокол негарантированной доставки данных. Применительно к компьютерным
сетям негарантированная доставка считается ненадёжной, поскольку при этом отсутствует
подтверждение о получении отправленных данных на узле назначения. UDP не задействует
процессы транспортного уровня, которые сообщают отправителю об успешной доставке данных.

Протокол UDP подобен тому, как если бы по почте отправляли обычное незарегистрированное
письмо. Отправитель не знает, сможет ли адресат получить письмо, а почтовое отделение не
несёт ответственности за отслеживание письма или информирование отправителя о том,
доставлено ли письмо по адресу.
Нажмите кнопку «Воспроизведение» на рисунке, чтобы просмотреть анимированное
представление сегментов UDP, передаваемых от отправителя к получателю.

Соответствующий протокол транспортного уровня для


соответствующего приложения

Как TCP, так и UDP являются эффективными транспортными протоколами. В зависимости от


требований приложений можно использовать любой из них (а в некоторых случаях — даже оба).
На основании этих требований разработчики приложений должны определить, какой транспортный
протокол подходит для них лучше всего.

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


определённой последовательности, в которой они могут быть успешно обработаны. Другим
приложениям требуется, чтобы все данные были получены полностью, иначе они не будут
считаться пригодными для использования. В обоих этих случаях TCP используется в качестве
транспортного протокола. Например, таким приложениям, как базы данных, веб-браузеры и
клиентские программы для работы с электронной почтой необходимо, чтобы все отправленные
данные поступили на узел назначения в своем первоначальном состоянии. Отсутствие какой-либо
информации может привести к повреждению данных, которые в таком случае будут переданы не
полностью или будут нечитаемыми. Поэтому эти приложения разрабатывались исключительно
для работы по протоколу TCP. Такие приложения создают дополнительную нагрузку на сеть.

В других случаях потеря некоторых данных во время передачи по сети может быть допустима для
приложения, но при этом задержки передачи являются недопустимыми. Таким приложениям
лучше использовать протокол UDP, поскольку он задействует меньше сетевых ресурсов. Протокол
UDP более предпочтителен для потокового воспроизведения аудио, видео и передачи голосовой
информации по протоколу IP (VoIP). Подтверждение доставки только замедлит процесс передачи
данных, но при этом повторная доставка нежелательна.

Например, если один или два сегмента видеопотока не будут доставлены, это вызовет
кратковременные помехи при передаче изображения. В таком случае возможно искажение
изображения, однако пользователь этого может и не заметить. С другой стороны, качество
изображения в потоковом видео значительно ухудшится, если устройство назначения должно
отвечать за утраченную информацию и задерживать поток, ожидая повторной пересылки данных.
В этом случае лучше передать видео максимально возможного качества, используя уже
полученные сегменты, и пожертвовать надёжностью.

Ещё одним примером приложения, которое использует протокол UDP, является интернет-радио.
Если какое-либо сообщение затерялось в пути доставки по сети, оно не будет отправляться
повторно. Пропадание нескольких пакетов будет восприниматься слушателем как
кратковременное пропадание звука. Если для этого использовать протокол TCP,
предусматривающий повторную доставку потерянных пакетов, то процесс передачи данных
приостановится для приёма потерянных пакетов, что заметно ухудшит качество воспроизведения.

Общие сведения о протоколах TCP и UDP


Краткое описание протокола TCP

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

Протокол управления передачей (TCP)

Первоначально протокол TCP был описан в документе RFC 793. Помимо поддержки таких базовых
функций, как сегментация данных и повторная компоновка, протокол TCP, как показано на рисунке,
также обеспечивает:

 каналы связи с установлением соединения посредством установления сеансов

 надёжность доставки

 восстановление последовательности данных

 управление потоком

Установление сеанса

TCP является протоколом с установлением соединения. Перед пересылкой любого трафика


протокол с установлением соединения согласовывает и настраивает постоянное соединение (или
сеанс) между устройством источника и устройством назначения. Установление сеанса позволяет
подготовить устройства к обмену данными друг с другом. Сеанс позволяет устройствам
согласовать объём трафика, который можно переслать в заданный момент времени, а также
данные, пересылаемые между ними двумя, которые можно непосредственно обработать. Сеанс
будет завершен только после выполнения передачи всех данных.

Надёжность доставки

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

Доставка в одинаковом порядке


Поскольку в сетях могут использоваться несколько маршрутов с разными скоростями передачи
информации, в процессе доставки данных их порядок может измениться. Используя нумерацию и
упорядочивание сегментов, TCP может гарантировать, что они будут собраны в правильном
порядке.

Управление потоком

Такие ресурсы сетевых узлов, как память или полоса пропускания, довольно ограничены. Когда
протокол TCP получает информацию о том, что эти ресурсы используются слишком активно, он
может потребовать от отправляющего приложения уменьшить скорость потока данных. Для этого
TCP регулирует количество информации, передаваемой источником. Управление потоком может
предотвратить потери сегментов при их прохождении по сети и исключить необходимость
повторной передачи данных.

Значение протокола TCP

После того как протокол TCP установит сеанс, он сможет следить за обменом данными,
происходящим в рамках этого сеанса. Благодаря способности TCP отслеживать фактические
сеансы связи он считается протоколом с контролем состояния. Протокол с контролем состояния
отслеживает состояние сеанса передачи данных. Например, когда данные передаются по
протоколу TCP, отправитель ожидает, что узел назначения отправит подтверждение о получении
данных. TCP отслеживает, какую информацию он отправил и какая информация была
подтверждена. Если получение данных не подтверждено, отправитель считает, что они не
достигли адресата, и повторяет их отправку. Сеанс связи с контролем состояния начинается с
установления сеанса обмена данными и прекращается по его завершении.

Примечание. Для обработки информации о состоянии необходимы ресурсы, которые не


требуются протоколу без контроля состояния, например протоколу UDP.

При использовании этих функций протокол TCP создаёт дополнительную нагрузку. Как показано
на рисунке, каждый сегмент TCP содержит 20 дополнительных байт в заголовке, инкапсулируя
данные уровня приложений. Это существенно превышает значение сегмента UDP, в котором
содержатся 8 дополнительных байт. Дополнительная нагрузка состоит из следующих элементов.

 Порядковый номер (32 бита): используется для повторной компоновки данных.

 Номер подтверждения (32 бита): обозначает полученные данные.

 Длина заголовка (4 бита): параметр, который также называется смещением данных.


Обозначает длину заголовка сегмента TCP.

 Зарезервировано (6 бит): поле, зарезервированное для последующего использования.

 Биты управления (6 бит): включает двоичные коды, или флаги, которые указывают
назначение и функцию сегмента TCP.

 Размер окна (16 бит): отображает количество сегментов, которые можно принять
единовременно.

 Контрольная сумма (16 бит): используется для проверки ошибок заголовка и данных
сегмента.

 Срочность (16 бит): обозначает, являются ли данные срочными.

В качестве примеров приложений, использующих протокол TCP, можно привести веб-браузеры,


электронную почту и передачи файлов.

Краткое описание протокола UDP

Протокол пользовательских датаграмм (UDP)

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


документе RFC 768. UDP — это облегчённый транспортный протокол, который предлагает такую
же сегментацию и повторную сборку данных, как и протокол TCP, но при этом не обеспечивает
надёжность и управление потоком, присущие TCP. UDP является настолько простым протоколом,
что обычно описывается с точки зрения того, чего он не предоставляет по сравнению с протоколом
TCP.

Как показано на рисунке, следующие функции являются характерными для протокола UDP.

 Без установления соединения. UDP не устанавливает соединение между узлами до того,


как станут возможными отправка и получение данных.

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


данных. Протокол UDP не использует процессы, которые требуют от отправителя повторной
передачи потерянных или повреждённых данных.

 Без восстановления последовательности данных. Периодически данные поступают не


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

 Без управления потоком. В UDP отсутствуют механизмы для управления объёмами


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

Значение протокола UDP

Протокол UDP не включает в себя механизмы обеспечения надёжности и управления потоком,


которыми обладает протокол TCP, как показано на рисунке. Несмотря на это, такая особенность
UDP, как доставка данных с небольшой нагрузкой, позволяет считать его оптимальным
транспортным протоколом для приложений, допускающих потерю некоторого количества данных.
Фрагменты данных в протоколе UDP называются датаграммами. Эти датаграммы отправляются
без гарантии доставки усилиями протокола транспортного уровня. Среди приложений, которые
используют протокол UDP, можно назвать службу доменных имен (DNS), передачу потокового
видео и передачу голосовой информации по протоколу IP (VoIP).

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

UDP — это протокол без контроля состояния, а это значит, что ни клиент, ни сервер не обязаны
отслеживать состояние сеанса связи. Как показано на рисунке, протокол UDP не обеспечивает
надёжность или управление потоком. Данные могут быть утрачены или получены не по порядку, а
UDP не обладает какими-либо механизмами для восстановления или переупорядочения данных.
Если при использовании UDP в качестве транспортного протокола требуется надёжность передачи
данных, она должна обеспечиваться самим приложением.

Разделение нескольких каналов связи

Транспортный уровень должен быть в состоянии разделять несколько каналов передачи данных с
различными требованиями и управлять ими. Рассмотрим пример, в котором пользователь
подключён к сети с использованием конечного устройства. Пользователь одновременно активно
использует электронную почту, программы для быстрого обмена сообщениями, веб-сайты и
передачу голосовой информации по протоколу IP (VoIP). Каждое из этих приложений
одновременно отправляет и получает данные по сети, несмотря на различные требования к
обеспечению надёжности. Кроме того, данные, передаваемые во время телефонного разговора,
не направляются к веб-браузеру, а текст мгновенных сообщений в письмах электронной почты не
отображается.

Для обеспечения надёжности пользователям необходимо, чтобы сообщение электронной почты


или веб-страница были получены и отображены полностью — в таком случае информация
считается полезной. Как правило, небольшие задержки при загрузке электронной почты или веб-
страницы допускаются при условии, что конечный продукт отображается полностью и без ошибок.
В этом примере сеть контролирует повторную отправку и замену недостающей информации и не
отображает окончательный продукт до тех пор, пока данные не будут получены полностью и
правильно скомпонованы.

Для сравнения — отсутствие некоторых небольших фрагментов телефонного разговора может


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

Как показано на рисунке, для того, чтобы протоколы TCP и UDP могли управлять этими
одновременными сеансами связи с различными требованиями, сервисы, основанные на
использовании TCP и UDP, должны отслеживать процессы обмена данными различных
приложений. Чтобы иметь возможность различать сегменты и датаграммы отдельных приложений,
в протоколах TCP и UDP предусмотрены поля заголовка, однозначно идентифицирующие
приложения. В роли этих уникальных идентификаторов выступают номера портов.
Адресация портов TCP и UDP

В заголовке каждого сегмента или датаграммы указываются порты источника и назначения. Номер
порта источника — это номер для этого обмена данными, связанный с отправляющим
приложением на локальном узле. Как показано на рисунке, номер порта назначения — это номер
для этого обмена данными, связанный с принимающим приложением на локальном узле.

При доставке сообщения по протоколу TCP или UDP запрашиваемые протоколы и сервисы
распознаются по номеру порта. Порт — это числовой идентификатор внутри каждого сегмента,
который используется для учёта отдельных сеансов связи и запрошенных сервисов назначения. В
каждом сообщении, отправляемом с узла, указываются порт источника и порт назначения.

Порт назначения

Клиент указывает номер порта назначения в сегменте, чтобы сообщить серверу назначения
информацию о том, какой сервис запрашивается. Например, порт 80 обозначает протокол HTTP
или веб-сервис. Если клиент в описании для порта назначения указывает порт 80, то сервер,
принимающий это сообщение, уже «знает», что выполнен запрос веб-сервиса. Сервер может
предоставлять несколько сервисов одновременно. Например, сервер может предоставлять веб-
сервис через порт 80 и одновременно услуги обмена файлами по протоколу FTP через порт 21.

Исходный порт

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


сеанса связи между двумя устройствами. Это позволяет устанавливать одновременно несколько
сеансов связи. Другими словами, устройство может передавать на веб-сервер несколько запросов
сервиса HTTP в одно и то же время. Отдельные сеансы связи отслеживаются по номерам портов
источника.
Номера порта источника и порта назначения записываются в сегмент. Затем эти сегменты
инкапсулируются в пакете IP. В пакете IP записывается IP-адрес источника и назначения.
Комбинация IP-адресов источника и назначения, а также номеров портов источника и назначения
называется сокетом. Сокет используется для определения сервера и сервисов, запрашиваемых
клиентом. Ежедневно миллионы узлов взаимодействуют с тысячами различных серверов. Их
взаимодействия определяются с помощью сокетов.

Сочетание номера порта транспортного уровня и IP-адреса узла сетевого уровня однозначно
идентифицирует конкретный процесс приложения на конкретном физическом узле. Такая
совокупность параметров называется сокетом. Пара сокетов, состоящая из IP-адресов и номеров
портов источника и адресата, также уникальна и идентифицирует конкретную операцию обмена
данными между двумя узлами.

Сокет клиента может иметь следующий вид, где 1099 — это номер порта источника:
192.168.1.5:1099

Сокет веб-сервера может иметь следующий вид: 192.168.1.7:80

Вместе эти два сокета образуют следующую пару: 192.168.1.5:1099, 192.168.1.7:80

В результате создания сокетов становятся известны конечные точки соединения, и данные могут
передаваться между приложениями на двух узлах. Сокеты позволяют различать несколько
процессов, выполняющихся на клиенте, а также распознавать различные подключения к процессу
сервера.

Запрос клиента порта источника генерируется случайно. Этот номер порта играет роль обратного
адреса для запрашивающего приложения. Транспортный уровень отслеживает порт и приложение
— источник запроса, чтобы после возвращения ответа его можно было переслать
соответствующему приложению. Номер порта запрашивающего приложения используется в
качестве номера порта назначения в ответе, поступающем от сервера.
Номера портов присваиваются Администрацией адресного пространства Интернет (IANA). IANA —
это организация по стандартизации, которая отвечает за установление различных стандартов.

Существует несколько типов номеров портов (см. рисунок 1).

 Известные порты (номера 0 — 1023). Эти номера зарезервированы для сервисов и


приложений. Они обычно используются для таких приложений, как HTTP (веб-сервер), IMAP
(протокол доступа к сообщениям в Интернете)/SMTP (протокол простой передачи
электронной почты) (сервер электронной почты) и Telnet. Если эти общеизвестные порты
определяются серверными приложениями, то клиентские приложения можно
запрограммировать таким образом, чтобы они запрашивали подключение к этому
конкретному порту и связанным с ней сервисом.

 Зарегистрированные порты (номера 1024 — 49151). Эти номера портов присваиваются


процессам или приложениям пользователей. Эти процессы в основном представляют собой
отдельные приложения, установленные пользователем, а не общие приложения, которые
могли бы получить общеизвестный номер порта. Если эти порты не используются для одного
из ресурсов сервера, они могут быть выбраны клиентом динамически в качестве своего порта
источника.

 Динамические или частные порты (номера 49152—65535). Как правило, эти порты,
которые также называются временными, динамически присваиваются клиентским
приложениям, когда клиент инициирует подключение к сервису. Динамический порт чаще
всего используется для определения клиентского приложения во время обмена данными, в
то время как клиент использует общеизвестный порт, чтобы определить и установить
подключение к сервису, который запрашивается на сервере. Клиент редко подключается к
сервису, используя динамический или частный порт (хотя некоторые программы для обмена
файлами в одноранговых сетях действительно используют эти порты).

На рис. 2 показаны некоторые общие известные и зарегистрированные порты в пределах


протокола TCP. На рис. 3 показаны общие известные и зарегистрированные порты в пределах
протокола UDP.

Поддержка обоих протоколов TCP и UDP

Некоторые приложения могут использовать как протокол TCP, так и UDP (рис. 4). Например,
низкая нагрузка UDP позволяет службе DNS очень быстро обслуживать множество клиентских
запросов. Тем не менее, в некоторых случаях для отправки требуемой информации может
потребоваться надёжность протокола TCP. В этом случае общеизвестный номер порта
53 используется обоими протоколами TCP и UDP для обеспечения этого сервиса.

Текущий список номеров портов и соответствующих приложений можно найти на веб-сайте


организации IANA.

В некоторых случаях требуется определить, какие TCP-соединения открыты и действуют на


сетевом узле. Проверить состояние этих соединений помогает важное программное средство —
команда netstat. Команда netstat перечисляет используемые протоколы, локальные адреса и
номера портов, адрес и номер порта на удалённом узле, а также сообщает состояние соединений.

Неопределённые TCP-соединения могут представлять серьёзную угрозу безопасности, поскольку


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

Команда netstat имеет ряд полезных параметров. Используйте кнопки на рис. 1—5, чтобы


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

В предыдущей главе пояснялось, как создаются блоки данных протокола (PDU) посредством
передачи данных приложения вниз через различные уровни для создания блока PDU, который
затем передаётся в среде. На узле назначения этот процесс повторяется в обратном направлении
до тех пор, пока не появится возможность передать данные приложению вверх.

Некоторые приложения передают большие объёмы данных, в некоторых случаях — несколько


гигабайтов. Было бы непрактично отправлять все эти данные в виде одного большого пакета. При
пересылке этих данных передача любого другого трафика будет невозможна. Отправка одного
большого пакета данных может занять несколько минут или даже часов. Кроме того, в случае
появления каких-либо ошибок весь файл либо будет потерян, либо возникнет необходимость его
повторной отправки. Сетевые устройства не смогут выделить такое количество буфера памяти,
чтобы сохранить в нем столько данных во время их пересылки или получения. Ограничение может
различаться и зависит от используемых сетевых технологий и конкретной физической среды.

Разделение данных приложений на сегменты обеспечивает как пересылку данных в пределах


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

Отличия сегментации, выполняемой протоколом TCP и протоколом UDP

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

Несмотря на то, что сервисы, которые используют протокол UDP, также отслеживают сеансы связи
между приложениями, они не учитывают порядок, в котором информация была передана, а также
не обеспечивают сохранность подключения. В заголовке UDP порядковый номер не указывается.
Протокол UDP обладает более простой конструкцией и создаёт меньше нагрузки по сравнению с
TCP, что позволяет увеличить скорость передачи данных.

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


пакеты могут проходить по разным маршрутам в сети. Приложение, которое использует протокол
UDP, должно допускать возможность поступления данных в другом порядке.

Протоколы TCP и UDP

Обмен данными по TCP


Надёжная доставка по TCP

Основным отличием протокола TCP от протокола UDP является надёжность. Надёжность обмена
данными по протоколу TCP обеспечивается с помощью сеансов связи с установлением
соединения. Перед тем как отправить данные, узел, использующий TCP, инициирует процесс для
создания подключения к узлу назначения. Это подключение с контролем состояния позволяет
отслеживать сеанс или поток данных между узлами. Такой процесс гарантирует, что каждый узел
владеет информацией о потоке данных и готов к работе с ним. Сеанс связи с использованием TCP
требует установления сеанса между узлами в обоих направлениях, как показано на
анимированном представлении.

После того как сеанс настроен и началась передача данных, узел назначения отправляет
подтверждения о полученных сегментах на узел источника. Эти подтверждения формируют основу
надёжности в рамках сеанса TCP. Когда источник получает подтверждение, он знает, что данные
успешно доставлены и наблюдение за ними можно прекратить. Если узел источника не получит
подтверждение в течение установленного периода времени, он повторит передачу данных
адресату.

Часть дополнительной нагрузки, возникающей при использовании протокола TCP, составляет


сетевой трафик, который создаётся подтверждениями и повторными передачами. Установка
сеансов создаёт нагрузку в виде дополнительных сегментов, которыми обмениваются узлы. Также
существует дополнительная нагрузка на отдельных узлах, которая возникает из-за необходимости
контролировать, какие сегменты ждут подтверждения, а также из-за повторной передачи данных.

Процессы TCP-сервера

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


запущены несколько процессов приложений. Эти процессы ожидают, когда клиент инициирует
обмен данными, отправив запрос на получение информации или других сервисов.

Каждый процесс приложения, запущенный на сервере, настраивается на использование номера


порта, установленного по умолчанию или введённого вручную системным администратором. На
отдельном сервере не могут использоваться два сервиса, которым назначен один и тот же номер
порта в рамках одних и тех же сервисов транспортного уровня. Приложение веб-сервера и
приложение передачи файлов, которые запущены на одном узле, не могут быть настроены на
использование одного и того же порта (например, TCP-порта 8080). Активное серверное
приложение, которому присвоен какой-либо определённый порт, считается открытым, что
означает, что транспортный уровень может принимать и обрабатывать сегменты, направляемые
на этот порт. Любой входящий запрос, который адресован правильному сокету, будет принят, а
данные будут переданы приложению сервера. Сервер может иметь несколько портов, открытых
одновременно, по одному для каждого активного приложения сервера. Как правило, сервер
предоставляет несколько сервисов одновременно (например, веб-сервер и FTP-сервер).

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


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

Установление TCP-соединения и его завершение

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


Рукопожатие рассматривается обеими сторонами как сигнал для дружеского приветствия.
Подключения в сети осуществляются примерно так же. При первом рукопожатии (на
компьютерном языке это называется рукопожатием) отправляется запрос синхронизации. При
втором рукопожатии первоначальный запрос синхронизации подтверждается, после чего
согласовываются параметры подключения в противоположном направлении. Третий этап
рукопожатия — это подтверждение, которое используется для информирования узла назначения о
том, что обе стороны согласны установить подключение.

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


до того, как обмен данными будет возможен. По завершении обмена данными все сеансы
прекращаются, а соединение прерывается. Механизмы подключения и осуществления сеанса
связи включают в себя функции TCP, обеспечивающие надёжность. На рисунке показаны этапы
установления и прекращения TCP-соединения.

Узлы отслеживают каждый сегмент данных, передаваемых во время сеанса, и обмениваются


информацией о полученных данных с использованием сведений в заголовке TCP. TCP — это
полнодуплексный протокол, в котором каждое соединение представляет два односторонних
потока обмена данными, или сеанса. Для установления связи узлы используют трёхстороннее
рукопожатие. Биты управления в заголовке TCP обозначают этап и состояние подключения. При
трёхстороннем рукопожатии выполняются следующие процессы.

 Сначала устанавливается, присутствует ли устройство назначения в сети.

 Затем проверяется, имеется ли на устройстве назначения активный сервис и принимает ли


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

 Далее устройству назначения сообщается, что клиент источника планирует установить


сеанс связи на этом номере порта.

При подключениях по протоколу TCP клиент узла устанавливает связь с сервером. Ниже
перечислены три шага для установления TCP-соединения.

Шаг 1. Инициирующий клиент запрашивает сеанс связи клиент-сервер с сервером.

Шаг 2. Сервер подтверждает сеанс связи клиент-сервер и запрашивает сеанс связи сервер-


клиент.

Шаг 3. Инициирующий клиент подтверждает сеанс связи сервер-клиент.

Чтобы понять
процесс трёхстороннего рукопожатия, посмотрите на различные значения данных, которыми
обмениваются два узла. Заголовок сегмента TCP содержит шесть 1-битных полей с контрольной
информацией, которая используется для управления процессами TCP. Эти поля приведены ниже.

 URG — поле «Указатель важности» задействовано


 ACK — поле «Номер подтверждения» задействовано