Carles Gomez Universitat Politècnica de Catalunya (UPC)/Fundació i2cat

Slides:



Advertisements
Similar presentations
Laboratório de Teleprocessamento e Redes1 Unix Network Programming Prof. Nelson Fonseca
Advertisements

Guide to TCP/IP, Third Edition
Transmission Control Protocol (TCP) Basics
1 Chapter 3 TCP and IP. Chapter 3 TCP and IP 2 Introduction Transmission Control Protocol (TCP) Transmission Control Protocol (TCP) User Datagram Protocol.
BZUPAGES.COM 1 User Datagram Protocol - UDP RFC 768, Protocol 17 Provides unreliable, connectionless on top of IP Minimal overhead, high performance –No.
Chapter 7 – Transport Layer Protocols
- Reliable Stream Transport Service
Carsten Bormann – Universität Bremen TZI
Transport Layer Services –Reliable Delivery –or Not! Protocols –Internet: TCP, UDP –ISO: TP0 thru TP4.
CSCE 515: Computer Network Programming Chin-Tser Huang University of South Carolina.
CSCE 515: Computer Network Programming Chin-Tser Huang University of South Carolina.
Department of Electronic Engineering City University of Hong Kong EE3900 Computer Networks Transport Protocols Slide 1 Transport Protocols.
TCP: flow and congestion control. Flow Control Flow Control is a technique for speed-matching of transmitter and receiver. Flow control ensures that a.
1 Transport Layer Computer Networks. 2 Where are we?
COMT 4291 Communications Protocols and TCP/IP COMT 429.
1 Transport Protocols (continued) Relates to Lab 5. UDP and TCP.
TCP : Transmission Control Protocol Computer Network System Sirak Kaewjamnong.
University of the Western Cape Chapter 12: The Transport Layer.
1 The Internet and Networked Multimedia. 2 Layering  Internet protocols are designed to work in layers, with each layer building on the facilities provided.
Transport Layer: TCP and UDP. Overview of TCP/IP protocols Comparing TCP and UDP TCP connection: establishment, data transfer, and termination Allocation.
Lecture 9 – More TCP & Congestion Control
TCP: Transmission Control Protocol Part II : Protocol Mechanisms Computer Network System Sirak Kaewjamnong Semester 1st, 2004.
1 CS 4396 Computer Networks Lab TCP – Part II. 2 Flow Control Congestion Control Retransmission Timeout TCP:
Energy Efficient Implementation of IETF Constrained Protocol Suite draft-ietf-lwig-energy-efficient-01 Z. Cao, C. Gomez, M. Kovatsch, H. Tian, X. He Carles.
Prentice HallHigh Performance TCP/IP Networking, Hassan-Jain Chapter 13 TCP Implementation.
ECE 4110 – Internetwork Programming
Transport Protocols.
TCP continued. Discussion – TCP Throughput TCP will most likely generate the saw tooth type of traffic. – A rough estimate is that the congestion window.
IP Configuration API. Network Interface Configuration NAIfconfigIsDeviceUp() NAIfconfigDeviceFromInterface() NAIfconfigBringDeviceUp() NAIfconfigSetIpAddress()
Guide to TCP/IP Fourth Edition
TCP/IP1 Address Resolution Protocol Internet uses IP address to recognize a computer. But IP address needs to be translated to physical address (NIC).
Computer Networks 1000-Transport layer, TCP Gergely Windisch v spring.
3. END-TO-END PROTOCOLS (PART 1) Rocky K. C. Chang Department of Computing The Hong Kong Polytechnic University 22 March
The Transport Layer Implementation Services Functions Protocols
The Transport Layer TCP
Introduction to TCP/IP networking
By, Nirnimesh Ghose, Master of Science,
Transmission Control Protocol (TCP) Retransmission and Time-Out
Chapter 5 TCP Sequence Numbers & TCP Transmission Control
Topics discussed in this section:
Introduction to Networks
COMP 431 Internet Services & Protocols
Chapter 15 Transmission Control Protocol (TCP)
5. End-to-end protocols (part 1)
UNIT-V Transport Layer protocols for Ad Hoc Wireless Networks
Limited Transmit for TCP
Chapter 17 and 18: TCP is connection oriented
Module 1 UDP & TCP.
Carles Gomez, Josep Paradells
Chapter 6 The Transport Layer.
Magda El Zarki Professor, ICS UC, Irvine
Reliable Transport CS 3700 Project 3.
SCTP v/s TCP – A Comparison of Transport Protocols for Web Traffic
Limited Transmit & Early Retransmit for TCP
Transport Layer Unit 5.
TCP Parameters and Settings
TCP - Part I Relates to Lab 5. First module on TCP which covers packet format, data transfer, and connection management.
PUSH Flag A notification from the sender to the receiver to pass all the data the receiver has to the receiving application. Some implementations of TCP.
Reliable Transport CS 3700 Project 3.
Carles Gomez, S. M. Darroudi
Lecture 18 – More TCP & Congestion Control
Carles Gomez, Josep Paradells
Carles Gomez Universitat Politècnica de Catalunya Jon Crowcroft
Chapter 4 Network Layer Computer Networking: A Top Down Approach 5th edition. Jim Kurose, Keith Ross Addison-Wesley, April Network Layer.
CS4470 Computer Networking Protocols
Transport Protocols: TCP Segments, Flow control and Connection Setup
Transport Protocols: TCP Segments, Flow control and Connection Setup
TCP: Transmission Control Protocol Part II : Protocol Mechanisms
Review of Internet Protocols Transport Layer
Presentation transcript:

