Requirements for new work on fragments in 6lo (mesh) networks

Similar documents
IoT Roadmap in the IETF. Ines Robles

Managing Caching Performance and Differentiated Services

Transmission Control Protocol. ITS 413 Internet Technologies and Applications

Does current Internet Transport work over Wireless? Reviewing the status of IETF work in this area

draft-ietf-lpwan-ipv6-static-context-hc-10

Lecture 15: TCP over wireless networks. Mythili Vutukuru CS 653 Spring 2014 March 13, Thursday

TCP based Receiver Assistant Congestion Control

More Accurate ECN Feedback in TCP draft-ietf-tcpm-accurate-ecn-04

ECE 650 Systems Programming & Engineering. Spring 2018

TCP Congestion Control

TCP Congestion Control

CHAPTER 3 ENHANCEMENTS IN DATA LINK LAYER

TCP so far Computer Networking Outline. How Was TCP Able to Evolve

The Transmission Control Protocol (TCP)

UNIT IV -- TRANSPORT LAYER

CS 421: COMPUTER NETWORKS SPRING FINAL May 24, minutes. Name: Student No: TOT

TCP /IP Fundamentals Mr. Cantu

Applied Networks & Security

Lecture 21: Congestion Control" CSE 123: Computer Networks Alex C. Snoeren

CS519: Computer Networks. Lecture 5, Part 4: Mar 29, 2004 Transport: TCP congestion control

Da t e: August 2 0 th a t 9: :00 SOLUTIONS

TCP over Wireless. Protocols and Networks Hadassah College Spring 2018 Wireless Dr. Martin Land 1

IP - The Internet Protocol. Based on the slides of Dr. Jorg Liebeherr, University of Virginia

CSE 461 The Transport Layer

Wireless TCP Performance Issues

IPv6 Stack. 6LoWPAN makes this possible. IPv6 over Low-Power wireless Area Networks (IEEE )

Lecture 4: Congestion Control

Transport Layer Marcos Vieira

Transport Layer. Application / Transport Interface. Transport Layer Services. Transport Layer Connections

Congestion / Flow Control in TCP

Problem Set 7 Due: Start of Class, November 2

IP - The Internet Protocol

CS321: Computer Networks Congestion Control in TCP

Mobile Communications

Computer Networks and Data Systems

Chapter 2 - Part 1. The TCP/IP Protocol: The Language of the Internet

Chapter 09 Network Protocols

Low Latency Low Loss Scalable throughput (L4S) and RACK an opportunity to remove HoL blocking from links

Topics. TCP sliding window protocol TCP PUSH flag TCP slow start Bulk data throughput

The aim of this unit is to review the main concepts related to TCP and UDP transport protocols, as well as application protocols. These concepts are

Ref: A. Leon Garcia and I. Widjaja, Communication Networks, 2 nd Ed. McGraw Hill, 2006 Latest update of this lecture was on

Announcements Computer Networking. Outline. Transport Protocols. Transport introduction. Error recovery & flow control. Mid-semester grades

The Transport Layer. Part 1

Packetization Layer Path Maximum Transmission Unit Discovery (PLPMTU) For IPsec Tunnels

User Datagram Protocol

Sirindhorn International Institute of Technology Thammasat University

Congestion Control. Daniel Zappala. CS 460 Computer Networking Brigham Young University

CS 5520/ECE 5590NA: Network Architecture I Spring Lecture 13: UDP and TCP

Uncompressed HD Video Streaming with Congestion Control

ZigBee IP update IETF 87 Berlin. Robert Cragie

Cisco IP Fragmentation and PMTUD

Outline Computer Networking. Functionality Split. Transport Protocols

Information Network Systems The network layer. Stephan Sigg

Protocol Overview. TCP/IP Performance. Connection Types in TCP/IP. Resource Management. Router Queues. Control Mechanisms ITL

Position of IP and other network-layer protocols in TCP/IP protocol suite

05 Transmission Control Protocol (TCP)

Congestion Control In The Internet Part 2: How it is implemented in TCP. JY Le Boudec 2014

Introduction to Networks and the Internet

Schahin Rajab TCP or QUIC Which protocol is most promising for the future of the internet?

Transport layer issues

II. Principles of Computer Communications Network and Transport Layer

Lecture 14: Congestion Control"

Congestion Control In The Internet Part 2: How it is implemented in TCP. JY Le Boudec 2014

EECS 122, Lecture 19. Reliable Delivery. An Example. Improving over Stop & Wait. Picture of Go-back-n/Sliding Window. Send Window Maintenance

Reliable Transport I: Concepts and TCP Protocol

Datagram Congestion Control Protocol (DCCP)

CS419: Computer Networks. Lecture 10, Part 3: Apr 13, 2005 Transport: TCP performance

On Inter-layer Assumptions

TCP Congestion Control. Lecture 16. Outline. TCP Congestion Control. Additive Increase / Multiplicative Decrease (AIMD)

