Интернет Windows Android

Протоколы маршрутизации в IP-сетях. Протокол маршрутизации IP Вопросы для размышления

Src="https://present5.com/presentation/3/159928527_437552731.pdf-img/159928527_437552731.pdf-2.jpg" alt=">Протокол маршрутизации IP ">

Src="https://present5.com/presentation/3/159928527_437552731.pdf-img/159928527_437552731.pdf-3.jpg" alt=">IP-адрес l IPv 4 -адрес - это уникальная 32 разрядная последовательность двоичных цифр,"> IP-адрес l IPv 4 -адрес - это уникальная 32 разрядная последовательность двоичных цифр, с помощью которой компьютер однозначно идентифицируется в IP сети. (на канальном уровне в роли таких же уникальных адресов компьютеров выступают МАС адреса сетевых адаптеров, невозможность совпадения которых контролируется изготовителями на стадии производства.)

Src="https://present5.com/presentation/3/159928527_437552731.pdf-img/159928527_437552731.pdf-4.jpg" alt=">Версии l версия 4 протокола IP, или IPv 4 l версия 6 (IPv 6),"> Версии l версия 4 протокола IP, или IPv 4 l версия 6 (IPv 6), в которой IP адрес представляется в виде 128 битной последовательности двоичных цифр. ipv 6 install

Src="https://present5.com/presentation/3/159928527_437552731.pdf-img/159928527_437552731.pdf-5.jpg" alt=">Структура l Для удобства работы с IP адресами 32 разрядную последовательность обычно "> Структура l Для удобства работы с IP адресами 32 разрядную последовательность обычно разделяют на 4 части по 8 битов (на октеты) l каждый октет переводят в десятичное число и при записи разделяют эти числа точками. l в таком виде (это представление называется «десятичные числа с точками» , или, «dotted decimal notation») IP адреса занимают гораздо меньше места и намного легче запоминаются 192. 168. 5. 200 11000000 10101000 0000101 11001000

Src="https://present5.com/presentation/3/159928527_437552731.pdf-img/159928527_437552731.pdf-6.jpg" alt=">Маска подсети l Маска подсети - это 32 разрядное число, состоящее из идущих"> Маска подсети l Маска подсети - это 32 разрядное число, состоящее из идущих вначале единиц, а затем - нулей, например (в десятичном представлении) 255. 0 ИЛИ 255. 240. 0.

Src="https://present5.com/presentation/3/159928527_437552731.pdf-img/159928527_437552731.pdf-7.jpg" alt=">Маска подсети l Маска подсети играет исключительно важную роль в IP адресации и "> Маска подсети l Маска подсети играет исключительно важную роль в IP адресации и маршрутизации l сеть ARPANet строилась как набор соединенных друг с другом гетерогенных сетей. Для правильного взаимодействия в такой сложной сети каждый участник должен уметь определять, какие IP адреса принадлежат его локальной сети, а какие - удаленным сетям. l здесь и используется маска подсети, с помощью которой производится разделение любого IP адреса на две части: идентификатор сети (Net ID) и идентификатор узла (Host ID). l такое разделение делается очень просто: там, где в маске подсети стоят единицы, находится идентификатор сети, а где стоят нули - идентификатор узла. Например, в IP адресе 192. 168. 5. 200 при использовании маски подсети 255. 0 идентификатором сети будет число 192. 168. 5. 0, а идентификатором узла - число 200. Стоит поменять маску подсети, на число 255. 0. 0, как и идентификатор узла, и идентификатор сети изменятся на 192. 168. 0. 0 и 5. 200, соответственно, и от этого, иначе будет вести себя компьютер при посылке IP пакетов.

Src="https://present5.com/presentation/3/159928527_437552731.pdf-img/159928527_437552731.pdf-8.jpg" alt=">Правила назначения IP-адресов сетей и узлов 1. идентификатор сети не может содержать только"> Правила назначения IP-адресов сетей и узлов 1. идентификатор сети не может содержать только двоичные нули или только единицы. Например, адрес 0. 0 не может являться идентификатором сети; 2. идентификатор узла также не может содержать только двоичные нули или только единицы - такие адреса зарезервированы для специальных целей l все нули в идентификаторе узла означают, что этот адрес является адресом сети. Например, 192. 168. 5. 0 является правильным адресом сети при использовании маски 255. 0 и его нельзя использовать для адресации компьютеров, l все единицы в идентификаторе узла означают, что этот адрес является адресом широковещания для данной сети. Например, 192. 168. 5. 255 является адресом широковещания в сети 192. 168. 5. 0 при использовании маски 255. 0 и его нельзя использовать для адресации компьютеров

Src="https://present5.com/presentation/3/159928527_437552731.pdf-img/159928527_437552731.pdf-9.jpg" alt=">Правила назначения IP-адресов сетей и узлов l идентификатор узла в пределах одной и"> Правила назначения IP-адресов сетей и узлов l идентификатор узла в пределах одной и той же подсети должен быть уникальным; l диапазон адресов от 127. 0. 0. 1 до 127. 255. 254 нельзя использовать в качестве IP адресов компьютеров. Вся сеть 127. 0. 0. 0 по маске 255. 0. 0. 0 зарезервирована под так называемый «адрес заглушки» (loopback), используемый в IP для обращения компьютера к самому себе. PING 127. 12. 34. 56

