Косвенная маршрутизация
Рассмотрим сначала корреспондента, желающего послать дейтаграмму мобильному узлу. В случае косвенной маршрутизации корреспондент просто указывает в поле адреса дейтаграммы постоянный адрес мобильного узла и отправляет дейтаграмму в сеть, не задумываясь о том, где реально находится мобильный узел. Таким образом, мобильность в данном случае оказывается абсолютно прозрачной для корреспондента. Дейтаграммы сначала направляются, как обычно, в домашнюю сеть мобильного узла (шаг 1 на рис. 4.55).
Обратим теперь наше внимание на домашний агент. Помимо взаимодействия с внешним агентом для отслеживания внешнего адреса мобильного узла у домашнего агента есть еще одна очень важная функция. Его вторая задача заключается в выявлении тех прибывающих дейтаграмм, которые адресованы узлам, находящимся вдали от дома. Домашний агент перехватывает эти дейтаграммы, а затем в два этапа переправляет их мобильному узлу. Сначала дейтаграмма посылается внешнему агенту на внешний адрес узла (шаг 2), а затем внешний агент передает ее мобильному узлу (шаг 3).
Полезно рассмотреть процесс изменения маршрута следования дейтаграммы более детально. С одной стороны, домашний агент должен адресовать дейтаграмму, используя внешний адрес мобильного узла так, чтобы сетевой уровень мог направить дейтаграмму во внешнюю сеть. С другой стороны, желательно оставить саму дейтаграмму неизмененной, потому что получающее дейтаграмму приложение не должно знать о том, что та «добиралась» до приложения через домашний агент. Обеих целей можно достичь, если домашний агент инкапсулирует оригинальную дейтаграмму корреспондента целиком в новой дейтаграмме (большего размера). В поле адреса этой новой дейтаграммы указывается внешний адрес мобильного узла.
По этому адресу она и доставляется. Внешний агент, которому «принадлежит» внешний адрес, получает дейтаграмму, извлекает из нее оригинальную дейтаграмму корреспондента и переправляет ее мобильному узлу (шаг 3). На рис. 4.56 показаны оригинальная дейтаграмма, отправленная в домашнюю сеть, инкапсулированная дейтаграмма, посланная внешнему агенту, и снова оригинальная дейтаграмма, доставленная мобильному узлу. Внимательный читатель может заметить, что описанные здесь процедуры инкапсуляция и извлечения инкапсулированной дейтаграммы идентичны туннелированию, обсуждавшемуся ранее в этой главе в контексте групповой рассылки и протокола IPv6.
Поговорим теперь о том, как мобильный узел посылает дейтаграммы корреспонденту. Это совсем просто, так как мобильный узел может адресовать дейтаграмму корреспонденту напрямую (используя собственный постоянный адрес и адрес корреспондента в качестве адресов отправителя и получателя). Поскольку адрес корреспондента известен мобильному узлу, нет необходимости направлять дейтаграмму обратно через домашний агент. На рис. 4.55 это действие показано как шаг 4.
Подведем итоги нашего обсуждения косвенной маршрутизации, перечислив новые функции сетевого уровня, необходимые для поддержания мобильности.
□ Протокол между мобильным узлом и внешним агентом позволяет мобильному узлу зарегистрироваться у внешнего агента при установке соединения с внешней сетью. Аналогично, мобильный узел отменяет регистрацию, покидая посещаемую сеть.
□ Регистрационный протокол между внешним и домашним агентами позволяет внешнему агенту зарегистрировать внешний адрес мобильного хоста у домашнего агента. Когда мобильный узел покидает сеть, внешний агент не должен явно отменять регистрацию внешнего адреса, так как об этом позаботится внешний агент новой посещаемой мобильным узлом сети во время следующей регистрации.
□ Протокол инкапсуляции дейтаграмм домашнего агента обеспечивает инкапсуляцию и пересылку оригинальной дейтаграммы корреспондента мобильному узлу.
□ Протокол извлечения инкапсулированных дейтаграмм внешнего агента обеспечивает выделение оригинальной дейтаграммы корреспондента из дейтаграммы домашнего агента и передачу ее мобильному узлу.
Итак, мы поговорили обо всем, что требуется мобильному узлу для поддержания непрерывного соединения при перемещении из одной сети в другую, то есть о внешних агентах, домашнем агенте и косвенной маршрутизации. Посмотрим теперь, как все это работает вместе. Пусть мобильный узел соединен с внешней сетью А, и его внешний адрес в сети А зарегистрирован у домашнего агента. Пусть также мобильный узел принимает дейтаграммы, направляемые косвенным образом через его домашний агент. Затем мобильный узел перемещается в сеть В, в которой регистрируется у внешнего агента. Внешний агент сети В сообщает домашнему агенту мобильного узла новый внешний адрес мобильного узла. С этого момента домашний агент будет направлять дейтаграммы в сеть В. С точки зрения корреспондента, посылающего дейтаграммы мобильному узлу, мобильность остается прозрачной — дейтаграммы переправляются через один и тот же домашний агент как до, так и после перемещения мобильного узла из одной сети в другую. С точки зрения домашнего агента поток дейтаграмм является непрерывным — сначала поступающие дейтаграммы направлялись во внешнюю сеть А, а после смены внешнего адреса мобильного узла они направляются во внешнюю сеть В. Но заметит ли мобильный узел прерывание потока дейтаграмм при переходе из одной сети в другую? Если время между отключением узла от сети А и подключением его к сети В окажется небольшим, количество потерянных дейтаграмм также будет невелико. Как упоминалось в главе 3, сквозные соединения допускают потерю определенного количества дейтаграмм, например во время сетевой перегрузки. Таким образом, потеря нескольких дейтаграмм при перемещении узла из одной сети в другую не является катастрофой. Если требуется связь без потерь данных, это может быть решено на более высоком уровне (например, транспортном) путем повторной передачи потерянных дейтаграмм независимо от того, чем были вызваны потери, перегрузкой в сети или мобильностью пользователя.
Мой блог находят по следующим фразам