В компьютерных сетях маршрутизация источника , также называемая адресацией пути , позволяет отправителю пакета данных частично или полностью указать маршрут, по которому пакет проходит через сеть. [1] Напротив, в обычной маршрутизации маршрутизаторы в сети определяют путь постепенно, основываясь на пункте назначения пакета. Другая альтернатива маршрутизации, коммутация меток , используется в сетях с установлением соединения, таких как X.25 , Frame Relay , Asynchronous Transfer Mode и Multiprotocol Label Switching .
Маршрутизация источника упрощает устранение неполадок, улучшает traceroute и позволяет узлу обнаружить все возможные маршруты к хосту. Она не позволяет источнику напрямую управлять производительностью сети, заставляя пакеты проходить по одному пути, чтобы предотвратить перегрузку на другом.
Многие высокопроизводительные межсоединения, включая Myrinet , Quadrics , [2] IEEE 1355 и SpaceWire , поддерживают маршрутизацию от источника.
В протоколе Интернета доступны два варианта заголовка , которые используются редко: « строгий источник и маршрут записи » (SSRR) и « свободный источник и маршрут записи » (LSRR). [3] Из-за проблем безопасности пакеты, помеченные LSRR, часто блокируются в Интернете. Если не блокировать, LSRR может позволить злоумышленнику подделать адрес , но при этом успешно получать ответные пакеты, заставляя обратный трафик для поддельных пакетов возвращаться через устройство злоумышленника. [4]
В IPv6 были разработаны две формы маршрутизации от источника. Первый подход представлял собой заголовок маршрутизации типа 0. [5] Этот заголовок маршрутизации был разработан для поддержки тех же вариантов использования, что и параметры заголовка IPv4 . Поскольку было несколько значительных атак на этот заголовок маршрутизации, его использование было прекращено. [6] Более безопасная форма маршрутизации от источника разрабатывалась в IETF с 2017 года для поддержки версии сегментной маршрутизации[обновлять] IPv6 . [7]
Программно-определяемая сеть также может быть улучшена при использовании исходной маршрутизации в плоскости пересылки. Исследования показали значительное улучшение времени сходимости в результате сокращения состояния, которое должно быть распределено контроллером в сети. [8] [9]
При использовании маршрутизации от источника с Myrinet отправитель пакета добавляет полный маршрут, один байт для каждой перекрестной полосы, к каждому заголовку пакета. Каждая перекрестная полоса проверяет первый байт маршрутизации пакета. При использовании маршрутизации от источника этот байт указывает на конкретный порт этой перекрестной полосы; когда этот порт становится доступным, маршрутизатор отбрасывает этот байт маршрутизации и отправляет оставшуюся часть пакета через этот порт. [2]
Каждый пакет, проходящий через сеть SpaceWire, может использовать адресацию пути (маршрутизацию источника) или логическую адресацию или некоторую комбинацию. Маршрутизатор проверяет первый символ данных пакета; когда он указывает на какой-либо определенный порт маршрутизатора, маршрутизатор отбрасывает этот символ маршрутизации и отправляет остальную часть пакета через этот порт. [10] [11] [12]