RH0 Type 0 Routing Header


RH0 (Routing Header Type 0) is a specific type of IPv6 routing header used for source routing. In IPv6, the routing header is an optional extension header that allows the source node to specify a list of intermediate nodes (routers) that the packet should traverse to reach its destination. RH0 was initially defined in RFC 5095 but was later deprecated due to security concerns and is no longer recommended for use.

The RH0 header consists of several fields that define the routing information for the packet. Here is a breakdown of the fields:

  1. Next Header: This 8-bit field specifies the type of the next header following the routing header. It indicates the type of the upper-layer protocol, such as TCP, UDP, or ICMP.
  2. Header Ext Len: This 8-bit field indicates the length of the routing header in 8-octet units, excluding the first 8 octets. It allows for the extension of the routing header with additional fields if needed.
  3. Routing Type: This 8-bit field specifies the type of routing being used. For RH0, it is set to 0 to indicate the type 0 routing header.
  4. Segments Left: This 8-bit field indicates the number of remaining routing nodes that the packet must traverse. It is decremented by each intermediate node and should reach 0 when the packet reaches its destination.
  5. Reserved: This 32-bit field is reserved for future use and must be set to zero.
  6. Type-Specific Data: This field varies in length and carries the actual routing data. It contains a list of IPv6 addresses that represent the intermediate nodes through which the packet should be forwarded.

RH0 allows the source node to specify a strict source route, which means that the intermediate nodes must follow the specified route exactly. This can be useful in certain scenarios, such as testing network paths or avoiding specific routers for performance or security reasons.

However, RH0 was deprecated due to security vulnerabilities. It introduced the possibility of enabling an attacker to redirect packets to unintended destinations or bypass network security measures. Therefore, it is strongly recommended to avoid using RH0 and instead rely on other mechanisms for path control and security, such as routing protocols and IPsec.

It's worth noting that the information provided here is based on the knowledge available up until September 2021, and there may have been updates or developments in IPv6 standards and practices since then.