История термина Teredo довольно красочна. Сначала этот протокол назывался Shipworm, что в переводе означало «корабельный червь» и было призвано олицетворять способность приложений проникать в сети, расположенные за NAT-устройствами. Но у людей, обязанных следить за безопасностью, такое название вызвало активное неприятие, ведь червь, «проедающий» дыры в брадмауэрах, призванных защитить сеть, больше похож на персонажа из ночного кошмара системного администратора! Скорее всего, из-за этого протокол Shipworm был переименован в Teredo, что, в сущности, означает то же самое – это латинское имя одной из разновидноти корабельного червя, Teredo navalis! Несмотря на свое веселое имя, Teredo стал одним из самых безопасных и дружественных по отношению к брандмауэрам методов доступа, обеспечивающий проход приложений сквозь NAT-устройства и брандмауэры.
Teredo призван решить две фундаментальные проблемы. Во-первых, существует огромное количесвто систем, расположенных за устройствами, поддерживающими только IPv4. Нужен способ, обеспечивающий нормальную работу IPv6 и не требующий замены всех домашних маршрутизаторов и брандмауэров, не говоря уже об обновлении сетей всеми Интернет-провайдерами.
Во-вторых, большинство людей располагаются за несколькими NAT-устройствами, зачастую за двумя. Для приложений, нуждающихся в сети типа «точка-точка» (таких, как одноранговая сеть, многопользовательские игры и коллективная работа), NAT-устройства не позволяют эффективно реализовать связь.
Teredo инкапсулирует UDP-пакеты IPv4 в IPv6, хотя есть и другие подходы к обеспечению связи «точка-точка», например в большой корпоративной сети Teredo настраивается на сквозное прохождение NAT-устройства.
Первая вещь, которую должен сделать клиент, – направить начальный пакет должным образом сконфигурированному Teredo-серверу. Сервер должен обеспечивать сопоставление клиентов в ретрансляторе Teredo, и это практически все: задача Tereo-сервера – сократить до минимуму допольнительную нагрузку на сеть.
Начальный пакет состоит из IPv6-утилиты ping с большим случайным числом в качестве полезных данных, размещенном поверх UDP-пакета, отправленного на порт 3544. Относящаяся к IPv6 часть начального пакета далее передается по адресу IPv6, по которому обращается клиент. Адресат отправляет ответ на ближайший ретранслятор Teredo. Таким образом, ретранслятор можно считать маршрутизатором особого вида.
Новости Интернет-технологий
Новости Веб индустрии