draft-ietf-dmm-srv6-mobile-uplane-03.txt | draft-ietf-dmm-srv6-mobile-uplane-04.txt | |||
---|---|---|---|---|
DMM Working Group S. Matsushima | DMM Working Group S. Matsushima | |||
Internet-Draft SoftBank | Internet-Draft SoftBank | |||
Intended status: Standards Track C. Filsfils | Intended status: Standards Track C. Filsfils | |||
Expires: April 25, 2019 M. Kohno | Expires: September 12, 2019 M. Kohno | |||
P. Camarillo | P. Camarillo | |||
Cisco Systems, Inc. | Cisco Systems, Inc. | |||
D. Voyer | D. Voyer | |||
Bell Canada | Bell Canada | |||
C. Perkins | C. Perkins | |||
Futurewei | Futurewei | |||
October 22, 2018 | March 11, 2019 | |||
Segment Routing IPv6 for Mobile User Plane | Segment Routing IPv6 for Mobile User Plane | |||
draft-ietf-dmm-srv6-mobile-uplane-03 | draft-ietf-dmm-srv6-mobile-uplane-04 | |||
Abstract | Abstract | |||
This document shows the applicability of SRv6 (Segment Routing IPv6) | This document shows the applicability of SRv6 (Segment Routing IPv6) | |||
to the user-plane of mobile networks. The network programming nature | to the user-plane of mobile networks. The network programming nature | |||
of SRv6 accomplish mobile user-plane functions in a simple manner. | of SRv6 accomplish mobile user-plane functions in a simple manner. | |||
The statelessness of SRv6 and its ability to control both service | The statelessness of SRv6 and its ability to control both service | |||
layer path and underlying transport can be beneficial to the mobile | layer path and underlying transport can be beneficial to the mobile | |||
user-plane, providing flexibility and SLA control for various | user-plane, providing flexibility and SLA control for various | |||
applications. This document describes the SRv6 mobile user plane | applications. This document describes the SRv6 mobile user plane | |||
behavior and defines the SID functions for that. It also provides a | behavior and defines the SID functions for that. | |||
mechanism for end-to-end network slicing. | ||||
Status of This Memo | Status of This Memo | |||
This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
Drafts is at https://datatracker.ietf.org/drafts/current/. | Drafts is at https://datatracker.ietf.org/drafts/current/. | |||
Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
This Internet-Draft will expire on April 25, 2019. | This Internet-Draft will expire on September 12, 2019. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2018 IETF Trust and the persons identified as the | Copyright (c) 2019 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
(https://trustee.ietf.org/license-info) in effect on the date of | (https://trustee.ietf.org/license-info) in effect on the date of | |||
publication of this document. Please review these documents | publication of this document. Please review these documents | |||
carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
skipping to change at page 2, line 36 ¶ | skipping to change at page 2, line 36 ¶ | |||
2.3. Predefined SRv6 Functions . . . . . . . . . . . . . . . . 4 | 2.3. Predefined SRv6 Functions . . . . . . . . . . . . . . . . 4 | |||
3. Motivation . . . . . . . . . . . . . . . . . . . . . . . . . 5 | 3. Motivation . . . . . . . . . . . . . . . . . . . . . . . . . 5 | |||
4. A 3GPP Reference Architecture . . . . . . . . . . . . . . . . 6 | 4. A 3GPP Reference Architecture . . . . . . . . . . . . . . . . 6 | |||
5. User-plane behaviors . . . . . . . . . . . . . . . . . . . . 7 | 5. User-plane behaviors . . . . . . . . . . . . . . . . . . . . 7 | |||
5.1. Traditional mode . . . . . . . . . . . . . . . . . . . . 7 | 5.1. Traditional mode . . . . . . . . . . . . . . . . . . . . 7 | |||
5.1.1. Packet flow - Uplink . . . . . . . . . . . . . . . . 8 | 5.1.1. Packet flow - Uplink . . . . . . . . . . . . . . . . 8 | |||
5.1.2. Packet flow - Downlink . . . . . . . . . . . . . . . 8 | 5.1.2. Packet flow - Downlink . . . . . . . . . . . . . . . 8 | |||
5.1.3. IPv6 user-traffic . . . . . . . . . . . . . . . . . . 9 | 5.1.3. IPv6 user-traffic . . . . . . . . . . . . . . . . . . 9 | |||
5.2. Enhanced Mode . . . . . . . . . . . . . . . . . . . . . . 9 | 5.2. Enhanced Mode . . . . . . . . . . . . . . . . . . . . . . 9 | |||
5.2.1. Packet flow - Uplink . . . . . . . . . . . . . . . . 10 | 5.2.1. Packet flow - Uplink . . . . . . . . . . . . . . . . 10 | |||
5.2.2. Packet flow - Downlink . . . . . . . . . . . . . . . 10 | 5.2.2. Packet flow - Downlink . . . . . . . . . . . . . . . 11 | |||
5.2.3. IPv6 user-traffic . . . . . . . . . . . . . . . . . . 11 | 5.2.3. IPv6 user-traffic . . . . . . . . . . . . . . . . . . 11 | |||
5.3. Enhanced mode with unchanged gNB GTP behavior . . . . . . 11 | 5.3. Enhanced mode with unchanged gNB GTP behavior . . . . . . 11 | |||
5.3.1. Interworking with IPv6 GTP . . . . . . . . . . . . . 12 | 5.3.1. Interworking with IPv6 GTP . . . . . . . . . . . . . 12 | |||
5.3.2. Interworking with IPv4 GTP . . . . . . . . . . . . . 15 | 5.3.2. Interworking with IPv4 GTP . . . . . . . . . . . . . 15 | |||
5.3.3. Extensions to the interworking mechanisms . . . . . . 17 | 5.3.3. Extensions to the interworking mechanisms . . . . . . 17 | |||
6. SRv6 SID Mobility Functions . . . . . . . . . . . . . . . . . 18 | 6. SRv6 SID Mobility Functions . . . . . . . . . . . . . . . . . 18 | |||
6.1. Args.Mob.Session . . . . . . . . . . . . . . . . . . . . 18 | 6.1. Args.Mob.Session . . . . . . . . . . . . . . . . . . . . 18 | |||
6.2. End.MAP . . . . . . . . . . . . . . . . . . . . . . . . . 18 | 6.2. End.MAP . . . . . . . . . . . . . . . . . . . . . . . . . 18 | |||
6.3. End.M.GTP6.D . . . . . . . . . . . . . . . . . . . . . . 19 | 6.3. End.M.GTP6.D . . . . . . . . . . . . . . . . . . . . . . 19 | |||
6.4. End.M.GTP6.E . . . . . . . . . . . . . . . . . . . . . . 19 | 6.4. End.M.GTP6.E . . . . . . . . . . . . . . . . . . . . . . 19 | |||
skipping to change at page 3, line 10 ¶ | skipping to change at page 3, line 10 ¶ | |||
6.7. End.Limit: Rate Limiting function . . . . . . . . . . . . 21 | 6.7. End.Limit: Rate Limiting function . . . . . . . . . . . . 21 | |||
7. SRv6 supported 3GPP PDU session types . . . . . . . . . . . . 22 | 7. SRv6 supported 3GPP PDU session types . . . . . . . . . . . . 22 | |||
8. Network Slicing Considerations . . . . . . . . . . . . . . . 22 | 8. Network Slicing Considerations . . . . . . . . . . . . . . . 22 | |||
9. Control Plane Considerations . . . . . . . . . . . . . . . . 22 | 9. Control Plane Considerations . . . . . . . . . . . . . . . . 22 | |||
10. Security Considerations . . . . . . . . . . . . . . . . . . . 23 | 10. Security Considerations . . . . . . . . . . . . . . . . . . . 23 | |||
11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 23 | 11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 23 | |||
12. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 23 | 12. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 23 | |||
13. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 23 | 13. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 23 | |||
14. References . . . . . . . . . . . . . . . . . . . . . . . . . 24 | 14. References . . . . . . . . . . . . . . . . . . . . . . . . . 24 | |||
14.1. Normative References . . . . . . . . . . . . . . . . . . 24 | 14.1. Normative References . . . . . . . . . . . . . . . . . . 24 | |||
14.2. Informative References . . . . . . . . . . . . . . . . . 24 | 14.2. Informative References . . . . . . . . . . . . . . . . . 25 | |||
Appendix A. Implementations . . . . . . . . . . . . . . . . . . 26 | Appendix A. Implementations . . . . . . . . . . . . . . . . . . 26 | |||
Appendix B. Changes from revision 02 to revision 03 . . . . . . 26 | Appendix B. Changes from revision 02 to revision 03 . . . . . . 26 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 27 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 27 | |||
1. Introduction | 1. Introduction | |||
In mobile networks, mobility management systems provide connectivity | In mobile networks, mobility management systems provide connectivity | |||
while mobile nodes move. While the control-plane of the system | while mobile nodes move. While the control-plane of the system | |||
signals movements of a mobile node, the user-plane establishes a | signals movements of a mobile node, the user-plane establishes a | |||
tunnel between the mobile node and its anchor node over IP-based | tunnel between the mobile node and its anchor node over IP-based | |||
skipping to change at page 5, line 7 ¶ | skipping to change at page 5, line 7 ¶ | |||
2.3. Predefined SRv6 Functions | 2.3. Predefined SRv6 Functions | |||
The following functions are defined in | The following functions are defined in | |||
[I-D.filsfils-spring-srv6-network-programming]. | [I-D.filsfils-spring-srv6-network-programming]. | |||
o End.DT4 means to decapsulate and forward using a specific IPv4 | o End.DT4 means to decapsulate and forward using a specific IPv4 | |||
table lookup. | table lookup. | |||
o End.DT6 means to decapsulate and forward using a specific IPv6 | o End.DT6 means to decapsulate and forward using a specific IPv6 | |||
table lookup. | table lookup. | |||
o End.DX4 means to decapsulate and forward through a particular link | o End.DX4 means to decapsulate the packet and forward through a | |||
configured with the SID. | particular outgoing interface -or set of OIFs- configured with the | |||
o End.DX6 means to decapsulate and forward through a particular link | SID. | |||
configured with the SID. | o End.DX6 means to decapsulate and forward through a particular | |||
outgoing interface -or set of OIFs- configured with the SID. | ||||
o End.DX2 means to decapsulate the L2 frame and forward through a | ||||
particular outgoing interface -or set of OIFs- configured with the | ||||
SID. | ||||
o End.T means to forward using a specific IPv6 table lookup. | o End.T means to forward using a specific IPv6 table lookup. | |||
o End.X means to forward through a link configured with the SID. | o End.X means to forward through a link configured with the SID. | |||
o T.Encaps.Red means encapsulation without pushing SRH (resulting in | o T.Encaps.Red means encapsulation without pushing SRH (resulting in | |||
"Reduced" packet size). | "Reduced" packet size). | |||
o PSP means Penultimate Segment Pop. The packet is subsequently | o PSP means Penultimate Segment Pop. The packet is subsequently | |||
forwarded without the popped SRH. | forwarded without the popped SRH. | |||
New SRv6 functions are defined in Section 6 to support the needs of | New SRv6 functions are defined in Section 6 to support the needs of | |||
the mobile user plane. | the mobile user plane. | |||
skipping to change at page 7, line 44 ¶ | skipping to change at page 7, line 46 ¶ | |||
functions designed for the mobile user plane. The new SRv6 functions | functions designed for the mobile user plane. The new SRv6 functions | |||
are detailed in Section 6. | are detailed in Section 6. | |||
5.1. Traditional mode | 5.1. Traditional mode | |||
In the traditional mode, the existing mobile UPFs remain unchanged | In the traditional mode, the existing mobile UPFs remain unchanged | |||
except for the use of SRv6 as the data plane instead of GTP-U. There | except for the use of SRv6 as the data plane instead of GTP-U. There | |||
is no impact to the rest of mobile system. | is no impact to the rest of mobile system. | |||
In existing 3GPP mobile networks, an UE session is mapped 1-for-1 | In existing 3GPP mobile networks, an UE session is mapped 1-for-1 | |||
with a specific GTP tunnel (TEID). This 1-for-1 mapping is | with a specific GTP tunnel (TEID). This 1-for-1 mapping is mirrored | |||
replicated here to replace GTP encapsulation with the SRv6 | here to replace GTP encapsulation with the SRv6 encapsulation, while | |||
encapsulation, while not changing anything else. | not changing anything else. There will be a unique SRv6 SID | |||
associated with each UE session. | ||||
The traditional mode minimizes the changes required to the mobile | The traditional mode minimizes the changes required to the mobile | |||
system; it is a good starting point for forming a common basis. | system; it is a good starting point for forming a common basis. | |||
Our example topology is shown in Figure 2. In traditional mode the | Our example topology is shown in Figure 2. In traditional mode the | |||
gNB and the UPFs are SR-aware. In the descriptions of the uplink and | gNB and the UPFs are SR-aware. In the descriptions of the uplink and | |||
downlink packet flow, A is an IPv6 address of the UE, and Z is an | downlink packet flow, A is an IPv6 address of the UE, and Z is an | |||
IPv6 address reachable within the Data Network DN. A new SRv6 | IPv6 address reachable within the Data Network DN. A new SRv6 | |||
function End.MAP, defined in Section 6.2, is used. | function End.MAP, defined in Section 6.2, is used. | |||
skipping to change at page 8, line 39 ¶ | skipping to change at page 8, line 45 ¶ | |||
U1::1. U1::1 represents an anchoring SID specific for that session | U1::1. U1::1 represents an anchoring SID specific for that session | |||
at UPF1. gNB obtains the SID U1::1 from the existing control plane | at UPF1. gNB obtains the SID U1::1 from the existing control plane | |||
(N2 interface). | (N2 interface). | |||
When the packet arrives at UPF1, the SID U1::1 identifies a local | When the packet arrives at UPF1, the SID U1::1 identifies a local | |||
End.MAP function. End.MAP replaces U1::1 by U2::1, that belongs to | End.MAP function. End.MAP replaces U1::1 by U2::1, that belongs to | |||
the next UPF (U2). | the next UPF (U2). | |||
When the packet arrives at UPF2, the SID U2::1 corresponds to an | When the packet arrives at UPF2, the SID U2::1 corresponds to an | |||
End.DT function. UPF2 decapsulates the packet, performs a lookup in | End.DT function. UPF2 decapsulates the packet, performs a lookup in | |||
a specific table and forwards the packet toward the data network | a specific table associated with that mobile network and forwards the | |||
(DN). | packet toward the data network (DN). | |||
5.1.2. Packet flow - Downlink | 5.1.2. Packet flow - Downlink | |||
The downlink packet flow is as follows: | The downlink packet flow is as follows: | |||
UPF2_in : (Z,A) | UPF2_in : (Z,A) | |||
UPF2_out: (U2::, U1::1) (Z,A) -> T.Encaps.Red <U1::1> | UPF2_out: (U2::, U1::1) (Z,A) -> T.Encaps.Red <U1::1> | |||
UPF1_out: (U2::, gNB::1) (Z,A) -> End.MAP | UPF1_out: (U2::, gNB::1) (Z,A) -> End.MAP | |||
gNB_out : (Z,A) -> End.DX4 or End.DX6 | gNB_out : (Z,A) -> End.DX4 or End.DX6 | |||
skipping to change at page 9, line 24 ¶ | skipping to change at page 9, line 29 ¶ | |||
Upon packet arrival on gNB, the SID gNB::1 corresponds to an End.DX4 | Upon packet arrival on gNB, the SID gNB::1 corresponds to an End.DX4 | |||
or End.DX6 function. The gNB decapsulates the packet, removing the | or End.DX6 function. The gNB decapsulates the packet, removing the | |||
IPv6 header and all its extensions headers, and forwards the traffic | IPv6 header and all its extensions headers, and forwards the traffic | |||
toward the UE. | toward the UE. | |||
5.1.3. IPv6 user-traffic | 5.1.3. IPv6 user-traffic | |||
For IPv6 user-traffic it is RECOMMENDED to perform encapsulation. | For IPv6 user-traffic it is RECOMMENDED to perform encapsulation. | |||
However based on local policy, a service provider MAY choose to do | However based on local policy, a service provider MAY choose to do | |||
SRH insertion. The main benefit is a lower overhead. In such case, | SRH insertion [I-D.voyer-6man-extension-header-insertion] . The main | |||
the functions used are T.Insert.Red at gNB, End.MAP at UPF1 and End.T | benefit is a lower overhead (40B less). In such case, the functions | |||
at UPF2 on Uplink, T.Insert.Red at UPF2, End.MAP at UPF1 and End.X at | used are T.Insert.Red at gNB, End.MAP at UPF1 and End.T at UPF2 on | |||
gNB on Downlink. | Uplink, T.Insert.Red at UPF2, End.MAP at UPF1 and End.X at gNB on | |||
Downlink. | ||||
5.2. Enhanced Mode | 5.2. Enhanced Mode | |||
Enhanced mode improves scalability, traffic steering and service | Enhanced mode improves scalability, traffic steering and service | |||
programming [I-D.xuclad-spring-sr-service-programming], thanks to the | programming [I-D.xuclad-spring-sr-service-programming], thanks to the | |||
use of multiple SIDs, instead of a single SID as done in the | use of multiple SIDs, instead of a single SID as done in the | |||
Traditional mode. | Traditional mode. | |||
The main difference is that the SR policy MAY include SIDs for | The main difference is that the SR policy MAY include SIDs for | |||
traffic engineering and service programming in addition to the UPFs | traffic engineering and service programming in addition to the UPFs | |||
skipping to change at page 18, line 12 ¶ | skipping to change at page 18, line 12 ¶ | |||
applied for interworking with a non-SRv6 capable UPF at the N9 | applied for interworking with a non-SRv6 capable UPF at the N9 | |||
interface (e.g. L3-anchor is SRv6 capable but L2-anchor is not). | interface (e.g. L3-anchor is SRv6 capable but L2-anchor is not). | |||
6. SRv6 SID Mobility Functions | 6. SRv6 SID Mobility Functions | |||
6.1. Args.Mob.Session | 6.1. Args.Mob.Session | |||
Args.Mob.Session provide per-session information for charging, | Args.Mob.Session provide per-session information for charging, | |||
buffering and lawful intercept (among others) required by some mobile | buffering and lawful intercept (among others) required by some mobile | |||
nodes. The Args.Mob.Session argument format is used in combination | nodes. The Args.Mob.Session argument format is used in combination | |||
with End.Map, End.DT and End.DX functions. | with End.Map, End.DT and End.DX functions. Note that proposed format | |||
is applicable for 5G networks, while similar formats could be | ||||
proposed for legacy networks. | ||||
0 1 2 3 | 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 | 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 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| QFI |R|U| PDU Session ID | | | QFI |R|U| PDU Session ID | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
|PDU Sess(cont')| | |PDU Sess(cont')| | |||
+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ | |||
Args.Mob.Session format | Args.Mob.Session format | |||
skipping to change at page 19, line 27 ¶ | skipping to change at page 19, line 27 ¶ | |||
The "Endpoint function with IPv6/GTP decapsulation into SR policy" | The "Endpoint function with IPv6/GTP decapsulation into SR policy" | |||
function (End.M.GTP6.D for short) is used in interworking scenario | function (End.M.GTP6.D for short) is used in interworking scenario | |||
for the uplink toward from the legacy gNB using IPv6/GTP. Suppose, | for the uplink toward from the legacy gNB using IPv6/GTP. Suppose, | |||
for example, this SID is associated with an SR policy <S1, S2, S3> | for example, this SID is associated with an SR policy <S1, S2, S3> | |||
and an IPv6 Source Address A. | and an IPv6 Source Address A. | |||
When the SR Gateway node N receives a packet destined to S and S is a | When the SR Gateway node N receives a packet destined to S and S is a | |||
local End.M.GTP6.D SID, N does: | local End.M.GTP6.D SID, N does: | |||
1. IF NH=UDP & UDP_PORT = GTP THEN | 1. IF NH=UDP & UDP_PORT = GTP THEN | |||
2. pop the IP, UDP and GTP headers | 2. pop the IPv6, UDP and GTP headers | |||
3. push a new IPv6 header with its own SRH <S2, S3> | 3. push a new IPv6 header with its own SRH <S2, S3> | |||
4. set the outer IPv6 SA to A | 4. set the outer IPv6 SA to A | |||
5. set the outer IPv6 DA to S1 | 5. set the outer IPv6 DA to S1 | |||
6. forward according to the S1 segment of the SRv6 Policy | 6. forward according to the S1 segment of the SRv6 Policy | |||
7. ELSE | 7. ELSE | |||
8. Drop the packet | 8. Drop the packet | |||
6.4. End.M.GTP6.E | 6.4. End.M.GTP6.E | |||
The "Endpoint function with encapsulation for IPv6/GTP tunnel" | The "Endpoint function with encapsulation for IPv6/GTP tunnel" | |||
skipping to change at page 20, line 30 ¶ | skipping to change at page 20, line 30 ¶ | |||
6.5. End.M.GTP4.E | 6.5. End.M.GTP4.E | |||
The "Endpoint function with encapsulation for IPv4/GTP tunnel" | The "Endpoint function with encapsulation for IPv4/GTP tunnel" | |||
function (End.M.GTP4.E for short) is used in the downlink when doing | function (End.M.GTP4.E for short) is used in the downlink when doing | |||
interworking with legacy gNB using IPv4/GTP. | interworking with legacy gNB using IPv4/GTP. | |||
When the SR Gateway node N receives a packet destined to S and S is a | When the SR Gateway node N receives a packet destined to S and S is a | |||
local End.M.GTP4.E SID, N does: | local End.M.GTP4.E SID, N does: | |||
1. IF NH=SRH & SL > 0 THEN | 1. IF NH=SRH & SL = 0 THEN | |||
2. decrement SL | 2. store SRH[0] in buffer S | |||
3. update the IPv6 DA with SRH[SL] | 3. pop the IPv6 header and its extension headers | |||
4. pop the SRH | 4. push UDP/GTP headers with GTP TEID from S | |||
5. push UDP/GTP headers with tunnel ID from S | 5. push outer IPv4 header with SA, DA from S | |||
6. push outer IPv4 header with SA, DA from S | 6. ELSE | |||
7. ELSE | 7. Drop the packet | |||
8. Drop the packet | ||||
S has the following format: | S has the following format: | |||
+----------------------+-------+-------+-------+ | +----------------------+-------+-------+-------+ | |||
| SRGW-IPv6-LOC-FUNC |IPv4DA |IPv4SA |TUN-ID | | | SRGW-IPv6-LOC-FUNC |IPv4DA |IPv4SA |TUN-ID | | |||
+----------------------+-------+-------+-------+ | +----------------------+-------+-------+-------+ | |||
128-a-b-c a b c | 128-a-b-c a b c | |||
End.M.GTP4.E SID Encoding | End.M.GTP4.E SID Encoding | |||
skipping to change at page 21, line 47 ¶ | skipping to change at page 21, line 47 ¶ | |||
same AMBR group. The encoding format of the rate limit segment SID | same AMBR group. The encoding format of the rate limit segment SID | |||
is as follows: | is as follows: | |||
+----------------------+----------+-----------+ | +----------------------+----------+-----------+ | |||
| LOC+FUNC rate-limit | group-id | limit-rate| | | LOC+FUNC rate-limit | group-id | limit-rate| | |||
+----------------------+----------+-----------+ | +----------------------+----------+-----------+ | |||
128-i-j i j | 128-i-j i j | |||
End.Limit: Rate limiting function argument format | End.Limit: Rate limiting function argument format | |||
If the j bit length is zero, the node should not do rate limiting | If the limit-rate bits are set to zero, the node should not do rate | |||
unless static configuration or control-plane sets the limit rate | limiting unless static configuration or control-plane sets the limit | |||
associated to the SID. | rate associated to the SID. | |||
7. SRv6 supported 3GPP PDU session types | 7. SRv6 supported 3GPP PDU session types | |||
The 3GPP [TS.23501] defines the following PDU session types: | The 3GPP [TS.23501] defines the following PDU session types: | |||
o IPv4 | o IPv4 | |||
o IPv6 | o IPv6 | |||
o IPv4v6 | o IPv4v6 | |||
o Ethernet | o Ethernet | |||
o Unstructured | o Unstructured | |||
SRv6 supports all the 3GPP PDU session types without any protocol | SRv6 supports all the 3GPP PDU session types without any protocol | |||
overhead by using the corresponding SRv6 functions (End.DX4, End.DT4 | overhead by using the corresponding SRv6 functions (End.DX4, End.DT4 | |||
for IPv4 PDU sessions; End.DX6, End.DT6, End.T for IPv6 PDU sessions; | for IPv4 PDU sessions; End.DX6, End.DT6, End.T for IPv6 PDU sessions; | |||
End.DT46 for IPv4v6 PDU sessions; End.DX2, End.DT2M for L2 PDU | End.DT46 for IPv4v6 PDU sessions; End.DX2 for L2 PDU sessions; | |||
sessions; End.DX2 for Unstructured PDU sessions). | End.DX2 for Unstructured PDU sessions). | |||
8. Network Slicing Considerations | 8. Network Slicing Considerations | |||
A mobile network may be required to implement "network slices", which | A mobile network may be required to implement "network slices", which | |||
logically separate network resources. User-plane functions | logically separate network resources. User-plane functions | |||
represented as SRv6 segments would be part of a slice. | represented as SRv6 segments would be part of a slice. | |||
[I-D.filsfils-spring-segment-routing-policy] describes a solution to | [I-D.filsfils-spring-segment-routing-policy] describes a solution to | |||
build basic network slices with SR. Depending on the requirements, | build basic network slices with SR. Depending on the requirements, | |||
these slices can be further refined by adopting the mechanisms from: | these slices can be further refined by adopting the mechanisms from: | |||
skipping to change at page 24, line 23 ¶ | skipping to change at page 24, line 23 ¶ | |||
b., Krol, P., Horneffer, M., Steinberg, D., Decraene, B., | b., Krol, P., Horneffer, M., Steinberg, D., Decraene, B., | |||
Litkowski, S., Mattes, P., Ali, Z., Talaulikar, K., Liste, | Litkowski, S., Mattes, P., Ali, Z., Talaulikar, K., Liste, | |||
J., Clad, F., and K. Raza, "Segment Routing Policy | J., Clad, F., and K. Raza, "Segment Routing Policy | |||
Architecture", draft-filsfils-spring-segment-routing- | Architecture", draft-filsfils-spring-segment-routing- | |||
policy-06 (work in progress), May 2018. | policy-06 (work in progress), May 2018. | |||
[I-D.filsfils-spring-srv6-network-programming] | [I-D.filsfils-spring-srv6-network-programming] | |||
Filsfils, C., Camarillo, P., Leddy, J., | Filsfils, C., Camarillo, P., Leddy, J., | |||
daniel.voyer@bell.ca, d., Matsushima, S., and Z. Li, "SRv6 | daniel.voyer@bell.ca, d., Matsushima, S., and Z. Li, "SRv6 | |||
Network Programming", draft-filsfils-spring-srv6-network- | Network Programming", draft-filsfils-spring-srv6-network- | |||
programming-05 (work in progress), July 2018. | programming-07 (work in progress), February 2019. | |||
[I-D.ietf-6man-segment-routing-header] | [I-D.ietf-6man-segment-routing-header] | |||
Filsfils, C., Previdi, S., Leddy, J., Matsushima, S., and | Filsfils, C., Previdi, S., Leddy, J., Matsushima, S., and | |||
d. daniel.voyer@bell.ca, "IPv6 Segment Routing Header | d. daniel.voyer@bell.ca, "IPv6 Segment Routing Header | |||
(SRH)", draft-ietf-6man-segment-routing-header-14 (work in | (SRH)", draft-ietf-6man-segment-routing-header-16 (work in | |||
progress), June 2018. | progress), February 2019. | |||
[I-D.voyer-6man-extension-header-insertion] | ||||
daniel.voyer@bell.ca, d., Leddy, J., Filsfils, C., Dukes, | ||||
D., Previdi, S., and S. Matsushima, "Insertion of IPv6 | ||||
Segment Routing Headers in a Controlled Domain", draft- | ||||
voyer-6man-extension-header-insertion-05 (work in | ||||
progress), January 2019. | ||||
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
<https://www.rfc-editor.org/info/rfc2119>. | <https://www.rfc-editor.org/info/rfc2119>. | |||
[RFC8402] Filsfils, C., Ed., Previdi, S., Ed., Ginsberg, L., | [RFC8402] Filsfils, C., Ed., Previdi, S., Ed., Ginsberg, L., | |||
Decraene, B., Litkowski, S., and R. Shakir, "Segment | Decraene, B., Litkowski, S., and R. Shakir, "Segment | |||
Routing Architecture", RFC 8402, DOI 10.17487/RFC8402, | Routing Architecture", RFC 8402, DOI 10.17487/RFC8402, | |||
July 2018, <https://www.rfc-editor.org/info/rfc8402>. | July 2018, <https://www.rfc-editor.org/info/rfc8402>. | |||
14.2. Informative References | 14.2. Informative References | |||
[I-D.ali-spring-network-slicing-building-blocks] | [I-D.ali-spring-network-slicing-building-blocks] | |||
Ali, Z., Filsfils, C., and P. Camarillo, "Building blocks | Ali, Z., Filsfils, C., Camarillo, P., and d. | |||
for Slicing in Segment Routing Network", draft-ali-spring- | daniel.voyer@bell.ca, "Building blocks for Slicing in | |||
network-slicing-building-blocks-00 (work in progress), | Segment Routing Network", draft-ali-spring-network- | |||
July 2018. | slicing-building-blocks-01 (work in progress), March 2019. | |||
[I-D.auge-dmm-hicn-mobility-deployment-options] | [I-D.auge-dmm-hicn-mobility-deployment-options] | |||
Auge, J., Carofiglio, G., Muscariello, L., and M. | Auge, J., Carofiglio, G., Muscariello, L., and M. | |||
Papalini, "Anchorless mobility management through hICN | Papalini, "Anchorless mobility management through hICN | |||
(hICN-AMM): Deployment options", draft-auge-dmm-hicn- | (hICN-AMM): Deployment options", draft-auge-dmm-hicn- | |||
mobility-deployment-options-00 (work in progress), June | mobility-deployment-options-01 (work in progress), | |||
2018. | December 2018. | |||
[I-D.camarillo-dmm-srv6-mobile-pocs] | [I-D.camarillo-dmm-srv6-mobile-pocs] | |||
Camarillo, P., Filsfils, C., Bertz, L., Akhavain, A., | Camarillo, P., Filsfils, C., Bertz, L., Akhavain, A., | |||
Matsushima, S., and d. daniel.voyer@bell.ca, "Segment | Matsushima, S., and d. daniel.voyer@bell.ca, "Segment | |||
Routing IPv6 for mobile user-plane PoCs", draft-camarillo- | Routing IPv6 for mobile user-plane PoCs", draft-camarillo- | |||
dmm-srv6-mobile-pocs-00 (work in progress), July 2018. | dmm-srv6-mobile-pocs-01 (work in progress), October 2018. | |||
[I-D.camarilloelmalky-springdmm-srv6-mob-usecases] | [I-D.camarilloelmalky-springdmm-srv6-mob-usecases] | |||
Camarillo, P., Filsfils, C., Elmalky, H., Allan, D., | Camarillo, P., Filsfils, C., Elmalky, H., Matsushima, S., | |||
Matsushima, S., daniel.voyer@bell.ca, d., Cui, A., and B. | daniel.voyer@bell.ca, d., Cui, A., and B. Peirens, "SRv6 | |||
Peirens, "SRv6 Mobility Use-Cases", draft- | Mobility Use-Cases", draft-camarilloelmalky-springdmm- | |||
camarilloelmalky-springdmm-srv6-mob-usecases-00 (work in | srv6-mob-usecases-01 (work in progress), January 2019. | |||
progress), July 2018. | ||||
[I-D.gundavelli-dmm-mfa] | [I-D.gundavelli-dmm-mfa] | |||
Gundavelli, S., Liebsch, M., and S. Matsushima, "Mobility- | Gundavelli, S., Liebsch, M., and S. Matsushima, "Mobility- | |||
aware Floating Anchor (MFA)", draft-gundavelli-dmm-mfa-01 | aware Floating Anchor (MFA)", draft-gundavelli-dmm-mfa-01 | |||
(work in progress), September 2018. | (work in progress), September 2018. | |||
[I-D.hegdeppsenak-isis-sr-flex-algo] | [I-D.hegdeppsenak-isis-sr-flex-algo] | |||
Psenak, P., Hegde, S., Filsfils, C., and A. Gulko, "ISIS | Psenak, P., Hegde, S., Filsfils, C., and A. Gulko, "ISIS | |||
Segment Routing Flexible Algorithm", draft-hegdeppsenak- | Segment Routing Flexible Algorithm", draft-hegdeppsenak- | |||
isis-sr-flex-algo-02 (work in progress), February 2018. | isis-sr-flex-algo-02 (work in progress), February 2018. | |||
skipping to change at page 25, line 50 ¶ | skipping to change at page 26, line 8 ¶ | |||
[I-D.ietf-spring-segment-routing-central-epe] | [I-D.ietf-spring-segment-routing-central-epe] | |||
Filsfils, C., Previdi, S., Dawra, G., Aries, E., and D. | Filsfils, C., Previdi, S., Dawra, G., Aries, E., and D. | |||
Afanasiev, "Segment Routing Centralized BGP Egress Peer | Afanasiev, "Segment Routing Centralized BGP Egress Peer | |||
Engineering", draft-ietf-spring-segment-routing-central- | Engineering", draft-ietf-spring-segment-routing-central- | |||
epe-10 (work in progress), December 2017. | epe-10 (work in progress), December 2017. | |||
[I-D.rodrigueznatal-lisp-srv6] | [I-D.rodrigueznatal-lisp-srv6] | |||
Rodriguez-Natal, A., Ermagan, V., Maino, F., Dukes, D., | Rodriguez-Natal, A., Ermagan, V., Maino, F., Dukes, D., | |||
Camarillo, P., and C. Filsfils, "LISP Control Plane for | Camarillo, P., and C. Filsfils, "LISP Control Plane for | |||
SRv6 Endpoint Mobility", draft-rodrigueznatal-lisp-srv6-00 | SRv6 Endpoint Mobility", draft-rodrigueznatal-lisp-srv6-01 | |||
(work in progress), July 2018. | (work in progress), January 2019. | |||
[I-D.xuclad-spring-sr-service-programming] | [I-D.xuclad-spring-sr-service-programming] | |||
Clad, F., Xu, X., Filsfils, C., daniel.bernier@bell.ca, | Clad, F., Xu, X., Filsfils, C., daniel.bernier@bell.ca, | |||
d., Li, C., Decraene, B., Ma, S., Yadlapalli, C., | d., Li, C., Decraene, B., Ma, S., Yadlapalli, C., | |||
Henderickx, W., and S. Salsano, "Service Programming with | Henderickx, W., and S. Salsano, "Service Programming with | |||
Segment Routing", draft-xuclad-spring-sr-service- | Segment Routing", draft-xuclad-spring-sr-service- | |||
programming-00 (work in progress), July 2018. | programming-01 (work in progress), October 2018. | |||
[TS.23501] | [TS.23501] | |||
3GPP, "System Architecture for the 5G System", 3GPP TS | 3GPP, "System Architecture for the 5G System", 3GPP TS | |||
23.501 15.0.0, November 2017. | 23.501 15.0.0, November 2017. | |||
[TS.29244] | [TS.29244] | |||
3GPP, "Interface between the Control Plane and the User | 3GPP, "Interface between the Control Plane and the User | |||
Plane Nodes", 3GPP TS 29.244 15.0.0, December 2017. | Plane Nodes", 3GPP TS 29.244 15.0.0, December 2017. | |||
[TS.29281] | [TS.29281] | |||
End of changes. 25 change blocks. | ||||
55 lines changed or deleted | 67 lines changed or added | |||
This html diff was produced by rfcdiff 1.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |