Бесклассовая маршрутизация по стандарту IPv4
Кому-то может показаться, что бесклассовая адресация ложится тяжелым бременем на маршрутизаторы или приводит к такому разрастанию маршрутных таблиц, что замедляется весь трафик в сети Internet. К счастью, это не так. При правильном планировании можно скрывать внутреннюю структуру сетей от внешнего мира. Принцип сокрытия внутренних адресов называется агрегированием маршрутов.
Давайте проанализируем описанную в предыдущем разделе сеть с масками переменной длины. Все подсети входят в главную сеть с адресом 192.168.240.0/20. Двадцатиразрядная маска задает следующую структуру адресов: сссссссс.сссссссс.ссссуууу.уууууууу, где с — бит номера сети, а у — бит номера узла. Это означает, что диапазон адресов, используемых в сети, таков: 192.168.240.0-192.168.255.255. В главной сети есть две подсети первого уровня с адресами 192.168.240.0/21 и 192.168.248.0/21.
Оба адреса находятся в родительском диапазоне. Следовательно, независимо от того, в какую подсеть направляется трафик, он сначала должен попасть в сеть 192.168.240.0/20. Маршрутизаторы, находящиеся за пределами автономной системы, не обязаны знать о том, что в ней есть какие-то подсети. Подсети первого уровня имеют собственные адресные диапазоны. Для факультетской подсети (192.168.240.0/21) это 192.168.240.0-192.168.247.255, для сети общежитий (192.168.248.0/21)- 192.168.248.0-192.168.255.255.
Все приведенные адреса попадают в один из этих диапазонов. Это означает, что пакет, адресованный какому-то компьютеру, сначала должен пройти университетский маршрутизатор, после него — маршрутизатор области факультетов или общежитий, затем — маршрутизатор соответствующего здания. В каждом случае только вышестоящий маршрутизатор знает о существовании подсетей на следующем уровне. Это хороший пример агрегирования маршрутов, которое является ключом к успеху протокола CIDR. Чем больше маршрутной информации можно скрыть на локальном уровне, тем меньше становится общий размер маршрутных таблиц. Маршрутизаторы, работающие с бесклассовыми адресами, распространяют информацию, которую обычные маршрутизаторы не понимают.
Если обычно передается сетевая маска, то в бесклассовом режиме — битовая маска. Выбор маршрута осуществляется по принципу самого длинного префикса. Это означает, что среди всех маршрутов, ведущих к заданной сети, выбирается тот, у которого более длинная маска. Предположим, внешнему маршрутизатору требуется доставить информацию по адресу 192.168.250.52. В таблице маршрутизации ищется запись, конечный пункт которой расположен ближе всего к данному адресу.
Дальнейшее развитие событий зависит от того, насколько далеко расположен сам маршрутизатор. В его таблице может присутствовать адрес сети 192.168.240.0/20, который и будет выбран по правилу самого длинного префикса. Но вполне вероятно, что вся сеть 192.168.0.0 принадлежит некоему провайдеру, осуществляющему дальнейшее распределение фрагментов сети, а маршрутизатор не является частью этой сети. В таком случае пакет, адресованный компьютеру 192.168.250.52, сначала попадет в сеть провайдера. Возьмем за основу второй вариант. Попав в сеть 192.168.0.0, пакет окажется на маршрутизаторе провайдера. В его маршрутных таблицах будет найдена запись о сети 192.168.240.0/20. Ее префикс самый длинный, поэтому пакет уйдет на пограничный маршрутизатор Prime. В его таблице обнаружится сеть 192.168.248.0/21, вследствие чего пакет переместится на маршрутизатор East.
Далее окажется, что следующее звено цепи— маршрутизатор Trud (192.168.250.x). Он уже знает непосредственного получателя пакета: компьютер 192.168.250.52. Данный пример не только иллюстрирует принцип самого длинного префикса, но и показывает, как много информации не нужно знать внешним маршрутизаторам. Все, что им нужно, — доставить пакет маршрутизатору Prime, который возьмет на себя все остальное.