Протоколы TCP-IP

       

Маршрутизация в Интернете


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

Напомним, что целью TCP/IP является обеспечить виртуальную сеть, предоставляющую средство доставки IP-дейтаграмм без установления соединения. Поэтому, мы сосредоточим на внимание на межсетевой маршрутизации или IP-маршрутизации. Как и маршрутизация внутри физической сети, IP-маршрутизация выбирает путь, по которому следует послать дейтаграмму. Алгоритм IP-маршрутизации должен определить, как послать дейтаграмму через несколько физических сетей.

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


Как ГВМ, так и шлюзы участвуют в IP-маршрутизации. Когда прикладная программа на ГВМ пытается организовать взаимодействие, протоколы TCP/IP в конечном счете генерируют одну или несколько IP-дейтаграмм. ГВМ должен принять решение о маршруте, когда он выбирает, куда послать дейтаграмму. Как показывает рисунок 8.1, ГВМ должны принять решение, даже если они имеют только одно соединение с сетью.

^ к одним ^ к другим | ГВМ | ГВМ ----- ----- | Ш1| | Ш2| ----- ----- | | -------------------------------------------------------- | ----- |ГВМ| -----

Рисунок 8.1 Пример одноадресного ГВМ, который должен маршрутизировать дейтаграммы. Он должен выбрать, послать ли дейтаграмму шлюзу Ш1 или шлюзу Ш2, так как нет одного шлюза, обеспечивающего наилучший путь ко всем назначениям.

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


Содержание раздела