Вы находитесь на странице: 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 — поле «Номер подтверждения» задействовано

 PSH — протолкнуть данные

 RST — оборвать соединение

 SYN — синхронизировать порядковые номера

 FIN — больше нет данных от отправителя

Поля ACK и SYN имеют отношение к рассматриваемому анализу трёхстороннего рукопожатия.

Анализ трёхстороннего рукопожатия TCP

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

Клиент TCP начинает трёхстороннее рукопожатие путём отправки сегмента с установленным


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

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


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

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

Чтобы начать сеанс связи клиент-сервер, TCP-сервер должен подтвердить получение сегмента
SYN от клиента. Для этого сервер возвращает сегмент клиенту с установленным флагом
подтверждения (ACK), указывая на то, что номер подтверждения задействован. Если этот флаг в
сегменте установлен, клиент считает это подтверждением того, что сервер получил SYN от
клиента TCP.

Значение в поле номера подтверждения равно номеру ISN плюс 1. Это позволяет установить
сеанс связи клиент-сервер. Для обеспечения сбалансированности сеанса флаг ACK остаётся
установленным. Следует помнить, что сеанс связи между клиентом и сервером фактически
представляет собой два односторонних сеанса: один клиент-сервер, другой — сервер-клиент. На
втором шаге трёхстороннего рукопожатия сервер должен инициировать ответ клиенту. Чтобы
начать этот сеанс, сервер использует флаг SYN точно так же, как это делал клиент. Он
устанавливает управляющий флаг SYN в заголовке для установления сеанса типа сервер-клиент.
Флаг SYN указывает на то, что начальное значение поля порядкового номера указано в заголовке.
Это значение используется для отслеживания в этом сеансе потока данных от сервера к клиенту.

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

Наконец, клиент TCP возвращает сегмент, содержащий ACK, — то есть ответ на TCP SYN,
отправленный сервером. Пользовательские данные в этом сегменте отсутствуют. Значение в поле
номера подтверждения на единицу больше, чем номер ISN, полученный от сервера. После того
как между клиентом и сервером будут начаты оба сеанса, для всех дополнительных сегментов,
которые пересылаются в этом процессе обмена данными, будут установлены флаги ACK.
Как показано на рисунке, информация анализатора протоколов отображает установленный
управляющий флаг ACK, а также последовательный номер и номер подтверждения.

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


следующие процедуры.

 Отказ от установления TCP-сеансов

 Разрешение сеансов только для определённых сервисов

 Допуск трафика только в рамках уже установленных сеансов

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

Анализ завершения сеанса TCP

Для прекращения соединения в заголовке сегмента должен быть установлен управляющий флаг
Finish (FIN). Для завершения каждого одностороннего TCP-сеанса используется двухстороннее
рукопожатие, которое состоит из сегмента FIN и сегмента ACK. Следовательно, чтобы завершить
один сеанс связи, поддерживаемый протоколом TCP, необходимы четыре обмена данными,
которые завершат оба сеанса, как показано на рис. 1.

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


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

Шаг 1. Когда у клиента больше нет данных для отправки в потоке, он отправляет сегмент с
установленным флагом FIN.

Шаг 2. Сервер отправляет ACK, чтобы подтвердить получение FIN для завершения сеанса клиент-
сервер.

Шаг 3. Сервер отправляет FIN клиенту, чтобы завершить сеанс сервер-клиент.

Шаг 4. Клиент возвращает ACK для подтверждения получения FIN от сервера.

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

На противоположном конце соединения сеанс прекращается таким же способом. Получатель


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

На рис. 2 и 3 показано, что управляющие флаги FIN и ACK установлены в заголовке сегмента,
закрывая таким образом HTTP-сеанс.

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


больше нет данных для отправки, он передаёт FIN серверу. Если у сервера также нет данных для
отправки, он может в ответ переслать сегменты с установленными флагами FIN и ACK, объединяя
два шага в один. В ответ клиент отправляет ACK.

Надёжность и управление потоком


Надёжность TCP: упорядоченная доставка

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

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

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

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


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

Надёжность TCP: подтверждение и размер окна

Подтверждение получения сегментов

Одной из функциональных особенностей протокола TCP является гарантия доставки каждого


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

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

Необходимо помнить, что каждое соединение фактически представляет собой два односторонних
сеанса. Обмен номерами SEQ и ACK осуществляется в обоих направлениях.

В примере, показанном на рисунке, узел слева отправляет данные узлу справа. Он отправляет
сегмент, который содержит 10 байт данных для этого сеанса, и порядковый номер, равный 1, в
заголовке.

Получающий узел принимает сегмент на 4-м уровне и определяет, что порядковый номер равен 1,
а также то, что сегмент содержит 10 байт данных. Затем узел отправляет сегмент обратно узлу
слева, чтобы подтвердить получение этих данных. В этом сегменте узел устанавливает 11 в
качестве номера ACK, чтобы показать, что в этом сеансе следующим байтом данных он ожидает
получить байт с номером 11. Когда передающий узел получает это подтверждение, он может
отправить следующий сегмент, содержащий данные для этого сеанса, которые начинаются с
байта номер 11.

Из этого примера видно, что если бы отправляющему узлу пришлось ждать подтверждения
каждых 10 байт, это создало бы значительную нагрузку на сеть. Чтобы снизить нагрузку,
связанную с получением этих подтверждений, несколько сегментов данных можно отправить и
подтвердить в одном сообщении TCP, отправленном в противоположном направлении. Это
подтверждение содержит номер ACK, который указывается исходя из общего количества байтов,
полученных в течение сеанса связи. Например, начиная с порядкового номера 2000 (если было
получено 10 сегментов из каждых 1000 байт) источнику должен быть отправлен ACK с
номером 12001.

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


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

Надёжность TCP: потеря данных и повторная передача

Обработка потерь сегментов

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

Сервис узла назначения, использующая протокол TCP, обычно подтверждает только данные,
поступившие в непрерывной последовательности. В случае отсутствия одного или нескольких
сегментов подтверждаются только данные в первой непрерывной последовательности байтов.
Например, если были получены сегменты с порядковыми номерами от 1500 до 3000 и от 3400 до
3500, номером ACK будет 3001. Это связано с тем, что имеются сегменты с номерами SEQ от 3001
до 3399, которые не были получены.

Если TCP на узле источника не получит подтверждение по истечении установленного периода


времени, он вернется к последнему полученному номеру ACK и повторно перешлёт данные из
этой точки. Процесс повторной передачи не указывается в запросе комментариев (RFC), а
оставляется до момента конкретной реализации протокола TCP.

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

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


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

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

Управление потоком TCP: размер окна и подтверждения

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

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

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

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


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

Упрощённое представление размера окна и подтверждений представлены на рисунке. В этом


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

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

Управление потоком TCP: предотвращение перегрузок

Уменьшение размера окна

Ещё одним способом управления потоком данных является использование динамических


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

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

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

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

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

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

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

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

 Служба доменных имен (DNS)

 Простой протокол управления сетью (SNMP)

 Протокол DHCP

 Протокол RIP

 Простой протокол передачи файлов (TFTP)

 IP-телефония или передача голосовой информации по протоколу IP (VoIP)

 Онлайн-игры

Определённые приложения, например онлайн-игры или IP-телефония, могут допускать потерю


некоторого количества данных. Если эти приложения используют протокол TCP, они могут
испытывать серьёзные задержки, пока TCP будет определять потери данных и повторно их
пересылать. Такие задержки более негативно скажутся на производительности приложений, чем
незначительные потери данных. Некоторые приложения, например DNS, при отсутствии ответа
просто отправят повторный запрос; следовательно, им не требуется протокол TCP для
обеспечения доставки сообщений.

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

Разборка UDP-датаграммы

Поскольку UDP является протоколом без установления соединения, перед началом соединения
сеансы связи не устанавливаются, как это происходит в случае с протоколом TCP. Считается, что
в основе протокола UDP лежат транзакции; другими словами, если у приложения есть данные для
отправки, оно просто отсылает их.
Многие приложения, которые используют UDP, отправляют незначительное количество данных,
которое может поместиться в один сегмент. При этом другие приложения отправляют большие
объёмы данных, которые необходимо разделить на несколько сегментов. Блок PDU протокола
UDP называется датаграммой, хотя понятия «сегмент» и «датаграмма» иногда используются как
синонимы для описания PDU транспортного уровня.

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

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