Src="https://present5.com/presentation/3/159928527_437552731.pdf-img/159928527_437552731.pdf-10.jpg" alt=">l Распределением IP адресов в мире занимается частная некоммерческая корпорация под названием ICANN"> l Распределением IP адресов в мире занимается частная некоммерческая корпорация под названием ICANN (Internet Corporation for Assigned Names and Numbers), а точнее, работающая под ее патронажем организация IANA (Internet Assigned Numbers Authority).

Src="https://present5.com/presentation/3/159928527_437552731.pdf-img/159928527_437552731.pdf-11.jpg" alt=">Классовая и бесклассовая IP-адресация ">

Src="https://present5.com/presentation/3/159928527_437552731.pdf-img/159928527_437552731.pdf-12.jpg" alt=">Развитие l Первоначальная все пространство возможных IP адресов было разбито на пять классов"> Развитие l Первоначальная все пространство возможных IP адресов было разбито на пять классов l принадлежность IP адреса к определенному классу определялась по нескольким битам первого октета l для адресации сетей и узлов использовались только классы А, В и С. l для этих сетей были определены фиксированные маски подсети по умолчанию, равные, соответственно, 255. 0. 0. 0, 255. 0. 0 и 255. 0, которые не только жестко определяли диапазон возможных IP адресов узлов в таких сетях, но и механизм маршрутизации.

Src="https://present5.com/presentation/3/159928527_437552731.pdf-img/159928527_437552731.pdf-13.jpg" alt=">Классы адресов в первоначальной схеме IP-адресации Класс Первые Возможное число биты в"> Классы адресов в первоначальной схеме IP-адресации Класс Первые Возможное число биты в значения сетей узлов в сети октете первого октета А 0 1 -126 16777214 В 10 128 -191 16384 65534 С 110 192 -223 2097152 254 D 1110 224 -239 Используется для многоадресной рассылки (multicast) Е 1111 240 -254 Зарезервирован как экспериментальный

Src="https://present5.com/presentation/3/159928527_437552731.pdf-img/159928527_437552731.pdf-14.jpg" alt=">Проблемы l Для получения нужного диапазона IP адресов организациям предлагалось заполнить регистрационную форму,"> Проблемы l Для получения нужного диапазона IP адресов организациям предлагалось заполнить регистрационную форму, в которой следовало указать текущее число компьютеров и планируемый рост компью терного парка в течение двух лет. l с развитием Интернета такой подход к распределению IP адресов стал вызывать проблемы, особенно острые для сетей класса В. l организациям, в которых число компьютеров не превышало нескольких сотен (скажем, 500), приходилось регистрировать для себя целую сеть класса В. l Поэтому количество доступных сетей класса В стало на глазах «таять» , но при этом громадные диапазоны IP адресов (в нашем примере - более 65000) пропадали зря.

Src="https://present5.com/presentation/3/159928527_437552731.pdf-img/159928527_437552731.pdf-15.jpg" alt=">Решение проблемы l Чтобырешить проблему, была разработана бесклассовая схема IP- адресации ">

Src="https://present5.com/presentation/3/159928527_437552731.pdf-img/159928527_437552731.pdf-16.jpg" alt=">Бесклассовая схема IP-адресации (Classless Inter. Domain Routing,), CIDR l отсутствует привязка IP адреса"> Бесклассовая схема IP-адресации (Classless Inter. Domain Routing,), CIDR l отсутствует привязка IP адреса к классу сети и маске подсети по умолчанию l допускается применение так называемых масок подсети с переменной длиной (Variable Length Subnet Mask, VLSM). l Например, если при выделении сети для вышеуказанной организации с 500 компьютерами вместо фиксированной маски 255. 0. 0 использовать маску 255. 254. 0 то получившегося диапазона из 512 возможных IP адресов будет вполне достаточно. Оставшиеся 65 тысяч адресов можно зарезервировать на будущее или раздать другим желающим подключиться к Интернету. Этот подход позволил гораздо более эффективно выделять организациям нужные им диапазоны IP адресов, и проблема с нехваткой IP сетей и адресов стала менее острой.

Src="https://present5.com/presentation/3/159928527_437552731.pdf-img/159928527_437552731.pdf-17.jpg" alt=">l Рассчет максимально возможного количества узлов в любой IP сети сколько битов"> l Рассчет максимально возможного количества узлов в любой IP сети сколько битов содержится в идентификаторе узла, или, иначе, сколько нулей имеется в маске подсети. l Это число используется в качестве показателя степени двойки, а затем из результата вычитается два зарезервированных адреса (сети и широковещания). l Аналогичным способом легко вычислить и возможное количество сетей классов А, В или С, если учесть, что первые биты в октете уже зарезервированы, а в классе А нельзя использовать IP адреса 0. 0 и 127. 0. 0. 0 для адресации сети.

