Как устройство должно отправить выбранный ответный пакет

Я считал, что, когда ядро определяет источник ipv6 адрес для пакета, это учитывает то, что интерфейс будет использоваться для отправки пакета,

(http://www.rfc-editor.org/rfc/rfc3484.txt, Раздел 5) Правило 5: Предпочтите исходящий интерфейс. Если SA присвоен интерфейсу, который будет использоваться для отправки к D, и SB присвоен другому интерфейсу, то предпочтите SA. Точно так же, если SB присвоен интерфейсу, который будет использоваться для отправки к D, и SA присвоен другому интерфейсу, затем предпочтите SB.
*D = адрес назначения

Но как интерфейс сам определен? Давайте возьмем квитирование tcp в качестве примера:

  • Хост A имеет один интерфейс и один IP-адрес 1:0:0:0:0:0:0:a
  • Хост B имеет два интерфейса eth0 с IP 1:0:0:0:0:0:0:b0 и eth1 с IP 1:0:0:0:0:0:0:b1
  • Отправление SYN к B 1:0:0:0:0:0:0:b0. B отвечает SYN-ACK. Это должно установить src IP в заголовке Ipv6.

Как я понимаю (исправьте меня, если я неправ!) это выберет между 1:0:0:0:0:0:0:b0 и 1:0:0:0:0:0:0:b1 на основе правил в rfc я связался выше, но я не могу перенести свой ум вокруг них, особенно правило 5, поскольку я не могу узнать, как интерфейс выбран в первом месте.

0
задан 17 August 2015 в 06:49
1 ответ

Ваш пример не относится к разделу 5 ("Выбор адреса источника").

Когда в вашем примере Хост B отвечает на SYN-пакет с Хоста A, у него нет выбора, какой адрес использовать. TCP-соединение определяется комбинацией address:port + address:port, которая уже была выбрана Host A.

Еще одна странная вещь в вашем примере заключается в том, что Host B в вашем примере имеет адреса 1:0:0:0:0:0:0:b0 и 1:0:0:0:0:0:b1 на разных интерфейсах. Разумно, что эти два адреса выглядят так, как будто они принадлежат одному и тому же интерфейсу (один и тот же префикс?).


Что было бы релевантно, так это то, что

Хост A имеет несколько адресов, которые потенциально могут быть использованы в качестве адреса источника.

Когда Host A создает новое соединение (т.е. посылает начальный TCP SYN) на некоторый указанный адрес, в процессе выбора исходного адреса он применит Раздел 5 Правило 5 (только одно из нескольких правил, которые все применяются в процессе выбора), что гарантирует, что какой бы адрес Host A ни выбрал, он будет предпочитать адреса, назначенные интерфейсу, который будет использоваться (в соответствии с маршрутами) для отправки по указанному адресу назначения, а не по другим адресам.

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

.
1
ответ дан 4 December 2019 в 16:51

Теги

Похожие вопросы