Процессы и запросы UDP-сервера

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


UDP присваиваются известные или зарегистрированные номера портов. Когда эти приложения
или процессы запущены на сервере, они принимают данные, совпадающие с присвоенным
номером порта. Если UDP получает датаграмму, адресованную одному из этих портов, он
пересылает данные приложения соответствующему приложению исходя из его номера порта.

Процессы UDP-клиента

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

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

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

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

TCP или UDP?


Приложения, использующие TCP

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


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

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

Можно выделить следующие примеры известных приложений, использующих TCP.

 HTTP (протокол передачи гипертекста)

 FTP (протокол передачи файлов)

 SMTP (протокол простой передачи электронной почты)

 Telnet

Приложения, использующие UDP.

Существуют три типа приложений, которые наиболее всего подходят для работы с протоколом
UDP:

 приложения, которые допускают потерю некоторых данных, но для которых важно


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

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

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

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

 DHCP

 DNS (может также использовать TCP)

 SNMP

 TFTP

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


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

Структура IPv4-адресов
Двоичное представление чисел

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

Например, буква «А» в коде ASCII представлена в виде бита 01000001. В свою очередь, буква
нижнего регистра «a» представлена в виде бита 01100001. Используйте преобразователь ASCII на
рисунке 1 для преобразования символов в двоичную форму.

Хотя в целом людям не нужно углубляться в преобразование символов, необходимо понимать, как
двоичные числа используются в IP-адресации. Каждое устройство в сети должно быть уникально
представлено с помощью двоичного адреса. В IPv4-сетях этот адрес представлен с помощью
серии из 32 бит (единиц и нулей). Затем на сетевом уровне пакеты включают в себя эту
уникальную идентификационную информацию для систем источника и назначения. Таким
образом, в IPv4-сети каждый пакет включает в себя 32-битный адрес источника и 32-битный адрес
назначения в заголовке уровня 3.

Большинству людей сложно понять строку из 32 бит и тем более сложно её запомнить. Поэтому
вместо двоичной системы для представления IPv4-адресов мы используем десятичный формат с
разделительными точками. Это означает, что мы рассматриваем каждый байт (октет) в виде
десятичного числа от 0 до 255. Чтобы понять этот принцип работы, необходимо уметь
преобразовывать двоичные представления в десятичный формат.

Позиционное представление чисел

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


математические основы позиционной системы исчисления. В позиционном представлении цифра
представляет разные значения в зависимости от своего расположения. Основанием системы
позиционного представления является корень. В десятичной системе корнем является 10. Корень
для двоичной системы — 2. Термины «основание» и «корень» можно использовать как синонимы.
Если точнее, то значение, представленное цифрой, умножается на основание, или корень,
который представлен позицией, занимаемой цифрой. Несколько примеров помогут вам лучше
понять, как работает эта система.

Для десятичного числа 192 единица (1) представляет значение 1*10^2 (1 раз 10 на 2). Единица
находится на позиции сотни (100). Позиционное представление передаёт эту позицию, как
основание^2, поскольку основание, или корень, — это 10, а степень — это 2. Цифра 9
представлена как 9*10^1 (9 раз 10 на 1). Позиционное представление десятичного числа 192
показано на рисунке 2.

С помощью позиционного представления в системе исчисления с корнем 10 число 192


представлено следующим образом:

192 = (1 * 10^2) + (9 * 10^1) + (2 * 10^0)

или
192 = (1 * 100) + (9 * 10) + (2 * 1)

Двоичная система исчисления

В протоколе IPv4-адреса представлены 32-битными числами. Однако для упрощения


использования двоичные схемы, представляющие IPv4-адреса, выражаются десятичными
представлениями с разделительными точками. Сначала каждый байт (8 бит) 32-битной
комбинации (октета) отделяется точкой. Он называется октетом потому, что каждое десятичное
число представляет один байт или 8 бит.

Двоичный адрес:

11000000 10101000 00001010 00001010

выражается в виде разделённых точками десятичных чисел:

192.168.10.10

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

Но как определяются их фактические десятичные эквиваленты?

Двоичная система исчисления

Корнем для двоичной системы исчисления является 2. Таким образом, каждое расположение
представляет значение в степени 2. В 8-битных двоичных числах расположения представляют
следующие суммы:

2^7 2^6 2^5 2^4 2^3 2^2 2^1 2^0

128 64 32 16 8 4 2 1

Система с основанием 2 располагает только двумя цифрами: 0 и 1.

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

Рисунок 2 демонстрирует представление десятичного числа 192 в двоичном формате. Единица (1)
в определённой позиции означает, что мы прибавляем это значение к общей сумме. Ноль (0)
означает, что мы не добавляем это значение. Двоичное число 11000000 имеет 1 в позиции 2^7
(десятичное значение 128) и 1 в позиции 2^6 (десятичное значение 64). Оставшиеся биты — это
нули, поэтому не нужно добавлять соответствующие десятичные значения. При сложении 128 + 64
получаем сумму 192, десятичный эквивалент которой 11000000.

Рассмотрим другие два примера.

Пример 1. Октет, содержащий все единицы: 11111111

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

128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 255

Пример 2. Октет, содержащий все нули: 00000000


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

0+0+0+0+0+0+0+0=0

Разные комбинации единиц и нулей создают различные десятичные значения.

Преобразование двоичного адреса в десятичный

Каждый октет состоит из 8 бит, каждый бит имеет значение 0 или 1. Четыре группы из 8 бит имеют
одну серию допустимых значений от 0 до 255 включительно. Значения каждого размещения бита
справа налево: 1, 2, 4, 8, 16, 32, 64 и 128.

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

 Нулевые позиции в сложении не участвуют.

 Если все 8 бит имеют значение 0, 00000000, значение октета равно 0.

 Если все 8 бит имеют значение 1, 11111111, значение октета равно 255
(128+64+32+16+8+4+2+1).

 Если среди 8 бит есть и единицы, и нули, то значения прибавляются вместе. Например,
значение октета 00100111 составляет 39 (32+4+2+1).

Таким образом, значение каждого из четырёх октетов находится в диапазоне от 0 до 255.

Используя 32-битный IPv4-адрес, 11000000101010000000101000001010, преобразуйте двоичное


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

Шаг 1. Разделите 32 бита на 4 октета.

Шаг 2. Преобразуйте каждый октет в десятичное число.

Шаг 3. Добавьте «точку» между десятичными числами.

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


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

Преобразование из десятичного формата в двоичный

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


наоборот.

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


необходимо изучить только процесс преобразования 8-битного двоичного значения в десятичное
от 0 до 255 для каждого октета в IPv4-адресе.

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


или больше, чем наибольшее десятичное значение, представленное самым старшим разрядом. В
наивысшей позиции мы определяем, является ли октет равным или больше числа 128. Если октет
меньше 128, то мы ставим 0 в позиции бита для десятичного значения 128 и переходим к позиции
бита десятичного значения 64.
Если октет в позиции бита десятичного значения 128 больше или равен 128, то мы ставим 1 в
позиции бита для десятичного значения 128 и вычитаем 128 из значения преобразуемого октета.
Затем мы сравниваем остаток данной операции со следующим по меньшинству значением — 64.
Аналогичное действие мы применим ко всем оставшимся позициям бита.

Маска подсети IPv4


Сетевая и узловая части IPv4-адреса

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

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

Но как узлы определяют, какая из частей 32-битного потока является сетевой, а какая — узловой?
Для этого используется маска подсети.

При настройке IP-узла ему присваивается не только IP-адрес, но и маска подсети. Как и IP-адрес,
маска состоит из 32 бит. Она определяет, какая часть IP-адреса относится к сети, а какая — к узлу.

Маска сравнивается с IP-адресом побитно, слева направо. В маске подсети единицы


