RFC 5747

4over6 Transit Solution Using IP Encapsulation and MP-BGP Extensions

๐Ÿ“… published March 2010, from ietf

RFC 5747: 4over6 Transit Solution Using IP Encapsulation and MP-BGP Extensions ๐Ÿฆ‹โœจ

okay bestie, this one is a whole vibe ๐Ÿ’– RFC 5747 was written by J. Wu, Y. Cui, X. Li, and M. Xu from Tsinghua University, plus C. Metz from Cisco Systems, Inc. It came out in March 2010 as an Independent Submission and is marked Experimental ๐Ÿงช. It's part of the RFC series with ISSN 2070-1721. Not a standards-track thing, just a "let's try it and see" kind of doc ๐ŸŒˆ


Abstract ๐ŸŒธ

okay so IPv6 networks are getting deployed more and more, and that means there are going to be situations where people still need to reach IPv4 networks across IPv6 transit backbones ๐Ÿซถ This doc describes a way to automatically discover and set up IPv4-over-IPv6 tunnels using extensions to multiprotocol BGP. The goal is to connect little islands of IPv4 networks across an IPv6-only backbone without anyone having to hand-configure a whole overlay of tunnels ๐Ÿ˜ญโœจ The stuff in here has been implemented, tested, and deployed on the large research IPv6 network in China ๐Ÿ‡จ๐Ÿ‡ณ it's giving proof-of-concept but make it real ๐Ÿ’…


Status of This Memo ๐Ÿ“œ

not gonna lie, this section is a bit formal, but here's the tea: this is not an Internet Standards Track spec. It's published so people can look at it, try implementing it, and evaluate it ๐Ÿงช

It defines an Experimental Protocol for the Internet community. It's a contribution to the RFC Series, independent of any other RFC stream ๐Ÿ“ The RFC Editor chose to publish it at their discretion and makes no statement about whether it's good to implement or deploy. Docs approved for publication by the RFC Editor are not candidates for any level of Internet Standard. (For that bit, check Section 2 of RFC 5741 ๐Ÿ™ˆ)

If you want the current status, any errata, or a way to send feedback, go to:

http://www.rfc-editor.org/info/rfc5747


IESG Note ๐ŸŽ€

the IESG basically wanted to say that the mechanisms here are related to specs the IETF softwire working group developed and published as Standards Track documents. But the relationship doesn't stop this doc from being published, so it's all good ๐Ÿซถ


Copyright (c) 2010 IETF Trust and the persons identified as the document authors. All rights reserved. ๐Ÿ“

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication. Please read these carefully, because they spell out your rights and restrictions with respect to this document ๐Ÿ‘€


Table of Contents ๐Ÿ—‚๏ธ

   1. Introduction ....................................................3
   2. 4over6 Framework Overview .......................................3
   3. Prototype Implementation ........................................5
      3.1. 4over6 Packet Forwarding ...................................5
      3.2. Encapsulation Table ........................................6
      3.3. MP-BGP 4over6 Protocol Extensions ..........................7
           3.3.1. Receiving Routing Information from Local CE .........8
           3.3.2. Receiving 4over6 Routing Information from a
                  Remote 4over6 PE ....................................8
   4. 4over6 Deployment Experience ....................................9
      4.1. CNGI-CERNET2 ...............................................9
      4.2. 4over6 Testbed on the CNGI-CERNET2 IPv6 Network ............9
      4.3. Deployment Experiences ....................................10
   5. Ongoing Experiment .............................................11
   6. Relationship to Softwire Mesh Effort ...........................12
   7. IANA Considerations ............................................12
   8. Security Considerations ........................................13
   9. Conclusion .....................................................13
   10. Acknowledgements ..............................................13
   11. Normative References ..........................................14

1. Introduction ๐ŸŒโœจ

okay so IPv4 address space is basically gone, which is why more and more IPv6 networks are showing up, not just at the edges but on the backbone too ๐ŸŒ The catch is that there are still tons of legacy IPv4 hosts and apps out there. So IPv6 and IPv4 are going to have to coexist for a long time ๐Ÿ˜ญ

