TCP "Real" Reliable Transport
|
|
- Leon McCoy
- 7 years ago
- Views:
Transcription
1 TCP "Real" Reliable Transport CS 356 University of Texas at Austin Dr. David A. Bryan VERY SIGNIFICANT content used or adapted from Computer Networking: A Top- Down Approach, 6e, Kurose and Ross, Addisson- Wesley, or the supporting instructor slides Kurose and Ross or Addison- Wesley, All rights reserved. Remaining content by David A. Bryan unless otherwise noted.
2 Remember from last time We saw UDP, which provided no reliability Then we looked at a simplified model of how we would make this reliable (modeled using state machines) Used Ack/No Ack with sequence numbers Then moved to Ack/Ack previous sequence numbers Timers when messages not received Goal was to understand how to build a real reliable transport TCP So how are the primitives (pieces) above used in TCP?
3 TCP: Overview RFCs: 793,1122,1323, 2018, 2581 point-to-point: one sender, one receiver reliable, in-order byte steam: app sees no "message boundaries" connection-oriented: handshake first to establish the connection pipelined: We don't wait for everything to be acknowledged send multiple packets full duplex data: bi-directional data flow in same connection
4 Pipelining We talked about "stop and wait" send one, wait for ack With pipelining, we send more, some number "in flight" at any time: sender receiver sender receiver The number in flight (3 here) is called the window size
5 Half- Duplex vs. Full- Duplex Half Duplex What we saw before one side (A) sends, the other (B) acks If (B) wants to send it waits and the sends after (A) TCP Full Duplex Both sides send at same time data sent in the acks (A) sends data to (B) (B) acks it and sends back at same time. A B A B send data rcv ack rcv data send ack data ack data ack rcv data send ack send data rcv ack send data rcv ack w/data send ack w/data rcv ack w/data data ack w/data ack w/data ack w/ data rcv data send ack w/data rcv ack w/data send ack w/data
6 UDP: segment header 32 bits source port # dest port # length application data (payload) checksum UDP segment format UDP was missing fields for a number of the things we were adding it had no reliability, so simply needed source/dest, length, and the checksum All we could do was discard bad packets No sequence numbers, for example
7 TCP segment structure head len 32 bits source port # dest port # sequence number acknowledgement number not used UAP R S F checksum receive window Urg data pointer options (variable length) application data (variable length) LOTs more in a TCP header As before, lots wrapping the actual data (what we saw in our code) We'll look at some of these. First, notice there is a sequence number and an acknowledgement number
8 Reality: Sequence Numbers in TCP We saw a simple example where we alternated between sequence numbers 0/1, but that made our example a stop and wait approach TCP is not stop- and- wait, so with pipelining we send many (with incrementing seq. number), and get many acks (with corresponding seq. number) Again, some number (window size) of packets "in flight" at a time to track Extra wrinkle TCP is full- duplex so sending back data at same time!
9 The Fields Used ACK flag head len 32 bits source port # dest port # sequence number acknowledgement number not used UAP R S F checksum receive window Urg data pointer options (variable length) counting by bytes of data (not segments!) # bytes rcvr willing to accept application data (variable length)
10 Sequence Numbers in TCP TCP presents the data to the application like it was a stream of bytes not a set of packets App doesn't care if 5000 bytes of data was 10 packets of 500 bytes or 500 packets of 10 bytes TCP is also in order the application doesn't get the data out of order. If 1,2,3,5 is received, app gets 1,2,3 then waits. 5 isn't delivered until 4 is retransmitted. To make this easier, TCP sequence (and ack) numbers are actually the # of data bytes sent, not # of packets. Don't start at zero why? Exchanged at startup
11 TCP seq. numbers, ACKs sequence numbers: byte stream number of first byte in segment's data acknowledgements: seq # of next byte expected from other side cumulative ACK Q: how receiver handles outof-order segments A: TCP spec doesn't say, - up to implementor outgoing segment from sender source port # dest port # sequence number acknowledgement number rwnd checksum sent ACKed urg pointer sender sequence number space sent, notyet ACKed sent not yet ( inflight ) incoming segment to sender source port # dest port # sequence number acknowledgement number A rwnd checksum urg pointer
12 TCP seq. numbers, ACKs Host A Host B User types C host ACKs receipt of echoed C Seq=42, ACK=79, data = c Seq=79, ACK=43, data = C Seq=43, ACK=80 host ACKs receipt of c, echoes back C Example: Capitalize server (just sends back what you sent capitalized)
13 Timer Remember that sequence numbers let us tell if a packet was corrupt (we don't ack the bad packet) and here if we are sending fast enough, can also tell we have a missing packet How? If sending slow, I never got an ack, we also needed to add a timer to know when to retransmit that packet (since we assume it wasn't received) Problem was picking the timer Takes longer for a packet to get to China than Dallas So again, reality TCP has an elegant way to calculate the timer
14 TCP round trip time, timeout Q: how to set TCP timeout value? longer than RTT but RTT varies (China vs. UT, slower connection, more congestion ) too short: premature timeout, unnecessary retransmissions too long: slow reaction to loss Q: how to estimate RTT? SampleRTT:measure the time from segment transmission until ACK receipt ignore retransmissions SampleRTTwill vary, want estimated RTT smoother average several recent measurements, not just current SampleRTT average: EstimatedRTT
15 TCP round trip time, timeout EstimatedRTT = ((1- α)* EstimatedRTT) + (α * SampleRTT) exponential weighted moving average influence of past sample decreases exponentially fast typical value: α = (⅛) 350 RTT: gaia.cs.umass.edu to fantasia.eurecom.fr 300 RTT (milliseconds) samplertt EstimatedRTT time (seconds)
16 TCP round trip time, timeout EstimatedRTT = (⅞ * EstimatedRTT) + (⅛ * SampleRTT) exponential weighted moving average influence of past sample decreases exponentially fast typical value: α = RTT: gaia.cs.umass.edu to fantasia.eurecom.fr 300 RTT (milliseconds) samplertt EstimatedRTT time (seconds)
17 TCP round trip time, timeout timeout interval: Use EstimatedRTT plus safety margin large variation in EstimatedRTT è larger safety margin estimate SampleRTT deviation from EstimatedRTT: DevRTT = (1-β) * DevRTT + β * SampleRTT-EstimatedRTT (typically, β = 0.25) TimeoutInterval = EstimatedRTT + 4*DevRTT estimated RTT safety margin
18 TCP sender events: if data rcvd from app: create segment with seq # seq # is byte- stream number of first data byte in segment start timer if not already running think of timer as for oldest unacked segment expiration interval: TimeOutInterval if timeout: retransmit segment that caused timeout restart timer if ack rcvd: if ack acknowledges previously unacked segments update what is known to be ACKed start timer if there are still unacked segments
19 TCP ACK generation [RFC 1122, RFC 2581] event at receiver arrival of in-order segment with expected seq #. All data up to expected seq # already ACKed arrival of in-order segment with expected seq #. One other segment has ACK pending arrival of out-of-order segment 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, ACKing both in-order segments immediately send duplicate ACK, indicating seq. # of next expected byte immediate send ACK, provided that segment starts at lower end of gap
20 TCP: retransmission scenarios Host A Host B Host A Host B Seq=92, 8 bytes of data SendBase=92 Seq=92, 8 bytes of data timeout X ACK=100 timeout Seq=100, 20 bytes of data ACK=100 ACK=120 Seq=92, 8 bytes of data ACK=100 lost ACK scenario SendBase=100 SendBase=120 SendBase=120 Seq=92, 8 bytes of data ACK=120 premature timeout
21 TCP: retransmission scenarios Host A Host B Seq=92, 8 bytes of data Seq=100, 20 bytes of data X ACK=100 ACK=120 Seq=120, 15 bytes of data (don't need to resend the 100 data!) Cumulative ACK
22 TCP fast retransmit time- out period often relatively long: long delay before resending lost packet so, detect lost segments via duplicate ACKs. sender often sends many segments back- to- back if segment is lost, there will likely be many duplicate ACKs. TCP fast retransmit if sender receives 3 ACKs for same data ( triple duplicate ACKs ), resend unacked segment with smallest seq # likely that unacked segment lost, so don't wait for timeout
23 TCP fast retransmit Host A Host B Seq=92, 8 bytes of data Seq=100, 20 bytes of data X ACK=100 timeout ACK=100 ACK=100 ACK=100 Seq=100, 20 bytes of data fast retransmit after sender receipt of triple duplicate ACK
24 TCP Reliability Combination of timers, acknowledgement, retransmissions ensures reliable information Key points Full- Duplex data and acks sent together Sequence numbers are count of data, not packets Ack the last received in order not necessarily last received Timeout adapts and based on performance of connection In order delivery (1,2,3,5 means application gets 1,2,3 until 4 is delivered )
25 TCP Flow and Congestion Control In addition, TCP provides control for two things: Flow control don't overload the receiver Congestion control don't overload the network
26 TCP flow control application may remove data from TCP socket buffers. slower than TCP receiver is delivering (sender is sending) application process TCP socket receiver buffers TCP code application OS flow control receiver controls sender, so sender won't overflow receiver's buffer by transmitting too much, too fast from sender IP code receiver protocol stack
27 TCP flow control receiver advertises free buffer space by including rwnd value in TCP header of receiver-to-sender segments RcvBuffer size set via socket options (typical default is 4096 bytes) many operating systems autoadjust RcvBuffer sender limits amount of unacked ( in-flight ) data to receiver's rwnd value guarantees receive buffer will not overflow RcvBuffer rwnd to application process buffered data free buffer space TCP segment payloads receiver-side buffering
28 TCP segment structure 32 bits head len source port # dest port # sequence number acknowledgement number not used UAP R S F checksum receive window Urg data pointer options (variable length) rwnd, # bytes rcvr willing to accept application data (variable length)
29 Connection Management before exchanging data, sender/receiver handshake : agree to establish connection (each knowing the other willing to establish connection) agree on connection parameters (sequence numbers, rwnd) application application connection state: ESTAB connection variables: seq # client-to-server server-to-client rcvbuffer size at server,client network connection state: ESTAB connection Variables: seq # client-to-server server-to-client rcvbuffer size at server,client network Socket clientsocket = newsocket("hostname","port number"); Socket connectionsocket = welcomesocket.accept();
30 TCP segment structure 32 bits head len source port # dest port # sequence number acknowledgement number not used UAP R S F checksum receive window Urg data pointer options (variable length) SYN, FIN and RST bits are used for connection management application data (variable length)
31 TCP: opening a connection client, server establishes connection with message with SYN bit send TCP segment with SYN bit = 1 Inlcude sequence number client starts with respond to received SYN with ACK on receiving SYN, ACK can be combined with own SYN Sequence number + 1 for Ack Number Send own starting sequence number If the server isn't listening on that port, replies with RST bit set (doesn't accept connection)
32 TCP 3- way handshake client state LISTEN SYNSENT ESTAB choose init seq num, x send TCP SYN msg received SYNACK(x) indicates server is live;; send ACK for SYNACK;; this segment may contain client-to-server data SYNbit=1, Seq=x SYNbit=1, Seq=y ACKbit=1;; ACKnum=x+1 ACKbit=1, ACKnum=y+1 choose init seq num, y send TCP SYNACK msg, acking SYN received ACK(y) indicates client is live server state LISTEN SYN RCVD ESTAB
33 TCP: closing a connection client, server each close their side of connection send TCP segment with FIN bit = 1 respond to received FIN with ACK on receiving FIN, ACK can be combined with own FIN simultaneous FIN exchanges can be handled
34 TCP: closing a connection client state server state ESTAB ESTAB clientsocket.close() FIN_WAIT_1 FIN_WAIT_2 can no longer send but can receive data wait for server close FINbit=1, seq=x ACKbit=1;; ACKnum=x+1 can still send data CLOSE_WAIT TIMED_WAIT timed wait for 2*max segment lifetime FINbit=1, seq=y ACKbit=1;; ACKnum=y+1 can no longer send data LAST_ACK CLOSED CLOSED Transport Layer 3-40
35 Congestion Control congestion: informally: too many sources sending too much data too fast for network to handle different from flow control! manifestations: lost packets (buffer overflow at routers) long delays (queueing in router buffers) Let's look at some scenarios
36 Causes/costs of congestion: scenario 1 two senders, two receivers one router, infinite buffers output link capacity: R no retransmission Host B original data: λ in Host A unlimited shared output link buffers throughput: λ out R R/2 λ out delay λ in R/2 λ in R/2 maximum per-connection throughput: R/2 v large delays as arrival rate, λ in, approaches capacity Try to send more (λ in é ), but λ out can't increase, so delay!
37 Causes/costs of congestion: scenario 2 one router, finite buffers sender retransmission of timed-out (dropped) packet application-layer input = application-layer output: λ in = λ out transport-layer input includes retransmissions : λ in λ in λ in : original data λ'in : original data, plus retransmitted data λ out Host A Host B finite shared output link buffers
38 Result : scenario 2 idealization: perfect knowledge (magically know buffer state) sender sends only when router buffers available R/2 λ out λ in R/2 λ in : original data λ'in : original data, plus retransmitted data λ out A Host B finite shared output link buffers
39 Result : scenario 2 Realistic: duplicates v v packets can be lost, dropped at router due to full buffers sender times out prematurely, sending two copies, both of which are delivered R/2 λ out λ in R/2 when sending at R/2, some packets are retransmissions including duplicated that are delivered! timeout copy λ in (λ' in ) λ out A Host B
40 Result : scenario 2 Realistic: duplicates packets can be lost, dropped at router due to full buffers sender times out prematurely, sending two copies, both of which are delivered λ out R/2 λ in R/2 when sending at R/2, some packets are retransmissions including duplicated that are delivered! costs of congestion: more work (retrans) for given "goodput" unneeded retransmissions: link carries multiple copies of pkt decreasing "goodput" You don't really want to send more (λ in é ) after you hit R/2. How to detect?
41 Approaches towards congestion control two broad approaches towards congestion control: network-assisted congestion control: routers provide feedback to end systems Much more required of network Some (less popular) tech tried this end-end congestion control: no explicit feedback from network congestion inferred from end-system observed loss, delay end clients try to play nice! approach taken by TCP
42 TCP Approach to Congestion Control Very interesting (and famous) algorithm to do this We have to understand a few things for this: MSS Maximum Segment Size the biggest amount of data we can send on the connection Packet size - headers 1460 bytes is common Congestion Window (cwnd) Remember: Window size is how many packets can we have in flight at same time. If window size is 4 we can have four out at once. THIS IS A SECOND WINDOW! cwnd and rwnd! One stops overflow of receiver, one for network congestion
43 TCP congestion control:aimd additive increase multiplicative decrease approach: sender increases transmission rate (window size), probing for usable bandwidth, until loss occurs additive increase: increase cwnd by 1 MSS every RTT until loss detected multiplicative decrease: cut cwnd in half after loss AIMD saw tooth behavior: probing for bandwidth cwnd: TCP sender congestion window size additively increase window size. until loss occurs (then cut window in half) time
44 TCP Congestion Control: details sender sequence number space cwnd last byte ACKed last byte sent sender limits transmission: sent, notyet ACKed ( inflight ) LastByteSent- LastByteAcked < cwnd cwnd is dynamic, function of perceived network congestion Also has to be rwnd! TCP sending rate: roughly: send cwnd bytes, wait RTT for ACKS, then send more bytes rate ~ cwnd RTT bytes/sec
45 TCP Slow Start Bad name, actually a way to ramp up faster when connection begins, increase rate exponentially until first loss event: initially cwnd = 1 MSS double cwnd every RTT done by incrementing cwnd for every ACK received initial rate is slow but ramps up exponentially fast Backs off (to 1 again) when you hit congestion Now remember ½ that level as a threshold Host A RTT Host B time
46 TCP: detecting, reacting to loss Different algorithms TCP Tahoe, and newer TCP Reno Some even newer For loss indicated by timeout (TCP Reno or Tahoe): cwnd set to 1 MSS; window then grows exponentially (as in slow start) to threshold (½ of what we got to last time), then grows linearly For loss indicated by 3 duplicate ACKS: See above for TCP Tahoe (same thing) For Reno: dup ACKs indicate network capable of delivering some segments cwnd is cut in half (not to 1) then grows linearly
47 TCP: switching from slow start to CA Q: when should the exponential increase switch to linear? A: when cwnd gets to 1/2 of its value before timeout. Implementation: variable ssthresh on loss event, ssthresh is set to 1/2 of cwnd just before loss event
48 TCP Fairness fairness goal: if K TCP sessions share same bottleneck link of bandwidth R, each should have average rate of R/K TCP connection 1 TCP connection 2 bottleneck router capacity R
49 Why is TCP fair? two competing sessions: additive increase gives slope of 1, as throughout increases multiplicative decrease decreases throughput proportionally R equal bandwidth share loss: decrease window by factor of 2 congestion avoidance: additive increase loss: decrease window by factor of 2 congestion avoidance: additive increase Connection 1 throughput R
50 Fairness (or being less fair ) Fairness and UDP multimedia apps often do not use TCP do not want rate throttled by congestion control instead use UDP: send audio/video at constant rate, tolerate packet loss Fairness, parallel TCP connections application can open multiple parallel connections between two hosts web browsers do this e.g., link of rate R with 9 existing connections: new app asks for 1 TCP, gets rate R/10 new app asks for 11 TCPs, gets R/2
Transport 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 informationTransport 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 informationTransport Layer. Chapter 3.4. Think about
Chapter 3.4 La 4 Transport La 1 Think about 2 How do MAC addresses differ from that of the network la? What is flat and what is hierarchical addressing? Who defines the IP Address of a device? What is
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/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 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 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 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 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 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 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 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 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 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 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 informationNetworks: IP and TCP. Internet Protocol
Networks: IP and TCP 11/1/2010 Networks: IP and TCP 1 Internet Protocol Connectionless Each packet is transported independently from other packets Unreliable Delivery on a best effort basis No acknowledgments
More informationPig Laboratory. Additional documentation for the laboratory. Exercises and Rules. Tstat Data
Pig Laboratory This laboratory is dedicated to Hadoop Pig and consists of a series of exercises: some of them somewhat mimic those in the MapReduce laboratory, others are inspired by "real-world" problems.
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 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 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 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 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 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 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 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 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 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 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 informationAn enhanced TCP mechanism Fast-TCP in IP networks with wireless links
Wireless Networks 6 (2000) 375 379 375 An enhanced TCP mechanism Fast-TCP in IP networks with wireless links Jian Ma a, Jussi Ruutu b and Jing Wu c a Nokia China R&D Center, No. 10, He Ping Li Dong Jie,
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 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 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 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 informationHomework 2 assignment for ECE374 Posted: 02/21/14 Due: 02/28/14
1 Homework 2 assignment for ECE374 Posted: 02/21/14 Due: 02/28/14 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
More informationIP Network Layer. Datagram ID FLAG Fragment Offset. IP Datagrams. IP Addresses. IP Addresses. CSCE 515: Computer Network Programming TCP/IP
CSCE 515: Computer Network Programming TCP/IP IP Network Layer Wenyuan Xu Department of Computer Science and Engineering University of South Carolina IP Datagrams IP is the network layer packet delivery
More informationQUIC. Quick UDP Internet Connections. Multiplexed Stream Transport over UDP. IETF-88 TSV Area Presentation 2013-11-7
QUIC Quick UDP Internet Connections Multiplexed Stream Transport over UDP Presentation by Jim Roskind Google Corp IETF-88 TSV Area Presentation 2013-11-7 What is QUIC? Effectively replaces TLS and
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 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 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 informationRecent advances in transport protocols
Recent advances in transport protocols April 12, 2013 Abstract Transport protocols play a critical role in today s Internet. This chapter first looks at the evolution of the Internet s Transport Layer
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 informationOverview. Securing TCP/IP. Introduction to TCP/IP (cont d) Introduction to TCP/IP
Overview Securing TCP/IP Chapter 6 TCP/IP Open Systems Interconnection Model Anatomy of a Packet Internet Protocol Security (IPSec) Web Security (HTTP over TLS, Secure-HTTP) Lecturer: Pei-yih Ting 1 2
More informationCS268 Exam Solutions. 1) End-to-End (20 pts)
CS268 Exam Solutions General comments: ) If you would like a re-grade, submit in email a complete explanation of why your solution should be re-graded. Quote parts of your solution if necessary. In person
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 informationEffect of Packet-Size over Network Performance
International Journal of Electronics and Computer Science Engineering 762 Available Online at www.ijecse.org ISSN: 2277-1956 Effect of Packet-Size over Network Performance Abhi U. Shah 1, Daivik H. Bhatt
More informationMaster Course Computer Networks IN2097
Chair for Network Architectures and Services Prof. Carle Department of Computer Science TU München Master Course Computer Networks IN2097 Prof. Dr.-Ing. Georg Carle Christian Grothoff, Ph.D. Stephan Günther
More informationChallenges of Sending Large Files Over Public Internet
Challenges of Sending Large Files Over Public Internet CLICK TO EDIT MASTER TITLE STYLE JONATHAN SOLOMON SENIOR SALES & SYSTEM ENGINEER, ASPERA, INC. CLICK TO EDIT MASTER SUBTITLE STYLE OUTLINE Ø Setting
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 informationNETI@home: A Distributed Approach to Collecting End-to-End Network Performance Measurements
NETI@home: A Distributed Approach to Collecting End-to-End Network Performance Measurements Charles Robert Simpson, Jr. and George F. Riley Georgia Institute of Technology (Georgia Tech), Atlanta Georgia,
More informationTransport layer issues in ad hoc wireless networks Dmitrij Lagutin, dlagutin@cc.hut.fi
Transport layer issues in ad hoc wireless networks Dmitrij Lagutin, dlagutin@cc.hut.fi 1. Introduction Ad hoc wireless networks pose a big challenge for transport layer protocol and transport layer protocols
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 informationNetwork Security: Workshop. Dr. Anat Bremler-Barr. Assignment #2 Analyze dump files Solution Taken from www.chrissanders.org
1.pcap - File download Network Security: Workshop Dr. Anat Bremler-Barr Assignment #2 Analyze dump files Solution Taken from www.chrissanders.org Downloading a file is a pretty basic function when described
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 informationData Link Layer(1) Principal service: Transferring data from the network layer of the source machine to the one of the destination machine
Data Link Layer(1) Principal service: Transferring data from the network layer of the source machine to the one of the destination machine Virtual communication versus actual communication: Specific functions
More informationAPPENDIX 1 USER LEVEL IMPLEMENTATION OF PPATPAN IN LINUX SYSTEM
152 APPENDIX 1 USER LEVEL IMPLEMENTATION OF PPATPAN IN LINUX SYSTEM A1.1 INTRODUCTION PPATPAN is implemented in a test bed with five Linux system arranged in a multihop topology. The system is implemented
More informationApplications. Network Application Performance Analysis. Laboratory. Objective. Overview
Laboratory 12 Applications Network Application Performance Analysis Objective The objective of this lab is to analyze the performance of an Internet application protocol and its relation to the underlying
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 informationIP address format: Dotted decimal notation: 10000000 00001011 00000011 00011111 128.11.3.31
IP address format: 7 24 Class A 0 Network ID Host ID 14 16 Class B 1 0 Network ID Host ID 21 8 Class C 1 1 0 Network ID Host ID 28 Class D 1 1 1 0 Multicast Address Dotted decimal notation: 10000000 00001011
More informationWhat is a DoS attack?
CprE 592-YG Computer and Network Forensics Log-based Signature Analysis Denial of Service Attacks - from analyst s point of view Yong Guan 3216 Coover Tel: (515) 294-8378 Email: guan@ee.iastate.edu October
More informationTransport Protocols and Distributed Applications
Transport Protocols and Distributed Applications EP1100 Data Communications and Computer Networks Illustrations in this material are collected from Behrouz A Forouzan, Data Communications and Networking,
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 informationIntroduction to LAN/WAN. Network Layer
Introduction to LAN/WAN Network Layer Topics Introduction (5-5.1) Routing (5.2) (The core) Internetworking (5.5) Congestion Control (5.3) Network Layer Design Isues Store-and-Forward Packet Switching Services
More informationA Study on TCP Performance over Mobile Ad Hoc Networks
215 A Study on TCP Performance over Mobile Ad Hoc Networks Shweta Sharma 1, Anshika Garg 2 1 School of Computing Science and Engineering, Galgotias University, Greater Noida 2 School of Computing Science
More informationThe Problem with TCP. Overcoming TCP s Drawbacks
White Paper on managed file transfers How to Optimize File Transfers Increase file transfer speeds in poor performing networks FileCatalyst Page 1 of 6 Introduction With the proliferation of the Internet,
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 informationWhy SSL is better than IPsec for Fully Transparent Mobile Network Access
Why SSL is better than IPsec for Fully Transparent Mobile Network Access SESSION ID: SP01-R03 Aidan Gogarty HOB Inc. aidan.gogarty@hob.de What are we all trying to achieve? Fully transparent network access
More information