Дейтаграммная передача
Итак, как было сказано, дейтаграммный способ передачи данных основан на том, что все передаваемые пакеты обрабатываются независимо друг от друга. Выбор интерфейса, на который надо передать поступивший пакет, происходит только на основании адреса назначения, содержащегося в заголовке пакета. Принадлежность пакета к определенному информационному потоку никак не учитывается.
Решение о продвижении пакета принимается на основе таблицы коммутации, содержащей набор адресов назначения и адресную информацию, однозначно определяющую следующий по маршруту (транзитный или конечный) узел. Напомним, что в разных технологиях для обозначения таблиц, имеющих указанное выше функциональное назначение, могут использоваться другие термины (таблица маршрутизации, таблица продвижения и др.). Далее для простоты будем пользоваться термином «таблица коммутации» в качестве обобщенного названия таблиц такого рода, применяемых для дейтаграммной передачи на основании только адреса назначения конечного узла.
Таблица коммутации дейтаграммной сети должна содержать записи обо всех адресах, куда могут быть направлены пакеты, поступающие на интерфейсы коммутатора. А они в общем случае могут быть адресованы любому узлу сети. На практике используются приемы, уменьшающие число записей в таблице, например, иерархическая адресация. В этом случае таблица коммутации может содержать только старшие части адресов, которые соответствуют не отдельным узлам, а некоторой группе узлов (для их обозначения часто применяют термин «подсеть»). Если обратиться к аналогии с почтовыми адресами, то такими старшими частями адреса являются названия стран и городов, число которых, естественно, несоизмеримо меньше, чем названий улиц, домов и имен отдельных людей.
Несмотря на применение иерархической адресации в некоторых крупных сетях (например, в Интернете), коммутаторы могут иметь таблицы с числом входов, превышающем несколько тысяч. На рис. 3.8 показано, как могла бы выглядеть таблица коммутации в дейтаграммной сети.
Таблица коммутации коммутатора S1
|
Рис. 3.8. Иллюстрация дейтаграммного принципа передачи пакетов |
В таблице коммутации для одного и того же адреса назначения может содержаться несколько записей, указывающих соответственно на различные адреса следующего коммутатора. Такой подход называется балансом нагрузки и используется для повышения производительности и надежности сети. В примере, показанном на рис. 3.8, пакеты, поступающие в коммутатор S1 для узла назначения с адресом N2 в целях баланса нагрузки распределяются между двумя следующими коммутаторами — S2 и S3, что снижает нагрузку на каждый из них, а значит, уменьшает очереди и ускоряет доставку. Некоторая «размытость» путей следования пакетов с одним и тем же адресом назначения через сеть является прямым следствием принципа независимой обработки каждого пакета, присущего дейтаграммному методу. Пакеты, следующие по одному и тому же адресу назначения, могут добираться до него разными путями также вследствие изменения состояния сети, например отказа промежуточных коммутаторов.
Дейтаграммный метод работает быстро, так как никаких предварительных действий перед отправкой данных проводить не требуется. Однако при таком методе трудно проверить факт доставки пакета узлу назначения. Этот метод не гарантирует доставку пакета, он делает это по мере возможности — для описания такого свойства используется термин доставка с максимальными усилиями (best effort).