Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Sistema_TCP.docx
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
603.97 Кб
Скачать

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

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

Маршрутная информация в системе TCP/IP имеет форму правил (маршрутов), на­ пример: “Для того чтобы достичь сети А, посылайте пакеты через компьютер С”. Часто существует и стандартный маршрут. В нем объясняется, что нужно делать с пакетами, предназначенными для отправки в сеть, маршрут к которой не указан явным образом.

Данные маршрутизации хранятся в одной из таблиц ядра. Каждый элемент этой та­ блицы содержит несколько параметров, включая сетевую маску (раньше это поле было опциональным, но теперь оно обязательно, если стандартная сетевая маска неверна). Для направления пакета по заданному адресу ядро подбирает наиболее конкретный маршрут (т.е. тот, где самая длинная маска). Если ни один из маршрутов (в том числе стандартный) не подходит, то отправителю возвращается ICMP-сообщение вида “net­ work unreachable” (сеть недоступна).

Слово “маршрутизация” широко употребляется в двух различных смыслах:

• процедура поиска сетевого адреса в специальной таблице для передачи пакета в пункт его назначения;

• процесс построения этой таблицы.

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

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

Таблицу маршрутизации можно просмотреть с помощью команды netstat -r. Ко­ манда netstat -rn запрещает поиск доменных имен в системе DNS, вследствие чего все адреса будут представлены в числовом виде. Команда netstat подробно описыва­ ется в разделе 21.5, здесь же мы дадим небольшой пример, чтобы у читателей сложилось представление о том, что такое маршруты.

% netstat -rn

Kernel IP routing table

Destination

132.236.227.0

default

132.236.212.0

132.236.220.64

127.0.0.1

Genmask

255.255.255.0

0.0.0.0

255.255.255.192

255.255.255.192

255.255.255.255

Gateway

132.236.227.93

132.236.227.1

132.236.212.1

132.236.212.6

127.0.0.1

Fl MSS Iface U 1500 eth0 UG 1500 eth0 U 1500 eth1 UG 1500 eth1 U 3584 lo

В рассматриваемой системе есть два сетевых интерфейса: 132.236.227.93 (eth0) — в сети 132.236.227.0/24 и 132.236.212.1 (eth1) - в сети 132.236.212.0/26.

514 Часть II. Работа в сети

Поле destination обычно содержит адрес сети. В поле gateway отображается адрес локального сетевого интерфейса или соседнего узла; в ядре системы Linux для вызова шлюза, установленного по умолчанию, в поле gateway может бьггь записан адрес 0.0.0.0.

Например, четвертый маршрут указывает, что для достижения сети 132.236.220.64/26 пакеты следует посылать в шлюз 132.236.212.6 через интерфейс eth1. Вторая запись со­ держит описание стандартного маршрута. Пакеты, не адресованные явно ни в одну из трех указанных сетей (или самому компьютеру), будут направлены в стандартный шлюз 132.236.227.1.

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

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

route add -net 132.236.220.64 netmask 255.255.255.192

gw 132.236.212.6 eth1

route add default gw 132.236.227.1 eth0

добавляют, соответственно, четвертый и второй маршруты из числа тех, что отобра­ жаются выше командой netstat -rn (первый и третий маршруты добавляются коман­ дой ifconfig при конфигурировании интерфейсов eth0 и eth1).

Полное описание команды route см. в разделе 14.10.

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

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

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]