Src="https://present5.com/presentation/3/159928527_437552731.pdf-img/159928527_437552731.pdf-18.jpg" alt=">IP-адреса для локальных сетей l Все используемые в Интернете адреса, должны регистрироваться в"> IP-адреса для локальных сетей l Все используемые в Интернете адреса, должны регистрироваться в IANA, что гарантирует их уникальность в масштабе всей планеты. Такие адреса называют реальными, или публичными (public) IP адресами. l Для локальных сетей, не подключенных к Интернету, регистрация IP адресов, естественно, не требуется, так что, в принципе, здесь можно использовать любые возможные адреса. Однако, чтобы не допускать возможных конфликтов при последующем подключении такой сети к Интернету, RFC 1918 рекомендует применять в локальных сетях только следующие диапазоны так называемых частных (private) IP адресов (в Интернете эти адреса не существуют и использовать их там нет возможности): ¡ 10. 0- 10. 255; ¡ 172. 16. 0. 0- 172. 31. 255; а

Src="https://present5.com/presentation/3/159928527_437552731.pdf-img/159928527_437552731.pdf-19.jpg" alt=">Основы IР-маршрутизации l чтобы правильно взаимодействовать с другими компьютерами и сетями, каждый "> Основы IР-маршрутизации l чтобы правильно взаимодействовать с другими компьютерами и сетями, каждый компьютер определяет, какие IP адреса принадлежат его локальной сети, а какие - удаленным сетям. l если выясняется, что IP адрес компьютера назначения принадлежит локальной сети, пакет посылается непосредственно компьютеру назначения, если же это адрес удаленной сети, то пакет посылается по адресу основного шлюза.

Src="https://present5.com/presentation/3/159928527_437552731.pdf-img/159928527_437552731.pdf-20.jpg" alt=">Пример КОМПЬЮТЕР l IP адрес - 192. 168. 5. 200; l маска подсети -"> Пример КОМПЬЮТЕР l IP адрес - 192. 168. 5. 200; l маска подсети - 255. 0; l основной шлюз - 192. 168. 5. 1. При запуске протокола IP на компьютере выполняется операция логического «И» между его собственными IP адресом и маской подсети l IP адрес в 32 разрядном виде 11000000 10101000 00000101 11001000; l маска подсети - 11111111 0000; l идентификатор сети - 11000000 10101000 00000101 0000 Т. е. 192. 168. 5. 0 идентификатор собственной сети

Src="https://present5.com/presentation/3/159928527_437552731.pdf-img/159928527_437552731.pdf-21.jpg" alt=">Пример Задача: отправить IP-пакет по адресу 192. 168. 5. 15. l компьютер выполняет"> Пример Задача: отправить IP-пакет по адресу 192. 168. 5. 15. l компьютер выполняет операцию логического «И» с IP адресом компьютера назначения и собственной маской подсети. l полученный в результате идентификатор сети назначения будет совпадать с идентификатором собственной сети компьютера отправителя.

Src="https://present5.com/presentation/3/159928527_437552731.pdf-img/159928527_437552731.pdf-22.jpg" alt=">Пример Так наш компьютер определит, что компьютер назначения находится в одной с ним"> Пример Так наш компьютер определит, что компьютер назначения находится в одной с ним сети, и выполнит следующие операции: l с помощью протокола ARP будет определен физический МАС адрес, соответствующий IP адресу компьютера назначения; l с помощью протоколов канального и физического уровня по этому МАС адресу будет послана нужная информация.

Src="https://present5.com/presentation/3/159928527_437552731.pdf-img/159928527_437552731.pdf-23.jpg" alt=">Пример 2 Задача: отправить IP-пакет по адресу 192. 168. 10. 20. l Компьютер выполнит"> Пример 2 Задача: отправить IP-пакет по адресу 192. 168. 10. 20. l Компьютер выполнит аналогичную процедуру определения идентификатора сети назначения. l В результате будет получен адрес 192. 168. 10. 0, не совпадающий с идентификатором сети компьютера отправителя. l Так будет установлено, что компьютер назначения находится в удаленной сети, и алгоритм действий компьютера отправителя изменится: 1. будет определен МАС адрес не компьютера назначения, а маршрутизатора; 2. с помощью протоколов канального и физического уровня по этому МАС адресу на маршрутизатор будет послана нужная информация. Дальнейшая судьба IP пакета зависит от правильной настройки маршрутизаторов, объединя ющих сети 192. 168. 5. 0 и 192. 168. 10. 0. важна правильная настройка маски подсети в параметрах IP адресации!!!

Src="https://present5.com/presentation/3/159928527_437552731.pdf-img/159928527_437552731.pdf-24.jpg" alt=">Способами настройки параметров IP и проверка работоспособности 1. назначить вручную (легко ошибиться, при"> Способами настройки параметров IP и проверка работоспособности 1. назначить вручную (легко ошибиться, при изменении надо перенастраивать, сетевые администраторы полностью контролируют все IP адреса, невозможно работать в крупных корпоративных сетях с мобильными устройствами типа ноутбуков или КПК, которые часто перемещаются из одного сегмента сети в другой) 2. автоматическое получение IP адреса. Специальные серверы, поддерживающие протокол динамической конфигурации узлов (Dynamic Host Con iguration Protocol, DHCP), задача которых состоит f в обслуживании запросов клиентов на получение IP адреса и другой информации, необходимой для правильной работы в сети. Если сервер DHCP недоступен (отсутствует или не работает), то начиная с версии Windows 98 компьютеры самостоятельно назначают себе IP адрес. При этом используется механизм автоматической личной IP адресации (Automatic Private IP Addressing, АРIPA), для которого корпорацией Microsoft в IANA был зарегистрирован диапазон адресов 169. 254. 0. 0 - 169. 254. 255.

