Internet-Draft | Routing Challenges | June 2021 |
King & Farrel | Expires 16 December 2021 | [Page] |
Historically, the meaning of an IP address has been to identify an interface on a network device. Routing protocols were developed based on the assumption that a destination address had this semantic.¶
Over time, routing decisions were enhanced to route packets according to additional information carried within the packets and dependent on policy coded in, configured at, or signaled to the routers.¶
Many proposals have been made to add semantics to IP addresses. The intent is usually to facilitate routing decisions based solely on the address and without the need to find and process information carried in other fields within the packets.¶
This document describes the challenges to the existing routing system that are introduced by the addition of semantics to IP addresses. It then summarizes the opportunities for research into new or modified routing protocols to make use of new address semantics.¶
This document is presented as study to support further research into clarifying and understanding the issues. It does not pass comment on the advisability or practicality of any of the proposals and does not define any technical solutions.¶
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 16 December 2021.¶
Copyright (c) 2021 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.¶
Historically, the meaning of an IP address has been to identify an interface on a network device. Network routing protocols were initially designed to determine paths through the network toward destination addresses so that IP packets with a common destination address converged on that destination. Anycast and multicast addresses were also defined and these new address semantics necessitated variations to the routing protocols and the development of new protocols.¶
Over time, routing decisions were enhanced to route packets according to additional information carried within the packets and dependent on policy coded in, configured at, or signaled to the routers. Perhaps the most obvious example is Equal-Cost Multipath (ECMP) where a router makes a consistent choice for forwarding packets over a number of parallel links or paths based on the values of a set of fields in the packet header.¶
Many proposals have been made to add semantics to IP addresses. The intent is usually to facilitate routing decisions based solely on the address and without the need to find and process information carried in other fields within the packets. We call this approach "Semantic Addressing".¶
There are many approaches to Semantic Addressing. These range from assigning a prefix to have a special purpose and meaning (such as is done for multicast addressing) through allowing the owner of a prefix to use the low-order bits of an address for their own purposes. Some Semantic Addressing proposals suggest variable address lengths, others offer hierarchical addresses, and some introduce a structure to addresses so that they can carry additional information in a common way.¶
A survey of ways in which routing decisions have been made based on additional information carried in packets, and a catalogue of proposals for Semantic Addressing can be found in [I-D.king-irtf-semantic-routing-survey].¶
Some Semantic Addressing proposals are intended to be deployed in limited domains [RFC8799] (networks) that are IP-based, while other proposals are intended for use across the Internet. The impact the proposals have on routing systems may require clean-slate solutions, hybrid solutions, extensions to existing routing protocols, or potentially no changes at all.¶
This document describes some of the key challenges to routing that are present in today's IP networks. It then defines the concept of "Semantic Routing" and presents some of the challenges to the existing routing system that Semantic Addressing may present. Finally, this document presents a list of related research questions that offer opportunities for future research into new or modified routing protocols that make use of Semantic Addressing.¶
In this document, the focus is on routing and forwarding at the IP layer. It is possible that a variety of overlay mechanisms exist to perform service or path routing at higher layers, and that those approaches may be based on Semantic Addresses, but that is out of scope for this document. Similarly, it is possible that Semantic Addresses can be applied in a number of underlay network technologies, and that, too, is out of scope for this document.¶
This document draws on surveys and analysis performed in "Survey of Semantic Internet Routing Techniques" [I-D.king-irtf-semantic-routing-survey].¶
Today's IP routing faces several significant challenges which are a consequence of the architectural design decisions and exponential growth. These challenges include mobility, multihoming, programmable paths, scalability and security, and were not the focus of the original design of the Internet. Nevertheless, IP-based networks have, in general, coped well in an incremental manner as each new challenge has evolved. This list is presented to give context to the continuing requirements that routing protocols must meet as new semantics are applied to IP addresses.¶
Some of the challenges outlined here were previously considered within the IETF by the IABs "Routing and Addressing Workshop" held in Amsterdam, The Netherlands on October 18-19, 2006 [RFC4984]. Several architectures and protocols have since been developed and worked on within and outside the IETF, and these are examined in [I-D.king-irtf-semantic-routing-survey].¶
Typically, in an IP-based network packets are forwarded using the least cost path to the destination IP address. Service Providers may also use techniques to modify the default forwarding behavior based on other information present in the packet and configured or programmed into the routers. These mechanisms, sometimes called semantic routing techniques include "Preferential Routing", "Policy-based Routing", and "Flow steering".¶
Examples of semantic routing usage for IP-based networks include the following:¶
A detailed description of IP-based semantic routing, and a survey of semantic routing proposals research projects can be found in [I-D.king-irtf-semantic-routing-survey].¶
Several technical challenges exist for semantic routing in IP-based network. These include:¶
Semantic data may be applied in a number of ways to integrate with existing routing architectures. The most obvious is to build an overlay such that IP is used only to route packets between network nodes that utilize the semantics at a higher layer. There are a number of existing uses of this approach including Service Function Chaining (SFC) [RFC7665] and Information Centric Networking (ICN) [RFC8763]. An overlay may be achieved in a higher protocol layer, or may be performed using tunneling techniques (such as IP-in-IP) to traverse the areas of the IP network that cannot parse additional semantics thereby joining together those nodes that use the semantic data.¶
The application of semantics may also be constrained to within a limited domain. In some cases, such a domain will use IP, but be disconnected from Internet (see Section 3.1.1). In other cases, traffic from within the domain is exchanged with other domains that are connected together across an IP-based network using tunnels or via application gateways (see Section 3.1.2). And in still another case traffic from the domain is routed across the Internet to other nodes and this requires backward-compatible routing approaches (see Section 3.1.3).¶
Some IP network domains are entirely isolated from the Internet and other IP-based networks. In these cases, there is no risk to external networks from any semantic addressing or routing schemes carried out within the domain. Thus, the challenges are limited to enabling the desired function within the domain.¶
All of the challenges could exist even in a limited domain, but the impact may be significantly reduced both because of the limited size of the domain, and because there is no need to interact with native IP routers.¶
Many approaches in isolated domains will utilize environment-specific routing protocols. For example, those suited to constrained environments (for IoT) or mobile environments (for smart vehicles). Such routing protocols can be optimized for the exchange of information specific to semantic routing.¶
In some deployments, it will be desirable to connect together a number of isolated domains to build a larger network. These domains may be connected (or bridged) over an IP network or even over the Internet.¶
Ideally, the function of the bridged domains should not be impeded by how they are connected, and the operation of the IP network providing the connectivity should not be compromised by the act of carrying traffic between the domains. This can generally be achieved by tunneling the packets between domains using any tunneling technique, and this will not require the IP network to know about the semantic routing used by the domains. The challenges in this scenario are very similar to those for Section 3.1.1 except that the network created from the set of domains may be larger, and some routing mechanism must be applied to know in which remote domain a destination is situated.¶
An alternative to tunneling is achieved using gateway functionality where packets from a domain are mapped at the domain boundary to produce regular IP packets that are sent across the IP network to the boundary of the destination domain where they are mapped back into packets for use within that domain. Such an approach presents additional challenges especially at the boundary of the destination domain where some mechanism must enable the mapping back into semantic-enabled packets.¶
A semantic prefix domain [I-D.jiang-semantic-prefix] is a portion of the Internet over which a consistent set of semantic-based policies are administered in a coordinated fashion. This is achieved by assigning a routable address prefix (or a set of prefixes) for use with semantic addressing and routing so that packets may be routed through the regular IP network (or the Internet) using the prefix and without encountering or having to use any semantic addressing. Once delivered to the semantic prefix domain, a packet can be subjected to whatever semantic routing is enabled in the domain.¶
Examples of semantic prefix domains include:¶
A semantic prefix domain has a set of pre-established semantic definitions which are only meaningful locally. Without an efficient mechanism for notification, exchange, or configuration of semantics, the definitions of semantics are only meaningful within the local semantic prefix domain, and the addresses on a packet from within a domain risk being misinterpreted by hosts and routers outside the domain. While, sharing semantic definitions among semantic prefix domains would enable wider semantic-based network function, such approaches run the risk of complexity caused by overlapping semantics, and require a significant trust model between network operators. More successful approaches to multi-domain semantics might be to rely either on backwards-compatible techniques or on standardized semantics.¶
A semantic prefix domain may also span several physical networks and traverse multiple service provider networks. However, when an interim network is traversed (such as when an intermediary network is used for interconnectivity) the relevance of the semantics is limited to network domains that share a common semantic policy, and tunneling may be needed to traverse transit domains.¶
Examples of prefix-partitioned semantic addressing that already exist include:¶
It may not be possible to embrace all emerging scenarios outlined in this document with a single approach or solution. Requirements such as 5G mobility, near-space-networking, and networking for outer-space, may need to be handled using separate network technologies. Therefore, developing a new Internet architecture that is both economically feasible and which has the support of the networking equipment vendors, is a significant challenge in the immediate future of the Internet.¶
Improving IP-based network capabilities and capacity to scale, and address a set of growing requirements presents significant research challenges, and will require contributions from the networking research community.¶
Research into semantic addressing should be founded on regular scientific research principles [royalsoc]. Given the importance of the Internet today, it is critical that research is targeted, rigorous, and reproducible.¶
The most valuable research will go beyond an initial hypothesis, a report of the work done, and the results observed. Although that is a required foundation, networking research needs to be independently reproducible so that claims can be verified or falsified. Further, the networks on which the research is carried out need to both reflect the characteristics that are being explicitly tested, and reproduce the variety of real networks that constitute the Internet.¶
Thus, when conducting experiments and research to address the questions in the next section, attention should be given to how the work is documented and how meaningful the test environment is, with a strong emphasis on making it possible for others to reproduce and validate the work.¶
As research into the scenarios and possible uses of semantic addressing progresses, a number of questions need to be addressed in the scope of routing. These questions go beyond "Why do we need this function?" and "What could we achieve by carrying this additional semantic in an IP address?" The questions are also distinct from issues of how the additional semantics can be encoded within an IP address. All of those issues are, of course, important considerations in the debate about semantic addressing, but they form part of the essential groundwork of research into semantic addressing itself.¶
This section sets out some of the concerns about how the routing system might be impacted by the use of semantic addressing. These questions need to be addressed in separate research work or folded into the discussion of each semantic addressing proposal.¶
What is the scope of the semantic address proposal? This question may be answered as:¶
Underlying this issue is a broader question about the boundaries of the use of IP, and the limit of "the Internet". If a limited domain is used, is it a semantic prefix domain [RFC8799] where a part of the IP address space identifies the domain so that an address is routable to the domain but the additional semantics are used only within the domain, or is the address used exclusively within the domain so that the external impact of the routability of the address that carries additional semantics is not important?¶
What path characteristics are needed for the routed paths? Since one of the purposes of adding semantics to IP addresses is to cause special processing by routers, it is important to understand what behaviors are wanted. Such path characteristics include (but are not limited to):¶
In these cases, how do the routing protocols utilize the address semantics to determine the desired characteristics? What additional information about the network does the protocol need to gather? What changes to the routing algorithm is needed to deliver packets according to the desired characteristics?¶
Can we solve these routing challenges with existing routing tools and methods? We can break this question into more detailed questions.¶
Do we need new routing protocols? We might ask some subsidiary questions:¶
Do we need new management tools and techniques? Management of the routing system (especially diagnostic management) is a crucial and often neglected part of the problem space.¶
What is the scalability impact for routing systems? Scalability can be measured as:¶
For all questions of routing scalability, research that presents real numbers based on credible example networks is highly desirable.¶
To what extent can multicast be developed:¶
Research into semantic addressing and routing must give full consideration to the security and privacy issues that are introduced by these mechanisms. Placing additional information into address fields might reveal details of what the packet is for, what function the user is performing, who the user is, etc. Furthermore, in-flight modification of the additional information might not directly change the destination of the packet, but might change how the packet is handled within the network and at the destination.¶
This document makes no requests for IANA action.¶
Thanks to Stewart Bryant for useful conversations. Luigi Iannone, Robert Raszuk, Dirk Trossen, Ron Bonica, Marie-Jose Montpetit, Yizhou Li, Toerless Eckert, Tony Li, Joel Halpern, Stephen Farrell, and Carsten Bormann made helpful suggestions.¶
This work is partially supported by the European Commission under Horizon 2020 grant agreement number 101015857 Secured autonomic traffic management for a Tera of SDN flows (Teraflow).¶
Joanna Dang Email: dangjuanna@huawei.com¶