Межсетевой обмен с помощью TCP-IP



         

IP-маршрутизация на основе таблиц.


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

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

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

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

Важно понимать, что таблица маршрутизации всегда указывает на шлюзы, которые находятся на расстоянии одной физической сети. То есть, все шлюзы, приведенные в таблице маршрутизации машины М, должны находиться в сетях, к которым М присоединена напрямую. На практике, мы по возможности придерживаемся принципа скрытия информации от ГВМ. Мы настаиваем, что хотя ГВМ имеют таблицы IP-маршрутизации, они должны хранить минимум информации в своих таблицах. Идея заключается в том, чтобы заставить ГВМ полагаться на шлюзы для большей части маршрутизации.

Рисунок 8.2 показывает конкретный пример, который помогает понять таблицы маршрутизации. Интернет в этом примере состоит из четырех сетей, соединенных тремя шлюзами. На рисунке показана таблица маршрутизации, используемая шлюзом G. Так как G присоединен напрямую к сетям 20.0.0.0 и 30.0.0.0, он может достичь любой ГВМ в этих сетях напрямую(возможно используя ARP для нахождения физического адреса). Получив дейтаграмму, предназначенную ГВМ в сети 40.0.0.0, G маршрутизирует ее в адрес 30.0.0.7, адрес шлюза H. H затем доставит дейтаграмму напрямую. G может достичь адреса 30.0.0.7, так как и G, и H присоединены к сети 30.0.0.0.




Содержание  Назад  Вперед