This means IPv6 networks will keep running into situations where they need to connect to IPv4 networks. Some IPv6 backbones will need to offer transit to IPv4 access networks attached to them. The way to do that is to encapsulate the IPv4 payloads and carry them inside IPv6 tunnels that span the backbone ๐Ÿฆ‹ There are some IPv6/IPv4 tunneling protocols and mechanisms out there already, but when this mechanism was introduced, most of them were about IPv6 over IPv4, not IPv4 over IPv6 ๐Ÿ™ˆ Plain encapsulation methods, like the ones in [RFC2473], need manual configuration before they work. And when you need a lot of tunnels, manual config gets burdensome fast ๐Ÿ˜ฉ So this doc describes an approach called "4over6" ๐Ÿ’–

The 4over6 mechanism has two parts: the control plane and the data plane ๐Ÿง  The control plane has to figure out how to set up an IPv4-over-IPv6 tunnel automatically and at scale, between a large number of edge routers. This doc describes experimental extensions to Multiprotocol Extensions for BGP (MP-BGP) [RFC4271] [RFC4760] that communicate tunnel endpoint info and establish 4over6 tunnels between dual-stack Provider Edge (PE) routers sitting at the edge of the IPv6 backbone ๐Ÿ›ฃ๏ธ Once the 4over6 tunnel is up, the data plane handles the packet forwarding stuff, meaning encapsulation and decapsulation ๐Ÿ“ฆ

2. 4over6 Framework Overview ๐Ÿ—บ๏ธ

picture this: a bunch of IPv6-only P routers make up a native IPv6 backbone ๐Ÿฆด The PE routers are dual-stack and called 4over6 PE routers. The IPv6 backbone works as a transit core that carries IPv4 packets across it. So each IPv4 access island can talk to the others through 4over6 tunnels running over that IPv6 transit core ๐Ÿ’…

                   _._._._._            _._._._._
                  |  IPv4   |          |  IPv4   |
                  | access  |          | access  |
                  | island  |          | island  |
                   _._._._._            _._._._._
                       |                    |
                   Dual-Stack           Dual-Stack
                   "4over6 PE"          "4over6 PE"
                       |                    |
                       |                    |
                     __+____________________+__
        4over6      /   :   :           :   :  \    IPv6 only
        Tunnels    |    :      :      :     :   |  transit core
        between    |    :        [P]        :   |  with multiple
          PEs      |    :     :       :     :   |   [P routers]
                   |    :   :            :  :   |
                    \_._._._._._._._._._._._._./
                       | /                \ |
                       |                    |
                    Dual-Stack          Dual-Stack
                    "4over6 PE"         "4over6 PE"
                      |  |                  |
                   _._._._._            _._._._._
                  |  IPv4   |          |  IPv4   |
                  | access  |          | access  |
                  | island  |          | island  |
                   _._._._._            _._._._._

              Figure 1: IPv4 over IPv6 Network Topology

so in Figure 1 there are several dual-stack PE routers hooked up to the IPv6 transit core ๐ŸŽ€ For the ingress 4over6 PE router to forward an IPv4 packet across the IPv6 backbone to the right egress 4over6 PE router, the ingress one has to know which IPv4 destination prefixes are reachable through each egress 4over6 PE router ๐Ÿงญ MP-BGP gets extended to distribute that destination IPv4 prefix info between peering dual-stack PE routers. Section 4 of this document defines the 4over6 protocol field in MP-BGP, and Section 5 explains how MP-BGP's extended behavior supports this ๐Ÿ”ฅ

Once the ingress 4over6 PE router learns the correct egress 4over6 PE router through MP-BGP, it forwards the packet across the IPv6 backbone using IP encapsulation ๐ŸŽ The egress 4over6 PE router receives the encapsulated packet, removes the IPv6 header, and forwards the original IPv4 packet on to its final IPv4 destination ๐Ÿ Section 6 describes the packet forwarding procedure.

3. Prototype Implementation ๐Ÿ› ๏ธ

okay so the 4over6 mechanisms in this doc were actually built, tested, and deployed on Linux with kernel version 2.4 ๐Ÿง The prototype has three components: packet forwarding, the encapsulation table, and the MP-BGP extensions. The packet forwarding and encapsulation table are Linux kernel modules, and the MP-BGP extension was made by extending the Zebra routing software ๐Ÿ’œ

The following sections dig into each of these parts in detail โœจ

3.1. 4over6 Packet Forwarding โœจ

