5

Как Linux выбирает, какой из многих возможных исходных адресов IPv6 использовать при подключении к другому сайту? Я открываю соединения с сайтами 6to4 и не-6to4 с хоста, настроенного с адресом 6to4 и не-6to4.

В моем Linux-устройстве были настроены адреса 6to4 и не-6to4 IPv6, и он действительно выбирал адрес источника 6to4 при подключении к другому хосту 6to4 и адрес не-6to4 при подключении к хосту не-6to4. Это было быстрее, потому что оба направления канала 6to4 смогли обойти туннельный сервер. Я не был уверен, что мне просто повезло или это было ожидаемое поведение.

IPad с такой же рекламой IPv6-маршрутов решил использовать IPv4 даже при подключении к таким сайтам, как ipv6.he.net, поэтому я больше не рекламирую маршрут 6to4. Локальный маршрутизатор все еще имеет свой собственный шлюз 6to4 для обхода туннеля для исходящего 6to4.

3 ответа3

3

Лучший документ об этом - от Ульриха Дреппера, он описывает gai.conf , отношения с RFC 3484 , соединение glibc getaddrinfo(3) и выбор адреса ядра.

http://www.akkadia.org/drepper/linux-rfc3484.html

Кстати: iproute2 поддерживает в более поздних версиях файл gai.conf , используйте ip addrlabel show . Вы можете найти некоторые образцы в этой статье:

Привет
Бернд

1

Таблица маршрутизации, кроме того, идентификатор области используется для локальных адресов области ссылки.

http://en.wikipedia.org/wiki/Routing_table

http://en.wikipedia.org/wiki/IPv6_address#Link-local_addresses_and_zone_indices

edit: Как интересное дополнение, я недавно обнаружил, что стек TCP имеет более строгие требования, чем UDP или дейтаграммы. С UDP вы можете довольно часто избегать идентификатора области видимости, если адрес очевиден на хосте, однако TCP вообще не дает вам этой свободы, идентификатор всегда должен быть указан.

0

Лучший документ, который мне удалось найти - это RFC 3484 Выбор адреса по умолчанию для IPv6 и его черновая версия http://tools.ietf.org/html/draft-ietf-6man-rfc3484-revise-03.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .