RFC 1702

Generic Routing Encapsulation over IPv4 networks

๐Ÿ“… published October 1994, from ietf

Generic Routing Encapsulation over IPv4 networks ๐ŸŽ€

Okay bestie, here's the title block tea โ˜•

  • Network Working Group, RFC 1702 ๐Ÿงพ
  • Category: Informational ๐Ÿ’…
  • Authors: Stan Hanks (NetSmiths, Ltd.), Tony Li, Dino Farinacci, and Paul Traina (cisco Systems) ๐Ÿ‘‘
  • Date: October 1994 ๐Ÿ“…
  • Obsoletes / Updates: the header doesn't list either one ๐Ÿฆ‹

Status of this Memo โœจ

This memo is an info drop for the Internet community ๐Ÿ’Œ It does not specify an Internet standard of any kind, and distribution is unlimited.

Introduction ๐ŸŒธ

Okay so in an earlier memo [RFC 1701], we introduced GRE, which is basically a way to wrap arbitrary packets inside an arbitrary transport protocol ๐Ÿ“ฆ This one is the companion sequel ๐Ÿ’… and it covers how GRE works with IP. IP can be the delivery protocol, the payload protocol, or the special case where it's both at once ๐Ÿ‘‘ It also explains how IP addresses and autonomous system numbers can be used as part of a GRE source route ๐Ÿงš

IP as a delivery protocol ๐Ÿšš

GRE packets that get encapsulated inside IP use IP protocol type 47 โœจ

IP as a payload protocol ๐ŸŽ

IP packets get encapsulated with a Protocol Type field of 0x800 ๐Ÿ’–

For Address Family 0x800, the Routing Information field is a list of IP addresses, and it's an IP source route ๐Ÿ—บ๏ธ The first octet of the Routing Information field is an 8 bit integer offset from the start of the Source Route Entry (SRE), called the SRE Offset. The SRE Offset points at the first octet of the next IP address. The SRE Length field is the total length of the IP Address List in octets.

Here's the vibe:

       0                   1                   2                   3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |        Address Family         |  SRE Offset   |  SRE Length   |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                        IP Address List ...
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

For Address Family 0xfffe, the Routing Information field is a list of Autonomous System numbers, and it's an AS source route ๐ŸŒ The third octet of the Routing Information field holds an 8 bit unsigned integer offset from the start of the Source Route Entry (SRE), also called the SRE Offset. The SRE Offset points at the first octet of the next AS number. The SRE Length field is the total length of the AS Number list in octets.

       0                   1                   2                   3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |        Address Family         |  SRE Offset   |  SRE Length   |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                         AS Number List ...
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

IP as both delivery and payload protocol ๐Ÿชž

When IP gets encapsulated in IP, the TTL, TOS, and IP security options MAY be copied from the payload packet into the same fields in the delivery packet. The payload packet's TTL MUST be decremented when the packet is decapsulated, to ensure that no packet lives forever ๐Ÿ’€

IP source routes ๐Ÿ›ฃ๏ธ

When a system is processing an SRE with an Address Family indicating an IP source route, it MUST use the SRE Offset to work out the next destination IP address. If the next IP destination is this system, the SRE Offset field should be increased by four (the size of an IP address). If the SRE Offset is equal to the SRE Length in this SRE, then the Offset field in the GRE header should be adjusted to point to the next SRE (if any). This should be repeated until the next IP destination is not this system, or until the entire SRE has been processed.

If the source route is incomplete, then the Strict Source Route bit is checked. If the source route is a strict source route and the next IP destination is NOT an adjacent system, the packet MUST be dropped. Otherwise, the system should use the IP address indicated by the Offset field to replace the destination address in the delivery header and forward the packet ๐Ÿš€

Autonomous system source routes ๐ŸŒ

When a system is processing an SRE with an Address Family indicating an AS source route, it MUST use the SRE Offset field to determine the next autonomous system. If the next autonomous system is the local autonomous system, the SRE Offset field should be increased by two (the size of an autonomous system number). If the SRE Offset is equal to the SRE Length in this SRE, then the Offset field in the GRE header should be adjusted to point to the next SRE (if any). This should be repeated until the next autonomous system number is not equal to the local autonomous system number, or until the entire SRE has been processed.

If the source route is incomplete, then the Strict Source Route bit is checked. If the source route is a strict source route and the next autonomous system is NOT an adjacent autonomous system, the packet should be dropped. Otherwise, the system should use the autonomous system number indicated by the SRE Offset field to replace the destination address in the delivery header and forward the packet. The exact mechanism for determining the next delivery destination address given the AS number is outside the scope of this document ๐Ÿ™ˆ

Security Considerations ๐Ÿ”

๐Ÿ˜ญ Security issues are not discussed in this memo. This one is a real plot hole, so keep it in mind before you deploy anything.

Authors' Addresses ๐Ÿ“ฎ

Stan Hanks
NetSmiths, Ltd.
2025 Lincoln Highway
Edison, NJ 08817

EMail: stan@netsmiths.com
Tony Li
cisco Systems, Inc.
1525 O'Brien Drive
Menlo Park, CA 94025

EMail: tli@cisco.com
Dino Farinacci
cisco Systems, Inc.
1525 O'Brien Drive
Menlo Park, CA 94025

EMail: dino@cisco.com
Paul Traina
cisco Systems, Inc.
1525 O'Brien Drive
Menlo Park, CA 94025

EMail: pst@cisco.com

References ๐Ÿ“š

RFC 1701
   Hanks, S., Li, T, Farinacci, D., and P. Traina, "Generic Routing
   Encapsulation", RFC 1701, NetSmiths, Ltd., and cisco Systems,
   October 1994.

That's the whole RFC, bestie ๐ŸŒˆโœจ๐Ÿ’–

๐Ÿ“ฆ where this page comes from