okay so forwarding an IPv4 packet through the IPv6 transit core has three parts ๐Ÿ’…: encapsulating the incoming IPv4 packet with the IPv6 tunnel header, sending that encapsulated packet across the IPv6 transit backbone, and then decapsulating the IPv6 header and forwarding the original IPv4 packet. the backbone just uses native IPv6 routing and forwarding, because the P routers treat 4over6 tunneled packets as plain native IPv6 packets ๐Ÿฆ‹. so 4over6 packet forwarding only involves encapsulation and decapsulation, and both of those happen on the 4over6 PE routers. ngl the core doesn't even have to know it's tunneling ๐Ÿ˜ญ

                Tunnel from Ingress PE to Egress PE
                   ---------------------------->
                 Tunnel                      Tunnel
                 Entry-Point                 Exit-Point
                 Node                        Node
   +-+    IPv4    +--+   IPv6 Transit Core    +--+    IPv4    +-+
   |S|-->--//-->--|PE|=====>=====//=====>=====|PE|-->--//-->--|D|
   +-+            +--+                        +--+            +-+
   Original    Ingress PE                   Egress PE        Original
   Packet    (Encapsulation)              (Decapsulation)    Packet
   Source                                                    Destination
   Node                                                      Node

Figure 2: Packet Forwarding along 4over6 Tunnel

as shown in Figure 2, packet encapsulation and decapsulation both happen on the dual-stack 4over6 PE routers ๐ŸŒธ. Figure 3 shows the format of packet encapsulation and decapsulation, and it's the glow-up moment where the IPv4 packet gets wrapped up in IPv6 ๐ŸŽ€.

                           +----------------------------------//-----+
                           | IPv4 Header |   Packet Payload          |
                           +----------------------------------//-----+
                            <         Original IPv4 Packet           >
                                         |
                                         |(Encapsulation on ingress PE)
                                         |
                                         v
    < Tunnel IPv6 Headers > <         Original IPv4 Packet           >
   +-----------+ - - - - - +-------------+-----------//--------------+
   |   IPv6    | IPv6      |   IPv4      |                           |
   |           | Extension |             |      Packet Payload       |
   |   Header  | Headers   |  Header     |                           |
   +-----------+ - - - - - +-------------+-----------//--------------+
    <                      Tunnel IPv6 Packet                       >
                                         |
                                         |(Decapsulation on egress PE)
                                         |
                                         v
                           +----------------------------------//-----+
                           | IPv4 Header |   Packet Payload          |
                           +----------------------------------//-----+
                            <         Original IPv4 Packet           >

Figure 3: Packet Encapsulation and Decapsulation on Dual-Stack 4over6 PE Router

the encapsulation format to apply is IPv4 encapsulated in IPv6, as outlined in [RFC2473] ๐Ÿ’œ.

3.2. Encapsulation Table ๐ŸŽ€

okay this table is the MVP ๐Ÿ‘‘. each 4over6 PE router keeps an encapsulation table (see Figure 4 below). every entry is an IPv4 prefix paired with its matching IPv6 address. the IPv4 prefix is a particular network sitting in an IPv4 access island network, and the IPv6 address is the 4over6 virtual interface (VIF) address of the PE router that prefix can be reached through. the table gets built and maintained from local configuration plus MP-BGP advertisements coming in from remote 4over6 PE routers ๐Ÿงš.

+-------------+------------------------------------------------+
| IPv4 Prefix | IPv6 Advertising Address Family Border Router  |
+-------------+------------------------------------------------+

Figure 4: Encapsulation Table

the 4over6 VIF is an IPv6 /128 address that's locally configured on each 4over6 router ๐Ÿฆ‹. as an ordinary global IPv6 address, it also has to get injected into the IPv6 IGP so it can be reached across the IPv6 backbone. it's giving reachability and it's giving teamwork ๐Ÿซถ.

when an IPv4 packet shows up at the ingress 4over6 PE router, a lookup in the local IPv4 routing table gives you a pointer to the local encapsulation table entry with the matching destination IPv4 prefix ๐Ÿ‘€. there's a corresponding IPv6 address sitting in that entry. then the IPv4 packet gets encapsulated in an IPv6 header. the source address in that IPv6 header is the IPv6 VIF address of the local 4over6 PE router, and the destination address is the IPv6 VIF address of the remote 4over6 PE router stored in the local encapsulation table. after that, the packet goes through normal IPv6 forwarding for transport across the IPv6 backbone ๐Ÿ’–.

