Network Protocols: Design and Analysis Polly Huang EE NTU

Slides:



Advertisements
Similar presentations
CS144 Review Session 4 April 25, 2008 Ben Nham
Advertisements

TCP--Revisited. Background How to effectively share the network? – Goal: Fairness and vague notion of equality Ideal: If N connections, each should get.
2: Transport Layer 31 Transport Layer 3. 2: Transport Layer 32 TCP Flow Control receiver: explicitly informs sender of (dynamically changing) amount of.
1 Transport Protocols & TCP CSE 3213 Fall April 2015.
Make Protocol Ready for Gigabit. Scopes In this presentation, we will present various protocol design and implementation techniques that can allow a protocol.
Fundamentals of Computer Networks ECE 478/578 Lecture #20: Transmission Control Protocol Instructor: Loukas Lazos Dept of Electrical and Computer Engineering.
CS551: Basic TCP Mechanisms Christos Papadopoulos (
BZUPAGES.COM 1 User Datagram Protocol - UDP RFC 768, Protocol 17 Provides unreliable, connectionless on top of IP Minimal overhead, high performance –No.
1 Reliable Byte-Stream (TCP) Outline Connection Establishment/Termination Sliding Window Revisited Flow Control Adaptive Timeout.
 TCP connection set up  TCP connection tear-down  Sliding window revisited  Triggering transmission.
Presentation by Joe Szymanski For Upper Layer Protocols May 18, 2015.
Fundamentals of Computer Networks ECE 478/578 Lecture #21: TCP Window Mechanism Instructor: Loukas Lazos Dept of Electrical and Computer Engineering University.
CSCE 515: Computer Network Programming Chin-Tser Huang University of South Carolina.
Transport Layer 3-1 Transport Layer r To learn about transport layer protocols in the Internet: m TCP: connection-oriented protocol m Reliability protocol.
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #7 TCP New Reno Vs. Reno.
CSCE 515: Computer Network Programming Chin-Tser Huang University of South Carolina.
Sizing Router Buffers Nick McKeown Guido Appenzeller & Isaac Keslassy SNRC Review May 27 th, 2004.
CSCE 515: Computer Network Programming Chin-Tser Huang University of South Carolina.
Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 TCP (Part III: Miscl) Shivkumar Kalyanaraman Rensselaer Polytechnic Institute
1 Chapter 3 Transport Layer. 2 Chapter 3 outline 3.1 Transport-layer services 3.2 Multiplexing and demultiplexing 3.3 Connectionless transport: UDP 3.4.
TDC375 Winter 03/04 John Kristoff - DePaul University 1 Network Protocols Transmission Control Protocol (TCP)
1 Internet Networking Spring 2004 Tutorial 10 TCP NewReno.
Computer Networks Transport Layer. Topics F Introduction  F Connection Issues F TCP.
TCP. Learning objectives Reliable Transport in TCP TCP flow and Congestion Control.
5/12/05CS118/Spring051 A Day in the Life of an HTTP Query 1.HTTP Brower application Socket interface 3.TCP 4.IP 5.Ethernet 2.DNS query 6.IP router 7.Running.
Spring 2002CS 4611 Reliable Byte-Stream (TCP) Outline Connection Establishment/Termination Sliding Window Revisited Flow Control Adaptive Timeout.
Junxian Huang 1 Feng Qian 2 Yihua Guo 1 Yuanyuan Zhou 1 Qiang Xu 1 Z. Morley Mao 1 Subhabrata Sen 2 Oliver Spatscheck 2 1 University of Michigan 2 AT&T.
Introduction 1 Lecture 14 Transport Layer (Congestion Control) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer Science.
The Transport Layer.
1 #6 in Mid-Term  Most answered:  many users thru the same bottleneck -> increased queueing delay -> increased e2e latency  Possible reasons behind.
COMT 4291 Communications Protocols and TCP/IP COMT 429.
The Transport Layer: TCP and UDP Chap 2. Basic Philosophy of TCP/IP  Simple core, complex edge  Edge can be hosts, edge routers, network boundaries,
Network Protocols: Design and Analysis Polly Huang EE NTU
CS332, Ch. 26: TCP Victor Norman Calvin College 1.
Fall 2005 By: H. Veisi Computer networks course Olum-fonoon Babol Chapter 6 The Transport Layer.
CSE679: Computer Network Review r Review of the uncounted quiz r Computer network review.
1 M. Atiquzzaman, SCTP over satellite networks IEEE Computer Communications Workshop, Oct 20, SCTP over Satellite Networks Mohammed Atiquzzaman School.
Computer Networking TCP (cont.). Lecture 16: Overview TCP congestion control TCP modern loss recovery TCP interactions TCP options TCP.
TCP performance Sven Ubik FTP throughput capacity load ftp.uninett.no 12.3 Mb/s 1.2 Gb/s 80 Mb/s (6.6%) ftp.stanford.edu 1.3 Mb/s 600.
Networking Fundamentals. Basics Network – collection of nodes and links that cooperate for communication Nodes – computer systems –Internal (routers,
Lecture 9 – More TCP & Congestion Control
Transport Layer 3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March
Computer Networking Lecture 18 – More TCP & Congestion Control.
Network Protocols: Design and Analysis Polly Huang EE NTU
Performance Engineering E2EpiPEs and FastTCP Internet2 member meeting - Indianapolis World Telecom Geneva October 15, 2003
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()
Retransmission. Automatic Repeat reQuest (ARQ) 2 Time Packet ACK Timeout Automatic Repeat Request –Receiver sends acknowledgment (ACK) when it receives.
Transmission Control Protocol (TCP) connection-oriented stream data transfer data sent as an unstructured stream of bytes reliability acknowledgements.
Computer Networking Lecture 10 – TCP & Routers.
1 End-to-End Protocols UDP TCP –Connection Establishment/Termination –Sliding Window Revisited –Flow Control –Congestion Control –Adaptive Timeout.
CIS679: TCP and Multimedia r Review of last lecture r TCP and Multimedia.
TCP/IP1 Address Resolution Protocol Internet uses IP address to recognize a computer. But IP address needs to be translated to physical address (NIC).
11 CS716 Advanced Computer Networks By Dr. Amir Qayyum.
Computer Networks 1000-Transport layer, TCP Gergely Windisch v spring.
Distributed Systems 11. Transport Layer
Chapter 5 TCP Sequence Numbers & TCP Transmission Control
Chapter 3 outline 3.1 transport-layer services
Transport Control Protocol
CS 5565 Network Architecture and Protocols
Chapter 5 TCP Sliding Window
Lecture 19 – TCP Performance
CS 5565 Network Architecture and Protocols
SPEAKER: Yu-Shan Chou ADVISOR: DR. Kai-Wei Ke
Transport Control Protocol
Lecture 18 – More TCP & Congestion Control
Transport Protocols: TCP Segments, Flow control and Connection Setup
Transport Protocols: TCP Segments, Flow control and Connection Setup
TCP flow and congestion control
Review of Internet Protocols Transport Layer
Presentation transcript:

Network Protocols: Design and Analysis Polly Huang EE NTU

TCP Revisited

Polly Huang, NTU EE3 Agenda connection setup and teardown flow control congestion control theory congestion control practice (in TCP) loss recovery security performance

Polly Huang, NTU EE4 Agenda security –TCP hijacking –DDoS mitigation performance –delayed ACKs –T/TCP –window scaling & PAWS

Polly Huang, NTU EE5 Connection Hijacking Problem: connection hijacking –some systems authenticate based on TCP connections and source IP addresses => if you can steal a running TCP connection, you’re in –it is possible, but not easy

Polly Huang, NTU EE6 TCP Distributed Denial of Service Problem: lots of people have too much time on their hands –and lots of people don’t have secure computers  bad people take over computers (zombies) and have them all ask you at once mitigation: SYN cookies rather than make a new TCB for a new (probably bogus) connection, encode the info in the ISN on the SYN- ACK when you get the ACK, recreate the missing state but, sadly, there are other forms of DDoS…

Polly Huang, NTU EE7 Agenda security –TCP hijacking –DDoS mitigation performance –delayed ACKs –T/TCP –window scaling & PAWS

Polly Huang, NTU EE8 Delayed ACKS Problem: it’s a lot of work to ACK every TCP segment –especially if it’s just a few bytes –and the ACKs are tiny Approach: delay sending ACKs –send if you get two full segments –or after at most 500ms Side-effect: –slow-start grows per ACK, not per ACKed segment, so it’s 1, 2, 3, 3, 5…, not 1, 2, 4, 8…

Polly Huang, NTU EE9 T/TCP Problem: TCP 3WH is expensive for very short connections –(like RPC or web requests) Approach: Transaction TCP –send SYN+ACK+data in first packet –reply with SYN+ACK+FIN+data –then ACK+FIN Limitations –have to cache of ISN info, and may have to fall back to 3WH sometimes –experimental only, not deployed, not clear bug free

Polly Huang, NTU EE10 Problem: High BW Connections How many packets to keep in flight? –must be > bw*delay product –10Mb/s * 100ms rtt = 1Mb ~ 100kB –1Gb/s * 100ms rtt = 100Mb ~ 10MB! Sequence number wraparound time vs. Link speed: 1.5Mbps: 6.4 hours 10Mbps: 57 minutes 45Mbps: 13 minutes 100Mbps: 6 minutes 622Mbps: 55 seconds 1.2Gbps: 28 seconds

Polly Huang, NTU EE11 TCP Extensions for “Long, Fat Pipes” timestamp option + PAWS (Protection Against Wrapped Sequences) –endpoints swap timestamps on each pkt –allows better RTT estimation –provides effectively larger sequence space (reject packets with old timestamps) window scaling –multiplicative factor on wnd –to keep the pipe full

Polly Huang, NTU EE12 Fast TCP How fast can TCP go? Need new protocol? –shown at >1Gb/s but requires some care –must have enough buffers. why? handle receiving data out of order and bw-delay product implies large amount of data in flight –must not have too much loss. why? some versions of TCP can only recover from one loss in each RTT of data (even with SACK you’re limited to a few losses/rtt) –must not be dominated by connection set-up costs. why? with small amounts of data (<10kB), 3wh and slow-start will dominate –see PSC web site (mentoned on mailing list) for details

Questions?