Дейтаграммная передача

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

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

Таблица коммутации дейтаграммной сети должна содержать записи обо всех ад­ресах, куда могут быть направлены пакеты, поступающие на интерфейсы комму­татора. А они в общем случае могут быть адресованы любому узлу сети. На прак­тике используются приемы, уменьшающие число записей в таблице, например, иерархическая адресация. В этом случае таблица коммутации может содержать только старшие части адресов, которые соответствуют не отдельным узлам, а не­которой группе узлов (для их обозначения часто применяют термин «подсеть»). Если обратиться к аналогии с почтовыми адресами, то такими старшими частя­ми адреса являются названия стран и городов, число которых, естественно, несо­измеримо меньше, чем названий улиц, домов и имен отдельных людей.

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

Таблица коммутации коммутатора S1
Адрес назначения Адрес следующего коммутатора
N1 Пакет не требуется передавать через сеть
N2 S2
N3 S3
N4 S3
N5 S6
N6 S6

 

Рис. 3.8. Иллюстрация дейтаграммного принципа передачи пакетов

В таблице коммутации для одного и того же адреса назначения может содер­жаться несколько записей, указывающих соответственно на различные адреса следующего коммутатора. Такой подход называется балансом нагрузки и ис­пользуется для повышения производительности и надежности сети. В примере, показанном на рис. 3.8, пакеты, поступающие в коммутатор S1 для узла назна­чения с адресом N2 в целях баланса нагрузки распределяются между двумя сле­дующими коммутаторами — S2 и S3, что снижает нагрузку на каждый из них, а значит, уменьшает очереди и ускоряет доставку. Некоторая «размытость» пу­тей следования пакетов с одним и тем же адресом назначения через сеть являет­ся прямым следствием принципа независимой обработки каждого пакета, прису­щего дейтаграммному методу. Пакеты, следующие по одному и тому же адресу назначения, могут добираться до него разными путями также вследствие изме­нения состояния сети, например отказа промежуточных коммутаторов.

Дейтаграммный метод работает быстро, так как никаких предварительных дей­ствий перед отправкой данных проводить не требуется. Однако при таком мето­де трудно проверить факт доставки пакета узлу назначения. Этот метод не га­рантирует доставку пакета, он делает это по мере возможности — для описания такого свойства используется термин доставка с максимальными усилиями (best effort).