Goals and topics. Verkkomedian perusteet Fundamentals of Network Media T Circuit switching networks. Topics. Packet-switching networks

Principles. IP QoS DiffServ. Agenda. Principles. L74 - IP QoS Differentiated Services Model. L74 - IP QoS Differentiated Services Model

Reliable Transport I: Concepts and TCP Protocol

Chapter 4 Network Layer: The Data Plane. Part A. Computer Networking: A Top Down Approach

TCP over wireless links

Congestion Control In The Internet Part 2: How it is implemented in TCP. JY Le Boudec 2015

DCCP (Datagram Congestion Control Protocol)

Lecture 3: The Transport Layer: UDP and TCP

Chapter III: Transport Layer

Transport Layer Congestion Control

WITH the evolution and popularity of wireless devices,

The Transport Layer Congestion control in TCP

Using HTTP/2 as a Transport for Arbitrary Bytestreams

Edge Control Transport for LRP

Transport layer. UDP: User Datagram Protocol [RFC 768] Review principles: Instantiation in the Internet UDP TCP

Introduction. IP Datagrams. Internet Service Paradigm. Routers and Routing Tables. Datagram Forwarding. Example Internet and Conceptual Routing Table

Chapter 24 Congestion Control and Quality of Service 24.1

Lecture 9: Internetworking

Transport layer. Review principles: Instantiation in the Internet UDP TCP. Reliable data transfer Flow control Congestion control

TCP/IP Performance ITL

Computer Networking Introduction

Announcements Computer Networking. What was hard. Midterm. Lecture 16 Transport Protocols. Avg: 62 Med: 67 STD: 13.

Chapter 13 TRANSPORT. Mobile Computing Winter 2005 / Overview. TCP Overview. TCP slow-start. Motivation Simple analysis Various TCP mechanisms

Chapter 12 Network Protocols

Network Protocols. Transmission Control Protocol (TCP) TDC375 Autumn 2009/10 John Kristoff DePaul University 1

6LoWPAN (IPv6 based Low Power WPAN)

Politecnico di Milano Advanced Network Technologies Laboratory. 6LowPAN

ETSF10 Internet Protocols Transport Layer Protocols

Page 1. Review: Internet Protocol Stack. Transport Layer Services EEC173B/ECS152C. Review: TCP. Transport Layer: Connectionless Service

COMP/ELEC 429/556 Introduction to Computer Networks

Congestion Control In The Internet Part 2: How it is implemented in TCP. JY Le Boudec 2015

Transcription:

Requirements for new work on fragments in 6lo (mesh) networks P.Thubert IETF 99 Prague draft-thubert-6lo-forwarding-fragments-04 1

History Presented 6lo Fragmentation issues in Chicago In appendix of this slideware Mostly issues for route-over Summarized in next slide Work on fragmentation at LPWAN As part of the SCHC IP/UDP draft Optional: Windowing/individual retry of fragments Does not need to support multihop

TCP rarely used, Context Pro is MSS to avoid fragmentation 6LoWPAN applications handle their reliability UDP to get exactly what they need They also expect very long round trips. Time gained by streamlining fragments is available for retries without a change in the application behavior.

6lo Route-Over fragmentation issues Recomposition at every L3 hop Cause latency and buffer overutilization Uncontrolled sending of multiple fragments Interferences in single frequency meshes Fragment flows interfere with one another Buffer bloat / congestion loss Loss locks buffers on receiver till time out Readily observable, led to RFC 7388

6lo Fragmentation reqs Provide Fragment Forwarding There are pitfalls, better specify one method E.g. datagram tag switching ala MPLS Stateful => state maintenance protocol Provide pacing/windowing capabilities Mesh awareness? (propagation delay, nb hops) Provide fragment reliability individual ack/retry/reset, e.g. ala SCHC Provide congestion control for multihop E.g. ECN

Path Forward Solutions exist (as shown by draft-thubert..): 1. Produce a problem statement at 6lo - Based on this slideware 2. Form a design team Need TSV skills to solve the problem Also MPLS and radio skill, CoAP, CoCoA 3. Find a host WG and produce a std track at TSVWG? 4. Also recommendations for application design

APPENDIX 7

Backup slides The problem with fragments in 6lo mesh networks P.Thubert IETF 99 Prague draft-thubert-6lo-forwarding-fragments-04 8

Recomposition at every hop Basic implementation of RFC 4944 would cause reassembly at every L3 hop In a RPL / 6TiSCH network that s every radio hop In certain cases, this blocks most (all?) of the buffers Buffer bloat And augments latency dramatically Research was conducted to forward fragments at L3.

Early fragment forwarding issues #1 Debugging issues due to Fragments led to RFC 7388 Only one full packet buffer Blocked while timing out lost fragments Dropping all packets in the meantime Arguably there could be implementation tradeoffs but there is no good solution with RFC4944, either you have short time outs and clean up too early, or you lose small packets in meantime