TCP over Constrained-Node Networks draft-gomez-lwig-tcp-constrained- node-networks-01 Carles Gomez Universitat Politècnica de Catalunya (UPC)/Fundació i2cat carlesgo@entel.upc.edu Jon Crowcroft University of Cambridge Jon.Crowcroft@cl.cam.ac.uk IETF 97 – Seoul, November 2016

Status draft-gomez-core-tcp-constrained- node-networks-00 Presented in Berlin (LWIG and TCPM WGs) draft-gomez-lwig-tcp-constrained- node-networks-00 Not modified draft-gomez-lwig-tcp-constrained- node-networks-01 Several updates

Motivation Several application layer protocols being used for the Internet of Things (IoT) Constrained Application Protocol (CoAP) Originally over UDP CoAP over TCP in progress To overcome middlebox problems HTTP/2 and HTTP/1.1 XMPP MQTT TCP is being / will be used in many IoT scenarios Offer simple measures for suitable TCP implementation/operation over CNNs TCP

Updates in -01 (I/X) RFC 2119 language removed 1. Introduction Purpose is to document how TCP can be used in CNNs (i.e. not proposing a new TCP variant) 1. Introduction XMPP added to the list of protocols used in CNNs that use TCP 2. Characteristics of CNNs relevant for TCP Often, low transmission rates (typically < 1 Mbit/s)

Updates in -01 (II/X) 3. Scenario Asymmetric Resource availability Constrained devices: data sent > data received Majority of constrained devices will be sensors

Updates in -01 (III/X) 4.1. TCP connection initiation Typically initiated by the constrained device Better support sleep periods in some RDC techniques 4.2. Maximum Segment Size If a link layer offers MTU > 1280 bytes, still set MSS so that IPv6 datagram size ≤ 1280 bytes Avoid issues with Internet links with not as high MTU

Updates in -01 (IV/X) 4.3. Window Size 4.4. RTO Recommends single-MSS window Receive and transmit If device can afford it, 5-MSS window may be useful Allow Fast Retransmit and Fast Recovery 4.4. RTO draft-ietf-core-cocoa outperforms RFC 6298 RTO-based improvements (Peak Hopper, Linux RTO) TBD: how to proceed? Using CoCoA for TCP conflicts with RFC 6298 and Karn algorithm...

Updates in -01 (V/X) 4.5. TCP connection lifetime Long TCP connection lifetime Minimize overhead However, firewalls may delete filter state records early TCP keep-alives not useful to solve the issue Short TCP connection lifetime TCP Fast Open (TFO) - RFC 7413 Data carried in SYN or SYN-ACK segments Cookie must be obtained, included in SYNs and refreshed More efficient than frequently opening new TCP connections (with traditional 3WHS) As long as cookie refresh rate well below new connection rate

Updates in -01 (VI/X) 4.7. TCP options For single-MSS receive/transmit window Not supporting, and ignoring if received Window Scale TCP timestamps SACK, SACK-Permitted For less constrained devices SACK avoids unnecessary retries, and reduces latency, bandwidth and energy consumption

Updates in -01 (VII/X) 4.8. Delayed Acknowledgments Device advertising single-MSS receive window needs to avoid supporting delayed ACKs Avoid contributing up to 500 ms extra delay to the RTT Not recommended in CNNs Since traffic mostly of transactional type Transaction size often < MSS Could be useful to reduce # of ACKs in bulk transfers Infrequent, compared to rest of transactions 5. Security considerations If TFO used, security considerations of RFC 7413 apply

Updates in -01 (VIII/X) Annex: TCP implementations for constrained devices uIP TCP/IP stack for 8- and 16-bit CPUs Code size ~5 kB (checksumming, IP, ICMP and TCP) Global, single-packet sized buffer for incoming packets No buffer for outgoing data MSS not modified during a connection Stop-and-wait Avoids sliding window operations (32-bit arithmetic, expensive on 8-bit CPUs)

Updates in -01 (IX/X) Annex: TCP implementations for constrained devices lwIP TCP/IP stack for 8- and 16-bit CPUs Code size: ~14 kB to ~22 kB Memory management, checksumming, network interfaces, IP, ICMP and TCP TCP code size: ~9 kB to ~14 kB Buffering of incoming and outgoing data Applications decoupled from the network stack Transmission window greater than a single segment Slow start, congestion avoidance, fast retransmit, fast recovery SACK and Window Scale not implemented

Updates in -01 (X/X) Annex: TCP implementations for constrained devices RIOT TBD

WG adoption ? IETF 97 – Seoul, November 2016