when the encapsulated packet reaches the egress 4over6 PE router, the IPv6 header gets removed and the original IPv4 packet is forwarded to the destination IPv4 network, based on the outcome of the lookup in the IPv4 routing table on that egress 4over6 PE router โœจ.

3.3. MP-BGP 4over6 Protocol Extensions ๐ŸŒˆ

each 4over6 PE router has an IPv4 interface connected to one or more IPv4 access networks. it can peer with other IPv4 routers using IGP or BGP routing protocols to swap local IPv4 routing info. routing info can also get installed on the 4over6 PE router through static configuration methods ๐Ÿ“.

each 4over6 PE also has at least one IPv6 interface to plug it into the IPv6 transit backbone. the 4over6 PE typically uses IGP routing protocols to exchange IPv6 backbone routing info with other IPv6 P routers. on top of that, the 4over6 PE router forms an MP-iBGP (Internal BGP) peering relationship with other 4over6 PE routers connected to the IPv6 backbone network ๐Ÿ”ฅ.

the use of MP-iBGP suggests that the participating 4over6 PE routers that share a route reflector or form a full mesh of TCP connections are in the same autonomous system (AS). lowkey the wild part is that this implementation is only deployed over a single AS ๐Ÿ™ˆ. that wasn't an intentional design constraint though. it just reflected the single AS topology of the CNGI-CERNET2 (China Next Generation Internet - China Education and Research Network) national IPv6 backbone that was used for testing and deploying this solution ๐ŸŒธ.

3.3.1. Receiving Routing Information from Local CE ๐Ÿ’…

when a 4over6 PE router learns routing info from the locally attached IPv4 access networks, the 4over6 MP-iBGP entity should process the info like this:

  1. install and maintain local IPv4 routing info in the IPv4 routing database ๐Ÿ“š.
  2. install and maintain new entries in the encapsulation table. each entry should consist of the IPv4 prefix and the local IPv6 VIF address ๐Ÿง .
  3. advertise the new contents of the local encapsulation table in the form of MP_REACH_NLRI update information to remote 4over6 PE routers. the format of these updates is as follows:
    • AFI = 1 (IPv4)
    • SAFI = 67 (4over6)
    • NLRI = IPv4 network prefix
    • Network Address of Next Hop = IPv6 address of its 4over6 VIF
  4. a new Subsequent Address Family Identifier (SAFI) BGP 4over6 (67) has been assigned by IANA ๐ŸŽ‰. we call a BGP update with a SAFI of 67 "4over6 routing information" ๐Ÿซถ.

3.3.2. Receiving 4over6 Routing Information from a Remote 4over6 PE ๐Ÿฆ‹

a local 4over6 PE router receives MP_REACH_NLRI updates from remote 4over6 routers, and it uses that info to populate its local encapsulation table and the BGP routing database ๐Ÿงš. after the received attribute gets validated for correctness, these steps update the local encapsulation table and push new info into the local IPv4 routing table:

  1. validate the received BGP update packet as 4over6 routing information by AFI = 1 (IPv4) and SAFI = 67 (4over6) โœ….
  2. extract the IPv4 network address from the NLRI field and install it as the IPv4 network prefix ๐Ÿ“.
  3. extract the IPv6 address from the Network Address of the Next Hop field and place it as an associated entry next to the IPv4 network index. (note, this describes the update of the local encapsulation table ๐Ÿ‘€.)
  4. install and maintain a new entry in the encapsulation table with the extracted IPv4 prefix and its corresponding IPv6 address ๐Ÿ’–.
  5. redistribute the new 4over6 routing information to the local IPv4 routing table. set the destination network prefix as the extracted IPv4 prefix, set the Next Hop as Null, and Set the OUTPUT Interface as the 4over6 VIF on the local 4over6 PE router ๐Ÿ”ฅ.

so when an ingress 4over6 PE router receives an IPv4 packet, the lookup in its IPv4 routing table comes back with the local 4over6 VIF as the output interface. that's when the incoming IPv4 packet gets encapsulated with a new IPv6 header, as indicated in the encapsulation table ๐ŸŒˆโœจ.


4. 4over6 Deployment Experience ๐Ÿš€

