Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка по Сетям ЭВМ для ЛР.doc
Скачиваний:
22
Добавлен:
27.10.2018
Размер:
1.9 Mб
Скачать

Адресация подсетей

Легко заметить, что количество доступных адресов, выделяемых в каждом классе, чрезмерно для одной подсети. Особенно это справедливо для сетей класса А и В. Ни одна сеть не будет работать если в один ее сегмент поместить 65 тысяч компьютеров (соответствует сетям класса В). То есть имеет место разрыв между логической системой IP-адресации и физической структурой сетей. Для устранения этого разрыва в рамках стека протоколов TCP/IP предусмотрен механизм деления множества адресов данного класса на подсети. Для этого применяется маскирование IP-адреса при помощи маски подсети (subnet mask). Маска подсети – 32 битный адрес, позволяющий определить, сколько бит в IP-адресах используется для идентификатора подсети. Для этого маска подсети содержит единицы в позициях, соответствующих идентификатору подсети. Выделение осуществляется логическим умножением (операция AND) IP-адреса и маски подсети. По аналогии с IP-адресом, маска подсети делится на октеты и записывается в точечно-десятичной форме (таблица 5.3).

Таблица 5.3 – Маски подсети по умолчанию

Класс адресов

Десятичное значение маски

Двоичное значение маски

А

255.0.0.0

11111111.00000000.00000000.00000000

В

255.255.0.0

11111111.11111111.00000000.00000000

С

255.255.255.0

11111111.11111111.11111111.00000000

За распределение и присвоение IP-адресов в сети Internet отвечает международная организация InterNIC (Network Information Center). У InterNIC существует правило – выделять одной организации только один идентификатор сети, что соответствует (если не предпринимать специальных мер) одному сегменту сети. Разумеется, что подобные ограничения имеют смысл, если ваша корпоративная сеть интегрирована с сетью Internet. Если вы не подключены к Internet, вам не потребуется разбивать данный класс адресов на подсети, поскольку вы можете использовать все адресное пространство TCP/IP. Аналогично можно поступать, если ваша сеть соединена с Internet через proxy-сервер или брандмауэр. Эти устройства скрывают внутреннюю структуру сети, обслуживая все запросы через один IP-адрес. Другими словами, каждый пакет, покидающий сеть, воспринимается как пришедший непосредственно с proxy-сервера, а не с узла, который его отправил.

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

Например, Вы работаете в компании, которая имеет три физические сети. Вы получили идентификатор сети класса С – 192.168.24.0. Вам необходимо создать как минимум три идентификатора сети в выделенном вам адресном пространстве для поддержания существующей топологии сети. Это можно сделать, расширив маску по умолчанию (255.255.255.0) и включив три бита из идентификатора узла в идентификатор сети, получив в результате маску 255.255.255.224. Эти три бита, согласно формуле , позволяют создать шесть идентификаторов сети: 001, 010, 011, 100, 101, 110. Идентификаторы 000 и 111 являются некорректными. Например, теперь узел 192.168.24.65 из шестьдесят пятого узла сети 192.168.24.0 стал первым узлом новой подсети 192.168.24.64, поскольку три бита, перенесенные из идентификатора сети, приводят к появлению подсетей 192.168.24(.32), (.64), (.96), (.128), (.160) и (.192). В таблице 5.4 перечислены первые IP-адреса каждой из созданных подсетей.

- 50 - - 51 -

Таблица 5.4 – Адрес первого узла каждой новой подсети

IP-адрес

Идентификатор сети

Идентификатор узла

192.168.24.33

11000000.10100000.00011000.001

00001

192.168.24.65

11000000.10100000.00011000.010

00001

192.168.24.97

11000000.10100000.00011000.011

00001

192.168.24.129

11000000.10100000.00011000.100

00001

192.168.24.161

11000000.10100000.00011000.101

00001

192.168.24.193

11000000.10100000.00011000.110

00001

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

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

Безусловно, появление дополнительных идентификаторов сетей приводит к потере доступных идентификаторов узлов. Используя применяемую в нашем примере маску подсети 255.255.255.224, получаем 30 узлов в каждой подсети (всего 180 узлов во всей сети) вместо 254 узлов, использование которых позволяет маска подсети по умолчанию.

При инициализации TCP/IP узла он применяет операцию логического "И" к своему адресу и своей маске подсети и сохраняет результат в памяти. Данная процедура позволяет узлу определить свой собственный идентификатор сети. Зная свой идентификатор сети, узел может определить, куда необходимо отправлять пакет – в локальную сеть или на маршрутизатор (для отправки в другую сеть).

