Александр Филимонов

Сети ЭВМ и телекоммуникации




Начало > Основы TCP/IP

Доставка дейтаграмм в сетях TCP/IP

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

Процесс определения маршрута в сетях TCP/IP называется IP роутинг.

Станции пользователя, которые формируют и принимают IP дейтаграммы, обычно подключены только к одной сети.

Станция пользователя, которая для подключения к сети использует не более одного интерфейса, называется IP хост.

Хост также может принимать участие в выполнении процесса маршрутизации.

На рисунке представлен вариант сети, в которой находятся два маршрутизатора, каждый из которых может обеспечить доставку дейтаграммы от хоста А к хосту В. В этом случае, несмотря на то, что хост А имеет только одно сетевое подключение, он должен самостоятельно выполнить выбор между двумя возможными маршрутами, которые проходят через R1 и R2.

Способы маршрутизации и доставки дейтаграмм

В зависимости от того принадлежит источник дейтаграммы и станция её назначения одной и той же сети или нет, могут быть использованы два вида маршрутизации: непосредственная (direct) и опосредованная (indirect).

Доставка дейтаграмм в пределах одной сети

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

Опосредованная доставка дейтаграмм

В сети Internet, однако, значительно более часто используется другой вариант доставки дейтаграмм – опосредованная доставка. При использовании данного режима дейтаграмма должна быть передана по сети в направлении посредника, которым в данном случае является маршрутизатор. Этот маршрутизатор, в свою очередь, передает дейтаграмму в направлении по одной из своих сетей в направлении того маршрутизатора, который, по его мнению, находится ближе к станции назначения. Таким образом, цепочка маршрутизаторов, которые участвуют в процедуре опосредованной доставки, представляет собой виртуальный канал, по которому передается дейтаграмма в направлении станции её назначения. Последний маршрутизатор из данной цепочки передает эту дейтаграмму станции назначения, используя при этом режим непосредственной доставки.

Принципы построения таблиц маршрутизации

Для определения направления, в котором должна быть передана дейтаграмма маршрутизатор и хост используют специальные таблицы – таблицы маршрутизации (IP routing table).

Существенным является то, что в этих таблицах маршрутизации располагается информация не о хостах назначения, а о сетях, к которым эти хосты принадлежат.

Для определения направления в таблицах маршрутизации IP используется принцип, который называется next hop routing. Этот принцип заключается в том, что каждой сети или группе сетей ставится в соответствие сетевой адрес маршрутизатора (IP-шлюза), в направление которого должна быть передана дейтаграмма, для того, чтобы достичь станции назначения, подключенной к данной сети. Важно отметить, что в качестве «хопов» в таблице маршрутизации могут быть указаны только маршрутизаторы, по отношению к которым может быть выполнена процедура непосредственной доставки.

На рисунке представлена совокупность сетей для обеспечения информационного взаимодействия между компонентами которых, используются три маршрутизатора (R1, R2, R3). Ниже представлена таблица маршрутизации для R1:

Network Next Hop
10.10.0.0 10.20.0.2
10.20.0.0 Connected
10.30.0.0 Connected
10.40.0.0 10.30.0.2

Сети 10.20.0.0 и 10.30.0.0 являются непосредственно подключенными для данного маршрутизатора. Для направления дейтаграмм в сеть 10.40.0.0 маршрутизатор должен использовать R3, который представлен в таблице маршрутизации интерфейсом 10.30.0.2. Для направления дейтаграмм в сеть 10.10.0.0 маршрутизатор должен использовать R3, который представлен в таблице маршрутизации интерфейсом 10.20.0.2.

Маршрутизация «по умолчанию»

Совершенно необязательно перечислять в таблице маршрутизации все номера сети, которые существуют в Internet, вместо этого можно просто указать там адрес хопа, куда должны передаваться дейтаграммы, адрес сети назначения которых не указан в таблице маршрутизации.

Маршрутизатор, который используется в качестве next hop для дейтаграмм, адрес сети назначения которых не указан в таблице маршрутизации, называется default gateway.

Маршрутизация по хосту

Возможно возникновение ситуации, когда правила определения маршрута, которые указаны в таблице маршрутизации по каким либо причинам не должны распространяться на один из хостов. В этом случае возможно указание в таблице маршрутизации не адреса сети, а непосредственного адреса хоста. Для того, чтобы механизм  маршрутизации по адресу хоста мог работать, необходимо, чтобы строки таблицы маршрутизации, в которых указаны маршруты на хост должны быть рассмотрены в первую очередь.

Внеклассовые сети TCP/IP

