[DMM] Additional draft-ietf-dmm-srv6-mobile-uplane-16 comments
"Jeffrey (Zhaohui) Zhang" <zzhang@juniper.net> Thu, 26 August 2021 23:01 UTC
Return-Path: <zzhang@juniper.net>
X-Original-To: dmm@ietfa.amsl.com
Delivered-To: dmm@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 9B7533A1556 for <dmm@ietfa.amsl.com>; Thu, 26 Aug 2021 16:01:46 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.551
X-Spam-Level:
X-Spam-Status: No, score=-2.551 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.452, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=juniper.net header.b=YdovTxP/; dkim=pass (1024-bit key) header.d=juniper.net header.b=SIoGafQz
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ENq12uGYoCGp for <dmm@ietfa.amsl.com>; Thu, 26 Aug 2021 16:01:40 -0700 (PDT)
Received: from mx0b-00273201.pphosted.com (mx0a-00273201.pphosted.com [208.84.65.16]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 7E5853A143C for <dmm@ietf.org>; Thu, 26 Aug 2021 16:01:25 -0700 (PDT)
Received: from pps.filterd (m0108157.ppops.net [127.0.0.1]) by mx0a-00273201.pphosted.com (8.16.1.2/8.16.0.43) with SMTP id 17QM3U4W003653; Thu, 26 Aug 2021 16:01:24 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=juniper.net; h=from : to : cc : subject : date : message-id : content-type : content-transfer-encoding : mime-version; s=PPS1017; bh=ie2UdeB7ksCF7ojoLD2XZvApOpOifE+ZyenvfsBtnK8=; b=YdovTxP/u7mu0Ad2atn78sUfZAUYqqmuqW1FzehJ0nLycfrWDAb/xGqXRV8FdGWlha9a +h1C9OGUgyVeH/Zkj7/MjL6/SdWN3YPQFShV27ib/NkXeMnzsDZeJZE8o+PWiqk3pa/I ru+cyXtOsZEali7tXJ7XjH+Kl+DZkN+3rJzebiNGSj1bWa+n/iwdPYbP9Dgayha3LHqk 28zjbYs+cI9dKo6Bidva0/CxQZxNe2UheAjD//zzjdXpfGnqjbYY+mT7qL04yrDWuY6i 45mbhvjfZ4ZeyV+6E0vdHv3O/JBC0j115CfRAVPoNJ8dntgmGmkjZcR4EKpqMSMW3UgR Nw==
Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2170.outbound.protection.outlook.com [104.47.59.170]) by mx0a-00273201.pphosted.com with ESMTP id 3apkdr01yn-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 26 Aug 2021 16:01:23 -0700
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NKNSqV4vRKW9pUhK/t6yYwzdumvzEejkuNr7ManjOQt0QF2aK8Orvtsk3jWWPxtStFMpdFRhsqBEFw7dwQkhanOs2qVS3JMI+HPOMyXhYmHdpKY8tw3u8tK+8JyAFaxzFpgPOZoTX+Inqk54taxNtuV+2AeHNoNQXG23nbLwrJ8hUMBLzTznL/1OlbHm68jnTCX+Co/Usv3EVUN+tOsxEHdW5613cxR8ckqE2MhN5B5/M+S/A1fR4m4gFrw3KRfq152d0F89ehpaEHZQ6fMNjGigpUF3WJ+AGVJzr6KenzCu49TWTsOBUNIP+hyNsZkgoERgCtkRKVfSc0PskdCiuQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=ie2UdeB7ksCF7ojoLD2XZvApOpOifE+ZyenvfsBtnK8=; b=AjTRbGiQOfB5EyiY9MsHGtfcoVSf2NCcEE3Hif3fz1rXeckRTDhiPZjR4aktNRoXBZTMGRX8gQxUbGQvj0brejbtEDJ8i7IXoBxqGQJvm8b4zO8J6yLBWg15rX08m69xnhK9Lyzpvf6k6aAg3MLnw79SKZhyftJZy6/1Ttl8N/fJbP1X8mtOYDYYOw6JQgPaYfApeCHRrBBR9w0cPm9JzU9vdmQlDuSJuHfagoOvIv4d+a7sTnZNaGYaCTk0UOeHAmAdsRXt7Rj9fFApRmduKlnHM1w4/Kg4kglSSbpiqU/p8VoB/AfUX6c4cNFmBWZ4W0W441f2SpaZTafK8QLNPg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=juniper.net; dmarc=pass action=none header.from=juniper.net; dkim=pass header.d=juniper.net; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=juniper.net; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ie2UdeB7ksCF7ojoLD2XZvApOpOifE+ZyenvfsBtnK8=; b=SIoGafQz1NPARmdRjL/vujbGlOd8gg68VArfHaNOsCZu9Cx6EXc6biNgaWa1nXIOsNi8jmwvt3XvvqeSKpIKus0xNbgInqoyR4JtoRIxQNbzcWqZuThSrcapZAOSmZid/0pBfHdvM9J1drJedBto5uAAycCmMOl8Hk3iuoRb3F8=
Received: from BL0PR05MB5652.namprd05.prod.outlook.com (2603:10b6:208:6a::19) by BLAPR05MB7329.namprd05.prod.outlook.com (2603:10b6:208:29f::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4478.11; Thu, 26 Aug 2021 23:01:20 +0000
Received: from BL0PR05MB5652.namprd05.prod.outlook.com ([fe80::cd35:4cda:1ffd:e725]) by BL0PR05MB5652.namprd05.prod.outlook.com ([fe80::cd35:4cda:1ffd:e725%6]) with mapi id 15.20.4457.020; Thu, 26 Aug 2021 23:01:20 +0000
From: "Jeffrey (Zhaohui) Zhang" <zzhang@juniper.net>
To: "Pablo Camarillo (pcamaril)" <pcamaril@cisco.com>
CC: "dmm@ietf.org" <dmm@ietf.org>
Thread-Topic: Additional draft-ietf-dmm-srv6-mobile-uplane-16 comments
Thread-Index: Adeau+zJ0JiEFvVCSi6KXkk8Vn57Pg==
Date: Thu, 26 Aug 2021 23:01:20 +0000
Message-ID: <BL0PR05MB56524662FCFD3167BAE04737D4C79@BL0PR05MB5652.namprd05.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
dlp-product: dlpe-windows
dlp-version: 11.6.100.41
dlp-reaction: no-action
authentication-results: cisco.com; dkim=none (message not signed) header.d=none;cisco.com; dmarc=none action=none header.from=juniper.net;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: a18e11c2-eb3e-4f1c-54c0-08d968e56b13
x-ms-traffictypediagnostic: BLAPR05MB7329:
x-microsoft-antispam-prvs: <BLAPR05MB732951AC07A4D3A941AC87F9D4C79@BLAPR05MB7329.namprd05.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:10000;
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: nP14WTCCC6cq1QvLzIoGqvbuHCa6e9PnE4+C/rc8CUvt+PmVcJ3cLg5KveEzLd5GGDd0kqrLCj05K/+DendHM4fKonk4cmfGBvp9jeq4t0a2ywnQljUOBYxeXs4KnJMjmJZ8zpntC9MQFzPvBe7V1kJiDAiFPvu9HTPTjWYlG4AxvnVRiewJSTK/0i/Ewi9PTRfehPZ9iPJFktr1TR2fAzC7uxbAm91zlXM++hz2DXY1LuGIoQyiVsVVJS8+DSjsdIrOHeASoQjXieRxHhVaMosNcAtGFCrimz9DxAUPROntPMRpAddd5FV9CstEwc28BF5eKvNufW98HElUbmee5NNNx1SZm6hm+PkJsNRTr8Qj4xLHlHo9hb656qcn1wJdGi7R4K2Q6OJKNICEemzM+MMzAF3d6uKrhOUT9mTdlgW7h6lCq56+rgIOVVVHD5dMcGC/HipOyhe4atGdgwIrkMTbwlgAaY/NP3qDKBCmPgPFlwDu0ahTsCLpx8D5kp8OmuQi7vNj9/Fm+nr78KSjJflfK8bAVJ8Td0+gGpzrp6lW6P+gHiZ/ZVFz7KlsJFYzwfZGiwkE2tAN5pK9nyO7EUHhrEgndlqOhomZd8MxtUwKrWM5TBMDf5CJia5WJbmqy3u5nIen+4pBF4R2GnpkJ7yV5lP1kQ7+Gi6zzW1cgzPmyZ8lNHK72HBBqKkVj3EDrlsQvOxqoQ7VndYvHL1img==
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BL0PR05MB5652.namprd05.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(136003)(346002)(396003)(39860400002)(376002)(122000001)(8936002)(38100700002)(9686003)(2906002)(71200400001)(33656002)(52536014)(7696005)(478600001)(38070700005)(8676002)(186003)(5660300002)(66556008)(66946007)(76116006)(4326008)(55016002)(83380400001)(66446008)(6506007)(6916009)(316002)(66476007)(26005)(64756008)(30864003)(86362001)(579004); DIR:OUT; SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: CpAOq8LVPe+RkAAPl+wE3dM/llKZqgtptEbOEKjPSWvhqCbFUbRDLCWo71qICMVXuSYE6QWQP6VuvWZs3OS2MxVbKsREFZu1FrBjrepRw0eUq7Q+4ji15EQbnF7KOatRe1J46uYsGX3AQidbAJAXH3SBI8BEqRILRhaq3wpq6Ox1PohMmpJKKNDvo++oB7lIv0ZKzIBr9iag0WWOJ6TIsC3h9oVAllM0wzfciKaodiXZsu5YFWH9mxQZY6hHNKxcoqvrB0J/7Cwz0c/jJFpgqO0VtbuO/yjm+YtpRC4ze2wZatGShyg5diQ29fPI2qjsRdbAtOiqpNsZdyBIwOAB7jYFsP6yjPyn3PZvRXUwND5Tvkfh+yvVSC/G3w8uqzv25z3q5thhEW8qeVrSDSUquFydYYOcVruKHKnO9lirNUX+dUOV2XevIYKjFXvaGW5b/flWeS3Q2fSUTM8SHdslXwUYtIaNICC9fasLXsxJh4IK6M/mzd0a8z5LnVjtWqCuwqcfyD655z7VBdXffONodjC1xTi/2TKY0CDzn5HRlFAGVSla/FRIiZmSydb8rwottaTcEs3PIVJe3FOa2quh0Gt/J68dOoxRUTQSbziHhuQehHoEq3FiAzPVT8wxsO4ChxLwEdEsEIyQbegPFz1cjyebTWRfOs4Ty2NmlDzJ2FTuU/crmRJQ4w025VQHmrGgsVGMGY7DxNVo9+5oeuXMia5ivW2P0sw8s7HWuViKIDmONqXsLUU6yIwBMJGnru+STbFQxWSvpi6iPZlId7VVpCYLr6sKZMvUh6LoulB/QoBVs/XAeTK+mF7mpCaCWG6ObY2BN5m8soANA/GlbZrSFH+/DHACKjxXcyEi5f534szOXOozaA0BlUAADbtGThJkeMspXuKKpiev2fd4lkQHZHD7VXQc8Tj3I1KQGRS1su8Q+szzsewUQFRotxjOcd550lpssOoZujI3AxGLExnya60MwJef3hP7RWc5/QpQ4AMSzwRbBoT4SW0q1c/xRxvKzPTcFKD2FW/4nEZQ6EsD7lo46DS6PnaWdFy8Np2FpEFGyd39xVWplWiUsqQ9uhosPLflNsYwXzt8/yqTLEN9MMvv/WoLMMx2IAK3pUnpgF/NGILdVjdUPXjwAqb/4VHLlJ42RDALxMPFmM9EAGH0Zv0MrGbtPIs5gTsW/HzpVjFOJZoT+6ZmXOfNP/IseBhFCm7FoHWe6sFd/JHHbWY0fEt5sGOSQl2CaBOUivkuKB0F8Zr9sLoEzNut5JB/SyWjUhfbq7rVVglvmCz0BK8VR7Yj1tFU7LSKbBR2xOSWcbh2c1/tGj4ohUXMRnfqiCK7
x-ms-exchange-transport-forked: True
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: juniper.net
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BL0PR05MB5652.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a18e11c2-eb3e-4f1c-54c0-08d968e56b13
X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Aug 2021 23:01:20.1525 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: bea78b3c-4cdb-4130-854a-1d193232e5f4
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: +y3gIiexkA3ADiq8vVqrpHDDV854d/X9qgk6lsNjihaxdh3iaPqBez5VN+cLfmL6sQ0IWWWaX4oC7OSbBzF2iQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLAPR05MB7329
X-Proofpoint-GUID: 2WA8adOh_V2DDcXGDdCM8PzKTCUzIry2
X-Proofpoint-ORIG-GUID: 2WA8adOh_V2DDcXGDdCM8PzKTCUzIry2
X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.182.1,Aquarius:18.0.790,Hydra:6.0.391,FMLib:17.0.607.475 definitions=2021-08-26_05,2021-08-26_02,2020-04-07_01
X-Proofpoint-Spam-Details: rule=outbound_spam_notspam policy=outbound_spam score=0 spamscore=0 priorityscore=1501 mlxscore=0 bulkscore=0 lowpriorityscore=0 malwarescore=0 phishscore=0 impostorscore=0 suspectscore=0 clxscore=1015 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2107140000 definitions=main-2108260128
Archived-At: <https://mailarchive.ietf.org/arch/msg/dmm/6vctqlfjYmPSiixo9r86LNXS1fs>
Subject: [DMM] Additional draft-ietf-dmm-srv6-mobile-uplane-16 comments
X-BeenThere: dmm@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Distributed Mobility Management Working Group <dmm.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dmm>, <mailto:dmm-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dmm/>
List-Post: <mailto:dmm@ietf.org>
List-Help: <mailto:dmm-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dmm>, <mailto:dmm-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 26 Aug 2021 23:01:57 -0000
Hi Pablo, Some editorial/nit comments and some more substantial questions/comments below. In mobile networks, mobility management systems provide connectivity over a wireless link to stationary and non-stationary nodes. The user-plane establishes a tunnel between the mobile node and its anchor node over IP-based backhaul and core networks. A nit question - why "management" systems? That sounds like user plane is not involved. This document shows the applicability of SRv6 (Segment Routing IPv6) to mobile networks. This document is not just "showing" the applicability. It actually specifies how it is done, right? Segment Routing [RFC8402] is a source routing architecture: a node steers a packet through an ordered list of instructions called "segments". A segment can represent any instruction, topological or service based. SRv6 applied to mobile networks enables a source-routing based mobile architecture, where operators can explicitly indicate a route for the packets to and from the mobile node. The SRv6 Endpoint nodes serve as mobile user-plane anchors. The last sentence is not exactly true. The SRv6 endpoint nodes could be GWs. The second mode is the "Enhanced mode". This is an evolution from the "Traditional mode". In this mode the N3, N9 or N6 interfaces have intermediate waypoints -SIDs- that are used for Traffic Engineering or VNF purposes. This results in optimal end-to-end policies across the mobile network with transport and services awareness. s/purposes/purposes transparent to 3GPP functionalities/ 5.1. Traditional mode In the traditional mode, the existing mobile UPFs remain unchanged with the sole exception of the use of SRv6 as the data plane instead of GTP-U. There is no impact to the rest of the mobile system. In existing 3GPP mobile networks, a PDU Session is mapped 1-for-1 with a specific GTP tunnel (TEID). This 1-for-1 mapping is mirrored here to replace GTP encapsulation with the SRv6 encapsulation, while not changing anything else. There will be a unique SRv6 SID associated with each PDU Session, and the SID list only contains a single SID. Does "a unique SRv6 SID associated with each PDU Session" mean that gNB/UPF will have those individual unique SIDs installed in the forwarding plane"? The traditional mode minimizes the changes required to the mobile system; hence it is a good starting point for forming a common ground. The gNB/UPF control-plane (N2/N4 interface) is unchanged, specifically a single IPv6 address is provided to the gNB. The same control plane signalling is used, and the gNB/UPF decides to use SRv6 based on signaled GTP-U parameters per local policy. The only information from the GTP-U parameters used for the SRv6 policy is the TEID and the IPv6 Destination Address. Also QFI? Our example topology is shown in Figure 2. In traditional mode the gNB and the UPFs are SR-aware. Strike "In traditional mode"? 5.1.1. Packet flow - Uplink The uplink packet flow is as follows: UE_out : (A,Z) gNB_out : (gNB, U1::1) (A,Z) -> H.Encaps.Red <U1::1> UPF1_out: (gNB, U2::1) (A,Z) -> End.MAP UPF2_out: (A,Z) -> End.DT4 or End.DT6 When the UE packet arrives at the gNB, the gNB performs a H.Encaps.Red operation. Since there is only one SID, there is no need to push an SRH. gNB only adds an outer IPv6 header with IPv6 DA 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 (N2 interface). The last sentence is misleading. SID U1::1 is constructed by gNB and it should really be U1::TEID where U1 is the "single IPv6 address is provided to the gNB". When the packet arrives at UPF1, the SID U1::1 is associated with the End.MAP SRv6 Endpoint Behavior. End.MAP replaces U1::1 by U2::1, that belongs to the next UPF (U2). U::1 should be U1::TEID1, and U2::1 should be U2::TEID2? Thus, the main difference is that the SR policy MAY include SIDs for traffic engineering and service programming in addition to the anchoring SIDs at UPFs. Additionally in this mode the operator may choose to aggregate several devices under the same SID list (e.g., stationary residential meters connected to the same cell) to improve scalability. Figure 3 shows an Enhanced mode topology. In the Enhanced mode, the gNB and the UPF are SR-aware. Strike "In the Enhanced mode"? 5.2.1. Packet flow - Uplink The uplink packet flow is as follows: UE_out : (A,Z) gNB_out : (gNB, S1)(U1::1, C1; SL=2)(A,Z)->H.Encaps.Red<S1,C1,U1::1> S1_out : (gNB, C1)(U1::1, C1; SL=1)(A,Z) C1_out : (gNB, U1::1)(A,Z) ->End with PSP UPF1_out: (A,Z) ->End.DT4,End.DT6,End.DT2U UE sends its packet (A,Z) on a specific bearer to its gNB. gNB's control plane associates that session from the UE(A) with the IPv6 address B. gNB's control plane does a lookup on B to find the related SID list <S1, C1, U1::1>. When gNB transmits the packet, it contains all the segments of the SR policy. The SR policy includes segments for traffic engineering (C1) and for service programming (S1). As we have discussed before, you either need to use U1::TEID so that UPF1 can use the TEID to determine in which table to do End.DT2/4/6, or you need to point out that different U1 addresses need to be used for different tables. 5.2.2. Packet flow - Downlink The downlink packet flow is as follows: UPF1_in : (Z,A) ->UPF1 maps the flow w/ SID list <C1,S1, gNB> UPF1_out: (U1::1, C1)(gNB::1, S1; SL=2)(Z,A)->H.Encaps.Red C1_out : (U1::1, S1)(gNB::1, S1; SL=1)(Z,A) S1_out : (U1::1, gNB::1)(Z,A) ->End with PSP gNB_out : (Z,A) ->End.DX4/End.DX6/End.DX2 When the packet arrives at the UPF1, the UPF1 maps that particular flow into a UE PDU Session. This UE PDU Session is associated with the policy <C1, S1, gNB>. The UPF1 performs a H.Encaps.Red operation, encapsulating the packet into a new IPv6 header with its corresponding SRH. The nodes C1 and S1 perform their related Endpoint processing. Once the packet arrives at the gNB, the IPv6 DA corresponds to an End.DX4, End.DX6 or End.DX2 behavior at the gNB (depending on the underlying traffic). The gNB decapsulates the packet, removing the IPv6 header, and forwards the traffic towards the UE. The SID gNB::1 is one example of a SID associated to this service. Same as above. gNB::1 in the last sentence above is not enough - gNB::TEID needs to be used to do End.DX2/4/6. Note that there are several means to provide the UE session aggregation. The decision on which one to use is a local decision made by the operator. One option is to use the Args.Mob.Session (Section 6.1). Another option comprises the gNB performing an IP lookup on the inner packet by using the End.DT4, End.DT6, and End.DT2 behaviors. To clarify, when I say gNB::TEID, I do refer to use of Args.Mob.Session. I don't think we should be shy from calling out gNB::TEID. If you want to do End.DT2/4/6 on gNB, the following should be pointed out: - this is a change of gNB behavior - we still need a way to identify in which table to do it - and like in the uplink case, you either use TEID or use different gNB addresses. 5.2.3. Scalability The Enhanced Mode improves since it allows the aggregation of several UEs under the same SID list. For example, in the case of stationary residential meters that are connected to the same cell, all such devices can share the same SID list. This improves scalability compared to Traditional Mode (unique SID per UE) and compared to GTP-U (dedicated TEID per UE). The scalability improvement comes when you don't need to use TEID for the following: - for uplink, determining the table in which to do End.DT2/4/6 - End.DX2/4/6 for downlink (End.DT2/4/6 will be used). In both cases, different UPF or gNB addresses are needed to determine the table. That should be clarified, including how the addresses are determined. 5.3.1. Interworking with IPv6 GTP * The 5G Control-Plane towards the gNB (N2 interface) is unmodified; one IPv6 address is needed per SLA(i.e. a BSID at the SRGW). The SRv6 SID is different depending on the required SLA. Is it that the N2 signaling *encoding* is not changed, but *content* is indeed changed so that different IPv6 addresses can be given for different SLA/tenant? * There is no state for the downlink at the SRGW. * There is simple state in the uplink at the SRGW; using Enhanced mode results in fewer SR policies on this node. An SR policy is shared across UEs as long as they belong to the same context (i.e., tenant). A set of many different policies (i.e., different SLAs) increases the amount of state required. I am still having trouble grasping the "no state for downlink" and "simple state for uplink" difference. For downlink, there is End.M.GTP6.E, right? What are you referring to when you say "no state for downlink"? Do you mean no per-PDU session state? If so, uplink does not seem to need per-PDU session state either? Even in the "traditional mode", all you need is one End.M.GTP6.D SID that put together U::TEID. If you aggregate (so that UPF does not need to look at TEIDs), how does the SRGW know what SLA/tenant a PDU session is associated with? A gNB/UPF knows that because of N2/N4 signaling, but SRGW is not involved in N2/N4 signaling. If it relies on different IPv6 addresses, then it seems that "traditional mode" actually has few state than the enhanced mode? * In the uplink, the SRv6 BSID located in the IPv6 DA steers traffic into an SR policy when it arrives at the SRGW. "SRv6 BSID located in the IPv6 DA" does not read well. Do you mean "... on the SRGW"? 5.3.1.1. Packet flow - Uplink The uplink packet flow is as follows: UE_out : (A,Z) gNB_out : (gNB, B)(GTP: TEID T)(A,Z) -> Interface N3 unmodified (IPv6/GTP) SRGW_out: (SRGW, S1)(U2::1, C1; SL=2)(A,Z) -> B is an End.M.GTP6.D SID at the SRGW S1_out : (SRGW, C1)(U2::1, C1; SL=1)(A,Z) C1_out : (SRGW, U2::1)(A,Z) -> End with PSP UPF2_out: (A,Z) -> End.DT4 or End.DT6 End.M.GTP6.D does the following: S02. Copy the GTP TEID to buffer memory ... S08. Write in the last SID of the SRH the Args.Mob.Session based on the information of buffer memory Therefore, U2::1 really should be changed to U2::TEID. 5.3.1.3. Scalability For the downlink traffic, the SRGW is stateless. All the state is in the SRH pushed by the UPF2. The UPF2 must have the UE states since it is the UE's session anchor point. For the uplink traffic, the state at the SRGW does not necessarily need to be unique per PDU Session; the SR policy can be shared among UEs. This enables more scalable SRGW deployments compared to a solution holding millions of states, one or more per UE. As commented above, the sharing/aggregation is based on different addresses for different SLA/tenants signaled over N2. If sharing/aggregation is not used (i.e. traditional mode), there is no need for per-session state for uplink either. 5.3.2. Interworking with IPv4 GTP In this interworking mode the gNB uses GTP over IPv4 in the N3 Interface What does SMF tell UPF over N4? GTP with IPv4 parameters? Good to clarify. 5.3.2.1. Packet flow - Uplink ... Note that the interworking mechanisms for IPv4/GTP and IPv6/GTP differs. This is due to the fact that in IPv6/GTP we can leverage the remote steering capabilities provided by SRv6. In IPv4 this is not the case, and it would require a significant address consumption. "remote steering capabilities provided by SRv6" is unclear about its meaning - perhaps just remove the sentence and simply talk about address consumption. Different addresses are used for different SLAs/tenants - if that's not a concern even for IPv4 then it be can use for IPv4 as well and otherwise either per-session classification is needed on the SRGW or just don't do aggregation at all for IPv4 (then you just need one IPv4 route to come up with the U::TEID SID in the outgoing packets). On the other hand, how are the classification rules configured on the SRGW since it is not involved in the N2 signaling? Is it feasible at all to configure those on the SRGW? 5.3.2.2. Packet flow - Downlink The downlink packet flow is as follows: UPF2_in : (Z,A) -> UPF2 maps flow with SID <C1, S1,GW::SA:DA:TEID> UPF2_out: (U2::1, C1)(GW::SA:DA:TEID, S1; SL=2)(Z,A) ->H.Encaps.Red C1_out : (U2::1, S1)(GW::SA:DA:TEID, S1; SL=1)(Z,A) S1_out : (U2::1, GW::SA:DA:TEID)(Z,A) SRGW_out: (GW, gNB)(GTP: TEID=T)(Z,A) -> End.M.GTP4.E gNB_out : (Z,A) ... Once the packet arrives at the SRGW, the SRGW identifies the active SID as an End.M.GTP4.E function. The SRGW removes the IPv6 header and all its extensions headers. The SRGW generates an IPv4, UDP, and GTP headers. The IPv4 SA and DA are received as SID arguments. The TEID in the generated GTP header is also the arguments of the received End.M.GTP4.E SID. The SRGW pushes the headers to the packet and forwards the packet toward the gNB. What is the SA? Is it an address on the UPF or is it a local address on the GW? If it is of the GW, is there a need to carry it in the SRH? If it is of the UPF while the packet really originated at the GW, why couldn't same be done for IPv6 (in 5.3.1.1, when SRGW sends out packets it uses its own not the gNB address as source). 5.3.2.3. Scalability ... For the uplink traffic, the state at the SRGW is dedicated on a per UE/session basis according to a classification engine. There is state for steering the different sessions in the form of an SR Policy. However, SR policies are shared among several UE/sessions. Is it really feasible to have those per UE/session classification rules? Compared to using per-SLA/tenant IPv4 addresses, which is more practical? 5.4. SRv6 Drop-in Interworking In this section we introduce another mode useful for legacy gNB and UPFs that still operate with GTP-U. This mode provides an SRv6-enabled user plane in between two GTP-U tunnel endpoints. In this mode we employ two SRGWs that map GTP-U traffic to SRv6 and vice-versa. 5.3 talks about interworking between an SRv6 UPF and GTP gNB. 5.4 talks about using SRv6 to connect GTP gNB and GTP UPF. Perhaps it's better to talk about interworking between SRv6 gNB and GTP UPF first, and then if you put two interworking mode together you achieve what current 5.4 achieves - a GW basically presents a GTP NF as an SRv6 NF. In fact, GW for UPF just seems to be a mirror of the GW for gNB. When the packet arrives at SRGW-A, the SRGW identifies U::1 as an End.M.GTP6.D.Di Binding SID (see Section 6.4). Hence, the SRGW removes the IPv6, UDP, and GTP headers, and pushes an IPv6 header with its own SRH containing the SIDs bound to the SR policy associated with this Binding SID. There is one instance of the End.M.GTP6.D.Di SID per PDU type. In the other email I talked about not needing End.M.GTP6.D.Di. 6.1. Args.Mob.Session Arg.Mob.Session is required in case that one SID aggregates multiple PDU Sessions. Since the SRv6 SID is likely NOT to be instantiated per PDU session, Args.Mob.Session helps the UPF to perform the behaviors which require per QFI and/or per PDU Session granularity. Note that the encoding of user-plane messages (e.g., Echo Request, Echo Reply, Error Indication and End Marker) is out of the scope of this draft. [I-D.murakami-dmm-user-plane-message-encoding] defines one possible encoding. I actually missed that Args.Mob.Session was encoding information like QFI (that's why I wanted to have a normative reference to draft-murakami). Why don't we use it for traditional, non-aggregate mode as well (the above text only says it's required for aggregation)? In that mode different SIDs are used for different sessions, but those SIDs can still be viewed as a locator+ Args.Mob.Session (which also encodes QFI that is also needed). 6.2. End.MAP The "Endpoint behavior with SID mapping" behavior (End.MAP for short) is used in several scenarios. Particularly in mobility, End.MAP is used in the UPFs for the PDU Session anchor functionality. Hmm ... not sure about the last sentence. It seems that End.MAP is used for intermediate UPFs instead of anchoring UPFs. When node N receives a packet whose IPv6 DA is S and S is a local End.MAP SID, N does: S01. If (IPv6 Hop Limit <= 1) { S02. Send an ICMP Time Exceeded message to the Source Address, Code 0 (Hop limit exceeded in transit), interrupt packet processing, and discard the packet. S03. } S04. Decrement IPv6 Hop Limit by 1 S05. Lookup the IPv6 DA in the mapping table S06. Update the IPv6 DA with the new mapped SID S07. Submit the packet to the egress IPv6 FIB lookup for transmission to the new destination Notes: The SIDs in the SRH are not modified. Since the entire IPv6 DA is the End.MAP SID, e.g. per the following in 5.1.2: Upon packet arrival on UPF1, the SID U1::2 is a local SID associated with the End.MAP SRv6 Endpoint Behavior. It maps the SID to the next anchoring point and replaces U1::2 by gNB::1, that belongs to the next hop. The SID itself can do the mapping already w/o looking up a mapping table, so S05 is not needed, right? In other words, the mapped to SID is associated with this SID already, no need to do a lookup. The above procedures would make sense only if just part of the IPv6 address (e.g. the U1 part) is the SID, while the ::2 part is used to lookup a mapping table. 6.3. End.M.GTP6.D S01. If (Next Header = UDP & UDP_Dest_port = GTP) { S02. Copy the GTP TEID to buffer memory S03. Pop the IPv6, UDP, and GTP Headers S04. Push a new IPv6 header with its own SRH containing B S05. Set the outer IPv6 SA to A S06. Set the outer IPv6 DA to the first SID of B S07. Set the outer Payload Length, Traffic Class, Flow Label, Hop Limit, and Next-Header fields Add "(NH)" after "Next-Header" above? There were several "NH" references later. S08. Write in the last SID of the SRH the Args.Mob.Session based on the information of buffer memory S09. Submit the packet to the egress IPv6 FIB lookup and transmission to the new destination S10. } Else { S11. Process as per [RFC8986] Section 4.1.1 S12. } Shouldn't we copy the QFI part as well in step S08? The prefix of A SHOULD be an End.M.GTP6.E SID instantiated at an SR gateway. Why is the above required? A is the source address of the packet output by the GW. It's understandable that on reverse direction, A could be an End.M.GTP6.E SID but that is not mandatory - a different address could be used (either the gNB address as I suggested or another local address on the GW). 6.4. End.M.GTP6.D.Di As mentioned in the other email, this is not needed? 6.5. End.M.GTP6.E The "Endpoint behavior with encapsulation for IPv6/GTP tunnel" behavior (End.M.GTP6.E for short) is used in interworking scenario for the downlink toward the legacy gNB using IPv6/GTP. This is used for uplink in drop-in mode as well. 6.6. End.M.GTP4.E S01. If (Next Header = UDP & UDP_Dest_port = GTP) { S02. Sotre the IPv6 DA and SA in buffer memory What is SA used for? The DA part provides all the information according to 5.3.2.2, which seems to be conflicting from the following: Notes: The End.M.GTP4.E SID in S has the following format: 0 127 +-----------------------+-------+----------------+---------+ | SRGW-IPv6-LOC-FUNC |IPv4DA |Args.Mob.Session|0 Padded | +-----------------------+-------+----------------+---------+ 128-a-b-c a b c Figure 9: End.M.GTP4.E SID Encoding The IPv6 Source Address has the following format: 0 127 +----------------------+--------+--------------------------+ | Source UPF Prefix |IPv4 SA | any bit pattern(ignored) | +----------------------+--------+--------------------------+ 128-a-b a b Figure 10: IPv6 SA Encoding for End.M.GTP4.E 6.7. H.M.GTP4.D Similarly, the example in 5.3.2.1 should be modified to match this. The prefix of B' SHOULD be an End.M.GTP4.E SID with its format instantiated at an SR gateway with the IPv4 SA of the receiving packet. Similarly, why is the above required? 6.8. End.Limit: Rate Limiting behavior Can you elaborate how this is used? An example of inserting this SID into one of the SRHs will be helpful. 9. Control Plane Considerations This document focuses on user-plane behavior and its independence from the control plane. While there are benefits in an enhanced control plane (e.g., to dynamically configure SR policies from a controller), this document does not impose any change to the existant mobility control plane. It should be pointed out that for aggregation, N2/N4 need to give out different NF addresses for different SLA/tenants. 10. Security Considerations The security considerations for Segment Routing are discussed in [RFC8402]. More specifically for SRv6 the security considerations and the mechanisms for securing an SR domain are discussed in [RFC8754]. Together, they describe the required security mechanisms that allow establishment of an SR domain of trust to operate SRv6-based services for internal traffic while preventing any external traffic from accessing or exploiting the SRv6-based services. The technology described in this document is applied to a mobile network that is within the SR Domain. This document introduces new SRv6 Endpoint Behaviors. Those behaviors do not need any special security consideration given that it is deployed within that SR Domain. For interworking, GTP and SRv6 packets are converted to each other. Does that mean encryption can not be used? That should be pointed out. Jeffrey
- [DMM] Additional draft-ietf-dmm-srv6-mobile-uplan… Jeffrey (Zhaohui) Zhang
- Re: [DMM] Additional draft-ietf-dmm-srv6-mobile-u… Pablo Camarillo (pcamaril)