TURN TCP Rohan Mahy Why split out TCP peers from TURN? Head of line blocking problem and fair sharing –No consensus on best way to solve.

Slides:



Advertisements
Similar presentations
William Stallings Data and Computer Communications 7th Edition
Advertisements

Computer Networks Transport Layer. Topics F Introduction (6.1)  F Connection Issues ( ) F TCP (6.4)
Transmission Control Protocol (TCP)
Data Link Control Protocols Data link control protocol Provides a layer of control between systems on a transmission medium referred to as data link. DLC.
William Stallings Data and Computer Communications 7 th Edition Chapter 7 Data Link Control Protocols.
Computer Networks Transport Layer. Topics F Introduction  F Connection Issues F TCP.
TCP. Learning objectives Reliable Transport in TCP TCP flow and Congestion Control.
 Zhichun Li  The Robust and Secure Systems group at NEC Research Labs  Northwestern University  Tsinghua University 2.
Data Link Control Protocols Dr. Muazzam A. Khan. Flow Control Ensuring the sending entity does not overwhelm the receiving entity —Preventing buffer overflow.
Aegis School of Telecommunication Chapter 7 Data Link Control Protocols Telecom Systems I by Dr. M. G. Sharma, Phd.
TCP : Transmission Control Protocol Computer Network System Sirak Kaewjamnong.
CS332, Ch. 26: TCP Victor Norman Calvin College 1.
Transport Layer Moving Segments. Transport Layer Protocols Provide a logical communication link between processes running on different hosts as if directly.
3: Transport Layer3-1 Where we are in chapter 3 Last time: r TCP m Reliable transfer m Flow control m Connection management r principles of congestion.
TURN -01 Changes and Issues Rohan Mahy BEHAVE at IETF66 - Montreal.
Networking Basics CCNA 1 Chapter 11.
MSRP & Relays Ben Campbell Cullen Jennings Rohan Mahy.
1 Kyung Hee University Chapter 11 User Datagram Protocol.
DATA LINK CONTROL. DATA LINK LAYER RESPONSIBILTIES  FRAMING  ERROR CONTROL  FLOW CONTROL.
Chapter 9 The Transport Layer The Internet Protocol has three main protocols that run on top of IP: two are for data, one for control.
Chapter 3: The Data Link Layer –to achieve reliable, efficient communication between two physically connected machines. –Design issues: services interface.
HIP-Based NAT Traversal in P2P-Environments
Protocols and layering Network protocols and software Layered protocol suites The OSI 7 layer model Common network design issues and solutions.
Distributed Systems 11. Transport Layer
Chapter 11 User Datagram Protocol
The Transport Layer Implementation Services Functions Protocols
Fast Retransmit For sliding windows flow control we waited for a timer to expire before beginning retransmission of a packet TCP uses an additional mechanism.
Chapter 9: Data Link Control
Lecture (2).
Part III Datalink Layer 10.
Satellite TCP Lecture 19 04/10/02.
Chapter 23 Introduction To Transport Layer
The network-on-chip protocol
Quick UDP Internet Connections
Transmission Control Protocol (TCP)
Transport Layer.
Rohan Mahy TURN TCP Rohan Mahy
TCP.
CMPT 371 Data Communications and Networking
Cryptography and Network Security Chapter 16
Instructor Mazhar Hussain
TCP.
Chapter 6: Transport Layer (Part I)
Magda El Zarki Professor, ICS UC, Irvine
SCTP v/s TCP – A Comparison of Transport Protocols for Web Traffic
Flow Control.
Packet Sniffing.
Transport Layer Our goals:
CSCI-1680 Transport Layer I
Transport Protocols Relates to Lab 5. An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
Chapter 23 Introduction To Transport Layer
Chapter 14 User Datagram Protocol (UDP)
Flow and Error Control.
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.
Chapter 5 TCP Control Flow
CSS432 (Link Level Protocols) Reliable Transmission Textbook Ch 2.5
CS4470 Computer Networking Protocols
Advanced Computer Networks
Transportation Layer.
Networking CS 3470, Section 1 Sarah Diesburg
Transport Protocols: TCP Segments, Flow control and Connection Setup
CS4470 Computer Networking Protocols
Transport Protocols: TCP Segments, Flow control and Connection Setup
Computer Networks Protocols
TCP: Transmission Control Protocol Part II : Protocol Mechanisms
Chapter 6 – Distributed Processing and File Systems
Review of Internet Protocols Transport Layer
Chapter 9: Data Link Control
The reactor design pattern
Presentation transcript:

TURN TCP Rohan Mahy

Why split out TCP peers from TURN? Head of line blocking problem and fair sharing –No consensus on best way to solve this problem. Need more consensus on requirements. Transport Area asked us to make the protocol more robust and more general. –Lots of folks using STUN in ways we did not imagine. TURN likely to go same way. Could be used by HIP. –Not much thought about TCP error cases, especially when using multiple peers. Most users are not using TCP peers anyway

More on blocking / fair sharing TURN Server TURN Client Peer 1 Peer 2 TURN Server TURN Client Peer 1 Peer 2 window full, connection stalled stop reading in case incoming data is for peer 1. peer 2 data waits empty pipe, blocked by peer 1 fast peer 1 takes more than its fair share of slow link fast link slow link

Some proposals design team discussed Ignore problem during setup, transition to single peer. –Don’t send enough data to block the other peer. Ditch all but one peer before sending bulk data. –Transport ADs did not like this because it is not general, and it is impossible to enforce this. Do full blown SSH-style per-channel windowing (TCP on top of application layer) Convey per-peer window quotas –Similar to ssh per-channel sliding windows. –Each channel has a per-direction “don’t send data past the th octet” quota. Quota gets updated when window is at least half empty. Only allow one TCP peer per connection to client –Don’t accept additional peer TCP connections. Send an indication that incoming request is waiting, client can open connection to TURN server, request the same allocation, and connect to the new peer. There could be many more.

Pros and Cons One-peer per client connection –Pro: conceptually easy to understand –Cons: breaks one flow per allocation assumption adds an extra RTT of delay before exchanging data with an additional TCP peer. How often will this happen? Per-peer window quotas –Pro: probably still simpler than SSH. –Cons: unproven: complex and requires a lot of modeling or experimental data to see if it will work adds unknown amount of overhead Impossible to evaluate without a consensus on requirements

Next Steps Agree on what’s important about end result Fill out possible approaches more fully Get volunteers Compare the approaches that look promising