Введение
Практика подключения хоста или компьютерной сети к более чем одной сети. Мультихоминг — это практика подключения хоста или компьютерной сети к более чем одной сети. Это может быть сделано для повышения надежности или производительности. Обычно хост или сеть конечного пользователя подключены только к одной сети. Подключение к нескольким сетям может повысить надежность, поскольку в случае отказа одного соединения пакеты все равно могут быть маршрутизированы через оставшиеся соединения. Подключение к нескольким сетям также может улучшить производительность, так как данные могут передаваться и приниматься одновременно по нескольким соединениям, увеличивая пропускную способность, и, в зависимости от назначения, маршрутизация через одну или другую сеть может быть более эффективной.
Multihoming is the practice of connecting a host or a computer network to more than one network. This can be done in order to increase reliability or performance. A typical host or end user network is connected to just one network. Connecting to multiple networks can increase reliability because if one connection fails, packets can still be routed through the remaining connection. Connecting to multiple networks can also improve performance because data can be transmitted and received through the multiple connections simultaneously multiplying throughput and, depending on the destination, it may be more efficient to route through one network or the other.
Варианты
Существует несколько различных способов реализации мультихоминга.
Многохостная передача
Один хост может быть подключен к нескольким сетям. Например, мобильный телефон может одновременно быть подключен к сети Wi-Fi и сети 3G, а настольный компьютер – к домашней сети и VPN. Хост с несколькими сетевыми интерфейсами обычно имеет несколько адресов, по одному для каждой подключенной сети.
Сетевое многоадресационное
В сетевом мультихоминге сеть подключается к нескольким провайдерам и использует собственный диапазон адресов (обычно из диапазона, независимого от провайдеров (PI)). Маршрутизаторы сети на границе сети взаимодействуют с провайдерами, используя динамический протокол маршрутизации, как правило BGP, который анонсирует диапазон адресов сети всем провайдерам. В случае отказа одного из соединений, динамический протокол маршрутизации обнаруживает этот отказ и переконфигурирует таблицы маршрутизации для использования оставшихся соединений, не затрагивая работу хостов. Сетевой мультихоминг требует значительных затрат, поскольку необходимы адресное пространство, принимаемое всеми провайдерами, публичный номер автономной системы (AS) и динамический протокол маршрутизации. Поскольку адресное пространство мультихоминга не поддается агрегации, это приводит к увеличению глобальной таблицы маршрутизации.
IPv4
Сетевое мультихоминг является доминирующей техникой для IPv4. Это требует, чтобы сеть имела собственный диапазон публичных IP-адресов и публичный номер автономной системы (AS). Хотя мультихоминг с использованием нескольких адресов был реализован для IPv4, он обычно не применяется, поскольку реализации на стороне хостов плохо работают с несколькими адресами на одном интерфейсе, что требует использования "виртуальных интерфейсов". Также возможно реализовать мультихоминг для IPv4 с помощью нескольких шлюзов NAT.
IPv6
В IPv6 могут использоваться как сетевая многоадресность, так и многоадресность с использованием нескольких адресов.
Сетевое многоадресационное
Провайдерски-независимое адресное пространство (PI) доступно в IPv6. Этот метод имеет преимущество, заключающееся в работе, аналогичной IPv4, поддержке балансировки трафика между несколькими провайдерами и сохранении существующих TCP и UDP сессий при переключениях. Критики утверждают, что увеличение размера таблиц маршрутизации, необходимое для обработки многоадресности таким образом, может перегрузить текущее аппаратное обеспечение маршрутизаторов. Сторонники утверждают, что новое оборудование сможет справиться с этой нагрузкой благодаря удешевлению памяти, цены на которую снижаются в соответствии с законом Мура. Они также считают, что это единственное жизнеспособное решение на данный момент, и философия "лучше несовершенное решение сейчас, чем идеальное – никогда" поддерживает идею о том, что лучше развернуть несовершенное решение сейчас, чем идеальное решение, когда будет слишком поздно. Поскольку многие интернет-провайдеры фильтруют объявления маршрутов с короткими префиксами, для обеспечения глобальной доступности обычно требуется большое распределение IP-адресов "размера провайдера", например /32. Использование таких больших префиксов является неэффективным использованием адресного пространства IPv6, поскольку существует всего около 4 миллиардов префиксов /32. Однако, с прагматической точки зрения, выделение /32 по стоимости глобального адресного пространства эквивалентно выделению одного адреса IPv4, и это может быть приемлемо, если, как представляется вероятным в обозримом будущем, количество многоадресных сайтов можно будет насчитать лишь миллионами, в отличие от многих миллиардов не-многоадресных конечных точек, которые, как ожидается, составят подавляющее большинство конечных точек IPv6. Некоторые региональные интернет-регистры (RIR), такие как RIPE, начали выделять /48 из определенного префикса для этой цели. RIPE выделяет провайдерски-независимые адресные пространства IPv6 /48 или короче, начиная с 2001:0678::/29.
Многоадресная система
Для IPv6 реализована мультидоменная маршрутизация с использованием нескольких адресов. Для исходящего трафика требуется поддержка на стороне хоста, либо независимая от протокола (Multipath TCP, SCTP, QUIC и т.д.), либо специфичная для IPv6 (например, SHIM6).