соответствуют сетевой части, а нули — адресу узла. Как показано на рисунке 1, маска подсети
создаётся путём размещения единицы (1) в каждой позиции бита, представляющей сетевую часть,
и размещения нуля (0) в каждой позиции бита, которая представляет узловую часть. Обратите
внимание, что маска подсети не содержит сетевую или узловую часть IPv4-адреса; она только
сообщает компьютеру, в каком месте искать эти части в данном IPv4-адресе.

Как и IPv4-адреса, маска подсети для простоты использования представлена в десятичном


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

Сетевые префиксы

Длина префикса — это ещё один способ представления маски подсети. Длина префикса означает
количество бит, установленных на единицу (1) в маске подсети. Она обозначается наклонной
чертой вправо («/»), после которой идёт набор единиц. Например, если маска подсети
255.255.255.0, то в двоичной версии маски подсети на единицу настроены 24 бита, поэтому длина
префикса составляет 24 бита или /24. Префикс и маска подсети — это разные способы
представления одного и того же — сетевой части адреса.

Сетям не всегда назначается префикс /24. В зависимости от количества узлов в сети префикс
может отличаться. Различный префикс приводит к изменению диапазона узлов и
широковещательного адреса для каждой сети.

На рисунках ниже показано, как различные префиксы используют один и тот же адрес 10.1.1.0. На
рис. показаны префиксы от /24 до /26.

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


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

Сетевой адрес, адрес узла и широковещательный адрес сети IPv4

В диапазоне адресов каждой сети IPv4 существуют три типа адресов:

 Сетевой адрес

 Узловые адреса

 Широковещательный адрес
Сетевой адрес

Сетевой адрес — это стандартный способ обозначения сети. Маска подсети или длина префикса
могут использоваться при обозначении сетевого адреса. Например, сеть, показанную на рисунке 1,
можно обозначить как 10.1.1.0, 10.1.1.0 255.255.255.0 или 10.1.1.0/24. Все узлы в сети 10.1.1.0/24
будут иметь одинаковую сетевую часть.

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

Адрес узла

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

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

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

Для широковещательной рассылки используется наивысший адрес диапазона сети. В этом адресе
все части узла представлены единицами (1). Сумма единиц октета в двоичной форме равняется
значению 255 в десятичном формате. Таким образом, как показано на рисунке 4, для сети
10.1.1.0/24, в которой последний октет используется для узловой части, широковещательный
адрес будет равен 10.1.1.255. Обратите внимание, что узловая часть не всегда представлена всем
октетом целиком. Также этот адрес называют прямой широковещательной рассылкой.

Первый и последний адреса узлов

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

Адрес первого узла

Как видно на рисунке 1, узловая часть первого адреса узла будет содержать все нулевые биты с
единицей в крайнем справа бите. Значение этого адреса всегда на единицу больше сетевого
адреса. В этом примере первым адресом узла в сети 10.1.1.0/24 является 10.1.1.1. Часто во
многих схемах адресации первый адрес узла используется для маршрутизатора или шлюза по
умолчанию.

Адрес последнего узла

Узловая часть последнего адреса узла будет содержать все единицы с нулём в крайнем справа
бите. Значение этого адреса всегда на единицу меньше, чем значение широковещательного
адреса. Как видно на рисунке 2, последним адресом узла в сети 10.1.1.0/24 является 10.1.1.254.
Побитовая операция И

Если устройству назначен IPv4-адрес, то это устройство использует маску подсети, чтобы
определить, к какому сетевому адресу оно принадлежит. Сетевой адрес представляет все
устройства в одной и той же сети.

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

Операция И

Операция И — одна из трёх основных двоичных операций, используемых в дискретной логике.


Кроме того, существуют операции ИЛИ и НЕТ. Хотя все они используются в сетях передачи
данных, операция И используется для определения сетевого адреса. Поэтому в данном случае мы
рассмотрим только логическую операцию И. Логическая операция И — это сравнение двух битов
со следующими результатами:

1И1=1

0И1=0

0И0=0

1И0=0

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

Значение операции И

Любой бит адреса, прошедший операцию И со значением бита 1 из маски подсети, выводит
исходное значение бита из адреса. Таким образом, 0 (из IPv4-адреса) И 1 (из маска подсети)
равняется 0. 1 (из адреса IPv4) И 1 (из маски подсети) равняется 1. Таким образом, всё, что
проходит операцию И со значением 0, выводит 0. Эти свойства операции И используются с маской
подсети, чтобы «замаскировать» узловые биты IPv4-адреса. Каждый бит адреса проходит
операцию И с соответствующим битом маски подсети.

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

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

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

Для данного IP-адреса и его подсети операцию И можно использовать для определения того, к
какой подсети принадлежит этот адрес, а также того, какие другие адреса относятся к той же
подсети. Помните, что если два адреса находятся в одной и той же сети или подсети, то друг для
друга они являются локальными и, следовательно, могут взаимодействовать между собой
напрямую. Адреса, находящиеся в разных сетях или подсетях, являются друг для друга
удалёнными, поэтому для их коммуникации необходимо устройство уровня 3 (например
маршрутизатор или коммутатор уровня 3).

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

Одноадресная, широковещательная и многоадресная


рассылка IPv4
Присвоение узлу статического IPv4-адреса

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

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


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

Статическое присвоение

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


данные узла. На рис. 1 показано диалоговое окно со свойствами сетевого адаптера. Чтобы
настроить статический IPv4-адрес, выберите IPv4 на экране сетевого адаптера, затем ключ в
статическом адресе, маску подсети и шлюз по умолчанию. На рис. 2 показана минимальная
статическая конфигурация: IP-адрес, маска подсети и шлюз по умолчанию.

Статическая адресация обладает несколькими преимуществами. Например, её можно


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

При использовании статической IP-адресации необходимо ввести точный список IP-адресов,


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

Присвоение узлу динамического IPv4-адреса

Динамическое присвоение

Список пользователей локальной сети часто меняется. Появляются новые пользователи с


ноутбуками, которые нужно подключить. У других пользователей появляются новые рабочие
станции или сетевые устройства, требующие подключения, например смартфоны. Чтобы каждой
станции не приходилось вручную присваивать IP-адреса, проще всего это сделать автоматически.
Для этого используется протокол динамической конфигурации сетевого узла (DHCP), как показано
на рисунке 1.
DHCP обеспечивает автоматическое присвоение информации об адресе, например IP-адреса,
маски подсети, шлюза по умолчанию и других параметров. При настройке DHCP-сервера для
присвоения клиентам DHCP этой информации необходимо использовать блок адресов, который
называется пулом адресов. Присвоение адресов к этому пулу необходимо планировать таким
образом, чтобы любые статические адреса, используемые другими устройствами, были
исключены.

DHCP — это наиболее предпочтительный способ присвоения IPv4-адресов узлам в большой сети,
поскольку он облегчает работу специалистов службы поддержки и практически устраняет
возможность ошибки.

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

Если на узловом устройстве включён DHCP, команду ipconfig можно использовать для


просмотра информации об IP-адресе, присвоенном DHCP-серверу, как показано на рисунке 2.

Одноадресная передача

В IPv4-сети узлы могут взаимодействовать одним из трёх следующих способов.

 Одноадресная рассылка — процесс отправки пакета с одного узла на индивидуальный

 Широковещательная рассылка — процесс отправки пакета с одного узла на все узлы в


сети

 Многоадресная рассылка — процесс отправки пакета с одного узла выбранной группе


узлов, возможно, в различных сетях

Эти три типа связи используются в сетях передачи данных для различных целей. Во всех трёх
типах IPv4-адрес исходного узла размещён в заголовке пакета в качестве адреса источника.

Одноадресный трафик

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

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

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


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

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

Узловые IPv4-адреса являются одноадресными и входят в диапазон адресов от 0.0.0.0 до


223.255.255.255. Однако в этом диапазоне есть множество адресов, зарезервированных для
специальных целей. Такие адреса будут рассмотрены позже.
Широковещательная передача

Широковещательная передача

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

Использование широковещательной рассылки включает в себя:

 Проведение маршрута от адресов верхнего уровня до адресов нижнего уровня

 Запрос адреса

 В отличие от одноадресной рассылки, в случае которой пакеты могут быть отправлены по


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

Прямая широковещательная рассылка

