Сети эвм. Методические указания к лабораторной работе по теме маршрутизация в информационной сети казань 2008
Скачать 1.28 Mb.
|
1.1.2. Источники и типы записей в таблице маршрутизацииПервым источником является программное обеспечение стека TCP/IP. При инициализации маршрутизатора это программное обеспечение автоматически заносит в таблицу несколько записей, в результате чего создается так называемая минимальная таблица маршрутизации. Это, во-первых, записи о непосредственно подключенных сетях и маршрутизаторах по умолчанию, информация о которых появляется в стеке при ручном конфигурировании интерфейсов компьютера или маршрутизатора. Во-вторых, программное обеспечение автоматически заносит в таблицу маршрутизации записи об адресах особого назначения, например адрес 127.0.0.0 (loopback), который используется для локального тестирования стека TCP/IP. Пакеты, направленные в сеть с номером 127.0.0.0, не передаются протоколом IP на канальный уровень для последующей передачи в сеть, а возвращаются в источник – локальный модуль IP. Записи с адресом 224.0.0.0 требуются для обработки групповых адресов (multicast address). Кроме того, в таблицу могут быть занесены адреса, предназначенные для обработки широковещательных рассылок. В некоторых таблицах особые адреса отсутствуют. Вторым источником появления записи в таблице является администратор, непосредственно формирующий запись с помощью некоторой системной утилиты, например программы route, имеющейся в операционных системах Unix и Windows NT. В аппаратных маршрутизаторах также всегда имеется команда для ручного задания записей в таблице маршрутизации. Заданные вручную записи всегда являются статическими, то есть не имеют срока истечения жизни. Эти записи могут быть как постоянными, то есть сохраняющимися при перезагрузке маршрутизатора, так и временными, хранящимися в таблице только до выключения устройства. Часто администратор вручную заносит запись default о маршрутизаторе по умолчанию. Таким же образом в таблицу может быть занесена запись о специфичном маршруте. Специфический для узла маршрут содержит вместо номера сети полный IP адрес, то есть адрес, имеющий ненулевую информацию не только в поле номера сети, но и в поле номера узла. Предполагается, что для такого типа конечного узла маршрут должен выбираться не так, как для всех остальных узлов сети, к которой он относится. В случае когда в таблице есть разные записи о продвижении пакетов для всей сети и ее отдельного узла, при поступлении пакета, адресованного узлу, маршрутизатор отдаст предпочтение записи с полным адресом узла. Третьим источником записей могут быть протоколы маршрутизации, такие как RIP или OSPF. Такие записи всегда являются динамическими, то есть имеют ограниченный срок жизни. 1.1.3. Маршрутизация с использованием масокС началом использования масок в IP-адресации несколько усложнилась маршрутизация, так как помимо адреса сети маршрутизаторам необходимо знать размер маски для нее. И несмотря на то, что в целом на собственно алгоритм это не повлияло, программное обеспечение и вычислительная часть маршрутизаторов усложнилась. 1.1.3.1. Маски в IP-адресацииТрадиционная схема деления IP-адреса на номер сети и номер узла основана на понятии класса, который определяется значениями нескольких первых бит адреса. Именно потому, что первый байт адреса 185.23.44.206 попадает в диапазон 128-191, мы можем сказать, что этот адрес относится к классу B, а значит, номером сети являются первые два байта, дополненные двумя ненулевыми байтами – 185.23.0.0, а номером узла – 0.0.44.206. Характеристики адресов разного класса представлены в таблице 1. Таблица 1. Характеристики адресов разного класса
В последнее время в качестве признака, с помощью которого можно более гибко устанавливать границу между номером сети и номером узла, широкое распространение получили маски. Маска – это число, которое используется в паре с IP-адресом; двоичная запись маски содержит единицы в тех разрядах, которые должны в IP-адресе интерпретироваться как номер сети. Поскольку номер сети является цельной частью адреса, единицы в маске также должны представлять непрерывную последовательность. Для стандартных классов сетей маски имеют следующие значения: класс А – 11111111.00000000.00000000.00000000 (255.0.0.0 - 8); класс B – 11111111.11111111.00000000.00000000 (255.255.0.0 - 16); класс С – 11111111.11111111.11111111.00000000 (255.255.255.0 - 24). Снабжая каждый IP-адрес маской, можно отказаться от понятий классов адресации и сделать более гибкой систему адресации. Например, если рассмотренный выше адрес 185.23.44.206 ассоциировать с маской 255.255.255.0, то номером сети будет 185.23.44.0, а не 185.23.0.0, как это было определено системой классов. В масках количество единиц в последовательности, определяющей границу номера сети, не обязательно должно быть кратным 8, чтобы повторять деление адреса на байты. Пусть, например, для IP-адреса 129.64.134.5 указана маска 255.255.128.0 (17), то есть в двоичном виде: IP-адрес 129.64.134.5 – 10000001. 01000000. 10000110. 00000101 Маска 255.255.128.0 – 11111111. 11111111. 10000000. 00000000 Если игнорировать маску, то в соответствии с системой классов адрес 129.64.134.5 относится к классу B, а значит, номером сети являются первые 2 байта – 129.64.0.0, а номером узла – 0.0.134.5. Если же использовать для определения границы номера сети маску, то 17 последовательных единиц в маске, «наложенные» на IP-адрес, определяют в качестве номера сети в двоичном выражении число: 10000001. 01000000. 10000000. 00000000 или в десятичной форме записи – номер сети 129.64.128.0, а номер узла 0.0.6.5. Механизм масок широко распространен в IP-маршрутизации, причем маски могут использоваться для самых разных целей. С их помощью администратор может структурировать свою сеть, не требуя от поставщика услуг дополнительных номеров сетей. На основе этого же механизма поставщики услуг могут объединять адресные пространства нескольких сетей путем введения так называемых «префиксов» с целью уменьшения объема таблиц маршрутизации и повышения за счет этого производительности маршрутизаторов. 1.1.3.2. Использование масок для структуризации сетиАлгоритм маршрутизации усложняется, когда в систему адресации узлов вносятся дополнительные элементы – маски. Одна из причин отказа от хорошо себя зарекомендовавшего метода адресации, основанного на классах – потребность в структуризации сетей. Часто администраторы сетей испытывают неудобства из-за того, что количество централизованно выделенных им номеров сетей недостаточно для того, чтобы структурировать сеть надлежащим образом, например разместить все слабо взаимодействующие компьютеры по разным сетям. В такой ситуации возможны два пути. Первый из них связан с получением от InterNIC или поставщика услуг дополнительных номеров сетей. Второй способ, употребляющийся чаще, связан с использованием технологии масок, которая позволяет разделять одну сеть на несколько сетей. Допустим, администратор получил в свое распоряжение адрес класса В: 129.44.0.0. Он может организовать сеть с большим числом узлов, номера которых он может брать из диапазона 0.0.0.1 – 0.0.255.254 (с учетом того, что адреса из одних нулей и единиц имеют специальное назначение и не годятся для адресации узлов). Однако ему не нужна одна большая неструктурированная сеть, производственная необходимость диктует администратору другое решение, в соответствии с которым сеть должна быть разделена на три отдельных подсети, при этом трафик в каждой подсети должен быть надёжно локализован. Это позволит легче диагностировать сеть и проводить в каждой из подсетей особую политику безопасности. Посмотрим, как решается эта проблема путём использования механизма масок. Итак, номер сети, который администратор получил от поставщика услуг, -129.44.0.0 (10000001 00101100 00000000 00000000). В качестве маски было выбрано значение 255.255.192.0 (18) (11111111 11111111 11000000 00000000). После наложения маски на этот адрес число разрядов, интерпретируемых как номер сети, увеличилось с 16 (стандартная длина поля номера сети для класса В) до 18 (число единиц в маске), то есть администратор получил возможность использовать для нумерации подсетей два дополнительных бита. Это позволяет ему сделать из одного, централизованно заданного ему номера сети, четыре: 129.44.0.0 (10000001 00101100 00000000 00000000) (10000001 00101100 01000000 00000000) (10000001 00101100 10000000 00000000) (10000001 00101100 11000000 00000000) Два дополнительных последних бита в номере сети часто интерпретируются как номера подсетей или субсетей (subnet), и тогда четыре перечисленных выше подсети имеют номера 0 (00), 1 (01), 2 (10) и 3 (11) соответственно. Сеть, получившаяся в результате проведенной структуризации, показана на рис.7. Весь трафик во внутреннюю сеть 129.44.0.0, направляемый из внешней сети, поступает через маршрутизатор М1. В целях структуризации информационных потоков во внутренней сети установлен дополнительный маршрутизатор М2. Рис 7. маршрутизация с использованием масок одинаковой длины Все узлы были распределены по трем разным сетям, которым были присвоены номера 129.44.0.0, 129.44.64.0 и 129.44.128.0 и маски одинаковой длины – 255.255.192.0. Каждая из вновь образованных сетей была подключена к соответственно сконфигурированным портам внутреннего маршрутизатора М2. Кроме того, еще одна сеть (номер 129.44.192.0, маска 255.255.192.0) была выделена для создания соединения между внешним и внутренним маршрутизаторами. Особо отметим, что в этой сети для адресации узлов были заняты всего два адреса 129.44.192.1 (порт маршрутизатора М2) и 129.44.192.2 (порт маршрутизатора М1), еще два адреса 129.44.192.0 и 129.44.192.255 являются особыми адресами. Следовательно, огромное число узлов в этой подсети никак не используются. Извне сеть по-прежнему выглядит, как единая сеть класса В, а на местном уровне это полноценная составная сеть, в которую входят три отдельные сети. Приходящий общий трафик разделяется местным маршрутизатором М2 между этими сетями в соответствии с таблицей маршрутизации. Заметим, что разделение большой сети, имеющей один адрес старшего класса, например А или В, с помощью масок несет в себе еще одно преимущество по сравнению с использованием нескольких адресов стандартных классов для сетей меньшего размера, например С. Оно позволяет скрыть внутреннюю структуру сети предприятия от внешнего наблюдения и тем повысить безопасность. При использовании масок несколько усложняется алгоритм определения маршрута по таблице маршрутизации IP-модулем. После того как IP-адрес извлекается из очередного полученного IP-пакета, необходимо определить адрес следующего маршрутизатора, на который надо передать пакет с этим адресом. Модуль IP последовательно просматривает все записи таблицы маршрутизации. С каждой записью производятся следующие действия: Маска М, содержащаяся в данной записи, накладывается на IP-адрес узла назначения, извлеченный из пакета. Полученное в результате число является номером сети назначения обрабатываемого пакета. Оно сравнивается с номером сети, который помещен в данной записи таблицы маршрутизации. Если номера сетей совпадают, то пакет передается маршрутизатору, адрес которого помещен в соответствующем поле данной записи. 1.1.3.3. Использование масок переменной длиныВ предыдущем примере использования масок (рис. 1) все подсети имеют одинаковую длину поля номера сети – 18 двоичных разрядов, и, следовательно, для нумерации узлов в каждой из них отводится по 14 разрядов. То есть все сети являются очень большими и имеют одинаковый размер. Однако в этом случае, как и во многих других, более эффективным явилось бы разбиение сети на подсети разного размера. В частности, большое число узлов, вполне желательное для пользовательской подсети, явно является избыточным для подсети, которая связывает два маршрутизатора по схеме «точка-точка». В этом случае требуется всего два адреса для адресации двух портов соседних маршрутизаторов. В предыдущем же примере для этой вспомогательной сети М1–М2 был использован номер, позволяющий адресовать гораздо большее количество узлов, что делает такое решение неприемлемо избыточным. Администратор может более рационально распределить имеющееся в его распоряжении пространство с помощью масок переменной длины. Если использовать маски переменной длины, то можно организовать более рациональное распределение адресного пространства, при котором избыточность имеющегося множества IP-адресов может быть сведена к минимуму. Половина из имеющихся адресов отводится для создания сети с адресом 129.44.0.0 и маской 255.255.128.0. - (17). Следующая порция адресов, составляющая четверть всего адресного пространства назначается для сети 129.44.128.0 с маской 255.255.192.0. – (18). Далее в пространстве адресов «вырезается» небольшой фрагмент для создания сети, предназначенной для связывания внутреннего маршрутизатора М2 с внешним маршрутизатором М1. В IP-адресе такой вырожденной сети для поля номера узла как минимум должны быть отведены два двоичных разряда. Из четырех возможных комбинаций номеров узлов: 00, 01, 10 и 11 два номера имеют специальное назначение и не могут быть присвоены узлам, но оставшиеся два 10 и 01 позволяет адресовать порты для маршрутизаторов. В приведенном примере сеть была выбрана с определенным запасом – на 8 узлов. Поле номера узла в таком случае имеет три двоичных разряда, маска в десятичной нотации имеет вид 255.255.255.248 (29), а номер сети – 129.44.192.0. Если эта сеть является локальной, то на ней могут быть расположены четыре узла помимо двух портов маршрутизаторов. Оставшееся адресное пространство администратор может «нарезать» на разное количество сетей разного объема в зависимости от своих потребностей. Таким образом, с помощью масок переменного размера администратор всегда имеет возможность гораздо рациональнее использовать все имеющиеся у него адреса. На рис. 8 показана схема сети, структурированной с помощью масок переменной длины. Рис. 8. Сеть, структурированная с использование масок переменной длины Таблица маршрутизации М2, соответствующая структуре сети, показанной на рис. 2, содержит записи о четырех непосредственно подключенных сетях и запись о маршрутизаторе по умолчанию (табл. 2). Процедура поиска маршрута при использовании масок переменной длины ничем не отличается от подобной процедуры, описанной ранее для масок одинаковой длины. Таблица 2 Таблица маршрутизатора М2 в сети с масками переменной длины
Некоторые особенности масок переменной длины проявляются при наличии так называемых «перекрытий». Под перекрытием понимается наличие нескольких маршрутов к одной и той же сети или одному и тому же узлу. В этом случае адрес сети в пришедшем пакете может совпадать с адресами подсетей, содержащихся сразу в нескольких записях таблицы маршрутизации. Пусть пакет, поступивший из внешней сети на маршрутизатор М1, имеет адрес назначения 129.44.192.5. Ниже приведен фрагмент таблицы маршрутизации маршрутизатора М1. Первая из приведенных двух записей говорит о том, что все пакеты, адреса которых начинаются на 129.44, должны быть переданы на маршрутизатор М2. Эта запись выполняет агрегирование адресов всех подсетей, созданных на базе одной сети 129.44.0.0. Вторая строка говорит о том, что среди всех возможных подсетей сети 129.44.0.0 есть одна, 129.44.192.0, для которой пакеты можно направлять непосредственно, а не через маршрутизатор М2.
Если следовать стандартному алгоритму поиска маршрута по таблице, то сначала на адрес назначения 129.44.192.5 накладывается маска из первой строки 255.255.0.0 и получается результат 129.44.0.0, который совпадает с номером сети в этой строке. Но и при наложении на адрес 129.44.192.5 маски из второй строки 255.255.255.248 полученный результат 129.44.192.0 также совпадает с номером сети во второй строке. В таких случаях должно быть применено следующее правило: «Если адрес принадлежит нескольким подсетям в базе данных маршрутов, то продвигающий пакет маршрутизатор использует наиболее специфический маршрут, то есть выбирается адрес подсети, дающий большее совпадение разрядов». В данном примере будет выбран второй маршрут, то есть пакет будет передан в непосредственно подключенную сеть, а не пойдет кружным путем через маршрутизатор М2. Механизм выбора самого специфического маршрута является обощением понятия «маршрут по умолчанию». Поскольку в традиционной записи для маршрута по умолчанию 0.0.0.0 маска 0.0.0.0 имеет нулевую длину, то этот маршрут считается самым специфическим и используется только при отсутствии совпадений со всеми остальными записями из таблицы маршрутизации. |