As 5G has been rolling out worldwide, killer applications such as virtual reality (VR), augmented reality (AR), remote surgery, etc., are expected to be realized soon. These applications require are heterogeneous in Quality of Service (QoS) requirements, from throughput-hungry to large-scale connectivity and coverage (e.g., sensor networks) and real-time edge computing and artificial intelligence applications demanding stringent in-time/on-time services and ultra-high reliability. Although the dominant end-to-end protocol in the Internet, TCP, can efficiently and fairly share network resources and address reliability issues, it cannot guarantee throughput, delay, or jitter. Routers and switches do not know what users are asking for, so satisfying multi-dimensional QoS support is difficult if not impossible. Furthermore, the IP layer is designed based on the best-effort concept, incapable of timely delivery guarantee. In terms of implementing new QoS features, the conventional network architecture becomes a bottleneck. Therefore, a change in current TCP/IP protocol is necessary to satisfy the emerging QoS stringent applications' requirements.
eXpress Transport Protocol (XTP) is a transport layer protocol that was proposed in the 1990s. From 1988 to 1995, XTP has issued 4 versions. However, almost all XTP projects were terminated abruptly after 1996. Compared with TCP/UDP protocols, XTP has a better match between application requirements and transport protocol functionalities. XTP proposes many functions that the TCP and UDP protocols do not have. For example, multicast, priority, Rate and Burst Control, Connection Management, Selectable Error Control as well as Selective Retransmission and Acknowledgment. The XTP packet headers are of fixed size and contain sufficient information to screen and steer the packet through the network. Users can select the XTP function through the flat in the packet head. This design balances efficiency and flexibility.
However, there are still many imperfections in XTP. Although XTP gives users certain function options, the fixed header design prevents the addition of new functions. If new functions are added, the XTP header must be modified, which hinders the evolution of XTP. In addition, the transmission speed of XTP multicast depends on the worst-performing device in the multicast group. In this case, the efficiency of multicast is seriously affected.
This project will first review the XTP protocols, and we will then propose a simple protocol that not only adopts the idea of function decomposition in XTP but also support function evolution, which is the main difference from XTP protocol. Therefore, our protocol can flexibly add new features or functions to adapt to the requirements of new applications or services.
The expected delivery of the protocol will realize the following basic functions:
Reliable and unreliable connections
QoS control
Evolvability
In addition, we will implement our protocol upon UDP for proof of concept and do a simulation in NS3. The final deliverables include a project website, a midterm presentation, a final project report, and the code for our project.
The timeline for our project is planned as follows:
Feb 7 – 20: We will do the literature review to study the XTP protocol.
Feb 21 – Mar 10: We will design the protocol & Midterm update
Mar 10 – Apr 1: We will implement the protocol
Apr 1 – Apr 17: We will prepare report and presentations