Прямая широковещательная рассылка отправляется всем узлам в конкретной сети. Этот тип
широковещательной рассылки полезен для отправки широковещательных пакетов на все узлы
нелокальной сети. Например, для связи какого-либо узла за пределами сети 172.16.4.0/24 со
всеми узлами внутри этой сети адресом назначения пакета будет являться 172.16.4.255. Несмотря
на то, что маршрутизаторы не пересылают широковещательные пакеты по умолчанию, их можно
для этого настроить.

Ограниченная широковещательная рассылка

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


узлами в локальной сети. Эти пакеты всегда используют следующий IPv4-адрес назначения:
255.255.255.255. Маршрутизаторы не пересылают ограниченную широковещательную рассылку.
Поэтому IPv4-сеть иначе называется доменом широковещательной рассылки. Маршрутизаторы
формируют границы для домена широковещательной рассылки.

Например, узел в пределах сети 172.16.4.0/24 отправляет широковещательную рассылку всем


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

Чтобы увидеть пример ограниченной широковещательной передачи, включите анимационное


представление.

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


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

Многоадресная передача

Многоадресная передача предназначена для сохранения пропускной способности IPv4-сети. Такая


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

Многоадресная передача включает в себя:

 Широковещательную передачу видео и аудио

 Обмен данными маршрутизации протоколами маршрутизации

 Распространение программного обеспечения

 Игру удалённым способом

Групповые адреса

Протокол IPv4 имеет блок адресов, зарезервированных для групп мультивещания. Это диапазон
адресов составляет от 224.0.0.0 до 239.255.255.255. Диапазон групповых адресов разделён на
различные типы адресов: зарезервированные канальные и глобальные адреса. Дополнительный
тип групповых адресов — это административно определяемые адреса, которые также называются
ограниченными адресами.

Групповые адреса IPv4 от 224.0.0.0 до 224.0.0.255 являются зарезервированными локальными


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

Глобальные адреса включают в себя от 224.0.1.0 до 238.255.255.255. Их можно использовать для


многоадресной передачи данных через Интернет. Например, адрес 224.0.1.1 зарезервирован для
протокола сетевого времени (NTP) с целью синхронизации часов истинного времени в сетевых
устройствах.

Клиенты многоадресной рассылки

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


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

Каждая группа мультивещания представлена одним групповым IPv4-адресом назначения. Когда


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

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

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

Частные адреса

Блоки частных адресов включают в себя:

10.0.0.0–10.255.255.255 (10.0.0.0/8)

172.16.0.0–172.31.255.255 (172.16.0.0/12)

192.168.0.0–192.168.255.255 (192.168.0.0/16)

Частные адреса определены в документе RFC 1918 «Присвоение адресов для частного
Интернета». Иногда эти адреса называют адресами RFC 1918. Как показано на рисунке, блоки
адресов частного пространства используются в частных сетях. Узлы, которые не требуют доступа
в Интернет, могут использовать частные адреса. Однако в рамках частной сети узлы по-прежнему
должны иметь уникальные IP-адреса внутри частного пространства.

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

В документе RFC 6598 IANA (Администрация адресного пространства Интернет) зарезервировала


другую группу адресов, которая называется общим адресным пространством. Так же, как и в
пространстве частных адресов RFC 1918, адреса общего адресного пространства недоступны
глобально. Однако эти адреса предназначены только для использования в сетях операторов
связи. Блок общих адресов — 100.64.0.0/10.

Публичные адреса

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


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

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

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

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

Логический интерфейс loopback

Один из таких зарезервированных адресов — IPv4-адрес логического интерфейса loopback


127.0.0.1. Loopback — это особый адрес, который используют узлы, чтобы направлять трафик
самим себе. Адрес обратной связи позволяет создавать ускоренный метод взаимодействия для
приложений и сервисов TCP/IP, которые работают на одном и том же устройстве. С
использованием loopback-адреса вместо назначенного IPv4-адреса узла два сервиса на одном
узле могут обойти нижние уровни стека протоколов TCP/IP. Для проверки настройки TCP/IP на
локальном узле можно послать эхо-запрос на loopback-адрес.

Хотя используется только адрес 127.0.0.1, резервируются адреса с 127.0.0.0 до 127.255.255.255.


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

Локальные адреса каналов

В качестве локальных адресов канала используются IPv4-адреса в блоке адресов от 169.254.0.0


до 169.254.255.255 (169.254.0.0 /16). Эти адреса могут быть автоматически присвоены
операционной системой локальному узлу в средах, где настройка IP-сети недоступна. Они могут
использоваться в небольшой одноранговой сети или для узла, который не может автоматически
получить адрес от DHCP-сервера.

Коммуникация с помощью локальных IPv4-адресов подходит только для обмена данными с


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

Локальные адреса не предоставляют сервисы за пределами локальной сети. Однако многие


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

Адреса TEST-NET

Блок адресов от 192.0.2.0 до 192.0.2.255 (192.0.2.0/24) отложен для обучающих и учебных целей.
Эти адреса могут использоваться в документации и сети. В отличие от экспериментальных
адресов сетевые устройства принимают эти адреса в свои конфигурации. Эти адреса часто
используются в сочетании с такими доменными именами, как example.com или example.net в серии
документов, имеющих статус стандартов (RFC), в документации поставщиков и протоколов.
Адреса из этого блока не должны появляться в сети Интернет.

Экспериментальные адреса

Адреса в блоке от 240.0.0.0 до 255.255.255.254 указаны в качестве зарезервированных для


использования в будущем (RFC 3330). В настоящее время эти адреса могут использоваться
только в исследовательских или экспериментальных целях, но не могут использоваться в IPv4-
сети. Тем не менее, в соответствии с документом RFC 3330, в будущем технически они могут быть
преобразованы в доступные адреса.

Исторически сложилось так, что назначенные адреса (RFC1700) сгруппировали одноадресные


диапазоны в адреса с особыми размерами, которые называются адресами класса А, класса B и
класса С. Кроме того, были определены адреса класса D (групповые) и класса Е
(экспериментальные), как было показано ранее. Согласно индивидуальным адресам классов A, B
и C определены сети особого размера и блоки особых адресов для этих сетей. Компании или
организации назначается целая сеть из блоков адресов класса A, B или C. Такое использование
адресного пространства называется классовой адресацией.

Блоки класса А

Блок адресов класса А разработан для поддержки очень крупных сетей, содержащих более чем 16
миллионов адресов узлов. Для обозначения сетевого адреса IPv4-адреса класса А использовали
фиксированный префикс /8 с первым октетом. Остальные три октета использовались для адресов
узлов. Все адреса класса А требуют, чтобы самый старший разряд старшего октета был равен
нулю. Это означает, что существовало только 128 возможных сетей класса А, от 0.0.0.0/8 до
127.0.0.0 /8. Даже если адреса класса А зарезервировали половину адресного пространства, в
связи с их ограничением до 128 сетей они могут быть назначены только приблизительно 120
компаниям или организациям.
Блоки класса B

Адресное пространство класса B разработано для поддержки потребностей небольших и крупных


сетей, содержащих приблизительно 65 000 узлов. IP-адрес класса B использовал два старших
октета для обозначения сетевого адреса. Оставшиеся два октета определяли адреса узлов. Как и
в случае с классом А, адресное пространство для оставшихся классов адресов должно быть
зарезервированным. Для адресов класса B два самых старших разряда старшего октета равны 10.
Это ограничивает блок адресов для класса B от 128.0.0.0/16 до 191.255.0.0/16. Назначение
адресов класса B немного более эффективно по сравнению с классом А, поскольку 25% его
общего пространства IPv4-адресов было разделено среди примерно 16 000 сетей.

Блоки класса С

Адресное пространство класса С было доступно чаще всех остальных классов адресов. Это
адресное пространство предназначено для предоставления адресов небольшим сетям с
максимальным количеством узлов не более 254. Блоки адресов класса С использовали префикс
/24. Это означает, что сеть класса С использовала только последний октет в качестве адресов
узлов с тремя старшими октетами, используемыми для обозначения сетевых адресов. Блоки
адресов класса С отделяли адресное пространство с помощью фиксированного значения 110
самых старших разрядов старшего октета. Это ограничило блок адресов класса С от 192.0.0.0/24
до 223.255.255.0/24. Хотя этот блок занял только 12,5 % от общего объёма адресного IPv4-
пространства, он предоставил адреса 2 миллионам сетей.