Early fragment forwarding issues #1 c d Need either to abandon fragmented packet or discover loss and retry quickly, both need signaling Solution is well-know: selective acknowledgement reset Requires new signaling => Implementation recommendations are not sufficient

Early fragment forwarding issues #2 On a single channel multihop network (not 6TiSCH): Next Fragment interferes with previous fragment No end-to-end feedback loop Blind throttling can help New signaling can be better 1 2

Deeper fragment forwarding issues #3 More Fragments pending than hops causes bloat No end-to-end feedback loop for pacing Best can do is (again) blind throttling Solution is well-known, called dynamic windowing Need new signaling => Implementation recommendations are not sufficient

Deeper fragment forwarding issues #4 Multiple flows through intermediate router cause congestions No end-to-end feedback for Congestion Notification. Blind throttling doesn t even help there Fragments are destroyed, end points time out, packets are retried, throughput plummets Solution is well-known, called ECN Need new signaling => Implementation recommendations are not sufficient

Deeper fragment forwarding issues #5 Route over => Reassembly at every hop creates a moving blob per packet Changes the statistics of congestion in the network Augments the latency by preventing streamlining More in next slides => Need to forward fragments even in route over case

Current behaviour Sender Router 1 Router 2 Receiver T=0 III T=1 II(I) I T=2 I(I) II T=3 (I) III T=4 II(I) I T=5 I(I) II T=6 (I) III T=7 II(I) I T=8 I(I) II T=9 (I) III

Window of 1 fragment Sender Router 1 Router 2 Receiver T=0 III T=1 II(I) I T=2 II (I) I T=3 II (I) I T=4 I(I) I I T=5 I (I) I I T=6 I (I) II T=7 (I) I II T=8 (I) I II T=9 (I) III

Streamlining with larger window Sender Router 1 Router 2 Receiver T=0 III T=1 II(I) I T=2 II (I) I T=3 I(I) I (I) I T=4 I (I) I I T=5 (I) I (I) II T=6 (I) I II T=7 (I) III T=8 T=9

Even Deeper fragment forwarding issues #6 Original datagram tag is misleading Tag is unique to the 6LoWPAN end point Not the IP source, not the MAC source 2 different flows may have the same datagram tag Implementations storing FF state can be confused Solution is well known, called label swapping An easy trap to fall in, need IETF recommendations

Datagram Tag Confusion Fragmentation Pick Datagram tag 5 Also pick Datagram tag 5 Confused

Even Deeper fragment forwarding issues #6 Forwarding Fragments requires state in intermediate nodes This state has the same time out / cleanup issues as in the receiver end node Solution is well known: Proper cleanup requires signaling that the flow is completely received or reset

Conclusion People are experiencing trouble that was predictable from the art of Internet and Switching technologies The worst of it (collapse under load and hard-todebug misdirected fragments) was not even seen yet but is predictable Some issues can be alleviated by Informational recommendations Some require a more appropriate signaling Recommendation is rethink 6LoWPAN fragmentation

draft-thubert-6lo-forwarding-fragments Provides Label Switching Selective Ack Pacing and windowing + ECN Flow termination indication and reset Yes it is transport within transport (usually UDP) Yes that is architecturally correct because fragment re-composition is an endpoint function And No splitting the draft is not appropriate, because the above functionalities depend on one another.

RFC 4944: 6LoWPAN Fragmentation 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 1 1 0 0 0 Datagram Size 1 st fragment Datagram Tag 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 1 1 0 0 0 Datagram Size Next fragments Datagram Tag Datagram Offset Size and offset from uncompressed form 1-hop technology 2 4

draft-thubert-6lo-forwardingfragments 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 1 1 1 0 1 0 0 X Datagram Offset Datagram Tag fragment X <= ack request Sequence 0..31 Datagram Size Size and offset from compressed form 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 1 1 1 0 1 0 1 Y Datagram Tag ACK Y <= ECN Ack bitmap Ack bitmap multi-hop technology 2 5

Current behaviour Sender Router 1 Router 2 Receiver T=0 III T=1 II(I) I T=2 I(I) II T=3 (I) III T=4 II(I) I T=5 I(I) II T=6 (I) III T=7 II(I) I T=8 I(I) II T=9 (I) III

Single fragment Sender Router 1 Router 2 Receiver T=0 III T=1 II(I) I T=2 II (I) I T=3 II (I) I T=4 I(I) I I T=5 I (I) I I T=6 I (I) II T=7 (I) I II T=8 (I) I II T=9 (I) III

Streamlining Sender Router 1 Router 2 Receiver T=0 III T=1 II(I) I T=2 II (I) I T=3 I(I) I (I) I T=4 I (I) I I T=5 (I) I (I) II T=6 (I) I II T=7 (I) III T=8 T=9