Например, из узла с адресом 192.168.2.65 и маской подсети 255.255.255.224 необходимо отправить пакеты на два узла 192.168.2.91 и 192.168.2.97. Необходимо определить, куда конкретно необходимо слать данный пакет? Другими словами, нам требуется определить, какой из адресов соответствует локальному узлу и послать пакет непосредственно на этот узел, а какой узлу из другой сети (уделенному узлу) и послать пакет на маршрутизатор.

С помощью операции логического "И" между адресом узла отправителя и его маской подсети определяем сетевой идентификатор узла отправителя (таблица 5.5) – 192.168.2.64.

Далее аналогичная операция производится с адресом первого узла получателя. Результат второй операции AND дает нам 192.168.2.64, т.е. сетевой идентификатор первого узла получателя совпадает с сетевым идентификатором узла отправителя. Это свидетельствует о том, что данный узел-адресат находится в той же подсети, что и узел отправитель.

Таблица 5.5 – Пример определения локального и удаленного узла

Описание

IP-адрес

Идентификатор сети

Ид-тор узла

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

192.168.2.65

11000000.10101000.00000010.010

00001

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

255.255.255.224

11111111.11111111.11111111.111

00000

Результат исходной операции AND

192.168.2.64

11000000.10101000.00000010.010

00000

Адрес

первого узла

192.168.2.91

11000000.10101000.00000010.010

11011

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

255.255.255.224

11111111.11111111.11111111.111

00000

Результат второй операции AND

192.168.2.64

11000000.10101000.00000010.010

00000

Адрес

второго узла

192.168.2.97

11000000.10101000.00000010.011

00001

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

255.255.255.224

11111111.11111111.11111111.111

00000

Результат третей

операции AND

192.168.2.96

11000000.10101000.00000010.011

00000

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

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

  1. О

    - 52 - - 53 -

    пределить требуемое количество идентификаторов сетей. Необходимо назначать свой сетевой идентификатор каждому сегменту, подключенному к маршрутизатору. На рис. 5.3 изображен пример конфигурации сети и показаны сегменты, требующие отдельных сетевых идентификаторов. На рис. 5.3 имеется четыре различные сети, входящие в состав организации (идентификатор 1-4), и одна внешняя сеть, обеспечивающая доступ в Internet (идентификатор 5). Однако вы не должны самостоятельно создавать идентификатор сети для сегмента снаружи вашего маршрутизатора подключенного к Internet. Этот идентификатор назначается InterNIC и не должен повторяться нигде в рамках TCP/IP сети. Данный сегмент обычно управляется вашим провайдером Internet, который и отвечает за организацию в нем правильной адресации.

Рис. 5.3. Пример сети, требующей пять сетевых идентификаторов

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

  2. Определить маску подсети, которая позволит поддерживать необходимое количество сетевых идентификаторов и идентификаторов узлов. Для определения маски подсети часто оказывается полезным помнить возможное количество подсетей и узлов в подсети. Приведем данные значения для адресов класса С (класса адресов с которым чаще всего приходиться сталкиваться администраторам) в таблице 5.6. В таблице не присутствует маска подсети по умолчанию для класса С (255.255.255.0), поскольку она предоставляет только один сетевой идентификатор. В таблице также отсутствует маска .128, поскольку она обеспечивает только один дополнительный бит для сетевого идентификатора, а сетевой идентификатор не может состоять ни из всех нулей, ни из всех единиц. Кроме того, маски .254 и .255 позволяют создать множества сетевых идентификаторов, но в получившихся подсетях не может быть ни одного узла. Следовательно в классе С имеется только пять масок, из которых можно выбирать наиболее подходящую вам.

Р

- 54 - - 55 -

ис. 5.4. Пример сети, требующей 16 идентификаторов узлов

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

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

Количество подсетей

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

Общее количество узлов

255.255.255.192

2

62

124

255.255.255.224

6

30

180

255.255.255.240

14

14

196

255.255.255.248

30

6

180

255.255.255.252

62

2

124

255.255.255.254

126

255.255.255.255

254

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

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

Как уже говорилось, InterNIC обычно выделяет каждой организации один сетевой идентификатор. Однако иногда бываю случаи, когда InterNIC выделяет одной организации несколько сетевых идентификаторов, это вносит ненужную сложность в таблицы маршрутизации и увеличивает их размер. Для устранения подобных проблем (а также для более эффективного использования доступного адресного пространства) была разработана новая схема IP-адресации, называемая CIDR (Classless Inter-Domain Routing – бесклассовая междоменная маршрутизация). CIDR позволяет объединить несколько маршрутов к организации. Это достигается при помощи объединения сетевых идентификаторов методом, противоположным разделению на подсети. CIDR поддерживает в некотором роде надсети. Вместо увеличения количества бит в маске оно уменьшается.

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

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

Таблица 5.7Использование CIDR

Описание

Десятичное значение

Двоичное значение

