Rohan Mahy rohan@ekabal.com TURN TCP Rohan Mahy rohan@ekabal.com.

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.
The Transport Layer.
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.
3: Transport Layer 3a-1 8: Principles of Reliable Data Transfer Last Modified: 10/15/2015 7:04:07 PM Slides adapted from: J.F Kurose and K.W. Ross,
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.
Today’s topic: UDP Reliable communication over UDP.
MSRP & Relays Ben Campbell Cullen Jennings Rohan Mahy.
CS/EE 145A Reliable Transmission over Unreliable Channel II Netlab.caltech.edu/course.
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Principles of reliable data transfer 0.
1 Kyung Hee University Chapter 11 User Datagram Protocol.
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
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.
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.
TCP.
CMPT 371 Data Communications and Networking
Cryptography and Network Security Chapter 16
Instructor Mazhar Hussain
TCP.
Chapter 6: Transport Layer (Part I)
Rohan Mahy XCAP Profile Rohan Mahy
TCP Transport layer Er. Vikram Dhiman LPU.
Magda El Zarki Professor, ICS UC, Irvine
Flow Control.
Packet Sniffing.
CSCI-1680 Transport Layer I
Understanding Throughput & TCP Windows
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 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
Advanced Computer Networks
Transportation Layer.
More on RSVP implementation
Transport Protocols: TCP Segments, Flow control and Connection Setup
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:

Rohan Mahy rohan@ekabal.com TURN TCP Rohan Mahy rohan@ekabal.com

Why do we care again? ICE-tcp and TURN-tcp very troubled documents – can we just drop them? Major customers: P2psip TOTE (new) Mediactrl (coming soon) Whiteboarding (eventually) So we need to work this!

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 window full, connection stalled stop reading in case incoming data is for peer 1. peer 2 data waits Peer 1 TURN Server TURN Client empty pipe, blocked by peer 1 Peer 2 Peer 1 fast peer 1 takes more than its fair share of slow link fast link TURN Server TURN Client slow link slow link Peer 2

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 <n>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 Per-peer window quotas 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. 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