Src="https://present5.com/presentation/3/159928527_437552731.pdf-img/159928527_437552731.pdf-25.jpg" alt=">Проверка параметров и работоспособности протокола IP 1. IPCONFIG /ALL. 2. PING 127."> Проверка параметров и работоспособности протокола IP 1. IPCONFIG /ALL. 2. PING 127. 0. 0. 1 3. PING w. x. y. z, где w. x. y. z - IP адрес соседнего компьютера. 4. PING w. x. y. z, где w. x. y. z - IP адрес основного шлюза. 5. PING w. x. y. z, гдеw. x. y. z - IP адрес любого удаленного компьютера.

Src="https://present5.com/presentation/3/159928527_437552731.pdf-img/159928527_437552731.pdf-26.jpg" alt=">Вопросы 1. Какие параметры и настройки обязательны дляобеспечения работы стека протоколов TCP/IP? 2."> Вопросы 1. Какие параметры и настройки обязательны дляобеспечения работы стека протоколов TCP/IP? 2. Что такое IP адрес? Какова его структура? Какиевозможны способы представления IP адресов? 3. Чем отличаются версии 4 и 6 протокола IP? Какие преимущества обеспечит версия 6 протокола IP? Почему возникла необходимость в переходе на версию 6 протокола IP? 4. Что такое маска подсети? Для чего она нужна? 5. В чем заключается смысл разделения IP адреса на идентификаторы сети и узла? Для чего это требуется? 6. Какие IP адреса и маски являются допустимыми, а какие - нет? Почему? 7. В чем различие между классовой и бесклассовой IP адресациями? Каковы их преимущества и недостатки?

Src="https://present5.com/presentation/3/159928527_437552731.pdf-img/159928527_437552731.pdf-27.jpg" alt=">Вопросы 1. Что такое классы IP адресов? По каким правилам они определяются? 2."> Вопросы 1. Что такое классы IP адресов? По каким правилам они определяются? 2. Как назначить IP адреса в локальной сети (без выхода в Интернет)? 3. Каковы основные принципы маршрутизации пакетов в локальных и удаленных сетях? 4. Что такое таблица маршрутов (таблица маршрутизации)? Объясните смысл каждой из ее колонок. 5. Как «прописать» в таблице маршрутизации отсутствующий в ней новый маршрут? 6. Что такое динамическая конфигурация узлов? Для чего она нужна? 7. В чем заключается технология автоматической личной IP адресации? 8. Каков типовой алгоритм проверки работоспособности протокола IP?

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

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

Маршрутизация в IP-сетях

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

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

  • Адрес назначения
  • Соседний маршрутизатор, от которого он может узнать об удаленных сетях
  • Доступные пути ко всем удаленным сетям
  • Наилучший путь к каждой удаленной сети
  • Методы обслуживания и проверки информации о маршрутизации

Маршрутизатор узнает об удаленных сетях от соседних маршрутизаторов или от сетевого администратора. Затем маршрутизатор строит таблицу маршрутизации, которая описывает, как найти удаленные сети.

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

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

