The Generic Routing Encapsulation (GRE), specified in [RFC2784], is an IETF standard defining multi-protocol encapsulation format that could be suitable to tunnel any network layer protocol over any network layer protocol. This concept was originally specified in [RFC 1701], which was an informational RFC. When this original protocol was moved to a standards track, the decision was made to replace it with two separate RFCs: [RFC2784] and [RFC2890]. [RFC2890] is an extension of the basic GRE header described in [RFC2784]. It was determined necessary because [RFC 2784] does not lend itself to encapsulation of PPP frames, since it does not have a sequence number in the GRE encapsulation format. This limitation was removed by adding a sequence number extension to the basic GRE header. Also, [RFC2784] does not allow for multiplexing onto the same GRE tunnel of tunneled packets belonging to different administrative entities possibly adopting overlapping private address spaces (a very useful feature for the provision of Virtual Private Networks). This limitation was also removed by adding a key field—that is, a numeric value used to uniquely identify a logically correlated flow of packets within the GRE tunnel—as an extension of the basic GRE header. These extensions to a basic GRE defined by [RFC2890] were especially useful in wireless data communications. For example, they allowed for in-sequence delivery of PPP frames over the R-P interface in CDMA2000 (see Chapters 4 and 7 for more details), and the provisioning of compulsory MVPN services.
GRE, as defined by these RFCs, is normally used in two classes of applications: the transport of different protocols between IP networks and the provision of VPN services for networks configured with potentially overlapping private address space. The GRE header key field can be used to discriminate the identity of the customer network where encapsulated packets originate. In this way, it provides a way to offer many virtual interfaces to customer networks on a single GRE tunnel endpoint. This feature allows for policy-based routing (that is, when routing decisions are not based only on the destination IP address but on the combination of a virtual interface identifier, and service desk salary the destination IP address) and relatively easy per-user network accounting. Also, a GRE header allows the identification of the type of the protocol that is being carried over the GRE tunnel, thus allowing IP networks to serve as a bearer service onto which a virtual multi-protocol network can be defined and implemented.
Comments
Post a Comment