4.7.1. Алгоритм поиска маршрута в таблице маршрутизации
Таблица содержит записи, которые состоят из поля адреса сети, поля маски сети, поля адреса шлюза, поля адреса сетевого интерфейса и поля метрик.
Когда компьютер отправляет датаграмму, во первых, определяется, не расположен ли адрес получателя на той же ветке, что и адрес отправителя, если да, то датаграмма отправляется получателю напрямую.(прямая маршрутизация) Если нет, то в таблице маршрутизации ищется запись, соответствующая адресу назначения (косвенная маршрутизация).
Алгоритм поиска следующий. Если для какой-либо записи побитное произведение IP-адреса назначения и поля маски сети совпадает со значением поля адреса сети, то данная датаграмма будет отправлена на соответствующий этой записи шлюз, указанный в поле адрес шлюза, через сетевой интерфейс – хост отправителя датаграммы на данный шлюз, указанный в поле адреса сетевого интерфейса.
В стеке TCP/IP не только маршрутизаторы, но и конечные узлы принимают решения о том, кому передавать пакет для его успешной доставки узлу назначения, на основании так называемых таблиц маршрутизации (routing tables).
Рассмотрим следующий пример организации небольшой сети класса С, соединенной с провайдером Internet через маршрутизатор, который в то же время, обеспечивает связь между этими двумя сегментами. Пусть сетевой номер, выделенный этой организации – 210.20.30, а адрес Internet-шлюза – 210.20.30.254.
Р ис.4.3. Структура сети
Сеть разбита на три сегмента. Адреса первого могут принимать значения с 210.20.30.0 по 210.20.30.63, второго с 210.20.30.64 по 210.20.30.127, третьего с 210.20.30.192 по 210.20.30.255. маской данной сети будет – 255.255.255.192..
Построим таблицы маршрутизации для каждого из компьютеров сети. При этом учтем, что адрес 0.0.0.0 будет указывать на шлюз маршрутизации , если ни одна запись таблицы не будет удовлетворять адресу назначения отправляемой датаграммы (так называемый шлюз по умолчанию).
Хост P
Адрес сети | Маска | Шлюз | Интерфейс |
0.0.0.0 | 0.0.0.0. | 210.20.30.10 | 210.20.30.1 |
210.20.30.0 | 255.255.255.192 | 210.20.30.1 | 210.20.30.1 |
Хост Q
Адрес сети | Маска | Шлюз | Интерфейс |
0.0.0.0 | 0.0.0.0. | 210.20.30.10 | 210.20.30.2 |
210.20.30.0 | 255.255.255.192 | 210.20.30.2 | 210.20.30.2 |
Хост R
Адрес сети | Маска | Шлюз | Интерфейс |
0.0.0.0 | 0.0.0.0. | 210.20.30.254 | 210.20.30.200 |
210.20.30.0 | 255.255.255.192 | 210.20.30.10 | 210.20.30.10 |
210.20.30.64 | 255.255.255.192 | 210.20.30.70 | 210.20.30.70 |
210.20.30.192 | 255.255.255.192 | 210.20.30.200 | 210.20.30.200 |
Хост S
Адрес сети | Маска | Шлюз | Интерфейс |
0.0.0.0 | 0.0.0.0. | 210.20.30.70 | 210.20.30.81 |
210.20.30.64 | 255.255.255.192 | 210.20.30.81 | 210.20.30.81 |
Хост T
Адрес сети | Маска | Шлюз | Интерфейс |
0.0.0.0 | 0.0.0.0. | 210.20.30.70 | 210.20.30.82 |
210.20.30.64 | 255.255.255.192 | 210.20.30.82 | 210.20.30.82 |
Хост G
Адрес сети | Маска | Шлюз | Интерфейс |
210.20.30.0 | 255.255.255.0 | 210.20.30.200 | 210.20.30.254 |
Хост R является регулировщиком потока датаграмм между ветками сети и Internet.
Работа механизма маршрутизации.
Пусть хост S отправляет датаграмму в Internet, например, по адресу 140.51.120.30.Так как адрес не принадлежит ветке S, над ним проводится операция AND с маской 255.255.255.192 для определения подсети, которой он может принадлежать. Так как такой сети нет, датаграмма отправляется на шлюз по умолчанию для данного хоста, а именно на 210.20.30.70, который используется как шлюз до хоста R. Теперь он займется выбором пути данной датаграммы.
После того, как датаграмма попала на хост R, хост проверяет ее адрес назначения – 140.51.120.30, на принадлежность какой-нибудь из подсетей, указанных в его таблице маршрутизации. Такой сети там не оказывается. Хост R отправляет датаграмму на свой шлюз по умолчанию – 210.20.30.254 через свой интерфейс 210.20.30.200. Далее эта датаграмма попадает в Internet и переправляется получателю.
Если получатель датаграммы отправил ответную датаграмму, то она пройдет соответственно через адреса 210.20.30.200 210.20.30.70 210.20.30.
Yandex.RTB R-A-252273-3
- 4. Программное обеспечение сетей
- 4.1. Структура стека tcp/ip. Краткая характеристика протоколов
- 4.2. Адресация в ip-сетях
- 4.2. Три основных класса ip-адресов
- Структура адресов сетей классов a – e
- Диапазон адресов сетей и хостов классов a и c
- 4.3. Использование масок в ip-адресации
- 4.4.Отображение физических адресов на ip-адреса: протокол arp
- 4.5. Автоматизация процесса назначения ip-адресов узлам сети - протокол dhcp
- 4.6. Протокол ip
- 4.6.1.Формат пакета ip
- 4.7. Маршрутизация. Виды и алгоритмы маршрутизации.
- 4.7.1. Алгоритм поиска маршрута в таблице маршрутизации
- 4.7.2. Протокол динамической маршрутизации rip
- 4.8. Протокол управляющих сообщений icmp
- 4.8.1. Формат сообщений протокола icmp
- 4.8.3.Сообщения о недостижимости узла назначения
- 4.8.4.Перенаправление маршрута
- 4.9. Протокол udp
- 4.9.1. Порты
- 4.9.2. Формат udp-пакета
- 4.10. Протокол tcp
- 4.10.1. Алгоритм установления tcp-соединения
- 4.10.3. Формат сообщений tcp
- 4.11. Протокол dns
- 4.11.1. Принцип работы dns
- 4.11.2. Алгоритм взаимодействия узлов в распределенной сети
- 4.12. Протокол управления сетью snmp
- 4.12.1. Основы технологии
- 4.12.2. Различия в представлении информации
- 4.12.3. Базы данных управления
- 4.12.4. Операции
- 4.13. Протоколы дистанционного управления. Протокол telnet
- 4.14. Протоколы файлового обмена
- 4.14.1. Тривиальный протокол передачи файлов (tftp)
- 4.14.2. Простой протокол передачи файлов (sftp)
- 4.14.3. Протокол передачи файлов ftp
- 4.14.4. Команды ftp
- 4.15. Электронная почта
- 4.15.1. Протокол smtp
- 4.15.2. Протокол pop3 (Post Office Protocol)
- 4.15.3. Протокол imap
- 4.16.1. Универсальный указатель ресурса url.
- 4.16.2. Протокол http
- 4.16.3. Методы протокола http
- 4.16.4. Статус-Код и пояснение к нему
- 4.16.5. Языки и средства создания Web-приложений.