IP-маршрутизация - простой процесс, который одинаков в сетях любого размера. Например, на рисунке показан процесс пошагового взаимодействия хоста А с хостом В в другой сети. В примере пользователь хоста А запрашивает по ping IP-адрес хоста В. Дальнейшие операции не так просты, поэтому рассмотрим их подробнее:

  • В командной строке пользователь вводит ping 172.16.20.2. На хосте А генерируется пакет с помощью протоколов сетевого уровня и ICMP .

  • IP обращается к протоколу ARP для выяснения сети назначения для пакета, просматривая IP-адрес и маску подсети хоста А. Это запрос к удаленному хосту, т.е. пакет не предназначен хосту локальной сети, поэтому пакет должен быть направлен маршрутизатору для перенаправления в нужную удаленную сеть.
  • Чтобы хост А смог послать пакет маршрутизатору, хост должен знать аппаратный адрес интерфейса маршрутизатора, подключенный к локальной сети. Сетевой уровень передает пакет и аппаратный адрес назначения канальному уровню для деления на кадры и пересылки локальному хосту. Для получения аппаратного адреса хост ищет местоположение точки назначения в собственной памяти, называемой кэшем ARP.
  • Если IP-адрес еще не был доступен и не присутствует в кэше ARP, хост посылает широковещательную рассылку ARP для поиска аппаратного адреса по IP-адресу 172.16.10.1. Именно поэтому первый запрос Ping обычно заканчивается тайм-аутом, но четыре остальные запроса будут успешны. После кэширования адреса тайм-аута обычно не возникает.
  • Маршрутизатор отвечает и сообщает аппаратный адрес интерфейса Ethernet, подключенного к локальной сети. Теперь хост имеет всю информацию для пересылки пакета маршрутизатору по локальной сети. Сетевой уровень спускает пакет вниз для генерации эхо-запроса ICMP (Ping) на канальном уровне, дополняя пакет аппаратным адресом, по которому хост должен послать пакет. Пакет имеет IP-адреса источника и назначения вместе с указанием на тип пакета (ICMP) в поле протокола сетевого уровня.
  • Канальный уровень формирует кадр, в котором инкапсулируется пакет вместе с управляющей информацией, необходимой для пересылки по локальной сети. К такой информации относятся аппаратные адреса источника и назначения, а также значение в поле типа, установленное протоколом сетевого уровня (это будет поле типа, поскольку IP по умолчанию пользуется кадрами Ethernet_II). Рисунок 3 показывает кадр, генерируемый на канальном уровне и пересылаемый по локальному носителю. На рисунке 3 показана вся информация, необходимая для взаимодействия с маршрутизатором: аппаратные адреса источника и назначения, IP-адреса источника и назначения, данные, а также контрольная сумма CRC кадра, находящаяся в поле FCS (Frame Check Sequence).
  • Канальный уровень хоста А передает кадр физическому уровню. Там выполняется кодирование нулей и единиц в цифровой сигнал с последующей передачей этого сигнала по локальной физической сети.

  • Сигнал достигает интерфейса Ethernet 0 маршрутизатора, который синхронизируется по преамбуле цифрового сигнала для извлечения кадра. Интерфейс маршрутизатора после построения кадра проверяет CRC, а в конце приема кадра сравнивает полученное значение с содержимым поля FCS. Кроме того, он проверяет процесс передачи на отсутствие фрагментации и конфликтов носителя.
  • Проверяется аппаратный адрес назначения. Поскольку он совпадает с адресом маршрутизатора, анализируется поле типа кадра для определения дальнейших действий с этим пакетом данных. В поле типа указан протокол IP, поэтому маршрутизатор передает пакет процессу протокола IP, исполняемому маршрутизатором. Кадр удаляется. Исходный пакет (сгенерированный хостом А) помещается в буфер маршрутизатора.
  • Протокол IP смотрит на IP-адрес назначения в пакете, чтобы определить, не направлен ли пакет самому маршрутизатору. Поскольку IP-адрес назначения равен 172.16.20.2, маршрутизатор определяет по своей таблице маршрутизации, что сеть 172.16.20.0 непосредственно подключена к интерфейсу Ethernet 1.
  • Маршрутизатор передает пакет из буфера в интерфейс Ethernet 1. Маршрутизатору необходимо сформировать кадр для пересылки пакета хосту назначения. Сначала маршрутизатор проверяет свой кэш ARP, чтобы определить, был ли уже разрешен аппаратный адрес во время предыдущих взаимодействий с данной сетью. Если адреса нет в кэше ARP, маршрутизатор посылает широковещательный запрос ARP в интерфейс Ethernet 1 для поиска аппаратного адреса для IP-адреса 172.16.20.2.
  • Хост В откликается аппаратным адресом своего сетевого адаптера на запрос ARP. Интерфейс Ethernet 1 маршрутизатора теперь имеет все необходимое для пересылки пакета в точку окончательного приема. На рисунке показывает кадр, сгенерированный маршрутизатором и переданный по локальной физической сети.

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

  • Хост В принимает кадр и проверяет CRC. Если проверка будет успешной, кадр удаляется, а пакет передается протоколу IP. Он анализирует IP-адрес назначения. Поскольку IP-адрес назначения совпадает с установленным в хосте В адресом, протокол IP исследует поле протокола для определения цели пакета.
  • В нашем пакете содержится эхо-запрос ICMP, поэтому хост В генерирует новый эхо-ответ ICMP с IP-адресом источника, равным адресу хоста В, и IP-адресом назначения, равным адресу хоста А. Процесс запускается заново, но в противоположном направлении. Однако аппаратные адреса всех устройств по пути следования пакета уже известны, поэтому все устройства смогут получить аппаратные адреса интерфейсов из собственных кэшей ARP.

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

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

В стеке TCP/IP маршрутизаторы и конечные узлы принимают решения о том, кому передавать пакет для его успешной доставки узлу назначения, на основании так называемых таблиц маршрутизации (routing tables).

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

Таблица маршрутизации для Router 2

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

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

Чтобы доставить пакет в сеть с адресом из поля Сетевой адрес и маской из поля Маска сети, нужно с интерфейса с IP-адресом из поля Интерфейс послать пакет по IP-адресу из поля Адрес шлюза, а «стоимость» такой доставки будет равна числу из поля Метрика.

В этой таблице в столбце "Адрес сети назначения" указываются адреса всех сетей, которым данный маршрутизатор может передавать пакеты. В стеке TCP/IP принят так называемый одношаговый подход к оптимизации маршрута продвижения пакета (next-hop routing) – каждый маршрутизатор и конечный узел принимает участие в выборе только одного шага передачи пакета. Поэтому в каждой строке таблицы маршрутизации указывается не весь маршрут в виде последовательности IP-адресов маршрутизаторов, через которые должен пройти пакет, а только один IP-адрес - адрес следующего маршрутизатора, которому нужно передать пакет. Вместе с пакетом следующему маршрутизатору передается ответственность за выбор следующего шага маршрутизации. Одношаговый подход к маршрутизации означает распределенное решение задачи выбора маршрута. Это снимает ограничение на максимальное количество транзитных маршрутизаторов на пути пакета.

