DMM Working Group | P. Camarillo |
Internet-Draft | C. Filsfils |
Intended status: Informational | Cisco Systems, Inc. |
Expires: April 25, 2019 | L. Bertz |
Sprint | |
A. Akhavain | |
Huawei Canada Research Centre | |
S. Matsushima | |
SoftBank | |
D. Voyer | |
Bell Canada | |
October 22, 2018 |
Segment Routing IPv6 for mobile user-plane PoCs
draft-camarillo-dmm-srv6-mobile-pocs-01
This document describes the ongoing proof of concepts of [I-D.ietf-dmm-srv6-mobile-uplane] and their progress.
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.
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."
This Internet-Draft will expire on April 25, 2019.
Copyright (c) 2018 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 (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.
The [I-D.ietf-dmm-srv6-mobile-uplane] proposes SRv6 as userplane protocol for mobile networks. As part of this work we have decided to create a series of PoCs with the objective to prove the viability and feasibility of such proposal.
For this reason we have two ongoing PoCs using M-CORD C3PO and OAI, that are progressing towards a full implementation of the mechanisms described in such I-D.
This I-D contains a formal definition of the PoCs and will summarize it's findings. Anyone interested in participating in the ongoing PoCs or propose new ones is welcome to join us.
This document adopts the terminology of [I-D.ietf-dmm-srv6-mobile-uplane].
This document uses the terms N3, N6 and N9 interfaces, as well as UPF and gNB as refered to in [TS.23501].
M-CORD <https://www.opennetworking.org/m-cord/> is an open-source project from ONF focused on building a cloud-native virtualized and dissagregated RAN and EPC.
As part of the M-CORD project, the C3PO component is part of the NGIC (Next Generation Infrastructure Core) <https://gerrit.opencord.org/#/admin/projects/ngic>.
The scope of this PoC is to extend the C3PO component to support natively SRv6 on the N6 and N9 interfaces and have SRv6-supported UPFs.
This PoC is divided in several phases:
Phase 1 has been completed. Ongoing development of phase 2.
We used FD.io VPP <https://fd.io/technology/> to simulate an SRv6 transport network with three SRv6 routers in the N9 interface simulating a transport network.
As part of this transport network, we run two simulations:
In the first simulation we steered the IPv4/GTP traffic into an SR policy that encapsulated the packet with an SRv6 header containing two SIDs.
In the second simulation we steered the IPv4/GTP traffic into an SR policy that removed the IPv4/GTP headers and placed the GTP header information (i.e. TEID) into an SRv6 SID. The last SID of the SR policy corresponds to an End.M.GTP4.E function, that decapsulates SRv6 traffic restoring the IPv4/GTP header. The objective of the second simulation is to show the IPv4/GTP interworking mechanism via an uplink classifier behaving as SR-GW, as defined in Section 6.4 of [I-D.ietf-dmm-srv6-mobile-uplane] .
After Phase 1, we concluded that SRv6 as mobility transport network works fine, with an expected MTU overhead due to the original PDU encapsulation. The IPv4/GTP interworking mechanism in the scope of phase 1 is also fully functional. This mechanism will be further tested as the POC progresses and a native SRv6-based UPF is developed.
Open Air Interface (OAI) is an open-source software <http://www.openairinterface.org/?page_id=2762> that implements the 3GPP stack. OAI is composed of two major projects: OAI-RAN and OAI-CN.
The scope of this PoC is to extend the OAI-RAN and OAI-CN components to support natively SRv6 on the N3 and N9 interfaces, and have SRv6-supported gNBs and UPFs.
The primary goal of this POC is to show SRv6 as a data plane replacement for GTP on both N3 and N9 interfaces. The POC also aims to demonstrate a smooth migration path during deployment and transition period from IPv4-GTP and IPv6-GTP to an end to end SRv6 data plane.
The PoC functions within the existing OAI model. OAI currently doesn't provide support for S5/S8 interface. The implementation instead provides an integrated SGW and PGW S/PGW module and therefore there is no GTP tunnel between these two entities. This limitation has an impact on the POC strategy and its implementation phases.
This PoC is divided into several phases:
Important notes:
Phase one of this POC focuses on demonstrating a smooth migration path from the existing mobile core networks with IPv4 GTP based user plane to SRv6 user plane with absolutely no impact on 3GPP control plane. The idea is to employ SRv6 gateways between mobile core equipment such as eNB, SGW, and PGW, intercept GTP traffic, and carry UE's payload through SRv6 newtwork by encoding GTP information into the SIDs.
In this POC as it was mentioned earlier we use OAI open source software. OAI implements gNB as an stand alone entitiy, but bundles MME, SGW and PGW into a single package. We employ three Linux PCs in oursetup. Two of these machines run the gNB and one of the SRv6 GWs. The thrid machines employs virtualisation and instantiates two virtual machines. The second SRv6 gateway runs in one of the virtual machine while the other virtual machines executes the code for the combinged MME, SGW, PGW. The code in SRv6 gateways is based on VPP implementation in Linux Foundation. We modified this code to intercept GTP packets, extract GTP information, and encode GTP information into the SIDs. Given that today's mobile core don't deal with multiple UPFs, the resulting SRv6 haeader doesn't require any SRH to carry GTP information across the network. Therefore, in this phase, the resulting SRv6 packets are simply IPv6 packets with their DA set to SIDs. The following diagratm shows the POC configuration.
+--------------------------+ | +========+| +--+ \|/ | | +---+ || |UE| | | | |HSS| || +--+ | | | +-+-+ || +--+ | | | || | | | +-+-+ || +-+ | | |MME| || | | | +---+ || | GTP<->SID | GTP<->SID | || +---+---+ +-----+ +--------+ | +========+ |+------+|| | USRP | | | | | | | | || ||| |(Ettus +---+ gNB +-GTP--+ SRGW-1 +--SRv6-|-+ SRGW-2 +-GTP-|+ SPGW ||| | B210) | ^ | | | | | | | || ||| +-------+ | +-----+ +--------+ | +========+ |+--+---+|| | | VM-1 | | || USB | | | || | +========+| | VM-2 | | | | | +--------------------|-----+ | | DN
POC Configuration
In this implementation, the SRGW at one end extracts relavant GTP informaton(SA, DA, TEID) from GTP and encodes them into the lower 96 bits of SID. The SID is then copied into the DA of IPv6 header and the packet is forwarded toward the SRGW at the far end. Receiving the SRv6 packet, the far end SRGW recognises the SID as local and executes a set of functions that extracts GTP information from the SID, forms the GTP packet by adding relevant UDP and GTP headers and forward this reconstructed GTP packet to its associated mobile core node.
Development started. Phase 1 has been completed.
Chenchen Liu
Huawei Technolgies Co., Ltd.
Shenzhen, China
Email: liuchenchen1@huawei.com
Arun Rajagopal
Sprint
United States of America
Email: Arun.Rajagopal@sprint.com
Mark Bales
Sprint
United States of America
Email: Mark.Bales@sprint.com
Robert Butler
Sprint
United States of America
Email: Robert.Butler@sprint.com
[I-D.filsfils-spring-srv6-network-programming] | Filsfils, C., Camarillo, P., Leddy, J., daniel.voyer@bell.ca, d., Matsushima, S. and Z. Li, "SRv6 Network Programming", Internet-Draft draft-filsfils-spring-srv6-network-programming-05, July 2018. |
[I-D.ietf-dmm-srv6-mobile-uplane] | Matsushima, S., Filsfils, C., Kohno, M., Camarillo, P., daniel.voyer@bell.ca, d. and C. Perkins, "Segment Routing IPv6 for Mobile User Plane", Internet-Draft draft-ietf-dmm-srv6-mobile-uplane-03, October 2018. |
[TS.23501] | 3GPP, "System Architecture for the 5G System", 3GPP TS 23.501 15.0.0, November 2017. |