Routing Headers¶
Routing Headers¶
Routing Headers (RH) is a feature in IPv6 that allows packets to specify a list of intermediate nodes, or routers, that the packet should traverse on its way to the destination. In IPv6, the RH is an extension header that can be included in the packet header to control the route that the packet takes through the network.
Here's how the Routing Header works:¶
Routing Header Format: The Routing Header contains one or more Type-Length-Value (TLV) entries, each specifying a particular routing type and associated data. The format allows for flexibility in defining different routing types and options.
Routing Types: IPv6 defines several routing types that can be used in the Routing Header. The most commonly used routing type is the Type 0 Routing Header, which specifies a list of IPv6 addresses of intermediate routers that the packet should visit. Other routing types may specify different routing behaviors or options.
Routing Header Processing: When a router receives an IPv6 packet with a Routing Header, it examines the Header to determine the packet's next hop. The router forwards the packet to the next hop specified in the Header and updates the packet header accordingly.
Source Routing: One of the primary uses of Routing Headers is source routing, where the source node specifies the route the packet should take through the network. This allows the source node to control the packet's path and bypass default routing decisions made by intermediate routers.
Security Implications: Routing Headers introduce security concerns, particularly when used inappropriately or maliciously. For example, the Type 0 Routing Header was deprecated due to security vulnerabilities, as it allowed attackers to bypass network security controls and perform source routing attacks. Additionally, some routing types may expose sensitive information about the network topology or provide opportunities for traffic interception or manipulation.
IPv6 Extension Headers: Routing Headers are one of several extension headers defined in IPv6. Extension headers provide additional functionality beyond the basic IPv6 header and can be used to specify options, control packet processing, or support advanced features. IPv6 extension headers include Hop-by-Hop Options Header, Fragmentation Header, Authentication Header (AH), and Encapsulating Security Payload (ESP).