Идентификатор сети

192.169.220.0

11000000.10101001.110111-00.00000000

Идентификатор сети

192.169.221.0

11000000.10101001.110111-01.00000000

Идентификатор сети

192.169.222.0

11000000.10101001.110111-10.00000000

Новая маска подсети

255.255.252.0

11111111.11111111.111111-00.00000000

Результат логического "И"

192.169.220.0

11000000.10101001.110111-00.00000000

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

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

IP-маршрутизация

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

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

В

- 56 - - 57 -

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

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

Рассмотрим простейшую маршрутизацию на примере фрагмента сетей изображенных на рис. 5.5. Обозначим этапы процесса маршрутизации при посылке пакета с рабочей станции А на рабочую станцию В:

Рис. 5.5. Простейший пример маршрутизации

  1. Рабочая станция А проверяет, находится ли узел 172.16.2.18 в локальной сети (в одной с ней сети).

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

  3. При помощи протокола ARP (Address Resolution Protocol, протокол сопоставления адреса) – протокола определяющего аппаратный адрес соответствующий IP-адресу, определяется аппаратный адрес (Hardware Address – HWA так же называемый MAC-адресом) шлюза по умолчанию. IP-адрес шлюза по умолчанию задан при настройке рабочей станции А, но аппаратный адрес шлюза должен быть найден при помощи ARP.

  4. Рабочая станция А отправляет пакет данных на шлюз по умолчанию (default geteway) 172.16.1.25, причем заголовок пакета содержит:

  • аппаратный адрес отправителя: 14;

  • IP-адрес отправителя: 172.16.1.1;

  • аппаратный адрес получателя (имеется в виду не узел-получатель, а шлюз): 18;

  • IP-адрес узла получателя (имеется в виду непосредственно узел-получатель): 172.16.2.18.

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

  2. Маршрутизатор определяет, что пакеты предназначены для сети 172.16.2.

  3. Маршрутизатор производит ARP-запрос для определения аппаратного адреса узла-адресата 172.16.2.18. Полученный аппаратный адрес сохраняется в кэше для последующего использования.

  4. Маршрутизатор отправляет пакеты в сеть 172.16.2, поместив следующую информацию в заголовок:

  • аппаратный адрес отправителя: 23;

  • IP-адрес отправителя: 172.16.1.1;

  • аппаратный адрес получателя: 7;

  • IP-адрес узла получателя: 172.16.2.18.

  1. Данные передаются по сети 172.16.2. Сетевая карта узла-адресата распознает свои аппаратный и IP-адрес и принимает пакет.

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

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

Рис. 5.6. Пример маршрутизации в несмежных подсетях

- 58 - - 59 -

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

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

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

Рис. 5.7. Маршрутизация в составной сети

В сложных сетях почти всегда существует несколько альтернативных маршрутов для передачи пакетов между двумя узлами. Маршрут – последовательность маршрутизаторов, которые должен пройти пакет от узла отправителя до узла получателя. Так пакет отправленный из узла А (рис. 5.7) в узел В, может пройти через маршрутизаторы М4, М1 или маршрутизаторы М6, М3. Нетрудно найти еще несколько маршрутов между узлами А и В.

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

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

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

  • Маска подсети. Соответствующая маска подсети для каждой из сетей.

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

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

  • М

    - 60 - - 61 -

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

Рассмотрим принципы построения и использования статической таблицы маршрутизации (таблица 5.8). Когда на маршрутизатор поступает новый пакет, адрес сети назначения последовательно сравнивается с адресами сетей из каждой строки таблицы маршрутизации. Строка с совпавшим адресом сети указывает, на какой ближайший маршрутизатор следует направить пакет. Например если на какой либо интерфейс маршрутизатора М4 (рис. 5.7) поступает пакет, адресованный в сеть S3, то из таблицы маршрутизации (таблица 5.8) следует, что адрес следующего маршрутизатора М1(2), пакет туда должен быть передан посредством интерфейса М4(1) маршрутизатора М4, т.е. очередным этапом движения пакета по маршруту будет движение от интерфейса М4(1) маршрутизатора М4 к интерфейсу М1(2) маршрутизатора М1.

Таблица 5.8 – Таблица маршрутизации маршрутизатора М4

Адрес сети

Шлюз

Адрес интерфейса

Метрика

S1

M1(2)

M4(1)

2

S2

M4(1)

1

S3

M1(2)

M4(1)

2

S5

M4(2)

1

Default

M6(1)

M4(2)

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

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

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

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

  • 127.0.0.0. Запись, определяющая локальный адрес узла (loopback adapter).

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

  • 192.168.1.1. Запись определяет маршрут для локального интерфейса маршрутизатора.

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

  • 224.0.0.0. Запись определяет интерфейс, который будет использоваться для групповой отправки пакетов.

  • 255.255.255.255. Запись для ограниченной широковещательной рассылки пакетов.

