Re: [alto] Schedule Cristina@IFES to talk about PolKA, a path-aware routing framework, at ALTO weekly meeting?

Cristina Klippel Dominicini <cristina.dominicini@ifes.edu.br> Sat, 21 May 2022 22:01 UTC

Return-Path: <cristina.dominicini@ifes.edu.br>
X-Original-To: alto@ietfa.amsl.com
Delivered-To: alto@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E3928C3CD073 for <alto@ietfa.amsl.com>; Sat, 21 May 2022 15:01:46 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.898
X-Spam-Level:
X-Spam-Status: No, score=-6.898 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 7fhNrjcrLIyl for <alto@ietfa.amsl.com>; Sat, 21 May 2022 15:01:42 -0700 (PDT)
Received: from ifes-antispam01.ifes.edu.br (bruna.ifes.edu.br [200.137.71.13]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 5E5C3C3CD074 for <alto@ietf.org>; Sat, 21 May 2022 15:01:41 -0700 (PDT)
Received: from ifes-antispam01.ifes.edu.br (localhost.localdomain [127.0.0.1]) by ifes-antispam01.ifes.edu.br (Proxmox) with ESMTP id 95FE8344F81; Sat, 21 May 2022 19:01:38 -0300 (-03)
Received: from bruna.ifes.edu.br (IFES-MAIL01.cefetes.br [172.16.0.22]) (using TLSv1.2 with cipher AES128-SHA256 (128/128 bits)) (No client certificate requested) by ifes-antispam01.ifes.edu.br (Proxmox) with ESMTPS; Sat, 21 May 2022 19:01:35 -0300 (-03)
Received: from IFES-MAIL03.cefetes.br (172.16.0.4) by IFES-MAIL01.cefetes.br (172.16.0.19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_RSA_WITH_AES_128_CBC_SHA256) id 15.2.922.20; Sat, 21 May 2022 19:01:35 -0300
Received: from IFES-MAIL03.cefetes.br ([::1]) by IFES-MAIL03.cefetes.br ([::1]) with mapi id 15.00.1497.033; Sat, 21 May 2022 19:01:35 -0300
From: Cristina Klippel Dominicini <cristina.dominicini@ifes.edu.br>
To: Qin Wu <bill.wu@huawei.com>, Qiao Xiang <xiangq27@gmail.com>, IETF ALTO <alto@ietf.org>
CC: Jordi Ros Giralt <jros@qti.qualcomm.com>, "kaigao@scu.edu.cn" <kaigao@scu.edu.cn>, "Moises R. N. Ribeiro" <moises@ele.ufes.br>, Magnos Martinello <magnos@inf.ufes.br>, Rodolfo da Silva Villaca <rodolfo.villaca@ufes.br>, Rafael Silva Guimarães <rafaelg@ifes.edu.br>, Everson Scherrer Borges <everson@ifes.edu.br>, Pedro Paulo Pecolo Filho <pedro.pecolo@ifes.edu.br>
Thread-Topic: [alto] Schedule Cristina@IFES to talk about PolKA, a path-aware routing framework, at ALTO weekly meeting?
Thread-Index: AdhqcVNj4Oq8BtWt40WYPwBWHgJ3PACHndG+ADOKtpE=
Date: Sat, 21 May 2022 22:01:35 +0000
Message-ID: <1653170497420.60294@ifes.edu.br>
References: <a56a2b08c9684b2595b2939e6579a365@huawei.com>, <1653170235088.76193@ifes.edu.br>
In-Reply-To: <1653170235088.76193@ifes.edu.br>
Accept-Language: pt-BR, en-US
Content-Language: pt-BR
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [179.234.235.164]
Content-Type: multipart/alternative; boundary="_000_165317049742060294ifesedubr_"
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/alto/bAoO30MnkuI-B6IQaRzzlwRsvno>
X-Mailman-Approved-At: Sun, 22 May 2022 22:30:59 -0700
Subject: Re: [alto] Schedule Cristina@IFES to talk about PolKA, a path-aware routing framework, at ALTO weekly meeting?
X-BeenThere: alto@ietf.org
X-Mailman-Version: 2.1.34
Precedence: list
List-Id: "Application-Layer Traffic Optimization \(alto\) WG mailing list" <alto.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/alto>, <mailto:alto-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/alto/>
List-Post: <mailto:alto@ietf.org>
List-Help: <mailto:alto-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/alto>, <mailto:alto-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 21 May 2022 22:01:47 -0000

Sorry for my mistake. The last e-mail was addressed to answer Qin's questions. Thanks Qin for the inspiring questions, and Qiao for introducing us to the ALTO group.


Best regards,
Cristina


________________________________
De: Cristina Klippel Dominicini
Enviado: sábado, 21 de maio de 2022 18:57
Para: Qin Wu; Qiao Xiang; IETF ALTO
Cc: Jordi Ros Giralt; kaigao@scu.edu.cn; Moises R. N. Ribeiro; Magnos Martinello; Rodolfo da Silva Villaca; Rafael Silva Guimarães; Everson Scherrer Borges; Pedro Paulo Pecolo Filho
Assunto: Re: [alto] Schedule Cristina@IFES to talk about PolKA, a path-aware routing framework, at ALTO weekly meeting?


Dear Qiao,

Thank you very much  for the feedback. It was a great exercise to study the ALTO documents and elaborate the answers.

>>It looks to me ALTO potentially provide PolKA needed data, PolKA can consume these data and used these data for path selection?
In theory, there is no obstacle, and PolKA could consume the data provided by ALTO and use it for path selection. However, we are not yet compliant to the ALTO data models. Thus, we have to work on the integration.
We envision PolKA as a complete architecture (very similar to what Segment Routing offers) that involves both management, control and data plane aspects. However, it is not yet as mature as Segment Routing. Our primary focus has been the data plane aspects, and now we are evolving the management and control aspects, including the interface with path-aware applications. At the moment, we use external path selection entities, and for a given path we are able to define at the edges an end-to-end path that will be deployed by the core nodes using our source routing mechanism.
As we discuss in the next questions, we believe PolKA changes the way applications can represent source-based paths in the network, and we are starting to explore these ideas.

>>1.       How source routing design is different from segment routing developed by IETF Spring work group?
The most traditional way of executing source routing is to represent the path as a list of output ports and the forwarding operation as a pop. Today, the most disseminated source routing protocol is Segment Routing. However, it presents some limitations:
- it depends on expensive equipment and proprietary implementations;
- its MPLS version still depends on tables in the core nodes;
- it depends on variable-length headers, which limits the number of maximum hops implementable in hardware switches; and
- there is no direct multicast support (https://www.ciscolive.com/c/dam/r/ciscolive/emea/docs/2019/pdf/BRKIPM-2249.pdf).
On the other hand, PolKA is a novel source routing approach that explores the Residue Number System and Chinese Remainder Theorem by performing the forwarding as an arithmetic operation: the remainder of division. In previous works, we demonstrated that PolKA can be deployed in high-performance P4-enabled programmable switches with the reuse of the CRC hardware, and our performance is equivalent to traditional approaches.
Thus, this special path encoding and routing mechanism allows PolKA to offer the following advantages:
- it does not keep any table in the core network;
- the packet header has fixed length and the route label does not change throughout the path;
- it can represent multipaths in the network layer for any topo (M-PolKA extension: https://ieeexplore.ieee.org/document/9738811).

To the best of our knowledge, there is no other multipath source routing method in the literature that is topology-agnostic, while not depending on tables in the core network. This is justified by the fact that the encoding of a multipath route label depends on the flattening of a tree, which is a non-linear structure. To tackle this problem, the related works either propose solutions tightly coupled to specific topologies (e.g. a fat-tree), or explore hybrid approaches that combine tables with SR (e.g., BIER: https://datatracker.ietf.org/doc/html/rfc8279). This problem can be solved by the RNS encoding, and our research group has been exploring it to enable a new range of complex network applications (e.g., multipath routing, telemetry, traffic splitting, proof-of-transit, …). From the application's point of view, this can be seen as an unprecedented power to represent source-based multipaths in the network.

In addition, we offer an open source implementation that can interoperate with standard protocols via the RARE/freeRtr project (http://docs.freertr.org/). For instance, we get available topology information from link-state routing protocols when calculating routeIDs, and create a static table mapping Segment Routing indexes to nodeID polynomials. It is important to note that the RNS encoding is transparent to the application, which only needs to define a path as a list of addresses, which is encoded by the control plane as routeID. An introductory presentation can be found here (demonstration from 31:33): https://www.youtube.com/watch?v=68vsAWAM8C0

>>2.       How ALTO network map, cost map, properties map can be leveraged or extended to provide needed data such as nodeID, portID, etc
The ALTO network map, cost map, properties can be used by the PolKA’s Controller as input for the path selection task. Currently, once the paths are selected, the Controller maps these decisions to route labels (routeID) that are installed at the edges. In the core network, the nodes are very simple and execute the forwarding with a simple mod operation of the route label in the packet by its own nodeID, which gives the output port (portID) in each node. The nodeIDs can be seen as static node configuration, and the routeIDs are calculated using the Chinese Remainder Theorem to encode a path, which is a set of nodeIDs and their output ports for that path.
Also, we envision the applications themselves could interact with the Controller and receive the appropriate route labels, acting as sources. Although we are currently evolving the management and control plane aspects of our architecture, the special properties of our data plane offers unique features that can be further explored by path-aware applications, as proposed by ALTO.

>>3.       Is the mechanism defined in PolKA used for overlay network or underlay network?
Ideally, PolKA was initially proposed for programmable networks, where all the core nodes can “speak” our protocol. To enable the deployment in legacy networks, we can have some PolKA-enabled nodes in the overlay, which are connected by the underlay network. We enabled this by creating PolKA tunnels over diverse encapsulations and policy-based routing to select between these tunnels in the overlay.
In fact, we are currently working in a demonstration:
We create an overlay network with PolKA tunnels using virtual circuits. Then, flows can be classified, balanced and steered using Policy-based routing. We can create a number of virtual circuits by dividing the capacity of the physical links and use them to serve the flows. Underlay congestion can be detected by tunnel monitoring and signalized to the overlay, and overlay routing can steer traffic from congested tunnels to other paths.

>>4.       How PolkA mechanism is different from path vector solution developed by IETF?
We don’t know the path vector solution in details, but it seems that it is related to the path selection optimization. Thus, PolKA Controller could use this to serve as the path selection mechanism, and later deploy the selected paths in the data plane.  Also, it is important to note that PolKA encodes the path in a routeID using the Residue Number System in contrast to the conventional list-based representation, which transports the path information “in clear” inside the packet header. Then, PolKA core nodes use this encoded route label to discover the output ports.

Please feel free to contact us if you have any doubts and we are available to schedule a call if you find interesting.

Best regards,
Cristina





________________________________
De: Qin Wu <bill.wu@huawei.com>
Enviado: quarta-feira, 18 de maio de 2022 01:54
Para: Qiao Xiang; IETF ALTO
Cc: Cristina Klippel Dominicini; Jordi Ros Giralt; kaigao@scu.edu.cn
Assunto: RE: [alto] Schedule Cristina@IFES to talk about PolKA, a path-aware routing framework, at ALTO weekly meeting?

Thanks Qiao for recommending this topic to ALTO weekly meeting and introducing Cristina to ALTO list.
Generally it seem a good idea to document the design of PolKA in the IETF draft, but we need to explain how this work is related to ALTO, Segment routing, PANRG,
It looks to me ALTO potentially provide PolKA needed data, PolKA can consume these data and used these data for path selection?
I have a few further questions and suggestions:

1.       How source routing design is different from segment routing developed by IETF Spring work group?

2.       How ALTO network map, cost map, properties map can be leveraged or extended to provide needed data such as nodeID, portID, etc

3.       Is the mechanism defined in PolKA used for overlay network or underlay network?

4.       How PolkA mechanism is different from path vector solution developed by IETF?

-Qin
???: alto [mailto:alto-bounces@ietf.org] ?? Qiao Xiang
????: 2022?5?16? 21:00
???: IETF ALTO <alto@ietf.org>
??: Cristina Klippel Dominicini <cristina.dominicini@ifes.edu.br>
??: [alto] Schedule Cristina@IFES to talk about PolKA, a path-aware routing framework, at ALTO weekly meeting?

Hi Qin and all,

I am writing to introduce you about Cristina Klippel Dominicini, a researcher from IFES, Brazil, and her work on path-aware routing.

Last week I had a wonderful online meeting with Cristina and her team. They are working on PolKA, a path-aware programmable source routing framework (https://events.geant.org/event/748/contributions/575/attachments/476/647/PolKA_-_TNC_-_final.pdf). They are collaborating with the SENSE project and the GEANT team to demonstrate and deploy PolKA. They also made presentations at previous PANRG meetings, and are considering writing an IETF draft documenting the design of PolKA.

Other than the original purpose of this meeting, which was to discuss potential synergies between PolKA and network verification, I also introduced Cristina about the ALTO WG, and encouraged her to consider submitting a paper to the coming NAI workshop. Given the close tie between path-aware networking and ALTO, we think there could be synergies and potential collaborations between the PolKA team and ALTO WG. As such, I am wondering, can we schedule a time slot for Cristina to present the PolKA framework at our weekly ALTO meeting? Thanks!


Best
Qiao
--
Qiao Xiang
Professor, Xiamen University

________________________________

Esta mensagem (incluindo anexos) contém informação confidencial destinada a um usuário específico e seu conteúdo é protegido por lei. Se você não é o destinatário correto deve apagar esta mensagem.

O emitente desta mensagem é responsável por seu conteúdo e endereçamento.
Cabe ao destinatário cuidar quanto ao tratamento adequado. A divulgação, reprodução e/ou distribuição sem a devida autorização ou qualquer outra ação sem conformidade com as normas internas do Ifes são proibidas e passíveis de sanção disciplinar, cível e criminal.