4.1. CNGI-CERNET2 ๐Ÿ“

a prototype of the 4over6 solution is implemented and deployed on CNGI-CERNET2 ๐Ÿ‘‘. CNGI-CERNET2 is one of the China Next Generation Internet (CNGI) backbones, operated by the China Education and Research Network (CERNET) ๐ŸŽ€. it connects approximately 25 core nodes distributed in 20 cities in China at speeds of 2.5-10 Gb/s, which is literally so fast ๐Ÿ˜ญ. the CNGI-CERNET2 backbone is IPv6-only, with some attached customer premise networks (CPNs) being dual stack ๐Ÿฆ‹. the CNGI-CERNET2 backbone, the attached CNGI-CERNET2 CPNs, and CNGI-6IX Exchange all have globally unique AS numbers ๐Ÿ’œ. this IPv6 backbone is used to provide transit IPv4 services for customer IPv4 networks connected to the backbone via 4over6 PE routers ๐Ÿงš.

4.2. 4over6 Testbed on the CNGI-CERNET2 IPv6 Network โœจ

okay so bestie, Figure 5 is the map of the 4over6 deployment ๐Ÿ—บ๏ธ and it's giving organized chaos ๐Ÿ˜ญ

         +-----------------------------------------------------+
         |                    IPv6 (CERNET2)                   |
         |                                                     |
         +-----------------------------------------------------+
         |                  |                   |              |
 Tsinghua|Univ.       Peking|Univ.          SJTU|     Southeast|Univ.
      +------+           +------+           +------+        +------+
      |4over6|    ...    |4over6|           |4over6|   ...  |4over6|
      |router|           |router|           |router|        |router|
      +------+           +------+           +------+        +------+
         |                  |                  |                |
         |                  |                  |                |
         |                  |                  |                |
   +-----------+      +-----------+      +-----------+     +-----------+
   |IPv4 access| ...  |IPv4 access|      |IPv4 access| ... |IPv4 access|
   |  network  |      |  network  |      |  network  |     |  network  |
   +-----------+      +-----------+      +-----------+     +-----------+
         |
   +----------------------+
   |    IPv4 (Internet)   |
   |                      |
   +----------------------+

              Figure 5: 4over6 Deployment Network Topology

so the IPv4-only access networks have servers and clients running all kinds of apps ๐Ÿ’ปโœจ and the 4over6 PE routers are chilling at 8 x IPv6 nodes of CNGI-CERNET2, spread across seven universities and five cities across China ๐Ÿ‡จ๐Ÿ‡ณ๐ŸŽ€ some of the IPv4 access networks hook up to both IPv6 and IPv4 networks, and others only plug into the IPv6 backbone ๐Ÿ”Œ and in the deployment, users in different IPv4 networks could talk to each other through 4over6 tunnels ๐Ÿซถ

4.3. Deployment Experiences ๐Ÿ’Œ

a bunch of 4over6 PE routers got deployed and configured to support the 4over6 transit solution ๐Ÿš€ MP-BGP peerings got set up, and the 4over6 SAFI information got distributed successfully ๐Ÿ™Œ checking the BGP routing and encapsulation tables confirmed that the right entries were sent and received ๐Ÿงพ and ICMP ping traffic showed that IPv4 packets were successfully transiting the IPv6 backbone ๐Ÿฆ‹

other application protocols got tested too, and they were literally slaying ๐Ÿ’…

  • HTTP. a client running Internet Explorer in one IPv4 client network could access and download multiple objects from an HTTP server sitting in another IPv4 client network ๐ŸŒ
  • P2P. BitComet software on several PCs in different IPv4 client networks could find each other and share files ๐Ÿ“‚

other protocols, including FTP, SSH, IM (e.g., MSN, Google Talk), and Multimedia Streaming, all functioned correctly โœ… no notes, fr fr ๐ŸŽ€

5. Ongoing Experiment ๐Ÿ”ฎ

okay so after that successful experiment, we're planning two more experiments, and I'm lowkey obsessed ๐Ÿคฉ

  1. Inter-AS 4over6 ๐ŸŒ

