Transport Protocol Issues of In-Network Computing Systems
draft-kunze-coinrg-transport-issues-00
The information below is for an old version of the document.
| Document | Type | Active Internet-Draft (individual) | |
|---|---|---|---|
| Authors | Ike Kunze , Klaus Wehrle | ||
| Last updated | 2019-11-04 | ||
| Stream | (None) | ||
| Formats | plain text htmlized pdfized bibtex | ||
| Stream | Stream state | (No stream defined) | |
| Consensus boilerplate | Unknown | ||
| RFC Editor Note | (None) | ||
| IESG | IESG state | I-D Exists | |
| Telechat date | (None) | ||
| Responsible AD | (None) | ||
| Send notices to | (None) |
draft-kunze-coinrg-transport-issues-00
COINRG I. Kunze
Internet-Draft K. Wehrle
Intended status: Informational RWTH Aachen University
Expires: May 7, 2020 November 04, 2019
Transport Protocol Issues of In-Network Computing Systems
draft-kunze-coinrg-transport-issues-00
Abstract
Today's transport protocols offer a variety of functionality based on
the notion that the network is to be treated as an unreliable
communication medium. Some, like TCP, establish a reliable
connection on top of the unreliable network while others, like UDP,
simply transmit datagrams without a connection and without guarantees
into the network. These fundamental differences in functionality
have a significant impact on how COIN approaches can be designed and
implemented. Furthermore, traditional transport protocols are not
designed for the multi-party communication principles that underlie
many COIN approaches. This document discusses selected
characteristics of transport protocols which have to be adapted to
support COIN functionality.
Status of This Memo
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 May 7, 2020.
Copyright Notice
Copyright (c) 2019 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
Kunze & Wehrle Expires May 7, 2020 [Page 1]
Internet-Draft COIN Transport Issues November 2019
(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.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Addressing . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Flow granularity . . . . . . . . . . . . . . . . . . . . . . 4
4. Authentication . . . . . . . . . . . . . . . . . . . . . . . 5
5. Security . . . . . . . . . . . . . . . . . . . . . . . . . . 5
6. Advanced Transport Features . . . . . . . . . . . . . . . . . 6
7. Security Considerations . . . . . . . . . . . . . . . . . . . 7
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7
9. Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . 7
10. Informative References . . . . . . . . . . . . . . . . . . . 7
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 8
1. Introduction
A fundamental design choice of the Internet is that the network
should be kept as simple as possible while complexity in the form of
processing should ideally be located at the edges of the network,
i.e., on end-hosts. This choice is reflected in the widely known
end-to-end principle which states that end-hosts directly address
each other and perform all relevant computations while the only
purpose of the network is to deliver the packets without modifying
them. Transport protocols are consequently designed to facilitate
the direct communication between end-hosts.
In practice, the end-to-end principle is often violated by
intransparent middleboxes which alter transmitted packets, e.g., by
dropping or changing header fields. Contrary to that, COIN
encourages explicit computations in the network which introduces an
intertwined complexity as the concrete computations on the end-hosts
critically depend on the functionality that is deployed in the
network. On another note, it challenges traditional end-to-end
transport protocols as they lack means for addressing in-network
computation entities and as they are generally not designed to
include more than two devices into a communication. Some of these
problems are already presented in [I-D.draft-kutscher-coinrg-dir-00].
This draft intends to discuss potential problems for traditional
transport protocols in more detail to raise questions that the COIN
community needs to solve before a widespread application of COIN
Kunze & Wehrle Expires May 7, 2020 [Page 2]
Internet-Draft COIN Transport Issues November 2019
functionality is sensible. Collaboration with other IRTF and IETF
groups, such as PANRG, the IETF transport area in general, or the
LOOPS BOF, can help in finding suitable solutions.
2. Addressing
The traditional addressing concept of the Internet are end-hosts
directly addressing each other, with all computational intelligence
residing at the network edges. As other COIN drafts, such as
[I-D.draft-montpetit-coin-xr-03],
[I-D.draft-he-coin-managed-networks-01] and
[I-D.draft-kunze-coin-industrial-use-cases-00], and extensive
publications, such as [DANG], [RUETH] and [SAPIO], in the last years
have shown, performing some computations within the network offers
the prospect of improved application performance. In systems like
data centers, which do not rely on the Internet and where the whole
network is under the control of the network operator, integrating
such functionality can be done by explicitly adjusting the
communication schemes within these fully controlled systems based on
the functionality that is executed in the network.
With a widespread application of COIN and a consequent increase in
computational capacities in the network, however, it might also
become viable to deploy functionality in the 'wild' Internet so that
everyday applications might also benefit from these computations. At
this point, it is no longer feasible to manually adjust the traffic
patterns or the applications to correctly incorporate changes made by
the network.
It might thus make sense to make it possible to specify which kind of
functionality should be applied to the transmitted data on the path
inside the network, maybe even where or by whom exactly the execution
should take place. Such functionality could for example be
implemented using an indirection mechanisms which routes a packet
along a pre-defined or dynamically chosen path which then realizes
the desired functionality. Related concepts which might be of use
are Segment and Source Routing as well as (Service/Network) Function
Chaining/Composition.
The main challenges/questions at this point are:
1. How should end-hosts address the functionality within the
network?
2. How exactly can the end-hosts influence where or by whom the
functionality is executed?
Kunze & Wehrle Expires May 7, 2020 [Page 3]
Internet-Draft COIN Transport Issues November 2019
3. How can devices which do not implement COIN functionality be
integrated into the systems without breaking the COIN or legacy
functionality?
Assuming that there is a suitable addressing scheme which allows to
define which kinds of functionality should be applied to the
transmitted data, a next question that arises is how the transmitted
data is to be treated by the devices implementing the functionality.
3. Flow granularity
Core networking hardware pipelines such as backbone switches serving
several tens of GBit/s are built to process incoming packets on a
per-packet basis, keeping little to no state between them. While
this is appropriate for the general task of forwarding packets, it
might not be sufficient for performing computations as related
information that is needed for the computations can be spread across
several packets. In a TCP stream, for example, data is dynamically
distributed across different segments which means that the data
needed for application-level computations might also be split up. In
contrast to that the content of UDP datagrams is defined by the
application itself which is why the datagrams could either be self-
contained or information can be cleverly distributed onto different
datagrams. The common scheme is that different transport protocols
induce different meanings to the packets that they send out which
needs to be accounted for in COIN elements as they have to know how
the received data is to be interpreted. There are at least three
options for this.
1. Every packet should be treated individually. This, above all,
perfectly meets the possibilities that are already offered by all
networking equipment.
2. Every packet should be treated as part of a message. In this
setting, the packet alone does not have enough information for
the computations. Instead, it is important to know the content
of the surrounding packets which together form the overall
message and might hence also be relevant for the computations.
3. Every packet should be treated as part of a byte stream. Here,
all previous packets and potentially even all following packets
need to be taken into consideration for the computations as the
current packet could, e.g., be the first of a group of packets, a
packet in the middle or the final packet of a sequence of
packets.
The flow granularity consequently has a significant impact on how
computations can be performed and where. Apart from how the COIN
Kunze & Wehrle Expires May 7, 2020 [Page 4]
Internet-Draft COIN Transport Issues November 2019
elements should treat the transmitted data, another important aspect
is how it can be ensured that the end-hosts know who has altered the
data and how.
4. Authentication
The realisation of COIN legitimizes and actively promotes that data
transmitted from one host to another can be altered on the way inside
the network. While this can be beneficial if implemented correctly,
it also opens the door for foul play as all intermediate network
elements - no matter if they are malicious or misbehaving by
accident, COIN elements, or 'traditional' middleboxes - could simply
start altering parts of the original data and thus potentially cause
harm to the end-hosts. What is consequently needed is a mechanism
with which the receiving host can verify (a) how and (b) by whom the
data has been altered on the way. In fact, these might very well be
two distinct mechanisms as one (a) only focusses on the changes that
are made to the data while (b) requires a scheme with which COIN
elements can be uniquely identified (could very well relate to
Section 2) and subsequently authenticated.
The challenges at this point are thus the following:
1. How are changes to the data within the network communicated to
the end-hosts?
2. How are the COIN elements that are responsible for the changes
communicated to the end-hosts?
3. How is it verified that indeed the proclaimed COIN elements have
performed the changes and not some impostor?
5. Security
Today, most, if not all, COIN concepts base on the fact that the data
is transmitted in plain text as this makes working on the data easy.
This is in contrast to a general development which sees more and more
security features added to communication protocols, nicely
highlighted by QUIC where the all payload data and almost all header
content (except for the spin bit) is already encrypted inside the
transport layer. This, in turn, makes COIN concepts infeasible in
settings where QUIC connections are used as the COIN elements do not
have access to any packet content. As waiving security features is
generally not acceptable, the widespread success of COIN might very
well also depend on how well security mechanisms like encryption can
be integrated into COIN frameworks.
Kunze & Wehrle Expires May 7, 2020 [Page 5]
Internet-Draft COIN Transport Issues November 2019
Together, the four aspects presented in Section 2 to Section 5 form a
set of fundamental properties that should be taken into account for a
basic transport-compatible realization of COIN. What is not yet
considered is the fact that different transport protocols typically
differ in functionality and thus have a significantly different
behavior. In the following, we briefly discuss select additional
transport features to create awareness for the multifaceted
interaction between the transport protocols and COIN elements.
6. Advanced Transport Features
There is a variety of transport features which are only supported in
some concrete transport implementations. Still, they have a
significant impact on the behavior and performance of the protocols.
One aspect is that some protocols offer reliability while others do
not. This is for example visible when comparing UDP, a
connectionless protocol without guarantees, to TCP which first sets
up a dedicated connection and then ensures the successful reception
of all data. When facing UDP transmissions, COIN elements
potentially have to cope with lost information while with TCP it is
fairly save to say that the packets will reach them at some point.
This, however, also makes it more difficult for COIN elements as TCP
retransmissions, which are issued once a packet has been detected as
lost, are sent drastically out of order with the original packet
sequence.
Thinking one step further, retransmissions are sent from the original
sender of the packet. In a communication setting with COIN elements
in between, resending the packet through the complete sequence of
elements might not be necessary if, e.g., a packet is lost at the
last stage of a sequence of COIN elements. Here, it might be enough
if this last element resends the packet, although this in turn means
that there have to be storage capabilities on the devices enabling
them to store a certain number of packets and have them ready for
retransmission. The general question, i.e., which of the nodes in
the sequence should actually do the retransmission, has already been
worked on in the context of multicast transport protocols.
Now focussing on the aspect of storage capabilities, it can be said
that different COIN devices have different computational and storage
capacities which can become a challenge if they have to hold some
packets (potentially for retransmission) or if they are supposed to
embed into TCP for which they might be forced to hold some form of
TCP's state. Consequently, it is very likely that not every form of
transport integration into COIN can be supported by every available
COIN platform. The choice of devices included into the communication
Kunze & Wehrle Expires May 7, 2020 [Page 6]
Internet-Draft COIN Transport Issues November 2019
will hence certainly affect the types of transport protocols that can
be operated on the COIN networks.
Another aspect is flow and congestion control to avoid overloading
the receiving end-host and the network; it is included in TCP, but
not in UDP, but has an impact on how the end-hosts can send their
data.
All in all, there is a wide range of non-essential transport features
which nonetheless offer improved performance in certain settings and
for certain application combinations. However, as presented, it is
likely that not all of the features/types of transport protocols can
be supported on every COIN element. A potential approach might be to
define different classes of COIN-ready transport protocols which can
then be deployed depending on the concretely available networking/
hardware elements.
7. Security Considerations
TBD
8. IANA Considerations
N/A
9. Conclusion
The advent of COIN comes with many new use cases and promises
improved solutions for various problems. It is, however, not
directly compatible with the end-to-end nature of transport
protocols. To enable a transport-based communication, it is thus
important to answer key questions regarding COIN and transport
protocols, some of which are raised in this document.
10. Informative References
[DANG] Dang, HT., "NetPaxos: Consensus at Network Speed", DOI:
10.1145/2774993.2774999, in SOSR, 2015.
[I-D.draft-he-coin-managed-networks-01]
He, J., Li, A., and M. Montpetit, "In-Network Computing
for Managed Networks: Use Cases and Research Challenges",
draft-he-coin-managed-networks-01 (work in progress), July
2019.
Kunze & Wehrle Expires May 7, 2020 [Page 7]
Internet-Draft COIN Transport Issues November 2019
[I-D.draft-kunze-coin-industrial-use-cases-00]
Kunze, I., Rueth, J., and K. Wehrle, "Industrial Use Cases
for In-Network Computing", draft-kunze-coin-industrial-
use-cases-00 (work in progress), July 2019.
[I-D.draft-kutscher-coinrg-dir-00]
Kutscher, D., Karkkainen, T., and J. Ott, "Directions for
Computing in the Network", draft-kutscher-coinrg-dir-00
(work in progress), July 2019.
[I-D.draft-montpetit-coin-xr-03]
Montpetit, M., "In Network Computing Enablers for Extended
Reality", draft-montpetit-coin-xr-03 (work in progress),
July 2019.
[RUETH] Rueth, J., "Towards In-Network Industrial Feedback
Control", DOI: 10.1145/3229591.3229592, in ACM SIGCOMM
NetCompute, August 2018.
[SAPIO] Sapio, A., "Scaling Distributed Machine Learning with In-
Network Aggregation", 2019,
<https://arxiv.org/abs/1903.06701>.
Authors' Addresses
Ike Kunze
RWTH Aachen University
Ahornstr. 55
Aachen D-50274
Germany
Phone: +49-241-80-21422
Email: kunze@comsys.rwth-aachen.de
Klaus Wehrle
RWTH Aachen University
Ahornstr. 55
Aachen D-50274
Germany
Phone: +49-241-80-21401
Email: wehrle@comsys.rwth-aachen.de
Kunze & Wehrle Expires May 7, 2020 [Page 8]