ECSE-4670: Computer Communication Networks (CCN) Chapter 3: TCP. Shivkumar Kalyanaraman: Biplab Sikdar:
|
|
- Vanessa Gibson
- 7 years ago
- Views:
Transcription
1 ECSE-4670: Computer Communication Networks (CCN) Chapter 3: TCP Shivkumar Kalyanaraman: Biplab Sikdar: Rensselaer Polytechnic Institute Shivkumar Kalvanaraman & Biplab Sikdar 1
2 Point-to-point: TCP: Overview one sender, one receiver Reliable, in-order byte steam: no message boundaries But TCP chops it up into segments for transmission internally Pipelined (window) flow control: Window size decided by receiver and network Send & receive buffers Rensselaer Polytechnic Institute Shivkumar Kalvanaraman & Biplab Sikdar 2
3 TCP: Overview socket door application writes data TCP send buffer segment application reads data TCP receive buffer socket door Rensselaer Polytechnic Institute Shivkumar Kalvanaraman & Biplab Sikdar 3
4 TCP: Overview Full duplex data: bi-directional data flow in same connection MSS: maximum segment size Connection-oriented: handshaking (exchange of control msgs) init s sender, receiver state before data exchange Flow & Congestion Control: sender will not overwhelm receiver or the network Rensselaer Polytechnic Institute Shivkumar Kalvanaraman & Biplab Sikdar 4
5 TCP segment structure URG: urgent data (generally not used) ACK: ACK # valid SH: push data now (generally not used) RST, SYN, FIN: connection estab (setup, teardown commands) Internet checksum (as in UDP) 32 bits source port # dest port # head len sequence number acknowledgement number not used UAP R S F checksum rcvr window size ptr urgent data Options (variable length) application data (variable length) counting by bytes of data (not segments!) # bytes rcvr willing to accept Rensselaer Polytechnic Institute Shivkumar Kalvanaraman & Biplab Sikdar 5
6 TCP seq. # s and ACKs (I) Sequence Numbers: byte stream number of first byte in segment s data ACKs: seq # of next byte expected from other side cumulative ACK Q: how receiver handles out-of-order segments A: TCP spec doesn t say, - up to implementor Rensselaer Polytechnic Institute Shivkumar Kalvanaraman & Biplab Sikdar 6
7 TCP Seq. # s and ACKs (II) Host A Host B User types C Seq=42, ACK=79, data = C Seq=79, ACK=43, data = C host ACKs receipt of C, echoes back C host ACKs receipt of echoed C Seq=43, ACK=80 simple telnet scenario Rensselaer Polytechnic Institute Shivkumar Kalvanaraman & Biplab Sikdar 7
8 Temporal Redundancy Model Timeout Packets Status Reports Retransmissions Sequence Numbers CRC or Checksum ACKs NAKs, SACKs Bitmaps Packets FEC information Rensselaer Polytechnic Institute Shivkumar Kalvanaraman & Biplab Sikdar 8
9 Status Report Design Cumulative acks: Robust to losses on the reverse channel Can work with go-back-n retransmission Cannot pinpoint blocks of data which are lost The first lost packet can be pinpointed because the receiver would generate duplicate acks Rensselaer Polytechnic Institute Shivkumar Kalvanaraman & Biplab Sikdar 9
10 TCP: reliable data transfer (I) event: data received from application above create, send segment one way data transfer wait for event event: timer timeout for segment with seq # y retransmit segment no flow, congestion control event: ACK received, with ACK # y ACK processing Rensselaer Polytechnic Institute Shivkumar Kalvanaraman & Biplab Sikdar 10
11 TCP: reliable data transfer (II) Simplified TCP sender 00 sendbase = initial_sequence number 01 nextseqnum = initial_sequence number loop (forever) { 04 switch(event) 05 event: data received from application above 06 create TCP segment with sequence number nextseqnum 07 start timer for segment nextseqnum 08 pass segment to IP 09 nextseqnum = nextseqnum + length(data) 10 event: timer timeout for segment with sequence number y 11 retransmit segment with sequence number y 12 compute new timeout interval for segment y 13 restart timer for sequence number y 14 event: ACK received, with ACK field value of y 15 if (y > sendbase) { /* cumulative ACK of all data up to y */ 16 cancel all timers for segments with sequence numbers < y 17 sendbase = y 18 } 19 else { /* a duplicate ACK for already ACKed segment */ 20 increment number of duplicate ACKs received for y 21 if (number of duplicate ACKS received for y == 3) { 22 /* TCP fast retransmit */ 23 resend segment with sequence number y 24 restart timer for segment y 25 } 26 } /* end of loop forever */ Rensselaer Polytechnic Institute Shivkumar Kalvanaraman & Biplab Sikdar 11
12 TCP ACK generation Event in-order segment arrival, no gaps, everything else already ACKed in-order segment arrival, no gaps, one delayed ACK pending out-of-order segment arrival higher-than-expect seq. # gap detected! arrival of segment that partially or completely fills gap TCP Receiver action delayed ACK. Wait up to 500ms for next segment. If no next segment, send ACK immediately send single cumulative ACK send duplicate ACK, indicating seq. # of next expected byte immediate ACK if segment starts at lower end of gap Rensselaer Polytechnic Institute Shivkumar Kalvanaraman & Biplab Sikdar 12
13 TCP: retransmission scenarios Host A Host B Host A Host B Seq=92, 8 bytes data ACK=100 X timeout loss Seq=92, 8 bytes data Seq=92, 8 bytes data Seq=100, 20 bytes data ACK=120 ACK=100 Seq=92, 8 bytes data Seq=100 timeout Seq=92 timeout ACK=120 ACK=100 time lost ACK scenario time premature timeout, cumulative ACKs Rensselaer Polytechnic Institute Shivkumar Kalvanaraman & Biplab Sikdar 13
14 TCP Flow Control flow control sender won t overrun receiver s buffers by transmitting too much, too fast RcvBuffer = size or TCP Receive Buffer RcvWindow = amount of spare room in Buffer receiver: explicitly informs sender of free buffer space RcvWindow field in TCP segment sender: keeps the amount of transmitted, unacked data less than most recently received RcvWindow receiver buffering Rensselaer Polytechnic Institute Shivkumar Kalvanaraman & Biplab Sikdar 14
15 Timeout and RTT Estimation Timeout: for robust detection of packet loss Problem: How long should timeout be? Too long => underutilization Too short => wasteful retransmissions Solution: adaptive timeout: based on estimate of max RTT Rensselaer Polytechnic Institute Shivkumar Kalvanaraman & Biplab Sikdar 15
16 How to estimate max RTT? RTT = prop + queuing delay Queuing delay highly variable So, different samples of RTTs will give different random values of queuing delay Chebyshev s Theorem: MaxRTT = Avg RTT + k*deviation Error probability is less than 1/(k**2) Result true for ANY distribution of samples Rensselaer Polytechnic Institute Shivkumar Kalvanaraman & Biplab Sikdar 16
17 Round Trip Time and Timeout (II) Q: how to estimate RTT? SampleRTT: measured time from segment transmission until ACK receipt ignore retransmissions, cumulatively ACKed segments SampleRTT will vary wildly => want estimated RTT smoother use several recent measurements, not just current SampleRTT to calculate AverageRTT Rensselaer Polytechnic Institute Shivkumar Kalvanaraman & Biplab Sikdar 17
18 TCP Round Trip Time and Timeout (III) AverageRTT = (1-x)*AverageRTT + x*samplertt Exponential weighted moving average (EWMA) influence of given sample decreases exponentially fast; x = 0.1 Setting the timeout AverageRTT plus safety margin proportional to variation Timeout = AverageRTT + 4*Deviation Deviation = (1-x)*Deviation + x* SampleRTT- AverageRTT Rensselaer Polytechnic Institute Shivkumar Kalvanaraman & Biplab Sikdar 18
19 TCP Connection Management - 1 Recall: TCP sender, receiver establish connection before exchanging data segments initialize TCP variables: seq. #s buffers, flow control info (e.g. RcvWindow) client: connection initiator Socket clientsocket = new Socket("hostname","port number"); server: contacted by client Socket connectionsocket = welcomesocket.accept(); Rensselaer Polytechnic Institute Shivkumar Kalvanaraman & Biplab Sikdar 19
20 TCP Connection Management - 2 Three way handshake: Step 1: client end system sends TCP SYN control segment to server specifies initial seq # Step 2: server end system receives SYN, replies with SYNACK control segment ACKs received SYN allocates buffers specifies server-> receiver initial seq. # Rensselaer Polytechnic Institute Shivkumar Kalvanaraman & Biplab Sikdar 20
21 TCP Connection Management - 3 Closing a connection: client closes socket: clientsocket.close(); Step 1: client end system sends TCP FIN control segment to server Step 2: server receives FIN, replies with ACK. Closes connection, sends FIN. Rensselaer Polytechnic Institute Shivkumar Kalvanaraman & Biplab Sikdar 21
22 TCP Connection Management - 4 Fddfdf client server close FIN ACK FIN close d timed wait closed ACK Rensselaer Polytechnic Institute Shivkumar Kalvanaraman & Biplab Sikdar 22
23 TCP Connection Management - 5 Step 3: client receives FIN, replies with ACK. Enters timed wait - will respond with ACK to received FINs Step 4: server, receives ACK. Connection closed. Note: with small modification, can handle simultaneous FINs. Rensselaer Polytechnic Institute Shivkumar Kalvanaraman & Biplab Sikdar 23
24 TCP Connection Management - 6 TCP client lifecycle Rensselaer Polytechnic Institute Shivkumar Kalvanaraman & Biplab Sikdar 24
25 TCP Connection Management - 7 TCP server lifecycle Rensselaer Polytechnic Institute Shivkumar Kalvanaraman & Biplab Sikdar 25
26 Recap: Stability of a Multiplexed System Average Input Rate > Average Output Rate => system is unstable! How to ensure stability? 1. Reserve enough capacity so that demand is less than reserved capacity 2. Dynamically detect overload and adapt either the demand or capacity to resolve overload Rensselaer Polytechnic Institute Shivkumar Kalvanaraman & Biplab Sikdar 26
27 Congestion Problem in Packet Switching A 10 Mbs Ethernet statistical multiplexing C B queue of packets waiting for output link 1.5 Mbs 45 Mbs D Cost: self-descriptive header per-packet, buffering and delays for applications. Need to either reserve resources or dynamically detect/adapt to overload for stability Rensselaer Polytechnic Institute Shivkumar Kalvanaraman & Biplab Sikdar 27 E
28 The Congestion Problem λ i λ µ Problem: demand outstrips available capacity λ 1 µ i Demand Capacity λ n If information about λ i, λ and µ is known in a central location where control of λ i or µ can be effected with zero time delays, the congestion problem is solved! Rensselaer Polytechnic Institute Shivkumar Kalvanaraman & Biplab Sikdar 28
29 The Congestion Problem (Continued) Problems: Incomplete information (eg: loss indications) Distributed solution required Congestion and control/measurement locations different Time-varying, heterogeneous timedelay Rensselaer Polytechnic Institute Shivkumar Kalvanaraman & Biplab Sikdar 29
30 The Congestion Problem Static fixes may not solve congestion a) Memory becomes cheap (infinite memory) No buffer Too late b) Links become cheap (high speed links)? All links 19.2 kb/s Replace with 1 Mb/s SS SS SS SS SS SS SS SS File Transfer time = 5 mins File Transfer Time = 7 hours
31 The Congestion Problem A B (Continued) c) Processors become cheap (fast routers & switches) S C D Scenario: All links 1 Gb/s. A & B send to C => high-speed congestion!! (lose more packets faster!)
32 Principles of Congestion Control Congestion: informally: too many sources sending too much data too fast for network to handle different from flow control (receiver overload)! manifestations: lost packets (buffer overflow at routers) long delays (queuing in router buffers) a top-10 problem! Rensselaer Polytechnic Institute Shivkumar Kalvanaraman & Biplab Sikdar 32
33 Causes/costs of congestion: scenario 1 two senders, two receivers one router, infinite buffers no retransmission large delays when congested maximum achievable throughput Rensselaer Polytechnic Institute Shivkumar Kalvanaraman & Biplab Sikdar 33
34 Causes/costs of congestion: scenario 2 one router, finite buffers sender retransmission of lost packet Rensselaer Polytechnic Institute Shivkumar Kalvanaraman & Biplab Sikdar 34
35 Causes/costs of congestion: scenario 2 (continued) Costs of congestion: More work (retrans) for given goodput Unneeded retransmissions: link carries multiple copies of pkt due to spurious timeouts Rensselaer Polytechnic Institute Shivkumar Kalvanaraman & Biplab Sikdar 35
36 Causes/costs of congestion: scenario 3 Another cost of congestion: when packet dropped, any upstream transmission capacity used for that packet was wasted! Rensselaer Polytechnic Institute Shivkumar Kalvanaraman & Biplab Sikdar 36
37 Approaches towards congestion control - 1 Two broad approaches towards congestion control: End-end congestion control: no explicit feedback from network congestion inferred from end-system observed loss, delay approach taken by TCP Rensselaer Polytechnic Institute Shivkumar Kalvanaraman & Biplab Sikdar 37
38 Approaches towards congestion control - 2 Network-assisted congestion control: routers provide feedback to end systems single bit indicating congestion (SNA, DECbit, TCP/IP ECN, ATM) explicit rate sender should send at Rensselaer Polytechnic Institute Shivkumar Kalvanaraman & Biplab Sikdar 38
39 TCP congestion control - 1 end-end control (no network assistance) transmission rate limited by congestion window size, Congwin, over segments: Rensselaer Polytechnic Institute Shivkumar Kalvanaraman & Biplab Sikdar 39
40 TCP congestion control - 2 w segments, each with MSS bytes sent in one RTT: throughput = w * MSS RTT Bytes/sec Rensselaer Polytechnic Institute Shivkumar Kalvanaraman & Biplab Sikdar 40
41 TCP congestion control - 3 Probing for usable bandwidth: Window flow control: avoid receiver overrun Dynamic window congestion control: avoid/control network overrun Policy: Increase Congwin until loss (congestion) Loss => decrease Congwin, then begin probing (increasing) again Rensselaer Polytechnic Institute Shivkumar Kalvanaraman & Biplab Sikdar 41
42 Additive Increase/Multiplicative Decrease (AIMD) Policy For stability: rate-of-decrease > rate-of-increase Decrease performed enough times as long as congestion exists AIMD policy satisfies this condition, provided packet loss is congestion indicator window time Rensselaer Polytechnic Institute Shivkumar Kalvanaraman & Biplab Sikdar 42
43 Fairness Fairness goal: if N TCP sessions share same bottleneck link, each should get 1/N of link capacity TCP connection 1 TCP connection 2 bottleneck router capacity R Rensselaer Polytechnic Institute Shivkumar Kalvanaraman & Biplab Sikdar 43
44 Fairness Analysis Rensselaer Polytechnic Institute Shivkumar Kalvanaraman & Biplab Sikdar 44
45 AIMD Converges to Fairness Rensselaer Polytechnic Institute Shivkumar Kalvanaraman & Biplab Sikdar 45
46 TCP congestion control - 4 TCP uses AIMD policy in steady state Two phases Transient phase: aka Slow start Steady State: aka Congestion avoidance Important variables: Congwin threshold: defines threshold between two slow start phase, congestion avoidance phase Rensselaer Polytechnic Institute Shivkumar Kalvanaraman & Biplab Sikdar 46
47 TCP Slowstart - 1 Slowstart algorithm initialize: Congwin = 1 for (each segment ACKed) Congwin++ until (loss event OR CongWin > threshold) Exponential increase (per RTT) in window size (not so slow!) Loss event: timeout (Tahoe TCP) and/or three duplicate ACKs (Reno TCP) Rensselaer Polytechnic Institute Shivkumar Kalvanaraman & Biplab Sikdar 47
48 TCP Slowstart - 2 asdf Host A Host B RTT one segment two segments four segments time Rensselaer Polytechnic Institute Shivkumar Kalvanaraman & Biplab Sikdar 48
49 TCP Dynamics 1st RTT 2nd RTT 3rd RTT 4th RTT Rate of acks determines rate of packets : Self-clocking property. 100 Mbps 10 Mbps Router Q Rensselaer Polytechnic Institute Shivkumar Kalvanaraman & Biplab Sikdar 49
50 TCP Congestion Avoidance - 1 Congestion avoidance /* slowstart is over */ /* Congwin > threshold */ Until (loss event) { every w segments ACKed: Congwin++ } threshold = Congwin/2 Congwin = 1 1 perform slowstart 1: TCP Reno skips slowstart (aka fast recovery) after three duplicate ACKs and performs close to AIMD Rensselaer Polytechnic Institute Shivkumar Kalvanaraman & Biplab Sikdar 50
51 TCP Congestion Avoidance - 2 Rensselaer Polytechnic Institute Shivkumar Kalvanaraman & Biplab Sikdar 51
52 TCP window dynamics (more) Congestion Window (cwnd) ssthresh Timeout Receiver Window Idle Interval 1 Time (units of RTTs) Rensselaer Polytechnic Institute Shivkumar Kalvanaraman & Biplab Sikdar 52
53 TCP latency modeling - 1 Q: How long does it take to receive an object from a Web server after sending a request? TCP connection establishment data transfer delay Rensselaer Polytechnic Institute Shivkumar Kalvanaraman & Biplab Sikdar 53
54 TCP latency modeling - 2 Notation, assumptions: Assume one link between client and server of rate R Assume: fixed congestion window, W segments S: MSS (bits) O: object size (bits) no retransmissions (no loss, no corruption) Rensselaer Polytechnic Institute Shivkumar Kalvanaraman & Biplab Sikdar 54
55 TCP latency modeling - 3 Two cases to consider: WS/R > RTT + S/R: ACK for first segment in window returns before window s worth of data sent WS/R < RTT + S/R: wait for ACK after sending window s worth of data sent Rensselaer Polytechnic Institute Shivkumar Kalvanaraman & Biplab Sikdar 55
56 TCP latency modeling - 4 Case 1: latency = 2RTT + O/R Rensselaer Polytechnic Institute Shivkumar Kalvanaraman & Biplab Sikdar 56
57 TCP latency modeling - 5 K = O/WS Case 2: latency = 2RTT + O/R + (K-1)[S/R + RTT - WS/R] Rensselaer Polytechnic Institute Shivkumar Kalvanaraman & Biplab Sikdar 57
58 TCP latency modeling: slow start - 1 Now suppose window grows according to slow start. Will show that the latency of one object of size O is: Latency O S P = 2RTT + + P RTT (2 1) R + R where P is the number of times TCP stalls at server: S R Rensselaer Polytechnic Institute Shivkumar Kalvanaraman & Biplab Sikdar 58
59 TCP latency modeling: slow start - 2 P = min{ Q, K 1} - where Q is the number of times the server would stall if the object were of infinite size. - and K is the number of windows that cover the object. Rensselaer Polytechnic Institute Shivkumar Kalvanaraman & Biplab Sikdar 59
60 TCP latency modeling: slow start - 3 Example: O/S = 15 segments K = 4 windows Q = 2 P = min{k-1,q} = 2 initiate TCP connection request object RTT first window = S/R second window = 2S/R third window = 4S/R fourth window = 8S/R Server stalls P=2 times. object delivered time at client time at server complete transmission Rensselaer Polytechnic Institute Shivkumar Kalvanaraman & Biplab Sikdar 60
61 TCP latency modeling: slow start - 4 S RTT time from when server starts to send segment R + = until server receives acknowledgement k S 2 1 = time to transmit the kth window R S R + RTT + k S 2 1 = stall time after the kth window R Rensselaer Polytechnic Institute Shivkumar Kalvanaraman & Biplab Sikdar 61
62 Rensselaer Polytechnic Institute Shivkumar Kalvanaraman & Biplab Sikdar 62 TCP latency modeling: slow start - 5 R S R S RTT P RTT R O R S RTT R S RTT R O stalltime RTT R O P k P k P p p 1) (2 ] [ 2 ] 2 [ 2 2 latency = = + + = = =
63 Sample Results R O/R P Minimum Latency: O/R + 2 RTT Latency with slow start 28 Kbps 28.6 sec sec 28.9 sec 100 Kbps 8 sec sec 8.4 sec 1 Mbps 800 msec 5 1 sec 1.5 sec 10 Mbps 80 msec sec 0.98 sec Rensselaer Polytechnic Institute Shivkumar Kalvanaraman & Biplab Sikdar 63
64 Summary: Chapter 3 Principles behind transport layer services: multiplexing/demultiplexing reliable data transfer flow control congestion control Instantiation and implementation in the Internet UDP, TCP Rensselaer Polytechnic Institute Shivkumar Kalvanaraman & Biplab Sikdar 64
Transport Layer Protocols
Transport Layer Protocols Version. Transport layer performs two main tasks for the application layer by using the network layer. It provides end to end communication between two applications, and implements
More informationTransport Layer and Data Center TCP
Transport Layer and Data Center TCP Hakim Weatherspoon Assistant Professor, Dept of Computer Science CS 5413: High Performance Systems and Networking September 5, 2014 Slides used and adapted judiciously
More informationOutline. TCP connection setup/data transfer. 15-441 Computer Networking. TCP Reliability. Congestion sources and collapse. Congestion control basics
Outline 15-441 Computer Networking Lecture 8 TCP & Congestion Control TCP connection setup/data transfer TCP Reliability Congestion sources and collapse Congestion control basics Lecture 8: 09-23-2002
More informationLecture 15: Congestion Control. CSE 123: Computer Networks Stefan Savage
Lecture 15: Congestion Control CSE 123: Computer Networks Stefan Savage Overview Yesterday: TCP & UDP overview Connection setup Flow control: resource exhaustion at end node Today: Congestion control Resource
More informationFirst Midterm for ECE374 03/09/12 Solution!!
1 First Midterm for ECE374 03/09/12 Solution!! Instructions: Put your name and student number on each sheet of paper! The exam is closed book. You have 90 minutes to complete the exam. Be a smart exam
More informationTCP in Wireless Mobile Networks
TCP in Wireless Mobile Networks 1 Outline Introduction to transport layer Introduction to TCP (Internet) congestion control Congestion control in wireless networks 2 Transport Layer v.s. Network Layer
More informationFirst Midterm for ECE374 03/24/11 Solution!!
1 First Midterm for ECE374 03/24/11 Solution!! Note: In all written assignments, please show as much of your work as you can. Even if you get a wrong answer, you can get partial credit if you show your
More informationComputer Networks. Chapter 5 Transport Protocols
Computer Networks Chapter 5 Transport Protocols Transport Protocol Provides end-to-end transport Hides the network details Transport protocol or service (TS) offers: Different types of services QoS Data
More informationTCP over Multi-hop Wireless Networks * Overview of Transmission Control Protocol / Internet Protocol (TCP/IP) Internet Protocol (IP)
TCP over Multi-hop Wireless Networks * Overview of Transmission Control Protocol / Internet Protocol (TCP/IP) *Slides adapted from a talk given by Nitin Vaidya. Wireless Computing and Network Systems Page
More informationCSE 473 Introduction to Computer Networks. Exam 2 Solutions. Your name: 10/31/2013
CSE 473 Introduction to Computer Networks Jon Turner Exam Solutions Your name: 0/3/03. (0 points). Consider a circular DHT with 7 nodes numbered 0,,...,6, where the nodes cache key-values pairs for 60
More informationLa couche transport dans l'internet (la suite TCP/IP)
La couche transport dans l'internet (la suite TCP/IP) C. Pham Université de Pau et des Pays de l Adour Département Informatique http://www.univ-pau.fr/~cpham Congduc.Pham@univ-pau.fr Cours de C. Pham,
More informationTCP/IP Optimization for Wide Area Storage Networks. Dr. Joseph L White Juniper Networks
TCP/IP Optimization for Wide Area Storage Networks Dr. Joseph L White Juniper Networks SNIA Legal Notice The material contained in this tutorial is copyrighted by the SNIA. Member companies and individuals
More informationData Networks Summer 2007 Homework #3
Data Networks Summer Homework # Assigned June 8, Due June in class Name: Email: Student ID: Problem Total Points Problem ( points) Host A is transferring a file of size L to host B using a TCP connection.
More information15-441: Computer Networks Homework 2 Solution
5-44: omputer Networks Homework 2 Solution Assigned: September 25, 2002. Due: October 7, 2002 in class. In this homework you will test your understanding of the TP concepts taught in class including flow
More informationComputer Networks - CS132/EECS148 - Spring 2013 ------------------------------------------------------------------------------
Computer Networks - CS132/EECS148 - Spring 2013 Instructor: Karim El Defrawy Assignment 3 - Solutions Deadline : May 9 th 9:30pm (hard and soft copies required) ------------------------------------------------------------------------------
More informationChapter 6 Congestion Control and Resource Allocation
Chapter 6 Congestion Control and Resource Allocation 6.3 TCP Congestion Control Additive Increase/Multiplicative Decrease (AIMD) o Basic idea: repeatedly increase transmission rate until congestion occurs;
More informationLa couche transport dans l'internet (la suite TCP/IP)
La couche transport dans l'internet (la suite TCP/IP) C. Pham RESO-LIP/INRIA Université Lyon 1 http://www.ens-lyon.fr/~cpham Basé sur les transparent de Shivkumar Kalyanaraman La couche transport dans
More informationTCP over Wireless Networks
TCP over Wireless Networks Raj Jain Professor of Computer Science and Engineering Washington University in Saint Louis Saint Louis, MO 63130 Audio/Video recordings of this lecture are available at: http://www.cse.wustl.edu/~jain/cse574-10/
More informationChapter 5. Transport layer protocols
Chapter 5. Transport layer protocols This chapter provides an overview of the most important and common protocols of the TCP/IP transport layer. These include: User Datagram Protocol (UDP) Transmission
More informationB-2 Analyzing TCP/IP Networks with Wireshark. Ray Tompkins Founder of Gearbit www.gearbit.com
B-2 Analyzing TCP/IP Networks with Wireshark June 15, 2010 Ray Tompkins Founder of Gearbit www.gearbit.com SHARKFEST 10 Stanford University June 14-17, 2010 TCP In this session we will examine the details
More informationFinal for ECE374 05/06/13 Solution!!
1 Final for ECE374 05/06/13 Solution!! Instructions: Put your name and student number on each sheet of paper! The exam is closed book. You have 90 minutes to complete the exam. Be a smart exam taker -
More informationTCP Westwood for Wireless
TCP Westwood for Wireless מבוא רקע טכני בקרת עומס ב- TCP TCP על קשר אלחוטי שיפור תפוקה עם פרוטוקול TCP Westwood סיכום.1.2.3.4.5 Seminar in Computer Networks and Distributed Systems Hadassah College Spring
More informationMobile Communications Chapter 9: Mobile Transport Layer
Mobile Communications Chapter 9: Mobile Transport Layer Motivation TCP-mechanisms Classical approaches Indirect TCP Snooping TCP Mobile TCP PEPs in general Additional optimizations Fast retransmit/recovery
More informationICOM 5026-090: Computer Networks Chapter 6: The Transport Layer. By Dr Yi Qian Department of Electronic and Computer Engineering Fall 2006 UPRM
ICOM 5026-090: Computer Networks Chapter 6: The Transport Layer By Dr Yi Qian Department of Electronic and Computer Engineering Fall 2006 Outline The transport service Elements of transport protocols A
More informationThis sequence diagram was generated with EventStudio System Designer (http://www.eventhelix.com/eventstudio).
Client App Network Server App 25-May-13 15:32 (Page 1) This sequence diagram was generated with EventStudio System Designer (http://www.eventhelix.com/eventstudio). TCP is an end to end protocol which
More informationCOMP 3331/9331: Computer Networks and Applications. Lab Exercise 3: TCP and UDP (Solutions)
COMP 3331/9331: Computer Networks and Applications Lab Exercise 3: TCP and UDP (Solutions) AIM To investigate the behaviour of TCP and UDP in greater detail. EXPERIMENT 1: Understanding TCP Basics Tools
More informationAnalytic Models for the Latency and Steady-State Throughput of TCP Tahoe, Reno and SACK
REVISION 1 1 Analytic Models for the Latency and Steady-State Throughput of TCP Tahoe, Reno and SACK B. Sikdar, S. Kalyanaraman and K. S. Vastola Dept. of ECSE, Rensselaer Polytechnic Institute Troy, NY
More informationA Survey on Congestion Control Mechanisms for Performance Improvement of TCP
A Survey on Congestion Control Mechanisms for Performance Improvement of TCP Shital N. Karande Department of Computer Science Engineering, VIT, Pune, Maharashtra, India Sanjesh S. Pawale Department of
More informationTCP Adaptation for MPI on Long-and-Fat Networks
TCP Adaptation for MPI on Long-and-Fat Networks Motohiko Matsuda, Tomohiro Kudoh Yuetsu Kodama, Ryousei Takano Grid Technology Research Center Yutaka Ishikawa The University of Tokyo Outline Background
More informationLecture Objectives. Lecture 07 Mobile Networks: TCP in Wireless Networks. Agenda. TCP Flow Control. Flow Control Can Limit Throughput (1)
Lecture Objectives Wireless and Mobile Systems Design Lecture 07 Mobile Networks: TCP in Wireless Networks Describe TCP s flow control mechanism Describe operation of TCP Reno and TCP Vegas, including
More informationPrefix AggregaNon. Company X and Company Y connect to the same ISP, and they are assigned the prefixes:
Data Transfer Consider transferring an enormous file of L bytes from Host A to B using a MSS of 1460 bytes and a 66 byte header. What is the maximum value of L such that TCP sequence numbers are not exhausted?
More informationImproving the Performance of TCP Using Window Adjustment Procedure and Bandwidth Estimation
Improving the Performance of TCP Using Window Adjustment Procedure and Bandwidth Estimation R.Navaneethakrishnan Assistant Professor (SG) Bharathiyar College of Engineering and Technology, Karaikal, India.
More informationHigher Layer Protocols: UDP, TCP, ATM, MPLS
Higher Layer Protocols: UDP, TCP, ATM, MPLS Massachusetts Institute of Technology Slide 1 The TCP/IP Protocol Suite Transmission Control Protocol / Internet Protocol Developed by DARPA to connect Universities
More informationComputer Networks UDP and TCP
Computer Networks UDP and TCP Saad Mneimneh Computer Science Hunter College of CUNY New York I m a system programmer specializing in TCP/IP communication protocol on UNIX systems. How can I explain a thing
More informationMidterm Exam CMPSCI 453: Computer Networks Fall 2011 Prof. Jim Kurose
Midterm Exam CMPSCI 453: Computer Networks Fall 2011 Prof. Jim Kurose Instructions: There are 4 questions on this exam. Please use two exam blue books answer questions 1, 2 in one book, and the remaining
More informationTCP Flow Control. TCP Receiver Window. Sliding Window. Computer Networks. Lecture 30: Flow Control, Reliable Delivery
TCP Flow Control Computer Networks The receiver side of a TCP connection maintains a receiver buffer: Lecture : Flow Control, eliable elivery application process may be slow at reading from the buffer
More information2 TCP-like Design. Answer
Homework 3 1 DNS Suppose you have a Host C, a local name server L, and authoritative name servers A root, A com, and A google.com, where the naming convention A x means that the name server knows about
More informationTCP and Wireless Networks Classical Approaches Optimizations TCP for 2.5G/3G Systems. Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme
Chapter 2 Technical Basics: Layer 1 Methods for Medium Access: Layer 2 Chapter 3 Wireless Networks: Bluetooth, WLAN, WirelessMAN, WirelessWAN Mobile Networks: GSM, GPRS, UMTS Chapter 4 Mobility on the
More informationVisualizations and Correlations in Troubleshooting
Visualizations and Correlations in Troubleshooting Kevin Burns Comcast kevin_burns@cable.comcast.com 1 Comcast Technology Groups Cable CMTS, Modem, Edge Services Backbone Transport, Routing Converged Regional
More informationActive Queue Management (AQM) based Internet Congestion Control
Active Queue Management (AQM) based Internet Congestion Control October 1 2002 Seungwan Ryu (sryu@eng.buffalo.edu) PhD Student of IE Department University at Buffalo Contents Internet Congestion Control
More informationCongestions and Control Mechanisms n Wired and Wireless Networks
International OPEN ACCESS Journal ISSN: 2249-6645 Of Modern Engineering Research (IJMER) Congestions and Control Mechanisms n Wired and Wireless Networks MD Gulzar 1, B Mahender 2, Mr.B.Buchibabu 3 1 (Asst
More information[Prof. Rupesh G Vaishnav] Page 1
Basics The function of transport layer is to provide a reliable end-to-end communications service. It also provides data transfer service for the user layers above and shield the upper layers from the
More informationApplication Level Congestion Control Enhancements in High BDP Networks. Anupama Sundaresan
Application Level Congestion Control Enhancements in High BDP Networks Anupama Sundaresan Organization Introduction Motivation Implementation Experiments and Results Conclusions 2 Developing a Grid service
More informationTCP/IP Over Lossy Links - TCP SACK without Congestion Control
Wireless Random Packet Networking, Part II: TCP/IP Over Lossy Links - TCP SACK without Congestion Control Roland Kempter The University of Alberta, June 17 th, 2004 Department of Electrical And Computer
More informationNames & Addresses. Names & Addresses. Hop-by-Hop Packet Forwarding. Longest-Prefix-Match Forwarding. Longest-Prefix-Match Forwarding
Names & Addresses EE 122: IP Forwarding and Transport Protocols Scott Shenker http://inst.eecs.berkeley.edu/~ee122/ (Materials with thanks to Vern Paxson, Jennifer Rexford, and colleagues at UC Berkeley)
More informationData Communications & Networks. Session 6 Main Theme Reliable Data Transfer. Dr. Jean-Claude Franchitti
Data Communications & Networks Session 6 Main Theme Reliable Data Transfer Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of Mathematical Sciences Adapted
More informationFirst Midterm for ECE374 02/25/15 Solution!!
1 First Midterm for ECE374 02/25/15 Solution!! Instructions: Put your name and student number on each sheet of paper! The exam is closed book. You have 90 minutes to complete the exam. Be a smart exam
More informationCSE331: Introduction to Networks and Security. Lecture 9 Fall 2006
CSE33: Introduction to Networks and Security Lecture 9 Fall 2006 Announcements Project Due TODAY HW Due on Friday Midterm I will be held next Friday, Oct. 6th. Will cover all course material up to next
More informationTCP, Active Queue Management and QoS
TCP, Active Queue Management and QoS Don Towsley UMass Amherst towsley@cs.umass.edu Collaborators: W. Gong, C. Hollot, V. Misra Outline motivation TCP friendliness/fairness bottleneck invariant principle
More informationCongestion Control Review. 15-441 Computer Networking. Resource Management Approaches. Traffic and Resource Management. What is congestion control?
Congestion Control Review What is congestion control? 15-441 Computer Networking What is the principle of TCP? Lecture 22 Queue Management and QoS 2 Traffic and Resource Management Resource Management
More information1. The subnet must prevent additional packets from entering the congested region until those already present can be processed.
Congestion Control When one part of the subnet (e.g. one or more routers in an area) becomes overloaded, congestion results. Because routers are receiving packets faster than they can forward them, one
More informationTCP Performance Management for Dummies
TCP Performance Management for Dummies Nalini Elkins Inside Products, Inc. Monday, August 8, 2011 Session Number 9285 Our SHARE Sessions Orlando 9285: TCP/IP Performance Management for Dummies Monday,
More informationLow-rate TCP-targeted Denial of Service Attack Defense
Low-rate TCP-targeted Denial of Service Attack Defense Johnny Tsao Petros Efstathopoulos University of California, Los Angeles, Computer Science Department Los Angeles, CA E-mail: {johnny5t, pefstath}@cs.ucla.edu
More informationLecture 8 Performance Measurements and Metrics. Performance Metrics. Outline. Performance Metrics. Performance Metrics Performance Measurements
Outline Lecture 8 Performance Measurements and Metrics Performance Metrics Performance Measurements Kurose-Ross: 1.2-1.4 (Hassan-Jain: Chapter 3 Performance Measurement of TCP/IP Networks ) 2010-02-17
More informationTCP in Wireless Networks
Outline Lecture 10 TCP Performance and QoS in Wireless s TCP Performance in wireless networks TCP performance in asymmetric networks WAP Kurose-Ross: Chapter 3, 6.8 On-line: TCP over Wireless Systems Problems
More informationRouter-assisted congestion control. Lecture 8 CS 653, Fall 2010
Router-assisted congestion control Lecture 8 CS 653, Fall 2010 TCP congestion control performs poorly as bandwidth or delay increases Shown analytically in [Low01] and via simulations Avg. TCP Utilization
More informationTCP for Wireless Networks
TCP for Wireless Networks Outline Motivation TCP mechanisms Indirect TCP Snooping TCP Mobile TCP Fast retransmit/recovery Transmission freezing Selective retransmission Transaction oriented TCP Adapted
More informationHow do I get to www.randomsite.com?
Networking Primer* *caveat: this is just a brief and incomplete introduction to networking to help students without a networking background learn Network Security. How do I get to www.randomsite.com? Local
More informationParallel TCP Data Transfers: A Practical Model and its Application
D r a g a n a D a m j a n o v i ć Parallel TCP Data Transfers: A Practical Model and its Application s u b m i t t e d t o the Faculty of Mathematics, Computer Science and Physics, the University of Innsbruck
More information17: Queue Management. Queuing. Mark Handley
17: Queue Management Mark Handley Queuing The primary purpose of a queue in an IP router is to smooth out bursty arrivals, so that the network utilization can be high. But queues add delay and cause jitter.
More informationEthernet. Ethernet. Network Devices
Ethernet Babak Kia Adjunct Professor Boston University College of Engineering ENG SC757 - Advanced Microprocessor Design Ethernet Ethernet is a term used to refer to a diverse set of frame based networking
More informationDigital Audio and Video Data
Multimedia Networking Reading: Sections 3.1.2, 3.3, 4.5, and 6.5 CS-375: Computer Networks Dr. Thomas C. Bressoud 1 Digital Audio and Video Data 2 Challenges for Media Streaming Large volume of data Each
More informationTransport layer protocols for ad hoc networks
Transport layer protocols for ad hoc networks Lecturer: Dmitri A. Moltchanov E-mail: moltchan@cs.tut.fi http://www.cs.tut.fi/kurssit/tlt-2616/ Which transport layer protocol? Classification of transport
More informationAdvanced Computer Networks Project 2: File Transfer Application
1 Overview Advanced Computer Networks Project 2: File Transfer Application Assigned: April 25, 2014 Due: May 30, 2014 In this assignment, you will implement a file transfer application. The application
More informationQuestion: 3 When using Application Intelligence, Server Time may be defined as.
1 Network General - 1T6-521 Application Performance Analysis and Troubleshooting Question: 1 One component in an application turn is. A. Server response time B. Network process time C. Application response
More informationTCP/IP Inside the Data Center and Beyond. Dr. Joseph L White, Juniper Networks
Dr. Joseph L White, Juniper Networks SNIA Legal Notice The material contained in this tutorial is copyrighted by the SNIA. Member companies and individual members may use this material in presentations
More informationSELECTIVE-TCP FOR WIRED/WIRELESS NETWORKS
SELECTIVE-TCP FOR WIRED/WIRELESS NETWORKS by Rajashree Paul Bachelor of Technology, University of Kalyani, 2002 PROJECT SUBMITTED IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF MASTER OF
More informationCMPE 150 Winter 2009
CMPE 150 Winter 2009 Lecture 6 January 22, 2009 P.E. Mantey CMPE 150 -- Introduction to Computer Networks Instructor: Patrick Mantey mantey@soe.ucsc.edu http://www.soe.ucsc.edu/~mantey/ / t / Office: Engr.
More informationMultipath TCP in Practice (Work in Progress) Mark Handley Damon Wischik Costin Raiciu Alan Ford
Multipath TCP in Practice (Work in Progress) Mark Handley Damon Wischik Costin Raiciu Alan Ford The difference between theory and practice is in theory somewhat smaller than in practice. In theory, this
More informationComputer Networks Homework 1
Computer Networks Homework 1 Reference Solution 1. (15%) Suppose users share a 1 Mbps link. Also suppose each user requires 100 kbps when transmitting, but each user transmits only 10 percent of the time.
More informationNetworking Overview. (as usual, thanks to Dave Wagner and Vern Paxson)
Networking Overview (as usual, thanks to Dave Wagner and Vern Paxson) Focus For This Lecture Sufficient background in networking to then explore security issues in next few lectures Networking = the Internet
More informationArchitecture and Performance of the Internet
SC250 Computer Networking I Architecture and Performance of the Internet Prof. Matthias Grossglauser School of Computer and Communication Sciences EPFL http://lcawww.epfl.ch 1 Today's Objectives Understanding
More informationIntroduction. Abusayeed Saifullah. CS 5600 Computer Networks. These slides are adapted from Kurose and Ross
Introduction Abusayeed Saifullah CS 5600 Computer Networks These slides are adapted from Kurose and Ross Roadmap 1.1 what is the Inter? 1.2 work edge end systems, works, links 1.3 work core packet switching,
More informationCOMP 361 Computer Communications Networks. Fall Semester 2003. Midterm Examination
COMP 361 Computer Communications Networks Fall Semester 2003 Midterm Examination Date: October 23, 2003, Time 18:30pm --19:50pm Name: Student ID: Email: Instructions: 1. This is a closed book exam 2. This
More informationHigh Speed Internet Access Using Satellite-Based DVB Networks
High Speed Internet Access Using Satellite-Based DVB Networks Nihal K. G. Samaraweera and Godred Fairhurst Electronics Research Group, Department of Engineering University of Aberdeen, Aberdeen, AB24 3UE,
More informationSimulation-Based Comparisons of Solutions for TCP Packet Reordering in Wireless Network
Simulation-Based Comparisons of Solutions for TCP Packet Reordering in Wireless Network 作 者 :Daiqin Yang, Ka-Cheong Leung, and Victor O. K. Li 出 處 :Wireless Communications and Networking Conference, 2007.WCNC
More informationEINDHOVEN UNIVERSITY OF TECHNOLOGY Department of Mathematics and Computer Science
EINDHOVEN UNIVERSITY OF TECHNOLOGY Department of Mathematics and Computer Science Examination Computer Networks (2IC15) on Monday, June 22 nd 2009, 9.00h-12.00h. First read the entire examination. There
More informationAnswer: that dprop equals dtrans. seconds. a) d prop. b) d trans
Chapter 1 1) p. 98: P-6 This elementary problem begins to explore propagation delay and transmission delay, two central concepts in data networking. Consider two hosts, A and B, connected by single link
More informationBasic Multiplexing models. Computer Networks - Vassilis Tsaoussidis
Basic Multiplexing models? Supermarket?? Computer Networks - Vassilis Tsaoussidis Schedule Where does statistical multiplexing differ from TDM and FDM Why are buffers necessary - what is their tradeoff,
More informationAccess Control: Firewalls (1)
Access Control: Firewalls (1) World is divided in good and bad guys ---> access control (security checks) at a single point of entry/exit: in medieval castles: drawbridge in corporate buildings: security/reception
More informationD. SamKnows Methodology 20 Each deployed Whitebox performs the following tests: Primary measure(s)
v. Test Node Selection Having a geographically diverse set of test nodes would be of little use if the Whiteboxes running the test did not have a suitable mechanism to determine which node was the best
More informationVoice over IP. Demonstration 1: VoIP Protocols. Network Environment
Voice over IP Demonstration 1: VoIP Protocols Network Environment We use two Windows workstations from the production network, both with OpenPhone application (figure 1). The OpenH.323 project has developed
More informationECSE-6600: Internet Protocols Exam 2
ECSE-6600: Internet Protocols Exam 2 Time: 75 min (strictly enforced) Points: 50 YOUR NAME: Be brief, but DO NOT omit necessary detail {Note: Simply copying text directly from the slides or notes will
More informationImproving Effective WAN Throughput for Large Data Flows By Peter Sevcik and Rebecca Wetzel November 2008
Improving Effective WAN Throughput for Large Data Flows By Peter Sevcik and Rebecca Wetzel November 2008 When you buy a broadband Wide Area Network (WAN) you want to put the entire bandwidth capacity to
More informationMeasuring IP Performance. Geoff Huston Telstra
Measuring IP Performance Geoff Huston Telstra What are you trying to measure? User experience Responsiveness Sustained Throughput Application performance quality Consistency Availability Network Behaviour
More informationOptimization of Communication Systems Lecture 6: Internet TCP Congestion Control
Optimization of Communication Systems Lecture 6: Internet TCP Congestion Control Professor M. Chiang Electrical Engineering Department, Princeton University ELE539A February 21, 2007 Lecture Outline TCP
More informationComputer Networks Practicum 2015
Computer Networks Practicum 2015 Vrije Universiteit Amsterdam, The Netherlands http://acropolis.cs.vu.nl/ spyros/cnp/ 1 Overview This practicum consists of two parts. The first is to build a TCP implementation
More informationComputer Networks. Data Link Layer
Computer Networks The Data Link Layer 1 Data Link Layer Application Transport Network DLL PHY 2 What does it do? What functions it performs? Typically: Handling transmission errors, a.k.a., error control.
More informationTCP/IP Networking for Wireless Systems. Integrated Communication Systems Group Ilmenau University of Technology
TCP/IP Networking for Wireless Systems Integrated Communication Systems Group Ilmenau University of Technology Content Internet Protocol Suite Link Layer: Ethernet, PPP, ARP, MAC Addressing Network Layer:
More informationPer-Flow Queuing Allot's Approach to Bandwidth Management
White Paper Per-Flow Queuing Allot's Approach to Bandwidth Management Allot Communications, July 2006. All Rights Reserved. Table of Contents Executive Overview... 3 Understanding TCP/IP... 4 What is Bandwidth
More informationHigh-Speed TCP Performance Characterization under Various Operating Systems
High-Speed TCP Performance Characterization under Various Operating Systems Y. Iwanaga, K. Kumazoe, D. Cavendish, M.Tsuru and Y. Oie Kyushu Institute of Technology 68-4, Kawazu, Iizuka-shi, Fukuoka, 82-852,
More informationQuality of Service versus Fairness. Inelastic Applications. QoS Analogy: Surface Mail. How to Provide QoS?
18-345: Introduction to Telecommunication Networks Lectures 20: Quality of Service Peter Steenkiste Spring 2015 www.cs.cmu.edu/~prs/nets-ece Overview What is QoS? Queuing discipline and scheduling Traffic
More informationMobile Computing/ Mobile Networks
Mobile Computing/ Mobile Networks TCP in Mobile Networks Prof. Chansu Yu Contents Physical layer issues Communication frequency Signal propagation Modulation and Demodulation Channel access issues Multiple
More informationNetworking part 3: the transport layer
Networking part 3: the transport layer Juliusz Chroboczek Université de Paris-Diderot (Paris 7) September 2011 Summary of the previous episodes Episode 1: switching, packet switching and the Internet.
More informationBased on Computer Networking, 4 th Edition by Kurose and Ross
Computer Networks Ethernet Hubs and Switches Based on Computer Networking, 4 th Edition by Kurose and Ross Ethernet dominant wired LAN technology: cheap $20 for NIC first widely used LAN technology Simpler,
More informationCS551 End-to-End Internet Packet Dynamics [Paxson99b]
CS551 End-to-End Internet Packet Dynamics [Paxson99b] Bill Cheng http://merlot.usc.edu/cs551-f12 1 End-to-end Packet Dynamics How do you measure Internet performance? Why do people want to know? Are ISPs
More informationq Connection establishment (if connection-oriented) q Data transfer q Connection release (if conn-oriented) q Addressing the transport user
Transport service characterization The Transport Layer End-to-End Protocols: UDP and TCP Connection establishment (if connection-oriented) Data transfer Reliable ( TCP) Unreliable / best effort ( UDP)
More informationIna Minei Reuven Cohen. The Technion. Haifa 32000, Israel. e-mail: faminei,rcoheng@cs.technion.ac.il. Abstract
High Speed Internet Access Through Unidirectional Geostationary Satellite Channels Ina Minei Reuven Cohen Computer Science Department The Technion Haifa 32000, Israel e-mail: faminei,rcoheng@cs.technion.ac.il
More informationTFTP TRIVIAL FILE TRANSFER PROTOCOL OVERVIEW OF TFTP, A VERY SIMPLE FILE TRANSFER PROTOCOL FOR SIMPLE AND CONSTRAINED DEVICES
TFTP - Trivial File TFTP Transfer Protocol TRIVIAL FILE TRANSFER PROTOCOL OVERVIEW OF TFTP, A VERY SIMPLE FILE TRANSFER PROTOCOL FOR SIMPLE AND CONSTRAINED DEVICES Peter R. Egli INDIGOO.COM 1/10 Contents
More informationTOE2-IP FTP Server Demo Reference Design Manual Rev1.0 9-Jan-15
TOE2-IP FTP Server Demo Reference Design Manual Rev1.0 9-Jan-15 1 Introduction File Transfer Protocol (FTP) is the protocol designed for file sharing over internet. By using TCP/IP for lower layer, FTP
More information