the above experiment only got deployed over a single AS ๐Ÿ™ˆ but as the network grows, there could be multiple ASes between the edge networks. the thing is, the Next Hop field in MP-BGP currently indicates the tunnel endpoint in the 4over6 technology, but in the Inter-AS scenario, the tunnel endpoint needs to be separated from the Next Hop field ๐Ÿซ  also, since 4over6 lives on the router running MP-BGP, supporting 4over6 on each Autonomous System Border Router (ASBR) will be a main concern in the Inter-AS experiment ๐Ÿ‘€ we might consider different situations: (1) some ASBRs do not support 4over6; (2) ASBRs only support the 4over6 control plane (i.e., MP-BGP extension of 4over6) rather than the 4over6 data plane; (3) ASBRs support both the control plane and the data plane for 4over6 ๐Ÿงš

  1. Multicast 4over6 ๐Ÿ“ก

the current 4over6 technology only supports unicast routing and data forwarding ๐Ÿฅบ with network-layer multicast getting deployed in multiple IPv4 edge networks, we need to extend 4over6 to support multicast, including both multicast tree manipulation on the control plane and multicast traffic forwarding on the data plane ๐Ÿ’œ building on the current unicast 4over6 technology, which gives the edge networks unicast connectivity over the backbone in another address family, multicast 4over6 will focus on the mapping technologies between the multicast groups in the different address families ๐Ÿฆ„

6. Relationship to Softwire Mesh Effort ๐Ÿซง

the 4over6 solution got presented at the IETF Softwires Working Group Interim meeting in Hong Kong in January 2006 ๐Ÿ‡ญ๐Ÿ‡ฐ and this large-scale implementation and deployment clearly showed that MP-BGP could be employed to support tunnel setup in a scalable fashion across an IPv6 backbone ๐Ÿ“ˆ but honestly the most important part was the use-case presented: an IPv6 backbone that offers transit to attached client IPv4 networks ๐Ÿ‘‘

the 4over6 solution can be viewed as a precursor to the Softwire Mesh Framework proposed in the softwire problem statement [RFC4925] ๐ŸŒฑ however, there are several differences between this solution and the effort that came out of the Softwires Working Group called "softwire Mesh Framework" [RFC5565], plus the related solutions [RFC5512] [RFC5549] ๐Ÿงฉ

  • MP-BGP Extensions. 4over6 uses a new SAFI (BGP 4over6) to convey client IPv4 prefixes between 4over6 PE routers ๐ŸŽฏ Softwire Mesh keeps the original AFI-SAFI designations, but it uses a modified MP_REACH_NLRI format to convey IPv4 Network Layer Reachability Information (NLRI) prefix information with an IPv6 next_hop address [RFC5549] ๐Ÿซถ
  • Encapsulation. 4over6 assumes IP-in-IP, or it's possible to configure Generic Routing Encapsulation (GRE) ๐ŸŽ€ Softwires uses those two scenarios configured locally or for IP headers that require dynamic updating ๐Ÿ”„ as a result, the BGP encapsulation SAFI is introduced in [RFC5512] ๐Ÿ™Œ
  • Multicast. the basic 4over6 solution only implemented unicast communications ๐Ÿฅฒ the multicast communications are specified in the Softwire Mesh Framework and are also supported by the multicast extension of 4over6 โœจ
  • Use-Cases. the 4over6 solution in this document specifies the 4over6 use-case, which is also pretty easy to extend for the use-case of 6over4 ๐ŸŒˆ the Softwire Mesh Framework supports both 4over6 and 6over4 ๐Ÿ’…

7. IANA Considerations ๐Ÿ“‹

a new SAFI value (67) has been assigned by IANA for the BGP 4over6 SAFI ๐ŸŽ‰

8. Security Considerations ๐Ÿšจ

โš ๏ธ okay bestie, this part is SERIOUS, read it twice ๐Ÿ˜ญ

tunneling mechanisms, especially automatic ones, often have potential problems of Distributed Denial of Service (DDoS) attacks on the tunnel entry-point or tunnel exit-point ๐Ÿ’€ as the advantage, the BGP 4over6 extension doesn't allocate resources to a single flow or maintain state for a flow ๐Ÿง  however, since the IPv6 tunnel endpoints are globally reachable IPv6 addresses, it would be trivial to spoof IPv4 packets by encapsulating and sending them over IPv6 to the tunnel interface ๐Ÿ˜ฑ this could bypass IPv4 Reverse Path Forwarding (RPF) or other antispoofing techniques ๐Ÿ™ˆ also, any IPv4 filters may be bypassed ๐Ÿซฃ