На рис. 1 показано, как разделяются эти классы адресов.

Ограничения в системе классов

Не все требования организаций соответствуют этим классам. Классовое распределение адресного


пространства часто приводит к потере множества адресов, что отрицательным образом
сказывается на доступности IPv4-адресов. Например, компании, в сети которой находится 260
узлов, необходимы адреса класса B с более 65 000 адресами.

Хотя эта классовая система была практически забыта в конце 1990-х гг., в настоящее время по-
прежнему наблюдается её влияние. Например, при назначении компьютеру IPv4-адреса
операционная система проверяет присваиваемый адрес, чтобы определить, к какому классу
принадлежит этот адрес: A, B или C. Затем операционная система принимает префикс,
используемый этим классом, и назначает маску подсети по умолчанию.

Бесклассовая адресация

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


название которой — бесклассовая междоменная маршрутизация (CIDR, произносится как
«сайдэ»). Классовое назначение IPv4-адресов с длинами префиксов /8, /16 и /24, каждый из
которых принадлежал разному классу, было очень неэффективным. В 1993 г. организация IETF
(Инженерная группа по развитию Интернета) создала новые стандарты, которые позволили
операторам связи назначать IPv4-адреса в любых битовых границах (имеется в виду длина
префикса) вместо адресов класса А, B или C.

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

Чтобы располагать сетевыми узлами, например веб-серверами, компании или организации


необходим блок назначенных публичных адресов. Как вы помните, публичные адреса должны
быть уникальными, а использование этих публичных адресов контролируется и назначается
отдельно для каждой организации. Это утверждение является верным в отношении IPv4- и IPv6-
адресов.
IANA (Администрация адресного пространства Интернет) и RIR (региональные интернет-
регистраторы)