Таблица 5.9 – Простейшая статическая таблица маршрутизации

Сеть

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

Адрес интерфейса

Шлюз

Метрика

0.0.0.0

0.0.0.0

192.168.1.17

192.168.1.17

1

127.0.0.0

255.0.0.0

127.0.0.1

127.0.0.1

1

192.168.1.0

255.255.255.0

192.168.1.1

192.168.1.1

1

192.168.1.1

255.255.255.255

127.0.0.1

127.0.0.1

1

192.168.1.255

255.255.255.255

192.168.1.1

192.168.1.1

1

224.0.0.0

224.0.0.0

192.168.1.1

192.168.1.1

1

255.255.255.255

255.255.255.255

192.168.1.1

192.168.1.1

1

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

В

- 62 - - 63 -

ажно заметить, что здесь мы привели наиболее общий вид таблиц маршрутизации. В случае использования маршрутизаторов (в виде отдельных устройств) различных фирм производителей, либо программных маршрутизаторов на основе определенных операционных систем, таблицы маршрутизации могут отличаться. Это касается как статической, так и динамической маршрутизации. Так, например, таблица маршрутизации для широко известных маршрутизаторов фирмы Cisco и маршрутизаторов фирмы 3Com различаются наличием дополнительных полей и флагов, которые производитель оборудования считает необходимым ввести. Аналогично различаются таблицы маршрутизации, например, для семейства операционных систем Windows NT и семейства Unix.

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

Команда route является утилитой TCP/IP, которая используется для создания и модификации статических таблиц маршрутизации. Эта команда имеет следующий синтаксис:

route [-f][-p][команда[адресат][маска][шлюз][метрика]]

Параметры имеют следующий смысл:

  • f – удаление всех записей для шлюзов. Если этот параметр используется в сочетании с другими, то сначала производится удаление записей для шлюзов.

  • p – добавить (при помощи команды add) постоянные записи. По умолчанию добавляемые записи не сохраняются при перезапуске операционной системы.

  • команда – может быть указана одна из четырех команд: print (вывести содержимое таблицы маршрутизации), add (добавить путь), delete (удалить путь), change (изменить существующий путь).

  • значение параметра "метрика" может быть установлено в любое значение от 1 до 9999.

Команда tracert предназначена для проверки маршрутизации и измерения времени прохождения пакетов. Команда имеет следующий синтаксис:

tracert [-d][-h количество ретрансляций][-j список систем][-w тайм-аут] имя системы

Параметры имеют следующий смысл

  • d – не переводить IP-адреса в адреса систем.

  • количество ретрансляций – максимально допу-стимое количество ретрансляций ("хопов") при поиске системы.

  • список систем – свободный выбор пути среди систем в указанном списке.

  • w тайм-аут – ожидать каждый ответ указанное число миллисекунд.

  • имя системы – имя системы поиск пути, к которой производится.

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

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

Для TCP/IP-сетей существует два наиболее популярных протокола маршрутизации – RIP (Routing Information Protocol) и OSPF (Open Shortest Path First). Оба этих протокола создают дополнительный сетевой трафик при обновлении таблиц маршрутизации. Однако протокол RIP является более расточительным т.к. передает по сети через регулярные промежутки времени все таблицы маршрутизации, в то время как OSPF передает по сети только изменения в таблицах. Поэтому OSPF чаще используется в больших и средних сетях, а RIP сетях небольшого размера. OSPF позволяет связать между собой несколько RIP доменов. Это приводит к образованию "иерархии протоколов", которая появляется во многих сетях, в которых OSPF реализован не полностью.

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

  • IP-адрес узла назначения.

  • Количество ретрансляций "хопов" (от 0 до 15).

  • IP-адрес следующего узла в пути.

  • Время доставки для каждого пути.

  • Время изменения информации о маршрутизации.

Возможна ситуация, когда один из маршрутов оказывается недоступным, RIP начинает последовательный поиск лучшего альтернативного пути, основываясь на неполной информации (в построении таблиц маршрутизации участвуют все маршрутизаторы сети), что может привести к возникновению логического цикла. В качестве средства борьбы с этим явлением протокол RIP имеет ограниченное значение метрики (количества ретрансляций от 1 до 15). Таким образом, для корректной работы протокола RIP, два компьютера не могут быть разделены более чем 15 маршрутизаторами. Для протокола RIP значение метрики 16 эквивалентно бесконечности.

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

П

- 64 - - 65 -

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

  • Ограничение на количество ретрансляций (хопов) – 65535.

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

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

  • Широковещательная рассылка таблиц маршрутизации производится только при появлении изменений.

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