an iBGP peering relationship may be maintained over IPsec or other secure communications ๐Ÿ”

9. Conclusion ๐ŸŽ€

the emerging and growing deployment of IPv6 networks, especially IPv6 backbone networks, will introduce cases where connectivity with IPv4 networks is desired ๐ŸŒธ some IPv6 backbones will need to offer transit services to attached IPv4 access networks ๐Ÿ›ฃ๏ธ the 4over6 solution in this document supports that through an extension to MP-BGP that conveys IPv4 routing information along with an associated IPv6 address ๐Ÿ’– basic IP encapsulation is used in the data plane as IPv4 packets are tunneled through the IPv6 backbone ๐Ÿฆ‹

an actual implementation has been developed and deployed on the CNGI-CERNET2 IPv6 backbone ๐Ÿ† we did it, bestie ๐Ÿฅนโœจ

10. Acknowledgements ๐Ÿ’œ

during the design procedure of the 4over6 framework and the definition of the BGP-MP 4over6 extension, Professor Ke Xu gave the authors many valuable comments ๐Ÿซถ the support of the IETF Softwires WG is also gratefully acknowledged, with special thanks to David Ward, Alain Durand, and Mark Townsley for their rich experience and knowledge in this field ๐Ÿ™ Yakov Rekhter provided helpful comments and advice ๐Ÿ’… and Mark Townsley reviewed this document carefully and gave the authors a lot of valuable comments, which were super important for improving this document ๐ŸŒŸ

the deployment and test for the prototype system was conducted among seven universities: Tsinghua University, Peking University, Beijing University of Post and Telecommunications, Shanghai Jiaotong University, Huazhong University of Science and Technology, Southeast University, and South China University of Technology ๐ŸŽ“ the authors would like to thank everyone involved in this effort at these universities ๐Ÿงšโ€โ™€๏ธ

11. Normative References ๐Ÿ“š

[RFC2473] Conta, A. and S. Deering, "Generic Packet Tunneling in IPv6 Specification", RFC 2473, December 1998.

[RFC4271] Rekhter, Y., Li, T., and S. Hares, "A Border Gateway Protocol 4 (BGP-4)", RFC 4271, January 2006.

[RFC4760] Bates, T., Chandra, R., Katz, D., and Y. Rekhter, "Multiprotocol Extensions for BGP-4", RFC 4760, January 2007.

[RFC4925] Li, X., Dawkins, S., Ward, D., and A. Durand, "Softwire Problem Statement", RFC 4925, July 2007.

[RFC5512] Mohapatra, P. and E. Rosen, "The BGP Encapsulation Subsequent Address Family Identifier (SAFI) and the BGP Tunnel Encapsulation Attribute", RFC 5512, April 2009.

[RFC5549] Le Faucheur, F. and E. Rosen, "Advertising IPv4 Network Layer Reachability Information with an IPv6 Next Hop", RFC 5549, May 2009.

[RFC5565] Wu, J., Cui, Y., Metz, C., and E. Rosen, "Softwire Mesh Framework", RFC 5565, June 2009.

Authors' Addresses ๐Ÿ–Š๏ธ

Jianping Wu
Tsinghua University
Department of Computer Science, Tsinghua University
Beijing  100084
P.R. China
Phone: +86-10-6278-5983
EMail: jianping@cernet.edu.cn

Yong Cui
Tsinghua University
Department of Computer Science, Tsinghua University
Beijing  100084
P.R. China
Phone: +86-10-6278-5822
EMail: cy@csnet1.cs.tsinghua.edu.cn

Xing Li
Tsinghua University
Department of Electronic Engineering, Tsinghua University
Beijing  100084
P.R. China
Phone: +86-10-6278-5983
EMail: xing@cernet.edu.cn

Mingwei Xu
Tsinghua University
Department of Computer Science, Tsinghua University
Beijing  100084
P.R. China
Phone: +86-10-6278-5822
EMail: xmw@csnet1.cs.tsinghua.edu.cn

Chris Metz
Cisco Systems, Inc.
3700 Cisco Way
San Jose, CA  95134
USA
EMail: chmetz@cisco.com

that's the whole RFC, bestie ๐ŸŒˆ๐Ÿ’–

๐Ÿ“ฆ where this page comes from