Для отправки пакета следующему маршрутизатору требуется знание его локального адреса, но в стеке TCP/IP в таблицах маршрутизации принято использование только IP-адресов для сохранения их универсального формата, не зависящего от типа сетей, входящих в интерсеть. Для нахождения локального адреса по известному IP-адресу необходимо воспользоваться протоколом ARP.

Одношаговая маршрутизация обладает еще одним преимуществом - она позволяет сократить объем таблиц маршрутизации в конечных узлах и маршрутизаторах за счет использования в качестве номера сети назначения так называемого маршрута по умолчанию – default (0.0.0.0), который обычно занимает в таблице маршрутизации последнюю строку. Если в таблице маршрутизации есть такая запись, то все пакеты с номерами сетей, которые отсутствуют в таблице маршрутизации, передаются маршрутизатору, указанному в строке default. Поэтому маршрутизаторы часто хранят в своих таблицах ограниченную информацию о сетях интерсети, пересылая пакеты для остальных сетей в порт и маршрутизатор, используемые по умолчанию. Подразумевается, что маршрутизатор, используемый по умолчанию, передаст пакет на магистральную сеть, а маршрутизаторы, подключенные к магистрали, имеют полную информацию о составе интерсети.

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

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

Записи в таблице маршрутизации, относящиеся к сетям, непосредственно подключенным к маршрутизатору, в поле "Метрика" содержат нули («подключено»).

Алгоритмы маршрутизации

Основные требования к алгоритмам маршрутизации:

  • точность;
  • простота;
  • надёжность;
  • стабильность;
  • справедливость;
  • оптимальность.

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

  • алгоритмы простой маршрутизации;
  • алгоритмы фиксированной маршрутизации;
  • алгоритмы адаптивной маршрутизации.

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

Проста маршрутизация

Это способ маршрутизации не изменяющийся при изменении топологии и состоянии сети передачи данных (СПД).

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

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

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

Фиксированная маршрутизация

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

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

Адаптивная маршрутизация

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

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

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

Показатели алгоритмов (метрики)

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

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

  • Длина маршрута.
  • Надежность.
  • Задержка.
  • Ширина полосы пропускания.

Длина маршрута.

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

Надежность.

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

Задержка.

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

Полоса пропускания.

Полоса пропускания относится к имеющейся мощности трафика какого-либо канала. При прочих равных показателях, канал Ethernet 10 Mbps предпочтителен любой арендованной линии с полосой пропускания 64 Кбайт/с. Хотя полоса пропускания является оценкой максимально достижимой пропускной способности канала, маршруты, проходящие через каналы с большей полосой пропускания, не обязательно будут лучше маршрутов, проходящих через менее быстродействующие каналы.

Протокол передачи данных TCP/IP

Сеть Интернет, являющаяся сетью сетей и объединяющая громадное количество различных локальных, региональных и корпоративных сетей, функционирует и развивается благодаря использованию единого протокола передачи данных TCP/IP. Термин TCP/IP включает название двух протоколов:

  • Transmission Control Protocol (TCP) - транспортный протокол;
  • Internet Protocol (IP) - протокол маршрутизации.

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

Аналогично передаваемая по сети информация "упаковывается в конверт", на котором "пишутся" IP-адреса компьютеров получателя и отправителя, например "Кому: 198.78.213.185", "От кого: 193.124.5.33". Содержимое конверта на компьютерном языке называется IP-пакетом и представляет собой набор байтов.

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

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

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

Определение маршрута прохождения информации. "География" Интернета существенно отличается от привычной нам географии. Скорость получения информации зависит не от удаленности Web-сервера, а от количества промежуточных серверов и качества линий связи (их пропускной способности), по которым передается информация от узла к узлу.

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

Проследим, как реализуется доступ к информации в "московской" части Интернета к одному из наиболее популярных поисковых серверов российского Интернета www.rambler.ru.

Определение маршрута прохождения информации

2. В окне Сеанс MS-DOS в ответ на приглашение системы ввести команду .

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


Трассировка маршрута передачи информации показывает, что сервер www.rambler.ru находится от нас на "расстоянии" 7 переходов, т. е. информация передается через шесть промежуточных серверов Интернета (через серверы московских провайдеров МТУ-Информ и Демос). Скорость передачи информации между узлами достаточно высока, на один "переход" тратится от 126 до 138 мс.

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

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

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

Transmission Control Protocol (TCP) , то есть транспортный протокол, обеспечивает разбиение файлов на IP-пакеты в процессе передачи и сборку файлов в процессе получения.

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

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

Определение времени обмена IP-пакетами

1. Соединиться с Интернетом, ввести команду [Программы-Сеанс MS-DOS].

2. В окне Сеанс MS-DOS в ответ на приглашение системы ввести команду .

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


Вопросы для размышления

1. Что обеспечивает целостное функционирование глобальной компьютерной сети Интернет?

Практические задания