Выше было отмечено, что каждая сеть IP, в зависимости от её номера принадлежит к одному из классов сетей (A, B, C, D или E). Принадлежность сети к определенному классу однозначно определяет структуру сетевого адреса – размеры полей Net ID и Host ID. Для того, чтобы обеспечить возможность более эффективного использования адресного пространства в сетях TCP/IP широко используются внеклассовые сети. 

Внеклассовыми называются сети IP структура сетевого адреса которых определяется путем явного указания и не соответствует классу данной сети.

Структура адреса внеклассовых сетей (длина полей Net ID и Host ID) определяется значением маски данной сети. Маска сети имеет такой - же формат и способ представления (dotted decimal), как и сетевой адрес IP.

Биты маски, которые соответствуют полю Net ID, устанавливаются значением «1», биты маски, которые соответствуют полю Host ID, устанавливаются значением «0». Таким образом маска сети класса В может быть представлена в виде:

255.255.0.0

Для определения внеклассовых сетей используются удлиненные или укороченные маски. В качестве общего наименования для масок подобного типа иногда используется термин Variable Length Subnet Mask (VLSM) – сетевые маски переменной длины. Существуют два типа внеклассовых сетей, которые имеют названия подсети (subnets) и уперсети (supernets).

Внеклассовые сети с расширенной маской (subnets)

Наиболее широкое распространение на практике получили внеклассовые сети типа subnets. Для обеспечения удобства администрирования на сетевом уровне часто бывает очень удобно и целесообразно ассоциировать некоторую группу пользователей  с определенным адресом сети. Ограниченность адресного пространства (особенно это касается открытого пространства) зачастую не позволяет обеспечить такую возможность.

Каждая из вновь организуемых сетей будет иметь удлиненную по отношению к исходной сети маску. Например, сеть класса А 10.0.0.0 может быть разбита на 255 сети класса В.

10.1.0.0 mask 255.255.0.0
10.2.0.0 mask 255.255.0.0

10.255.0.0 mask 255.255.0.0

Документами, которые регламентируют применение внеклассовых сеток не установлено однозначно, что маска сети должна представлять собой непрерывную последовательность единиц.  Следовательно, по крайней мере теоретически возможно использование подсетей, которые имеют маски следующего вида:

255.255.255.160

Рассмотрим пример разбиения с использованием данной маски сети 192.168.68.0:

192.168.66.0 192.168.66.1-192.168.66.31 192.168.66.64-192.168.66.95
192.168.66.32 192.168.66.33-192.168.66.63 192.168.66.96-192.168.66.127
192.168.66.128 192.168.66.129-192.168.66.159 192.168.66.192-192.168.66.233
192.168.66.160 192.168.66.161-192.168.66.191 192.168.66.224-192.168.66.255

В данном случае исходная сеть была разделена на 4 сети, каждая из которых имела в общей сложности по 64 хоста. Следует отметить, однако, что использование масок подобного типа не предусмотрено в аппаратуре ведущих производителей телекоммуникационного оборудования.

Внеклассовые сети с укороченной маской (supernets)

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

Применение обоих типов внеклассовых сетей может быть комбинированным – например, несколько подсетей могут быть объединены в одну суперсеть.

Алгоритм маршрутизации

В общем виде алгоритм маршрутизации в сетях IP может быть сформулирован следующим образом:

  1. Маршрутизатор определяет IP адрес станции назначения AD у принятой дейтаграммы и анализирует принадлежность этого адреса к одной из непосредственно подключенных к нему сетей.
    1. Если возможна непосредственная доставка дейтаграммы, она не нуждается в маршрутизации и уничтожается.
    2. Если адрес AD принадлежит к одной из непосредственно подключенных сетей, дейтаграмма направляется в эту сеть через соответствующий интерфейс маршрутизатора.
  2. Маршрутизатор проверяет наличие или отсутствие в таблице маршрутизации указания маршрута для хоста AD.
    1. Если такой маршрут имеется, дейтаграмма передается в адрес next hop для данного маршрута.
  3. Маршрутизатор анализирует соответствие Net Id искомого адреса записям, которые расположены в таблице маршрутизации.
    1. Если несколько записей соответствует искомому адресу, маршрутизатор передает дейтаграмму в адрес next hop той сети, которой соответствует самая длинная маска.
    2. Если таких записей не обнаружено, дейтаграмма передается в направлении default gateway
    3. Если default gateway не определен для данного маршрутизатора, формируется сообщение об ошибке маршрутизации

< Предыдущая лекция
Протоколы ARP и RARP. Структура дейтаграммы IP
Следующая лекция
Протокол ICMP. Сообщения типа Error
>

Ссылки по теме:


Поиск

Поиск документов на RFC.net



© 2000— Александр Филимонов
© 2001— Алексей Бусыгин

Top.Mail.Ru