Hop-By-Hop Best Effort Link Layer Reliability in Named Data Networking
Total Page:16
File Type:pdf, Size:1020Kb
NDN, Technical Report NDN-0041, 2016. http://named-data.net/techreports.html 1 Revision 1: August 26, 2016 Hop-By-Hop Best Effort Link Layer Reliability in Named Data Networking Satyanarayana Vusirikala∗, Spyridon Mastorakisy, Alexander Afanasyevy, Lixia Zhangy ∗MSR India, [email protected] yUniversity of California, Los Angeles, {mastorakis, aa, lixia}@cs.ucla.edu Abstract—Named Data Networking (NDN) supports the best retransmission timers for loss detection and piggybacks ac- effort data retrieval using Interest-Data exchanges. When either knowledgments on packets going the reverse direction. We an Interest or Data packet is lost and not recovered by the evaluate BELRP performance through extensive simulations router’s Interest forwarding strategy (e.g., by retransmitting the Interest along an alternative path), relying on end applications (SectionIV), which show that BELRP can substantially im- for loss detection may add significant delays in data retrieval prove application performance in high-loss network environ- that can impact application performance. In this paper, we ments with very low cost in both additional delay and node propose a best effort hop-by-hop link layer reliability protocol processing and storage. We discuss design trade-offs and (BELRP) for point-to-point communication links. BELRP makes possible extensions in SectionV. Although BELRP is designed a quick, non-persistent attempt to detect and recover packet losses over a single link with minimal delay. We evaluated BELRP to meet the performance needs of the Named Data Networking through simulations and our results show that BELRP can (NDN) architecture, as a link layer protocol BELRP is inde- significantly shorten data retrieval delays and hence improve pendent of the network architecture, thus should be generally application performance, especially over networks with non- applicable to other packet-switched networks including today’s negligible probability of packet losses. TCP/IP-based Internet. The contribution of this report is two-fold. First, it presents the BELRP design and elaborates on the design decision I. INTRODUCTION and trade-off considerations. Second, it reports the perfor- The Named Data Networking (NDN) [1] architecture pro- mance evaluation results from simulation studies showing that vides a best effort data retrieval service: applications send BELRP achieves its design goals. Interest packets which carry the names of requested data, and Data packets with matching names are returned. If either an II. RELATED WORK Interest or Data packet is lost during the transmission due The existing works on reliable data delivery protocols can be to bit errors, network congestion, link outages, or hardware roughly sorted into two categories. The first one, represented failures, the application needs to re-express the Interest if it by TCP and its variants, performs loss detection and recovery still wants the data. However, relying on applications to detect at the end-to-end level [2,3,4,5]. As suggested by Saltzer and recover from packet losses may significantly impact data et al. [6], this end-to-end principle removes the dependency retrieval delays. Non-trivial packet loss rate can also severely on the underlying protocols for reliable data delivery to impact the quality of delay-sensitive applications which cannot applications.1 afford the delays associated with end-to-end loss recoveries. The second category of reliability protocols, such as In this paper, we design a best effort hop-by-hop link X.25 [7], 802.11 [8] and other protocols for wireless net- layer reliability protocol (BELRP) that makes the best effort works [9, 10, 11], performs hop-by-hop loss recovery. In this to recover from packet losses across point-to-point links. case, intermediate nodes detect packet losses and perform Intuitively, hop-by-hop loss detection and recovery should retransmissions. Some of them, including 802.11, only provide cost much less delay and overhead than the end-to-end ap- best effort reliability, retransmitting each lost packet up to a proach. However, given loss detection and data retransmission given number of times only, without guarantee of eventual necessarily introduce a certain amount of delay, one design recovery of all packet losses. challenge is how to minimize the delay due to BELRP to A common ingredient in all the schemes for reliable delivery work seamlessly for delay-sensitive applications, and to mini- is retransmission timers. For example, TCP uses a retrans- mize the interference with end-to-end reliability mechanisms. mission timer to detect losses and trigger retransmissions. Another design challenge is how to make BELRP as simple However, because timers use past network conditions to make as possible to minimize the processing and storage overhead an estimation of the future round trip delays to decide when on forwarders. to retransmit a packet, choosing a proper retransmission timer To address the above challenges, the BELRP design, as value faces the dilemma between superfluous retransmissions described in Section III, uses sequence numbers instead of 1Note that the end-to-end principle does not preclude lower layers from ∗This work was done while the author worked at UCLA as an intern during assisting the reliable delivery, it simply stresses that the higher levels should summer 2015. be ultimately responsible for delivery guarantee. 2 when timing out too early and delayed loss recovery when lost frame, the message encapsulated in this frame might be timing out too late [12, 13, 14, 15, 16, 17]. retransmitted by a higher layer reliability mechanism or be no To avoid superfluous retransmissions, TCP retransmission longer necessary. timer setting leans towards the conservative end. To avoid To minimize this potential interference, BELRP limits its waiting for too long before retransmission, TCP introduces number of retransmission attempts, i.e., is a best effort service. a fast retransmission mechanism, counting the number of If a frame is lost more than a pre-configured number of times duplicate ACKs, to detect packet losses and initiate retrans- across a link, BELRP stops trying and leaves to the higher mission before the timer goes off [18]. Another approach layer mechanisms to take appropriate actions. to detect losses without relying on timers is by observing To fully understand the trade-off of how hard BELRP should gaps in message sequence numbers [19]. When such a gap try to restore a lost frame, we performed simulation experi- is detected, it is assumed to be a lost packet which is then ments with varying numbers of maximum retransmissions as retransmitted without waiting for the timeout. However as discussed in sectionIV. pointed out by [12], a retransmission timer is still needed as a last resort for loss detection when all other means fail. For C. BELRP Loss Detection example, either ACK or NACK packets can get lost, and one cannot detect the loss of the last packet in a sequence by BELRP uses sequence numbers to detect data frame losses. observing gaps in sequence numbers. More specifically, when a packet is received from the network BELRP detects losses and performs retransmissions on a layer, BELRP adds two sequence numbers to it: (1) a frame hop-by-hop basis. Instead of using a retransmission timer, it number, and (2) a packet number. A new packet number is achieves fast loss detection by observing gaps in sequence assigned to every packet received from the network layer, and numbers carried in the packet between two adjacent neighbor a new frame number is assigned to every outgoing frame nodes. It bounds the loss recovery delay by limiting the transmitted by the link layer. When a packet P needs to recovery attempts to a small number2 and gives up after that, be retransmitted, P keeps the same packet number, but a hence it is termed a best effort protocol. new frame number is assigned to the frame carrying this retransmitted P. The sender uses a buffer to keep every frame that has not been acknowledged, which contains both its packet III. PROTOCOL DESIGN and frame numbers. In this section, we present the design of BELRP. We Upon receiving a frame, the link layer receiver responds first describe our design goals and then we elaborate on the with an acknowledgment (ACK) containing the frame number basic ideas of the design, including best effort reliability, of the received frame. When the ACK of a frame is received, loss detection mechanism, and acknowledgment redundancy. the sender removes the corresponding frame from the buffer. Finally, we analyze the overhead of our scheme in terms of the When a gap is observed in the incoming ACK stream, the required network and host resources, application performance sender assigns the lost frame F the next unused frame number and host processing. and retransmits it immediately, then increase the retransmis- sion count by 1. Using separate packet and frame numbers A. Design Goals helps the sender keep track of which packets have not been ACKed based on the packet sequence number, and use gaps NDN applications that require reliable data delivery will in the acknowledged frame number sequence to detect losses, deploy end-to-end reliability mechanisms. BELRP aims to a solution similar to the one used in QUIC [20]. minimize end-to-end retransmissions by minimizing packet Algorithm1 describes the protocol operation when the losses as observed at the application level, at the same time link layer receives a packet from the network layer (Send avoiding falsely triggering end retransmissions. The basic function) and when the receiver receives a frame from the design goals include sender (Receive function). Received ACKs are processed using • Keep the additional delays due to hop-by-hop retransmis- the ReceiveACK function. sion minimal. • Keep the protocol simple to avoid adding too much complexity to node processing. D. Minimizing Unnecessary Retransmissions • Minimize protocol cost and overhead. According to the above description, a retransmission can be triggered by the following 3 cases: B.