При туннелировании пакета от внутреннего агента к мобильному хосту к пакету добавляется IP-заголовок с адресом для передачи. Когда пакет пребывает на этот адрес, внешний IP-заголовок удаляется.
Как и в случае со многими интернет-протоколами, дьявол кроется в деталях, и особенно в тех мелочах, которые касаются совместимости с другими протоколами. Здесь есть две сложности. Во-первых, NAT-блоку необходим доступ к TCP-и UDP-заголовкам, расположенным после IP-заголовка. Изначальный вариант туннелирования для мобильных IP не использовал эти заголовки и поэтому не работал с NAT-блоками. Позже было принято решение изменить способ добавления заголовков, включив UDP-заголовок.
Вторая сложность состоит в том, что некоторые провайдеры проверяют, соответствует ли IP-адрес источника тому расположению, где, по мнению протокола маршрутизации, источник должен находиться. Этот процесс называется фильтрацией на входе( ingress filtering) и является мерой безопасности, позволяющей отвергать трафик, поступивший с сомнительного адреса, так как он может представлять угрозу. Однако если мобильный хост находится не в домашней сети, его пакеты будут приходить с IP-адреса другой сети и поэтому, скорее всего, будут отвергнуты. Чтобы обойти эту проблему, мобильный хост может туннелировать пакеты внутреннему агенту с помощью адреса для передачи. Пакеты, отправленные отсюда, не будут казаться подозрительными. Минус такой схемы в том, что такой путь является далеко не прямым.
Еще одним вопросом является безопасность. Когда внутренний агент получает просьбу пересылать все пакеты, приходящие на имя Натальи, на некий IP-адрес, он не должен подчиняться, пока не убедится, что источником этого запроса является Наталья, а не кто-то пытающийся выдать себя за Наталью. Для этого применяются протоколы криптографической аутентификации, которые будут рассматриваться в главе 8.
Протоколы мобильности для IPv6 основаны на IPv4. Приведенная выше схема сталкивается с проблемой треугольной маршрутизации, при которой пакеты вынуждены делать крюк, проходя через внутреннего агента. IPv6 использует оптимизацию маршрута, позволяющую установить прямые пути между мобильным хостом и другими IP-адресами после того, как первые пакеты прошли длинный путь. Мобильный IPv6 описан в RFC 3775.
В сети Интернет появляется еще один вид мобильности. В некоторых самолетах есть встроенная беспроводная сеть, с помощью которой пассажиры с переносными компьютерами могут подключаться к Интернету. В самолете есть маршрутизатор, подключенный к остальному Интернету по беспроводной связи. (А вы думали, через кабель?) Так что по сути это летающий маршрутизатор, то есть мобильной является вся сеть. Схемы, реализующие мобильность сетей, работают так, что переносные компьютеры не замечают, что самолет движется. Они думают, что это просто другая сеть. Некоторые компьютеры используют мобильный IP, чтобы сохранять связь с домашней сетью, и в таком случае мы имеем дело с двумя уровнями мобильности. Мобильность сети для IPv6 описана в RFC 3963.
5.7. Резюме
Сетевой уровень предоставляет услуги транспортному уровню. В его основе могут лежать либо виртуальные каналы, либо дейтаграммы. В обоих случаях его основная работа состоит в выборе маршрута пакетов от источника до адресата. В сетях с виртуальными каналами решение о выборе маршрута осуществляется при установке виртуального канала. В дейтаграммных сетях оно принимается для каждого пакета.
В компьютерных сетях применяется большое количество алгоритмов маршрутизации. Заливка — это простой алгоритм передачи пакетов по всем путям. Большинство алгоритмов определяют кратчайший путь и адаптируются к изменениям топологии сети. Основными алгоритмами являются маршрутизация по векторам расстояний и маршрутизация с учетом состояния линий. В большинстве имеющихся сетей применяется один из этих алгоритмов. К другим важным методам маршрутизации относятся использование иерархии в больших сетях, маршрутизация для мобильных хостов, широковещание, многоадресная маршрутизация и произвольная маршрутизация.
Сети подвержены перегрузкам, приводящим к увеличению задержки и утере пакетов. Разработчики сетей пытаются предотвратить перегрузку разнообразными способами, включающими создание сетей с достаточной пропускной способностью, выбор не перегруженных маршрутов, временный запрет входящего трафика, отправку сообщения источнику с просьбой замедлить передачу трафика и сброс нагрузки.
Читать дальше
Конец ознакомительного отрывка
Купить книгу