4.5. Проследить маршрут прохождения информации от одного из наиболее популярных поисковых серверов Интернета www.yahoo.com, расположенного в "американском" сегменте Интернета.

4.6. Определить время обмена IP-пакетами с сервером www.yahoo.com.

IP расшифровывается как Internet Protocol (протокол Интернет), и конкретно 4-ая версия этого протокола на текущий момент является наиболее распространенной. IPv4 определен через RFC 791 .

В рамках OSI это протокол сетевого (3-го) уровня. Этот уровень, напоминаю, предназначен для определения пути передачи данных.

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

Кроме того, IPv4 не гарантирует доставку пакетов, или отсутсвие дубликатов. Это так называемая “best effort delivery” (в отличие от гарантированной доставки). Соответственно, эти задачи переходят к протоколам более высокого уровня, например, TCP.

Адресация

IPv4 идентифицирует отправителя и получателя при помощи 32-битного адреса, что ограничивает число возможных адресов 4 294 967 296. Из этого количества IPv4 резервирует специальные диапазоны адресов, называемые частными (~18 млн.) и мультикаст (~270 млн).

Адреса обычно записываются в виде четырех десятичных октетов через точку, например: 198.51.100.25 соответствует числу C6336419 16 .

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

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

Класс Первые биты Длина адреса сети Длина адреса узла
A 0 8 24
B 10 16 16
C 110 24 8
D 1110 N/A N/A
E 1111 N/A N/A
Класс Начало диапазона Конец диапазона
A 0.0.0.0 127.255.255.255
B 128.0.0.0 191.255.255.255
C 192.0.0.0 223.255.255.255
D 224.0.0.0 239.255.255.255
E 240.0.0.0 255.255.255.255

Класс D зарезервирован для мультикаста, класс E – просто зарезервирован “на всякий случай”.

Длина адреса сети и длина адреса узла определялись первыми битами адреса. Примерно с 1985 года от этого тоже отказались. Причины этого в том, что многие организации требовали больше адресов, чем предоставляла сеть класса C и получали сеть класса B. Сеть класса B, однако, превышала требования организации в разы.

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

Например, 192.0.2.0/24 означает, что первые 24 бита (три октета) относятся к адресу сети, а остальные – к адресу узла. /24 эквивалентно маске сети 255.255.255.0.

Использование масок сетей описано в RFC 1517 .

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

Диапазон Описание RFC
0.0.0.0/8 Текущая сеть (адрес источника) 6890
10.0.0.0/8 Частная сеть 1918
100.64.0.0/10 Разделяемое адресное пространство CGN 6598
127.0.0.0/8 Loopback 6890
169.254.0.0/16 Автоконфигурация 3927
172.16.0.0/12 Частная сеть 1918
192.0.0.0/24 IETF Protocol Assignments 6890
192.0.2.0/24 Документация и примеры 1 5737
192.88.99.0/24 Релей ipv6 to ipv4 3068
192.168.0.0/16 Частная сеть 1918
198.18.0.0/15 Тестирование пропускной способности сети 2544
198.51.100.0/24 Документация и примеры 2 5737
203.0.113.0/24 Документация и примеры 3 5737
224.0.0.0/4 Мультикаст 5771
240.0.0.0/4 Зарезервировано 1700
255.255.255.255 Широковещательный запрос 919

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

Например, 203.0.113.0 означает (в тексте) сеть 203.0.113.0/24, а 203.0.113.255 – широковещательный запрос в эту сеть.

Формат пакета

Пакет состоит из заголовка и данных. IP не предполагает никакой проверки целостности. Нижележащий протокол (скажем, Ethernet) уже обеспечивает проверку целостности на канальном уровне, а вышележащий (скажем, TCP)– на уровне данных.

Версия, 4 бита Первое поле заголовка. В IPv4 имеет значение 0010 2 , т.е. 4. Длина заголовка, 4 бита Количество 32-битных слов в заголовке. Минимальное значение 5, что соответствует длине заголовка 20 байт. Максимальное – 15, длина заголовка 60 байт. DSCP или ToS – тип сервиса, 6 бит Определяет приоретизацию, скажем, для VoIP. ECN, 2 бита Флаг явного указания перегруженности сети. Требует поддержки с обеих сторон (принимающей и передающей). При получении этого флага, понижается скорость передачи. Если поддержки флага нет, пакеты просто отбрасываются. Полная длина, 16 бит Полная длина пакета в байтах, включая заголовок и данные. Минимальная длина – 20, максимальная – 65535. Идентификация, 16 бит Служит для уникальной идентификации датаграммы. Поскольку при передачи по различным сетям может быть необходимо разделить пакет на более мелкие части, это поле служит для идентификации частей, принадлежащих одному пакету. Флаги, 3 бита

Битовые флаги:

  1. Зарезервирован, всегда 0
  2. Не фрагментировать. Если дальнейшая передача пакета требует фрагментации, пакет отбрасывается.
  3. Больше фрагментов. Для фрагментированных пакетов, у всех, кроме последнего, этот флаг установлен в 1.