Администрация адресного пространства Интернет IANA (http://www.iana.org) регулирует


назначение IPv4- и IPv6-адресов. До середины 1990-х гг. управление всем адресным IPv4-
пространством осуществлялось напрямую организацией IANA. В то время оставшееся адресное
IPv4-пространство было распространено среди различных регистраторов для облегчённого
управления конкретными целями и регионами. Такие регистрационные компании называются
региональными интернет-регистраторами (RIR), как показано на рисунке.

Основные реестры:

 AfriNIC (Африканский сетевой информационный центр) — Африканский


регион http://www.afrinic.net

 APNIC (Азиатско-Тихоокеанский сетевой информационный центр) — Азиатско-


Тихоокеанский регион http://www.apnic.net

 ARIN (Американский реестр интернет-адресов) — Североамериканский


регион http://www.arin.net

 LACNIC (Латиноамериканский и Карибский сетевой информационный центр) — Латинская


Америка и некоторые острова Карибского моря http://www.lacnic.net

 RIPE NCC (Координационный центр европейской континентальной сети) — Европа,


Ближний Восток и Азия http://www.ripe.net

Интернет-провайдеры

Региональные интернет-регистраторы отвечают за выделение IP-адресов интернет-провайдерам


(ISP). Большинство компаний или организаций получают блоки IPv4-адресов от интернет-
провайдеров. Обычно, помимо всех остальных услуг, провайдер предоставляет своим заказчикам
небольшое количество доступных IPv4-адресов (6 или 14). Большие блоки адресов можно
получить в соответствии с потребностями и за дополнительную плату.

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

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


интернет-регистраторов. IPv6-адреса и блоки адресов стандартных размеров будут рассмотрены в
этой главе далее.

Сервисы интернет-провайдера

Для получения доступа к услугам сети Интернет нам необходимо подключить нашу сеть для
передачи данных в Интернет с помощью интернет-провайдера (ISP).

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


Интернету и предоставления связанных с ним услуг. Среди прочих услуг, которые интернет-
провайдеры обычно предоставляют своим заказчикам, существуют сервис DNS, сервис
электронной почты и веб-сайты. В зависимости от уровня требуемых и доступных услуг заказчики
обращаются к различным уровням интернет-провайдеров.

Уровни интернет-провайдеров

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


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

Как показано на рис. 1, в верхней части иерархии интернет-провайдеров находятся провайдеры


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

Основные преимущества интернет-провайдеров уровня 1 для заказчиков — надёжность и


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

Уровень 2

Как показано на рисунке 2, провайдеры уровня 2 получают подключение к Интернету от интернет-


провайдеров уровня 1. Как правило, интернет-провайдеры уровня 2 основное внимание уделяют
бизнес-клиентам. Интернет-провайдеры уровня 2 обычно предлагают больше услуг, чем
провайдеры остальных двух уровней. В компаниях интернет-провайдеров уровня 2 работают ИТ-
специалисты, которые регулируют работу таких сервисов, как DNS, сервисов электронной почты и
веб-серверов. Кроме того, провайдеры уровня 2 могут предлагать услуги по разработке и
обслуживанию веб-сайтов, обеспечению электронной торговли и онлайн-бизнеса, а также
голосовой передачи по протоколу VoIP.

Основной недостаток провайдеров уровня 2 по сравнению с уровнем 1 — более медленный


доступ к сети Интернет. Поскольку поставщики уровня 2 находятся как минимум в одном шаге от
магистрального канала Интернет, они предлагают меньшую надёжность, чем поставщики уровня 1.

Уровень 3

Как показано на рисунке 3, провайдеры уровня 3 получают подключение к Интернету от


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

Зачастую эти заказчики не обладают обширными знаниями в компьютерных и сетевых


технологиях. Интернет-провайдеры уровня 3 часто предлагают подключение к сети Интернет,
входящей в часть договора на обслуживание сетей и компьютеров. Хотя поставщики уровня 3
предоставляют небольшую пропускную способность и менее надёжны по сравнению с
провайдерами уровней 1 и 2, они оптимально подходят для средних и малых компаний.

Сетевые IPv6-адреса

Проблемы с IPv4
Потребность в IPv6

Протокол IPv6 разработан как преемник протокола IPv4. В протоколе IPv6 больше 128-битного
адресного пространства, что достаточно для 340 ундециллионов адресов. (Это число 340, за
которым следует 36 нолей.) Однако IPv6 — не просто большие адреса. Когда специалисты IETF
начали разработку преемника IPv4, они использовали эту возможность для устранения
ограничений протокола IPv4 и внесения дополнительных улучшений. Среди таких улучшений —
протокол управляющих сообщений версии 6 (ICMPv6), который включает в себя разрешение
адресов и автонастройку адресов, что отсутствовало в протоколе ICMP для IPv4 (ICMPv4).
Протоколы ICMPv4 и ICMPv6 будут рассмотрены далее в этой главе.

Потребность в IPv6

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


перехода к использованию IPv6. По мере того как Африка, Азия и другие регионы планеты всё
больше нуждаются в подключении к сети Интернет, остается всё меньше IPv4-адресов для
поддержки таких темпов развития. 31 января 2011 г. Администрация адресного пространства
Интернет IANA назначила последние 2 блока IPv4-адресов /8 региональным интернет-
регистраторам (RIR). Согласно различным прогнозам в период между 2015 и 2020 годами у всех
пяти интернет-регистраторов закончатся IPv4-адреса. Оставшиеся IPv4-адреса будут
распределены среди интернет-провайдеров.

Теоретическое максимальное количество IPv4-адресов — 4,3 миллиарда. Частные адреса RFC


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

Интернет вещей

Современная сеть Интернет значительно отличается от Интернета последних десятилетий.


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

В связи с распространением Интернета ограниченным адресным пространством IPv4, проблемами


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

Совместное использование протоколов IPv4 и IPv6

Точно неизвестно, когда мы перейдем на протокол IPv6. В ближайшем будущем протоколы IPv4 и
IPv6 будут существовать совместно. Полный переход может занять многие годы. Специалисты
IETF создали различные протоколы и инструменты, которые позволяют сетевым администраторам
постепенно переводить свои сети на протокол IPv6. Методы перехода можно разделить на 3
категории:

 Двойной стек: как показано на рис. 1, двойной стек позволяет протоколам IPv4 и IPv6
сосуществовать в одной сети. Устройства с двойным стеком одновременно работают с
протокольными стеками IPv4 и IPv6.

 Туннелирование: как показано на рисунке 2, туннелирование — это способ


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

 Преобразование: как показано на рис. 3, преобразование сетевых адресов 64 (NAT64)


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

Адресация IPv6
Шестнадцатеричная система исчисления

В отличие от IPv4-адресов, которые выражены в десятичном формате с разделительными


точками, IPv6-адреса представлены с помощью шестнадцатеричных значений. Вы уже видели
использование шестнадцатеричного кода в панели Packets Byte программы Wireshark. В
программе Wireshark шестнадцатеричная система используется для представления двоичных
значений в кадрах и пакетах. Также шестнадцатеричная система исчисления используется для
представления адреса управления доступом к среде передачи данных Ethernet (MAC).

Шестнадцатеричная нумерация

Шестнадцатеричная система исчисления («Hex») — это удобный способ представления двоичных


значений. Так же, как в десятичной системе основанием является 10, в двоичной системе
основанием является 2, основание шестнадцатеричной системы исчисления — 16.

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


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

Общие сведения о байтах

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

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

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


от 0 до 9.

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


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

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

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


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

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


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

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

Предпочтительный формат

Как показано на рис. 1, предпочтительный формат для записи IPv6-адреса: x: x: x: x: x: x: x: x, где


каждый «x» состоит из четырёх шестнадцатеричных значений. Октеты — это термин, который
используется для обозначения 8 бит IPv4-адреса. В IPv6 шестнадцатеричное число — это термин,
используемый для обозначения сегмента из 16 бит или четырёх шестнадцатеричных значений.
Каждый «x» — это одно шестнадцатеричное число, 16 бит или 4 шестнадцатеричных цифр.

В предпочтительном формате IPv6-адрес записан с помощью 32 шестнадцатеричных цифр. Тем


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

Правило 1: пропуск начальных нулей

Первое правило для сокращения записи IPv6-адресов — пропуск всех ведущих 0 (нулей) в
шестнадцатеричной записи. Например:

 01AB можно представить как 1AB

 09F0 можно представить как 9F0

 0A00 можно представить как A00

 00AB можно представить как AB

Это правило применяется только к ведущим нулям, а НЕ к последующим, иначе адрес будет
записан неясно. Например, шестнадцатеричное число «ABC» может быть представлено как
«0ABC» или «ABC0».

Правило 2: пропуск всех нулевых блоков

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

Двойное двоеточие (::) может использоваться в адресе только один раз, в противном случае в
результате может возникнуть несколько адресов. Сочетание этого правила с методом пропуска
нулей помогает значительно сократить запись IPv6-адреса. Это называется сжатым форматом.

Неверный адрес:

 2001:0DB8::ABCD::1234

Возможные расширения неоднозначно записанных сжатых адресов:

 2001:0DB8::ABCD:0000:0000:1234
 2001:0DB8::ABCD:0000:0000:0000:1234

 2001:0DB8:0000:ABCD::1234

 2001:0DB8:0000:0000:ABCD::1234

Типы IPv6-адресов
Существует три типа IPv6-адресов.

 Индивидуальный: служит для определения интерфейса на устройстве под управлением


протокола IPv6. Как показано на рисунке, IPv6-адрес источника должен быть
индивидуальным.

 Групповой: используется для отправки IPv6-пакетов по нескольким адресам назначения.

 Произвольный: любой индивидуальный IPv6-адрес, который может быть назначен


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

В отличие от протокола IPv4, IPv6 не использует адрес широковещательной рассылки. Однако


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

Как вы помните, префикс, или сетевая часть адреса IPv4, может быть обозначен маской подсети в
десятичном формате с разделительными точками или длиной префикса (запись с наклонной
чертой). Например, IP-адрес 192.168.1.10 с маской подсети в десятичном формате с
разделительными точками 255.255.255.0 эквивалентен записи 192.168.1.10/24.

Протокол IPv6 использует длину префикса для обозначения части префикса адреса. IPv6 не
использует для маски подсети десятичное представление с разделительными точками. Длина
префикса обозначает сетевую часть IPv6-адреса с помощью адреса или длины IPv6-префикса.

Диапазон длины префикса может составлять от 0 до 128. Традиционная длина IPv6-префикса для
локальных и других типов сетей — /64. Это означает, что длина префикса, или сетевая часть
адреса, составляет 64 бита, а оставшиеся 64 бита остаются для идентификатора интерфейса
(узловой части) адреса.

Индивидуальный адрес служит для определения интерфейса устройства под управлением


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

Существует шесть типов индивидуальных IPv6-адресов:

Глобальный индивидуальный адрес

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

Локальный адрес канала

Локальные адреса канала используются для обмена данными с другими устройствами по одному
локальному каналу. В протоколе IPv6 термин «канал» означает подсеть. Локальные адреса
каналов ограничены одним каналом. Они должны быть уникальны только в рамках этого канала,
поскольку вне канала к ним нельзя проложить маршрут. Другими словами, маршрутизаторы не
смогут пересылать пакеты, имея локальный адрес канала источника или назначения.

Логический интерфейс loopback

Loopback-адрес используется узлом для отправки пакета самому себе и не может быть назначен
физическому интерфейсу. Как и на loopback-адрес IPv4, для проверки настроек TCP/IP на
локальном узле можно послать эхо-запрос на loopback-адрес IPv6. Loopback-адрес IPv6 состоит из
нулей, за исключением последнего бита, который выглядит как ::1/128 или просто ::1 в сжатом
формате.

Неопределённый адрес

Неопределённый адрес состоит из нулей и в сжатом формате представлен как ::/128 или просто ::
Он не может быть назначен интерфейсу и используется только в качестве адреса источника в
IPv6-пакете. Неопределённый адрес используется в качестве адреса источника, когда устройству
еще не назначен постоянный IPv6-адрес или когда источник пакета не относится к месту
назначения.

Уникальный локальный адрес

Уникальные локальные IPv6-адреса имеют некоторые общие особенности с частными адресами


RFC 1918 для IPv4, но при этом между ними имеются и значительные различия. Уникальные
локальные адреса используются для локальной адресации в пределах узла или между
ограниченным количеством узлов. Эти адреса не следует маршрутизировать в глобальном
протоколе IPv6. Уникальные локальные адреса находятся в диапазоне от FC00::/7 до FDFF::/7.

В случае с IPv4 частные адреса объединены с преобразованием сетевых портов и адресов


(NAT/PAT) для обеспечения преобразования адресов из частных в публичные. Это делается из-за
недостатка адресного пространства IPv4. На многих сайтах также используют частный характер
адресов RFC 1918, чтобы обеспечить безопасность или защитить сеть от потенциальных угроз.
Однако такая мера никогда не была целью использования данных технологий, и организация IETF
всегда рекомендовала предпринимать правильные меры предосторожности при работе
маршрутизатора в Интернете. Хотя протокол IPv6 обеспечивает особую адресацию для сайтов, он
не предназначен для того, чтобы скрывать внутренние устройства под управлением IPv6 от
Интернета IPv6. IETF рекомендует ограничивать доступ к устройствам с помощью наилучших мер
безопасности.

Примечание. Исходная спецификация IPv6 определяет локальные адреса для тех же целей с
помощью диапазона префикса FEC0:: /10. В спецификации были обнаружены некоторые
неточности, и локальные адреса сайтов были запрещены IETF в пользу уникальных локальных
адресов.

Встроенный IPv4

Последними из рассматриваемых типов индивидуальных адресов являются встроенные IPv4-


адреса. Использование этих адресов способствует переходу с протокола IPv4 на IPv6. Встроенные
IPv4-адреса не рассматриваются в этом курсе.

Локальный IPv6-адрес канала позволяет устройству обмениваться данными с другими


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

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

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


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

Локальные IPv6-адреса канала находятся в диапазоне FE80::/10. /10 указывает на то, что первые
10 бит — 1111 1110 10xx xxxx. Первый хекстет имеет диапазон от 1111 1110 1000 0000 (FE80) до
1111 1110 1011 1111 (FEBF).

На рис. 1 показан пример коммуникации с помощью локальных IPv6-адресов.

На рис. 2 показан формат локального IPv6-адреса.

Локальные IPv6-адреса также используются IPv6-протоколами маршрутизации для обмена


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

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

Сегментация сети
Причины разбиения на подсети

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

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

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

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

Обмен данными между подсетями

Маршрутизатор необходим для взаимодействия узлов из разных подсетей. Устройства в сети


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

В пространстве подсети этот механизм реализуется аналогичным образом. Как показано на


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

Трафик не может передаваться между подсетями без использования маршрутизатора. У каждого


интерфейса маршрутизатора должен быть IPv4-адрес, принадлежащий сети или подсети, к
которой подключён этот интерфейс.
Значимость разбиения IP-сети на подсети

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


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

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

Как уже упоминалось ранее, диапазон частных IP-адресов, используемых в локальной сети,
выбирается сетевым администратором, и к выбору этого диапазона следует отнестись с должным
вниманием. Необходимо убедиться, что количества адресов будет достаточно для активных в
данный момент узлов и для будущего расширения сети. Запомните диапазоны частных IP-
адресов:

 10.0.0.0 с маской подсети 255.0.0.0

 172.16.0.0 с маской подсети 255.240.0.0

 192.168.0.0 с маской подсети 255.255.0.0

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

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


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

Определите стандарты присвоения IP-адресов в диапазоне каждой подсети. Например:

 Принтерам и серверам будут назначены статические IP-адреса


 Пользователи будут получать IP-адреса от DHCP-серверов в подсетях /24

 Маршрутизаторам назначаются первые доступные адреса узла в диапазоне.

Два существенных фактора, влияющих на определение необходимого блока частных адресов, —


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

В примерах ниже отображено разбиение на подсети на основе блоков адресов с масками подсети
255.0.0.0 и 255.255.255.0, 255.255.0.0.

Разбиение IPv4-сети на подсети


Базовое разбиение на подсети

Каждый сетевой адрес содержит допустимый диапазон адресов узлов. Все устройства,
подключённые к одной и той же сети, будут иметь IPv4-адрес узла этой сети, а также общую маску
подсети или префикс сети.

Префикс и маска подсети — это разные способы представления одного и того же — сетевой части
адреса.

Для создания IPv4-подсетей мы задействуем один или нескольких бит из узловой части в качестве
бит сетевой части. Для этого мы расширяем маску подсети. Чем больше заимствовано бит из
узловой части, тем больше подсетей можно создать. Для каждого заимствованного бита
количество доступных подсетей удваивается. Например, если заимствовать один бит, можно
создать две подсети. Для двух бит — 4 подсети, для трёх бит — 8 подсетей и т. д. Однако с
каждым заимствованным битом уменьшается количество адресов узлов в каждой подсети.

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

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


поскольку использовать можно только биты из узловой части.

Как показано на рисунке 1, сеть 192.168.1.0/24 имеет 24 бита в сетевой части и 8 бит в узловой
части, что обозначено маской подсети 255.255.255.0 или записью с префиксом /24. Без разделения
на подсети эта сеть поддерживает работу только с одним интерфейсом локальной сети. Если
нужна дополнительная локальная сеть, основную сеть нужно разделить на подсети.

На рисунке 2 в самом старшем разряде (крайний левый бит) заимствуется 1 бит в узловой части,
расширяя сеть до 25 бит. При этом создаются две подсети: первая определяется цифрой 0 в
заимствованном бите, а вторая — цифрой 1 в заимствованном бите. Для маски подсети обеих
сетей используется цифра 1 в заимствованном бите, чтобы показать, что этот бит теперь входит в
сетевую часть адреса.

Как показано на рисунке 3, если преобразовать двоичный октет в десятичный формат, мы увидим,
что адрес первой подсети — 192.168.1.0, а адрес второй подсети — 192.168.1.128. Поскольку был
заимствован бит, маска подсети для каждой подсети будет 255.255.255.128 или /25.
Используемые подсети

В примере выше сеть 192.168.1.0/24 была разделена на две подсети:

192.168.1.0/25

192.168.1.128/25

Обратите внимание, что на рисунке №1 к интерфейсам GigabitEthernet маршрутизатора R1


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

Первая подсеть (192.168.1.0/25) используется для сети, подключённой к интерфейсу


GigabitEthernet 0/0, а вторая подсеть (192.168.1.128/25) — к интерфейсу GigabitEthernet 0/1. Чтобы
назначить IP-адрес каждому из этих интерфейсов, необходимо определить диапазон допустимых
IP-адресов для каждой подсети.

Ниже даны рекомендации для каждой из подсетей.

 Сетевой адрес — все биты 0 в узловой части адреса.

 Адрес первого узла — все биты 0, а также крайний правый бит 1 в узловой части адреса.

 Адрес последнего узла — все биты 1, а также крайний правый бит 0 в узловой части
адреса.

 Широковещательный адрес — все биты 1 в узловой части адреса.

Как показано на рисунке 2, адрес первого узла в сети 192.168.1.0/25 — 192.168.1.1, а адрес
последнего узла — 192.168.1.126. На рисунке 3 показано, что адрес первого узла в сети
192.168.1.128/25 — 192.168.1.129, а адрес последнего узла — 192.168.1.254.

Чтобы назначить адрес первого узла в каждой подсети интерфейсу маршрутизатора для этой
подсети, используйте команду ip address в режиме конфигурации интерфейса, как показано на
рисунке 4. Обратите внимание, что для каждой подсети используется маска подсети
255.255.255.128, которая означает, что под сетевую часть адреса отведено 25 бит.

Конфигурация узла для сети 192.168.1.128/25 показана на рисунке 5. Обратите внимание, что IP-
адресом шлюза является адрес (192.168.1.129), настроенный на интерфейсе G0/1
маршрутизатора R1, а маской подсети является 255.255.255.128.

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

Расчёт подсетей

Для расчёта количества подсетей используйте следующую формулу:

2^n (где n = количество заимствованных бит)

Как показано на рисунке 1 для примера 192.168.1.0/25, расчёт выглядит следующим образом:

2^1 = 2 подсети
Расчёт узлов

Для расчёта количества узлов в одной сети используйте следующую формулу:

2^n (где n = количество бит, оставшихся в узловой части адреса)

Как показано на рисунке 2 для примера 192.168.1.0/25, расчёт выглядит следующим образом:

2^7 = 128

Поскольку для узлов не может использоваться сетевой адрес или широковещательный адрес из
подсети, эти два адреса нельзя назначить узлам. Это означает, что в каждой из подсетей можно
использовать 126 (128-2) адресов узлов.

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

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


Разбиение на подсети на основе требований узлов

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

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

Количество узлов

При заимствовании бит для создания нескольких подсетей у вас остаётся достаточно бит в
узловой части для самой крупной подсети. Количество адресов узлов, необходимых в самой
крупной подсети, определяет, сколько бит нужно оставить в узловой части адреса. Для расчёта
количества адресов, которые будут доступны в каждой подсети, используется формула 2^n (где
n — количество оставшихся бит в узловой части). Как вы помните, два адреса использовать
нельзя, поэтому фактически количество доступных адресов рассчитывается как 2^n-2.

Разбиение на подсети на основе требований сетей

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

Ключевым моментом является соотношение количества необходимых подсетей и количества


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

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

В некоторых сетях, таких как каналы сети WAN класса «точка-точка», требуется только два узла.
Другие сети, например локальная сеть пользователей в крупном здании или в отделе, могут
содержать сотни узлов. Сетевые администраторы должны разработать схему межсетевой
адресации, чтобы обеспечить максимальное количество узлов в каждой сети. Количество узлов в
каждом подразделении должно иметь запас для увеличения в будущем.

Определение общего количества узлов

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

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


узлов в пяти офисах (см. рис. 1). В этом примере оператор связи выделил сетевой адрес
172.20.0.0/21 (11 бит в узловой части). Как показано на рисунке 2, этот блок содержит 2,046 адреса
узлов, которых хватает для обеспечения потребностей этой сетевой инфраструктуры.

Определение количества сетей и их размеров

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


необходимых в каждой подсети. Если взять за основу топологию сети, содержащей 5 сегментов
ЛВС и 4 соединения между маршрутизаторами, то потребуются 9 подсетей. Самая большая
подсеть должна содержать 40 узлов. При проектировании схемы адресации необходимо заранее
учесть увеличение как количества подсетей, так и узлов в подсетях.

Сетевой адрес 172.16.0.0/22 имеет 10 битов в узловой части. Поскольку самой крупной подсети
требуется 40 узлов, для обеспечения их адресации требуется не менее 6 битов в узловой части.
Это число определяется по следующей формуле: 2^6 - 2 = 62 узла. Оставшиеся 4 бита в узловой
части можно использовать для создания подсетей. По формуле определения количества подсетей
получаем 16 подсетей: 2^4 = 16. Поскольку в нашем примере сетевой инфраструктуры требуются 9
подсетей, это соответствует нашим требованиям и обеспечивает некоторый запас для роста в
будущем.

Если заимствовать 4 бита, новая длина префикса будет /26 с маской подсети 255.255.255.192.

Как показано на рисунке, длина префикса /26 позволяет определить 16 адресов подсетей.
Увеличилась только часть подсети в адресе. Исходные 22 бита сетевого адреса нельзя изменить,
а узловая часть будет содержать нулевые биты.

Примечание. Обратите внимание, что поскольку часть подсети находится в третьем и четвёртом
октетах, одно или два этих значения будут изменяться в адресах подсетей.
Как показано на рисунке, исходная сеть 172.16.0.0/22 была единой сетью, в которой используются
10 бит, обеспечивая 1022 пригодных к использованию адресов для назначения узлам. Путём
заимствования 4 бит из узловой части можно создать 16 подсетей (от 0000 до 1111). В каждой
подсети имеются 6 бит в узловой части или 62 пригодных к использованию адреса узлов.

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

В традиционном разбиении на подсети каждой подсети выделяется одинаковое количество


адресов. Если все подсети имеют одинаковые требования к количеству узлов, такие блоки
адресов фиксированного размера будут эффективными. Однако чаще всего требования
отличаются.

Например, в топологии, показанной на рисунке 1, используются семь подсетей: по одной для


каждой из четырёх локальных сетей и по одной для каждого из трёх каналов сети WAN между
маршрутизаторами. В традиционном разбиении на подсети с указанным адресом 192.168.20.0/24
из узловой части в последнем октете можно позаимствовать три бита, чтобы обеспечить создание
семи подсетей. Как показано на рисунке 2, при заимствовании трёх бит можно создать 8 подсетей,
а оставшихся пяти бит в узловой части хватит для 30 адресов узлов в каждой подсети. В данной
схеме создаются необходимые подсети, и она соответствует требованиям к узлам для самой
крупной локальной вычислительной сети.

Хотя это традиционное разбиение на подсети соответствует требованиям самой крупной ЛВС и
делит адресное пространство на достаточное количество подсетей, в нём создаётся значительный
объём неиспользуемых адресов.

Например, в каждой подсети для каждого из трёх WAN-соединений нужны только два адреса.
Поскольку в каждой подсети доступно по 30 адресов, 28 из них не будут использоваться. Как
показано на рисунке 3, в результате мы получаем 84 неиспользуемых адреса (28x3).

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

Применение традиционной схемы разбиения на подсети в данном варианте является


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

Разбиение подсети на несколько подсетей с использованием маски подсети переменной длины


(VLSM) позволяет распределять гораздо меньше «лишних» адресов.

Маски подсетей переменной длины (VLSM)

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

Как показано на рисунке 1, при традиционном разбиении на подсети создаются подсети


одинакового размера. Во всех подсетях в традиционной схеме используется одна маска подсети.
Как показано на рисунке 2, VLSM-маска позволяет разделить сетевое пространство на неравные
части. VLSM-маска подсети может варьироваться в зависимости от количества бит, которые были
заимствованы для конкретной подсети. Эти биты образуют «переменную» часть маски.

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

Базовая модель VLSM

Чтобы лучше понять процесс применения VLSM, вернёмся к предыдущему примеру.

В предыдущем примере, показанном на рисунке 1, сеть 192.168.20.0/24 была разбита на восемь


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

Чтобы создать более мелкие подсети для каналов сети WAN, одна из подсетей будет разделена.
На рисунке 2 последняя подсеть 192.168.20.224/27 будет дополнительно разбита на подсети.

Как вы помните, если известно требуемое количество адресов узлов, можно использовать
формулу 2^n-2 (где n — количество оставшихся бит в узловой части). Чтобы получить два
доступных адреса, в его узловой части должны остаться два бита.

2^2 - 2 = 2

Поскольку в адресном пространстве 192.168.20.224/27 имеются 5 бит в узловой части, три бита
можно позаимствовать, оставив 2 бита в узловой части.

На данном этапе расчёты в точности совпадают с расчётами при традиционном разбиении на


подсети. Биты заимствуются, определяя диапазоны подсетей.

Как показано на рисунке 2, схема VLSM-разбиения на подсети уменьшает количество адресов в


каждой подсети до подходящего размера соединений с глобальной сетью. Разбиение подсети 7
для сетей WAN оставляет доступными подсети 4, 5 и 6 для будущих сетей, а также для нескольких
других подсетей для сетей WAN.

VLSM на практике

При использовании VLSM-подсетей для сегментов ЛВС и сети WAN можно выделить адреса без
ненужной избыточности.

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

В стандартной схеме адресации IPv4-адрес первого узла в каждой подсети назначается LAN-
интерфейсу маршрутизатора. WAN-интерфейсам маршрутизаторов назначаются IP-адреса и
маска для подсетей /30.

На рисунках с 1 по 4 показаны конфигурации интерфейсов для всех маршрутизаторов.

Узлы в каждой подсети будут иметь IPv4-адрес из диапазона адресов этой подсети и
соответствующую маску. Узлы будут использовать адрес подключённого LAN-интерфейса
маршрутизатора в качестве шлюза по умолчанию.
 Узлы здания A (192.168.20.0/27) будут использовать адрес 192.168.20.1 маршрутизатора в
качестве шлюза по умолчанию.

 Узлы здания B (192.168.20.32/27) будут использовать адрес 192.168.20.33 маршрутизатора


в качестве шлюза по умолчанию.

 Узлы здания С (192.168.20.64/27) будут использовать адрес 192.168.20.65 маршрутизатора


в качестве шлюза по умолчанию.

 Узлы здания D (192.168.20.96/27) будут использовать адрес 192.168.20.97 маршрутизатора


в качестве шлюза по умолчанию.

Схема VLSM

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

Изучение подсетей /27

Как показано на рисунке 1, при использовании традиционного разбиения на подсети первые семь
блоков адресов используются для локальных и глобальных сетей. Как вы помните, по этой схеме
были получены 8 подсетей с 30 доступными адресами в каждой из них (/27). Хотя схема подходит
для сегментов локальной сети, в сегментах сети WAN будет несколько неиспользуемых адресов.

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

Как показано на рисунке 2, чтобы более эффективно использовать адресное пространство, для
каналов сети WAN были созданы подсети /30. Чтобы объединить неиспользуемые блоки адресов,
последняя подсеть /27 была дополнительно разбита на подсети для создания подсетей /30.
Первые 3 подсети были назначены каналам сети WAN.

 Диапазон адресов узла .224 /30 от 225 до 226: канал сети WAN между маршрутизаторами
R1 и R2.

 Диапазон адресов узла .228 /30 от 229 до 230: канал сети WAN между маршрутизаторами
R2 и R3.

 Диапазон адресов узла .232 /30 от 233 до 234: канал сети WAN между маршрутизаторами
R3 и R4.

 Диапазон адресов узла .236 /30 от 237 до 238: доступен для использования.

 Диапазон адресов узла .240 /30 от 241 до 242: доступен для использования.

 Диапазон адресов узла .244 /30 от 245 до 246: доступен для использования.

 Диапазон адресов узла .248 /30 от 249 до 250: доступен для использования.

 Диапазон адресов узла .252 /30 от 253 до 254: доступен для использования.

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