Draft Martini, Draft Kompella and L2VPN services

Draft Martini and Draft Kompella were the starting points toward standardizing the Layer2 VPN architectures using pseudowire emulation, both drafts addressed setting up pseudowire emulation over MPLS-based networks in order to offer Layer 2 VPN services, but each draft proposed a different approach. Members of the networking community divided themselves into two camps based on the different design philosophies that were embedded in the two drafts. This resulted in many drafts and debates until things converged time by time.

I'll try to simply describe both drafts, and how things eventually went out.

Draft Martini: Named after its author Luca Martini (worked for Level 3 at this time), simply uses LDP for signaling to establish point-to-point Layer 2 VPN over MPLS backbone, with no suggestion for auto-discovery.

Draft Kompella: Named after its author Kireeti Kompella (worked for Juniper at this time), simply uses BGP for both signaling and auto-discovery to establish multipoint (To be more specific it is fully meshed point-to-point pseudowires) Layer 2 VPN over MPLS backbone.

Both drafts uses the same encapsulation; Provider's Layer 2 header + Tunnel Label + VC Label + Control Word + Payload (L2 Frame), the encapsulation details for each Layer 2 protocol was described in several RFCs.

As a quick comparison, Draft Martini suffers scalability issues due to configuration overhead in the absence of auto-discovery when dealing with fully meshed topologies between the edge routers, which is not the case with Draft Kompella leveraging auto-discovery and complex signaling, however Draft Martini leverages simplicity and straightforwardness.

While Juniper claimed that Draft Kompella scales better than Draft Martini (which is technically justifiable), most vendors such as Cisco have standardized based on Draft Martini (simply using LDP for signaling), and efforts and new solutions have been worked on to overcome the auto-discovery issue with Draft Martini.

The terms draft-martini and draft-kompella are used as labels for the two different L2VPN services methodologies (in a couple of words definition; LDP Vs BGP for signaling). The actual drafts do not exist in IETF anymore.

NOTE According to the IETF; Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."

Draft Martini evolved until being RFC 4906 (Categorized as Historic), however it has since been superseded by the Pseudowire Emulation Edge to Edge (PWE3) Working Group specifications described in RFC 4447 and related documents. On the other hand draft-kompella is obsolete and was not standardized.

Cisco has come up with a separate IETF draft that builds upon Draft Martini and incorporates pieces of Draft Kompella. Eric Rosen (worked for Cisco at this time), the author of what is known as “The Autodiscovery Draft Extension to LDP,” proposed establishing Layer 2 MPLS tunnels using LDP, as it’s described in Draft Martini, but like Juniper he suggests using BGP for auto-discovery.

Eric Rosen was later one of the authors of one of the RFCs I found very comprehensive; RFC 4664 - Framework for Layer 2 Virtual Private Networks (L2VPN), it describes the framework for L2VPNs (VPWS, VPLS and IPLS). This framework is intended to aid in standardizing protocols and mechanisms to support interoperable L2VPNs. Requirements for L2VPNs can be found in RFC 4665 - Service Requirements for Layer 2 Provider-Provisioned Virtual Private Networks.

Marc Lasserre (worked for Riverstone Networks at this time) and Vach Kompella (worked for Timetra Networks at this time - who happens to be the brother of Juniper's engineer Kireeti Kompella) are the two main authors of Lasserre-V.Kompella Draft. This draft has gained official support from vendors such as Cisco for their VPLS implementation, it evolved until it was standardized as RFC 4762.

All this was consolidated, and the L2VPN Working Group produced two separate documents, RFC 4761 and RFC 4762, both offered VPLS but using different signaling protocols:

Kireeti Kompella and Yakov Rekhter published "Virtual Private LAN Service (VPLS) Using BGP for Auto-discovery and Signaling" RFC 4761 in January 2007.

Marc Lasserre and Vach Kompella published "Virtual Private LAN Service (VPLS) Using Label Distribution Protocol (LDP) Signaling" RFC 4762 in January 2007.

NOTE RFC 4762 stated the following regarding auto-discovery; "The capability to manually configure the addresses of the remote PEs is REQUIRED. However, the use of manual configuration is not necessary if an auto-discovery procedure is used.  A number of auto-discovery procedures are compatible with this document ([RADIUS-DISC], [BGP-DISC])."

I know that it is very daunting to follow up all of this, I hope that I was able to illustrate this area a little bit, as much as I could follow up my self :)

Mohammed Mahmoud.

Check Also

Best AI tools list