Сдвиг, 13 бит Сдвиг фрагмента относительно начала датаграммы, измеряемый в блоках по 64 бита. Первый фрагмент имеет сдвиг 0. Максимальный сдвиг – 65528 байт, что превышает максимальную длину пакета 65515 (за вычетом 20-байтного заголовка). Время жизни (TTL), 8 бит Когда пакет проходит через маршрутизатор, это поле уменьшается на 1. Если это поле равно нулю, маршрутизатор отбрасывает его. Протокол, 8 бит
  • 1 - ICMP
  • 6 - TCP
  • 17 - UDP
Контрольная сумма заголовка, 16 бит Считается сумма 16-битных слов в заголовке, кроме, собственно, контрольной суммы. Эта сумма так же суммируется блоками по 16 бит, пока не останется один. Затем к результату побитово применяется отрицание. Адрес отправителя, 32 бита Тут все ясно Адрес получателя, 32 бита Тут тоже все ясно. Опции (опциональное поле)

Используется редко. Состоит из блоков заголовок-данные. Заголовок опции имеет длину 8-16 бит и состоит из полей:

  • Тип опции, 8 бит – поле, определяющее, что это за опция. Значение “0” означает окончание списка опций. Всего зарегистрированно 26 кодов.
  • Длина, 8 бит – размер всей опции в битах, включая заголовок. Для некоторых типов опций может отсутствовать.

ARP

IP определяет логические адреса. Однако, чтобы отправить пакет в сети Ethernet, необходимо так же знать физический адрес целевого узла (либо маршрутизатора). Для сопоставления одного с другим используется протокол ARP.

ARP (Протокол резолюции адресов) – это формально протокол сетевого (3-го) уровня в модели OSI, хотя фактически обеспечивает взаимодействие 2-го и 3-го уровней. ARP реализован для различных пар протоколов 2-го и 3-го уровней.

Сам протокол построен на простой схеме запрос-ответ. Рассмотрим на конкретном примере.

Если узел сети, скажем, A с логическим адресом 198.51.100.1 (в сети 198.51.100.0/24) хочет отправить пакет узлу B с логическим адресом 198.51.100.2, он посылает широковещательный запрос протокола второго уровня (в данном случае Ethernet) с инкапсулированным сообщением ARP, спрашивающим узлы сети – какой физический адрес у узла с логическим адресом 198.51.100.2, и содержащим логический и физический адреса узла А. Узел B, увидев собственный логический адрес в запроссе, посылает ответ узлу A по полученным в запросе логическому и физическому адресу. Результаты запросов кешируются.

Сообщения ARP имеют следующую структуру:

Физический протокол (HTYPE), 2 байта Используемый протокол 2 уровня. Ethernet имеет идентификатор 1. Логический протокол (PTYPE), 2 байта Используемый протокол 3 уровня. Соответствует типам EtherType. IPv4 имеет идентификатор 0x0800. Длина физического адреса (HLEN), 1 байт Длина физического адреса в октетах, для Ethernet – 6 Длина логического адреса (PLEN), 1 байт Длина логического адреса в октетах, для IPv4 – 4 Операция (OPER), 2 байта 1 для запроса, 2 для ответа, и множество других вариантов для расширений протокола. Физический адрес отправителя (SHA), HLEN байт В запросе – адрес запрашивающего. В ответе – адрес запрошенного узла. Логический адрес отправителя (SPA), PLEN байт
Физический адрес получателя (THA), HLEN байт В запросе игнорируется. В ответе – адрес запрашиваюшего. Логический адрес получателя (TPA), PLEN байт

Обычно узлы сети так же посылают ARP-сообщения при смене IP-адреса или при включении. Обычно это реализуется как APR-запрос, в котором TPA=SPA , а THA=0. Другой вариант – ARP-ответ, в котором TPA=SPA и THA=SHA.

Кроме того, ARP может быть использован для детектирования конфликта логических адресов (при этом SPA=0).

Существуют расширения протокола, производящие обратные операции, InARP (Inverse ARP), получающий L3-адрес по L2-адресу и RARP, получающий L3-адрес запрашивающего узла.

RARP использовался для автоконфигурирования L3-адресов. Впоследствии заменен протоколом BOOTP, а затем DHCP.

Маршрутизация в сетях IPv4

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

Если есть целевой адрес D и префикс сети N, то

  • Если N совпадает с префиксом сети текущего узла, послать данные по локальной связи.
  • Если в таблице маршрутизации есть маршрут для N, послать данные next-hop маршрутизатору.
  • Если есть маршрут по умолчанию, послать данные next-hop маршрутизатору по умолчанию
  • Иначе – ошибка.

Таблица маршрутизации представляет собой таблицу сопоставления адресов сетей и адресов next-hop маршрутизаторов для этих сетей. Так, например узел с адресом 198.51.100.54/24 может иметь такую таблицу маршрутизации: 203.0.113.0/24

Destination Gateway Device
198.51.100.0/24 0.0.0.0 eth0
203.0.113.0/24 198.51.100.1 eth0
0.0.0.0/0 203.0.113.1 eth0

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

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

Например, узел 198.51.100.54/24 имеет таблицу маршрутизации:

Destination Gateway Device
198.51.100.0/24 0.0.0.0 eth0
203.0.113.0/24 198.51.100.1 eth0
203.0.113.224/27 198.51.100.5 eth0