CPSC 3600 HW #4 Fall 2017 Last update: 11/9/2017 Please work together with your project group (3 members)
|
|
- Norma Beasley
- 5 years ago
- Views:
Transcription
1 CPSC 3600 HW #4 Fall 2017 Last update: 11/9/2017 Please work together with your project group (3 members) Name: Q 1 Kurose chapter 3, review question R14 Q 2 Kurose chapter 3, review question R15 Q 3 Kurose chapter 3, review question R17 1
2 Q4 As a group, you will repeat Exercise 5. This time, see if you can view a 4K content. If you can t, just chose any video your group agrees to watch. In your writeup, make sure to note the content you chose and the time of day that you viewed the video. Repeat exercise 5, although capture a bit more data- at least 15 minutes of a video. Make sure to capture the very beginning of the video. Have everyone in your group watch the video at the same time (using the same laptop). Everyone at the end of the session should give an overall assessment of the video quality - poor, acceptable, good, excellent. During the viewing, everyone should look for any specific artifacts such as glitches, strange distortions, or rebuffering events. In your writeup, everyone should include their overall assessment and a list of any observed artifacts. In a manner similar to Exercise 5, o Summarize the tcpdump trace file- Number of packets, number of tcp and udp sessions, total trace time. o What was the aggregate bandwidth consumed by the video session (in the time you viewed and traced it)- show the DS and US result separately. o Provide the DS.flowcounts file sorted by the IP addresses that were involved in the most number of flows. In addition please do the following o Identify the 10 flows that consumed the most DS bandwidth. o Plot the aggregate bandwidth consumed for the viewing session plot the 1 sec and 10 sec bandwidth sample output files produced by timeslice. Overlay the two curves please label each curve. Note: a 15 minute packet trace of a video can be very large (approaching 1 Gbyte). Make sure to use a computer with sufficient disk space. You might need to do this on a department Linux machine. Q5 Programming question. You should use the code HW4.tar.gz as the starting point for this program. We will build upon the latest UDPEcho program, adding a third mode of operation that implements a simple window-based rate control algorithm. The mode of operation emulates an application with infinite demand and that attempts to use all available bandwidth over the path between the two socket endpoints. The mode implements a simplified version of TCP s slow start congestion control. It adapts the window in two ways. First, it grows the window in an effort to allow the flow to utilize all available bandwidth. Specifically, it initializes the window to a value equivalent to 1 message and 2
3 increases the window by a value of 1 with each NEW ACK that arrives. A NEW ACK is an ACK message that conveys a Rx Sequence Number that the sender has not yet seen. An ACK message is either a NEW ACK or a DUPLICATE ACK. The latter implies the receiver has issues the same Rx Sequence Number one or more times. Second, the new mode will reduce the window in response to observed network congestion. We adopt TCP/IP s method of using packet loss as implicit indicators of network congestion. The protocol implements an adaptive sliding window protocol that deals with loss recovery using a go-back-n policy. To briefly illustrate the error recovery imagine the sender s window at a given point in time to be 10 packets (or messages). Messages with sequence numbers are in flight. If packet loss does not occur, the sender will receive 10 ACK messages with Rx Sequence Numbers of If the very first message is lost (seq number 100), the sender will receive 9 ACK messages all with an Rx Sequence Number of 100. Once the sender deduces that packet sequence number 100 was dropped, it will reduce the window to 1 and begin retransmitting beginning with sequence number 100. The go-back-n in this case refers to a loss recovery that requires the sender to effectively slide the window backwards to retransmit everything beginning with the first packet that was dropped. Clearly this is not the most efficient, as in our example, the retransmissions of sequence numbers are not necessary. But, this is a very simple protocol to implement and serves as a good example of a widely used protocol. We use the term message to mean a transmission from either the client or server. We can assume the term is synonymous with the terms packet or segment. There are two messages. The client (which we will call the sender) sends DATA messages. The server (which we will call the receiver) sends ACK messages. A DATA message is similar to what is used in the other modes, but it adds the time the message is sent to the message. DATA send by the client in Mode 2 Sequence number (32 bit unsigned int) Mode : 16 bit unsigned int Timestamp seconds (32 bit unsigned int) Timestamp microseconds (32 bit unsigned int) Data- char [] - the client s message size specifies how many octets of data are contained in a DATA message The timestamp sends the unix timeval structure, first the seconds field, second the microseconds field. ACK- this is sent by the server in response to DATA messages from clients in Mode 2. It includes the Rx Sequence number, the mode of operation, and the timestamp from the most recent DATA Message. Rx Sequence number (32 bit unsigned int) Mode : 16 bit unsigned int Timestamp seconds (32 bit unsigned int) Timestamp microseconds (32 bit unsigned int) 3
4 We introduce several terms and concepts relevant to how the receiver generates ACK messages. A duplicate ACK is an ACK sent by the receiver that contains an Rx Sequence Number that has already been sent in a previous ACK message. Similarly, a new ACK is an ACK received by the sender that acknowledges a DATA message that has not been acknowledged before. This allows the window to advance. ACKs are cumulative in the sense that an ACK might contain a Rx Sequence number that acknowledges multiple packets. This also makes ACKs tolerant to loss (i.e., a dropped ACK message might not make any difference). The ACK strategy specifies how frequently the receiver issues an ACK. Your program will assume that the receiver is to issue an ACK with each new DATA message that arrives. It is possible to change this behavior and to reduce the number of ACKs by implementing a delayed ACK. The receiver will wait for a configured number of DATA messages to arrive, and then issue one ACK that acknowledges all of the messages received. Your program does NOT have to support a delayed ACK. The receiver sends an ACK message for each data message that is received. The ACK message contains the Sequence Number that it expects next, consequently we refer to the sequence number in an ACK message as the Rx Sequence Number. Both DATA and ACK messages might be dropped in the network. When the receiver detects loss, it discards any data that arrives that is NOT the DATA message containing the next expected sequence number. This go-back-n behavior is not exactly what TCP does but it simplifies our protocol. When the sender deduces that a DATA message has been dropped, it simulates retransmission of the DATA message that was dropped by sending a DATA message with the sequence number of the packet that was dropped. The sender maintains a window variable (W) that specifies the number of messages that can be outstanding in the network. Once W messages have been sent, the sender waits for ACKs. The sender must maintain a retransmission timeout on only one message at a time. If the sender s window is 10 and DATA messages with sequence numbers of are in flight, the sender s timeout is based on the transmission of sequence number of 50. The sender deduces loss has occurred when one of two events occurs. The retransmission timer pops. The sender retransmits the message that has the lowest sequence number. For example, if the sender s window is 5 and it sends messages with sequence numbers of 10, 11, 12, 13, 14 but all 5 are dropped in the network. The sender stalls meaning no new data will be clocked out until the retransmission timer pops. When the timer pops, the sender should retransmit DATA message sequence number 10 and the window is reduced to 1. A duplicate ACK event - if the sender observes a duplicate ACK, it assumes the DATA message that has the lowest sequence number was dropped. This DATA message is retransmit and the window is reduced to 1. (NOTE: TCP waits until 3 duplicate ACKs arrive, and the loss event is due to a triple duplicate ack ) 4
5 As explained below, either loss event will cause the sender to reduce the cwnd to 1. If the same DATA message is retransmitted a total of five consecutive times (i.e., the same message is attempted to be sent a total of 6 times), the sender should assume the session has failed and it should terminate the program. The sender maintains a variable called the congestion window (cwnd). It is in units of packets. It is initialized to 1 packet. The client program is variable called maximum window (maintained as variable maxw) This is in units of packets. The parameter allows us to limit the sending rate of the sender. If the value is 0, there is no limit to the sending rate. You are to implement this by setting maxw to a very large number (10 million packets). The slow start algorithm involves the following variables: cwnd: the current congestion window maxw : the max allowed Window (a program parameter) W: The current window in use by the sender. It is updated each time a new ACK arrives: W= min(cwnd, maxw). RTO : Retransmission Timeout the duration of the retransmission timeout. This is defined to be twice the average of the 3 most recent RTT samples RTT the round trip time sample based on the currect Rx Sequence Number in an ACK message. It should be calculated based on the difference between the current time and the timestamp contained in the ACK. This must NOT be computed if the ACK is a duplicate. avgrtt the average RTT based on the most recent 3 samples. nextseqnumber the next seq number to be used highestseqnumberinflight tracks the upper edge of the window lowestseqnumberinflight tracks the lower edge of the window. This would be the next expected Rx Sequence Number. highestmsgacked the sequence number most recently ACKed. The simplified slow start algorithm is summarized as follows (note- this is incomplete it is meant just to illustrate the main points of slow start). At init time, nextseqnumber=1 highestseqnumberinflight=1 lowestseqnumberinflight=1 Cwnd=1 maxw initialized to the program parameter. If 0, it is set to 10,000,000 W=1 Init the initial RTO to 2 seconds Client sends the first message 5
6 2 Each ACK that arrives, Retrieve RxSeqNumber from the message If it is a new ACK: o Adjust the seq number pointers to slide the window forward o cwnd++ o W=min(cwnd,maxW) o Send as many messages allowed (based on the updated W) If it is a duplicate ACK o Cwnd=1 o maxw=1 o Restart the timer, retransmit the DATA message that was dropped 3 When a timeout occurs cwnd=1 W=1 Restart the time, retransmit the message that timed out. The server is a very simple extension to the current server. We are adding one new parameter (the third parameter) to the server that specifies the value of a random loss process that will be used for testing purposes. The parameter range is and represents the average loss rate the server should apply in the form of a random packet loss process. If a data segment arrives with a mode value of 2, it must respond by sending an ACK message that contains 4 bytes of data representing the sequence number of the data that is being acknowledged (i.e., the sequence number of the data just received). The server must continue to maintain per session statistics and display a summary of each session when the program terminates. The client parameters are as follows. : 1. Server IPv4 address as a domain name or in dotted quad format 2. Server port : specifies the server port 3. Message size: specifies the number of application bytes to place in each message. In order to ensure a message fits in one IP packet, you should assume a message size can not exceed 1472 bytes. 4. Number iterations: specifies the number of iterations (i.e., data samples) to perform (or obtain). If 0, the client should run forever (or until a CNT-C). 5. Debug flag - Same as the server parameter except the sample log file is RTT.dat. 6. Mode : 0 is RTT_MODE (original ECHO mode), 1 is CBR mode, 2 is windowed protocol mode. 7. This parameter depends on the Mode parameter a. Mode 0 : Iteration delay: Number of microseconds between iterations b. Mode 1 : Target send rate: The target client sending rate in bits per seconds 6
7 c. Mode 2 : Maximum Window size allowed. This is in units of packets. A value of 0 indicates there is no maximum. Output monitoring : If the traceflag parameter is set to 1 for either the client or the server, the results of a monitoring process is to be displayed to standard out. The client and server monitor will be almost identical. Every MonitorTimePeriod (which we will statically set to 1 second), the monitor samples are computed based only on the counts from the past interval (i.e., since the last MonitorTimePeriod). Please format the monitor output to something that is brief, all numeric. The server would provide an output line just for the session whose monitortimeperiods have expired. For example: client: ClientIP clientport Timestamp avgrtt avgsendrate server: ClientIP clientport Timestamp avgrtt avgsendrate Output monitoring : If the traceflag parameter is set to 1 for either the client or the server, the results of a monitoring process is to be displayed to standard out. The client and server monitor will be almost identical. Every MonitorTimePeriod (which we will statically set to 1 second), the monitor samples are computed based only on the counts from the past interval (i.e., since the last MonitorTimePeriod). Note: the following details are provided just as a guide. You can name variables or change the code as you see fit. Client: The client will monitor two measures, the avgrtt and the average sending rate. o During a monitor period, for each ACK arrival, an RTT sample and the average send rate sample are computed. For the RTT: Only do this if the ACK arrival is the next expected ACK- we do NOT want to obtain an RTT sample if packet loss has occurred. o RTTsample= Time difference between the current time and the time the segment corresponding to this ACK was sent o monitorrtttotal+= RTTsample; o monitorrttnumbersamples++; For the sending rate: o sendratebytes+=size of segment corresponding to this ACK o Once a MonitorTimePeriod amount of time has passed, update variables as follows: actualtimesincelastmonitorupdate=curtime-lastupdatetime; lastupdatetime=curtime; avgrtt=monitorrtttotal/monitorrtnumbersamples; avgsendrate=sendratebytes/actualtimesincelastmonitorupdate monitorrtttotal=0; monitorrttnumbersamples=0; 7
8 sendratebytes=0; The server monitor is identical except it does not monitor RTT- just the average receive throughput. Please format the monitor output to something that is brief, all numeric. The server would provide an output line just for the session whose monitortimeperiods have expired. For example: client: ClientIP clientport Timestamp avgrtt avgsendrate server: ClientIP clientport Timestamp avgrtt avgsendrate End of program summary information: The client and server should display appropriate summary information upon termination. Client displays appropriate information including: o SessionDuration TotalPkts TotalBytes avgsendrate avgrtt avglossrate Server displays appropriate per session information including: o clientip clientport SessionDuration TotalPkts TotalBytes avgthroughput avglossrate For your program, implement the following RTO algorithm: Maintain a new smoothed RTT (different from the monitor avgrtt measure) average based on the average of the five most recent samples. o The RTT should NOT be updated if packet loss is detected. Init : Set the initial RTO to 1 second, set MAXRTO to 8 seconds. When the next expected ACK arrives, o Update the smoothed RTT o If at least 3 RTT samples have been obtained, update the RTO as follows: RTO = 2 * smoothedrttset the RTO to twice the smoothed RTT. On a timeout, backoff the RTO o RTO= min(2*rto, MAXRTO) ; You will need to come up with a technique for maintaining a timeout that is less than 1 second. The alarm function is limited to timeouts that are multiples of 1 second. Test and Validation: You are to create a set of test cases to validate the program functionality works. Your validation must involve the use of tcpdump and the netem/tc tools. Netem/tc is to be used to create test scenarios involving realistic levels of latency and loss. 8
CPSC 3600 HW #4 Solutions Fall 2017 Last update: 12/10/2017 Please work together with your project group (3 members)
CPSC 3600 HW #4 Solutions Fall 2017 Last update: 12/10/2017 Please work together with your project group (3 members) Name: Q 1 Kurose chapter 3, review question R14 (20 points) Solution: a) false b) false
More informationSection 1 Short Answer Questions
CPSC 3600 section 002 HW #1 Fall 2017 Last revision: 9/7/2017 You must work on this homework individually!! Submission: You are to submit your written answers to turnitin. Also, you are to submit your
More informationWhen the ACK message arrives at the client, it computes an RTT sample and then immediately sends the next message.
CPSC 3600 HW #2 s Fall 2017 Last update: 10/12/2017 Please submit your written answers as a PDF using canvas And your modified UDPEcho.tar.gz using handin Please work independently Name: 1 (10) Two nodes
More informationShort answer (35 points)
CPSC 360 Fall 2017 Exam 1 Version 2 Solutions (last updated 10/19/2017) This exam is closed book, closed notes, closed laptops. You are allowed to have one 8.5x11 sheet of paper with whatever you like
More informationNetworked Systems and Services, Fall 2017 Reliability with TCP
Networked Systems and Services, Fall 2017 Reliability with TCP Jussi Kangasharju Markku Kojo Lea Kutvonen 4. Transmission Control Protocol (TCP) RFC 793 + more than hundred other RFCs TCP Loss Recovery
More informationfile:///c:/users/hpguo/dropbox/website/teaching/fall 2017/CS4470/H...
1 of 9 11/26/2017, 11:28 AM Homework 3 solutions 1. A window holds bytes 2001 to 5000. The next byte to be sent is 3001. Draw a figure to show the situation of the window after the following two events:
More informationTCP Performance. EE 122: Intro to Communication Networks. Fall 2006 (MW 4-5:30 in Donner 155) Vern Paxson TAs: Dilip Antony Joseph and Sukun Kim
TCP Performance EE 122: Intro to Communication Networks Fall 2006 (MW 4-5:30 in Donner 155) Vern Paxson TAs: Dilip Antony Joseph and Sukun Kim http://inst.eecs.berkeley.edu/~ee122/ Materials with thanks
More informationTransport Protocols and TCP: Review
Transport Protocols and TCP: Review CSE 6590 Fall 2010 Department of Computer Science & Engineering York University 1 19 September 2010 1 Connection Establishment and Termination 2 2 1 Connection Establishment
More informationNetworked Systems and Services, Fall 2018 Chapter 3
Networked Systems and Services, Fall 2018 Chapter 3 Jussi Kangasharju Markku Kojo Lea Kutvonen 4. Transport Layer Reliability with TCP Transmission Control Protocol (TCP) RFC 793 + more than hundred other
More informationTCP: Flow and Error Control
1 TCP: Flow and Error Control Required reading: Kurose 3.5.3, 3.5.4, 3.5.5 CSE 4213, Fall 2006 Instructor: N. Vlajic TCP Stream Delivery 2 TCP Stream Delivery unlike UDP, TCP is a stream-oriented protocol
More informationChapter 3 Review Questions
Chapter 3 Review Questions. 2. 3. Source port number 6 and destination port number 37. 4. TCP s congestion control can throttle an application s sending rate at times of congestion. Designers of applications
More informationTopics. TCP sliding window protocol TCP PUSH flag TCP slow start Bulk data throughput
Topics TCP sliding window protocol TCP PUSH flag TCP slow start Bulk data throughput 2 Introduction In this chapter we will discuss TCP s form of flow control called a sliding window protocol It allows
More informationTransport Protocols & TCP TCP
Transport Protocols & TCP CSE 3213 Fall 2007 13 November 2007 1 TCP Services Flow control Connection establishment and termination Congestion control 2 1 TCP Services Transmission Control Protocol (RFC
More informationBasic Reliable Transport Protocols
Basic Reliable Transport Protocols Do not be alarmed by the length of this guide. There are a lot of pictures. You ve seen in lecture that most of the networks we re dealing with are best-effort : they
More informationTCP. CSU CS557, Spring 2018 Instructor: Lorenzo De Carli (Slides by Christos Papadopoulos, remixed by Lorenzo De Carli)
TCP CSU CS557, Spring 2018 Instructor: Lorenzo De Carli (Slides by Christos Papadopoulos, remixed by Lorenzo De Carli) 1 Sources Fall and Stevens, TCP/IP Illustrated Vol. 1, 2nd edition Congestion Avoidance
More informationCongestion Control. Brighten Godfrey CS 538 January Based in part on slides by Ion Stoica
Congestion Control Brighten Godfrey CS 538 January 31 2018 Based in part on slides by Ion Stoica Announcements A starting point: the sliding window protocol TCP flow control Make sure receiving end can
More informationECE 435 Network Engineering Lecture 10
ECE 435 Network Engineering Lecture 10 Vince Weaver http://web.eece.maine.edu/~vweaver vincent.weaver@maine.edu 28 September 2017 Announcements HW#4 was due HW#5 will be posted. midterm/fall break You
More informationTCP and Congestion Control (Day 1) Yoshifumi Nishida Sony Computer Science Labs, Inc. Today's Lecture
TCP and Congestion Control (Day 1) Yoshifumi Nishida nishida@csl.sony.co.jp Sony Computer Science Labs, Inc 1 Today's Lecture Part1: TCP concept Part2: TCP detailed mechanisms Part3: Tools for TCP 2 1
More informationChapter 6. What happens at the Transport Layer? Services provided Transport protocols UDP TCP Flow control Congestion control
Chapter 6 What happens at the Transport Layer? Services provided Transport protocols UDP TCP Flow control Congestion control OSI Model Hybrid Model Software outside the operating system Software inside
More informationChapter 3 outline. 3.5 Connection-oriented transport: TCP. 3.6 Principles of congestion control 3.7 TCP congestion control
Chapter 3 outline 3.1 Transport-layer services 3.2 Multiplexing and demultiplexing 3.3 Connectionless transport: UDP 3.4 Principles of reliable data transfer 3.5 Connection-oriented transport: TCP segment
More informationCSCD 330 Network Programming
CSCD 330 Network Programming Lecture 10 Transport Layer Continued Spring 2018 Reading: Chapter 3 Some Material in these slides from J.F Kurose and K.W. Ross All material copyright 1996-2007 1 Last Time.
More informationTransmission Control Protocol. ITS 413 Internet Technologies and Applications
Transmission Control Protocol ITS 413 Internet Technologies and Applications Contents Overview of TCP (Review) TCP and Congestion Control The Causes of Congestion Approaches to Congestion Control TCP Congestion
More informationExercises TCP/IP Networking With Solutions
Exercises TCP/IP Networking With Solutions Jean-Yves Le Boudec Fall 2009 3 Module 3: Congestion Control Exercise 3.2 1. Assume that a TCP sender, called S, does not implement fast retransmit, but does
More informationInternet Networking recitation #10 TCP New Reno Vs. Reno
recitation #0 TCP New Reno Vs. Reno Spring Semester 200, Dept. of Computer Science, Technion 2 Introduction Packet Loss Management TCP Reno (RFC 258) can manage a loss of at most one packet from a single
More informationLecture 5: Flow Control. CSE 123: Computer Networks Alex C. Snoeren
Lecture 5: Flow Control CSE 123: Computer Networks Alex C. Snoeren Pipelined Transmission Sender Receiver Sender Receiver Ignored! Keep multiple packets in flight Allows sender to make efficient use of
More informationHomework 3 50 points. 1. Computing TCP's RTT and timeout values (10 points)
Homework 3 50 points 1. Computing TCP's RTT and timeout values (10 points) Suppose that TCP's current estimated values for the round trip time (estimatedrtt) and deviation in the RTT (DevRTT) are 400 msec
More informationTransport layer. UDP: User Datagram Protocol [RFC 768] Review principles: Instantiation in the Internet UDP TCP
Transport layer Review principles: Reliable data transfer Flow control Congestion control Instantiation in the Internet UDP TCP 1 UDP: User Datagram Protocol [RFC 768] No frills, bare bones Internet transport
More informationTCP Basics : Computer Networking. Overview. What s Different From Link Layers? Introduction to TCP. TCP reliability Assigned reading
TCP Basics 15-744: Computer Networking TCP reliability Assigned reading [FF96] Simulation-based Comparisons of Tahoe, Reno, and SACK TCP L-9 TCP Basics 2 Key Things You Should Know Already Port numbers
More informationTransport layer. Review principles: Instantiation in the Internet UDP TCP. Reliable data transfer Flow control Congestion control
Transport layer Review principles: Reliable data transfer Flow control Congestion control Instantiation in the Internet UDP TCP 1 UDP: User Datagram Protocol [RFC 768] No frills, bare bones Internet transport
More informationUNIT IV -- TRANSPORT LAYER
UNIT IV -- TRANSPORT LAYER TABLE OF CONTENTS 4.1. Transport layer. 02 4.2. Reliable delivery service. 03 4.3. Congestion control. 05 4.4. Connection establishment.. 07 4.5. Flow control 09 4.6. Transmission
More informationUser Datagram Protocol
Topics Transport Layer TCP s three-way handshake TCP s connection termination sequence TCP s TIME_WAIT state TCP and UDP buffering by the socket layer 2 Introduction UDP is a simple, unreliable datagram
More informationCS457 Transport Protocols. CS 457 Fall 2014
CS457 Transport Protocols CS 457 Fall 2014 Topics Principles underlying transport-layer services Demultiplexing Detecting corruption Reliable delivery Flow control Transport-layer protocols User Datagram
More informationCS321: Computer Networks Congestion Control in TCP
CS321: Computer Networks Congestion Control in TCP Dr. Manas Khatua Assistant Professor Dept. of CSE IIT Jodhpur E-mail: manaskhatua@iitj.ac.in Causes and Cost of Congestion Scenario-1: Two Senders, a
More informationLecture 20 Overview. Last Lecture. This Lecture. Next Lecture. Transport Control Protocol (1) Transport Control Protocol (2) Source: chapters 23, 24
Lecture 20 Overview Last Lecture Transport Control Protocol (1) This Lecture Transport Control Protocol (2) Source: chapters 23, 24 Next Lecture Internet Applications Source: chapter 26 COSC244 & TELE202
More informationCSC 401 Data and Computer Communications Networks
CSC 401 Data and Computer Communications Networks Transport Layer Connection Oriented Transport: TCP Sec 3.5 Prof. Lina Battestilli Fall 2017 Transport Layer Chapter 3 Outline 3.1 Transport-layer Services
More informationNetwork Protocols. Transmission Control Protocol (TCP) TDC375 Autumn 2009/10 John Kristoff DePaul University 1
Network Protocols Transmission Control Protocol (TCP) TDC375 Autumn 2009/10 John Kristoff DePaul University 1 IP review IP provides just enough connected ness Global addressing Hop by hop routing IP over
More informationProblem 7. Problem 8. Problem 9
Problem 7 To best answer this question, consider why we needed sequence numbers in the first place. We saw that the sender needs sequence numbers so that the receiver can tell if a data packet is a duplicate
More informationTransport Layer: outline
Transport Layer: outline Transport-layer services Multiplexing and demultiplexing Connectionless transport: UDP Principles of reliable data transfer Connection-oriented transport: TCP Segment structure
More informationFall 2012: FCM 708 Bridge Foundation I
Fall 2012: FCM 708 Bridge Foundation I Prof. Shamik Sengupta Instructor s Website: http://jjcweb.jjay.cuny.edu/ssengupta/ Blackboard Website: https://bbhosted.cuny.edu/ Intro to Computer Networking Transport
More informationFlow and Congestion Control Marcos Vieira
Flow and Congestion Control 2014 Marcos Vieira Flow Control Part of TCP specification (even before 1988) Goal: not send more data than the receiver can handle Sliding window protocol Receiver uses window
More informationTransport Layer. Application / Transport Interface. Transport Layer Services. Transport Layer Connections
Application / Transport Interface Application requests service from transport layer Transport Layer Application Layer Prepare Transport service requirements Data for transport Local endpoint node address
More informationApplied Networks & Security
Applied Networks & Security TCP/IP Protocol Suite http://condor.depaul.edu/~jkristof/it263/ John Kristoff jtk@depaul.edu IT 263 Spring 2006/2007 John Kristoff - DePaul University 1 ARP overview datalink
More informationUser Datagram Protocol (UDP):
SFWR 4C03: Computer Networks and Computer Security Feb 2-5 2004 Lecturer: Kartik Krishnan Lectures 13-15 User Datagram Protocol (UDP): UDP is a connectionless transport layer protocol: each output operation
More informationChapter 24. Transport-Layer Protocols
Chapter 24. Transport-Layer Protocols 23.1 Introduction 23.2 User Datagram Protocol 23.3 Transmission Control Protocol 23.4 SCTP Computer Networks 24-1 Position of Transport-Layer Protocols UDP is an unreliable
More informationTransport Protocols and TCP
Transport Protocols and TCP Functions Connection establishment and termination Breaking message into packets Error recovery ARQ Flow control Multiplexing, de-multiplexing Transport service is end to end
More informationECE 610: Homework 4 Problems are taken from Kurose and Ross.
ECE 610: Homework 4 Problems are taken from Kurose and Ross. Problem 1: Host A and B are communicating over a TCP connection, and Host B has already received from A all bytes up through byte 248. Suppose
More informationEECS 122, Lecture 19. Reliable Delivery. An Example. Improving over Stop & Wait. Picture of Go-back-n/Sliding Window. Send Window Maintenance
EECS 122, Lecture 19 Today s Topics: More on Reliable Delivery Round-Trip Timing Flow Control Intro to Congestion Control Kevin Fall, kfall@cs cs.berkeley.eduedu Reliable Delivery Stop and Wait simple
More informationECE697AA Lecture 3. Today s lecture
ECE697AA Lecture 3 Transport Layer: TCP and UDP Tilman Wolf Department of Electrical and Computer Engineering 09/09/08 Today s lecture Transport layer User datagram protocol (UDP) Reliable data transfer
More informationLecture 4: Congestion Control
Lecture 4: Congestion Control Overview Internet is a network of networks Narrow waist of IP: unreliable, best-effort datagram delivery Packet forwarding: input port to output port Routing protocols: computing
More informationICS 451: Today's plan. Sliding Window Reliable Transmission Acknowledgements Windows and Bandwidth-Delay Product Retransmission Timers Connections
ICS 451: Today's plan Sliding Window Reliable Transmission Acknowledgements Windows and Bandwidth-Delay Product Retransmission Timers Connections Alternating Bit Protocol: throughput tied to latency with
More informationAnswers to Sample Questions on Transport Layer
Answers to Sample Questions on Transport Layer 1) Which protocol Go-Back-N or Selective-Repeat - makes more efficient use of network bandwidth? Why? Answer: Selective repeat makes more efficient use of
More informationProgramming Assignment 3: Transmission Control Protocol
CS 640 Introduction to Computer Networks Spring 2005 http://www.cs.wisc.edu/ suman/courses/640/s05 Programming Assignment 3: Transmission Control Protocol Assigned: March 28,2005 Due: April 15, 2005, 11:59pm
More informationOverview. TCP congestion control Computer Networking. TCP modern loss recovery. TCP modeling. TCP Congestion Control AIMD
Overview 15-441 Computer Networking Lecture 9 More TCP & Congestion Control TCP congestion control TCP modern loss recovery TCP modeling Lecture 9: 09-25-2002 2 TCP Congestion Control Changes to TCP motivated
More information8. TCP Congestion Control
8. TCP Congestion Control 1 TCP Congestion Control Slow-start increase Multiplicative decrease Congestion avoidance Measurement of variation Exponential timer backoff 2002 Yanghee Choi 2 Congestion Control
More informationTCP: Transmission Control Protocol UDP: User Datagram Protocol TCP - 1
TCP/IP Family of Protocols (cont.) TCP: Transmission Control Protocol UDP: User Datagram Protocol www.comnets.uni-bremen.de TCP - 1 Layer 4 Addressing: Port Numbers To talk to another port, a sender needs
More informationIntro to LAN/WAN. Transport Layer
Intro to LAN/WAN Transport Layer Transport Layer Topics Introduction (6.1) Elements of Transport Protocols (6.2) Internet Transport Protocols: TDP (6.5) Internet Transport Protocols: UDP (6.4) socket interface
More informationOutline Computer Networking. TCP slow start. TCP modeling. TCP details AIMD. Congestion Avoidance. Lecture 18 TCP Performance Peter Steenkiste
Outline 15-441 Computer Networking Lecture 18 TCP Performance Peter Steenkiste Fall 2010 www.cs.cmu.edu/~prs/15-441-f10 TCP congestion avoidance TCP slow start TCP modeling TCP details 2 AIMD Distributed,
More informationLecture 8. TCP/IP Transport Layer (2)
Lecture 8 TCP/IP Transport Layer (2) Outline (Transport Layer) Principles behind transport layer services: multiplexing/demultiplexing principles of reliable data transfer learn about transport layer protocols
More informationProblem Set 7 Due: Start of Class, November 2
CS242 Computer Networks Handout # 14 Randy Shull October 26, 2017 Wellesley College Problem Set 7 Due: Start of Class, November 2 Reading: Kurose & Ross, Sections 3.6, 3.7, 3.8 Wireshark Lab [26] In these
More informationCS 640 Introduction to Computer Networks Spring 2009
CS 640 Introduction to Computer Networks Spring 2009 http://pages.cs.wisc.edu/~suman/courses/wiki/doku.php?id=640-spring2009 Programming Assignment 3: Transmission Control Protocol Assigned: March 26,
More informationThe Transport Layer Reliability
The Transport Layer Reliability CS 3, Lecture 7 http://www.cs.rutgers.edu/~sn4/3-s9 Srinivas Narayana (slides heavily adapted from text authors material) Quick recap: Transport Provide logical communication
More informationTCP/IP Protocol Suite 1
TCP/IP Protocol Suite 1 Stream Control Transmission Protocol (SCTP) TCP/IP Protocol Suite 2 OBJECTIVES: To introduce SCTP as a new transport-layer protocol. To discuss SCTP services and compare them with
More informationTransport Over IP. CSCI 690 Michael Hutt New York Institute of Technology
Transport Over IP CSCI 690 Michael Hutt New York Institute of Technology Transport Over IP What is a transport protocol? Choosing to use a transport protocol Ports and Addresses Datagrams UDP What is a
More informationETSF10 Internet Protocols Transport Layer Protocols
ETSF10 Internet Protocols Transport Layer Protocols 2012, Part 2, Lecture 2.1 Kaan Bür, Jens Andersson Transport Layer Protocols Process-to-process delivery [ed.4 ch.23.1] [ed.5 ch.24.1] Transmission Control
More informationCSC 8560 Computer Networks: TCP
CSC 8560 Computer Networks: TCP Professor Henry Carter Fall 2017 Project 2: mymusic You will be building an application that allows you to synchronize your music across machines. The details of which are
More informationTCP : Fundamentals of Computer Networks Bill Nace
TCP 14-740: Fundamentals of Computer Networks Bill Nace Material from Computer Networking: A Top Down Approach, 6 th edition. J.F. Kurose and K.W. Ross Administrivia Lab #1 due now! Reminder: Paper Review
More informationOutline. TCP: Overview RFCs: 793, 1122, 1323, 2018, Development of reliable protocol Sliding window protocols
Outline Development of reliable protocol Sliding window protocols Go-Back-N, Selective Repeat Protocol performance Sockets, UDP, TCP, and IP UDP operation TCP operation connection management flow control
More informationBandwidth Allocation & TCP
Bandwidth Allocation & TCP The Transport Layer Focus Application Presentation How do we share bandwidth? Session Topics Transport Network Congestion control & fairness Data Link TCP Additive Increase/Multiplicative
More information7. TCP 최양희서울대학교컴퓨터공학부
7. TCP 최양희서울대학교컴퓨터공학부 1 TCP Basics Connection-oriented (virtual circuit) Reliable Transfer Buffered Transfer Unstructured Stream Full Duplex Point-to-point Connection End-to-end service 2009 Yanghee Choi
More informationLecture 15: Transport Layer Congestion Control
Lecture 15: Transport Layer Congestion Control COMP 332, Spring 2018 Victoria Manfredi Acknowledgements: materials adapted from Computer Networking: A Top Down Approach 7 th edition: 1996-2016, J.F Kurose
More informationCS 4390 Computer Networks. Pointers to Corresponding Section of Textbook
CS 4390 Computer Networks UT D application transport network data link physical Session 10 Transmission Control Protocol (TCP) An Overview Adapted from Computer Networking a Top-Down Approach 1996-2012
More informationCNT 6885 Network Review on Transport Layer
CNT 6885 Network Review on Transport Layer Jonathan Kavalan, Ph.D. Department of Computer, Information Science and Engineering (CISE), University of Florida User Datagram Protocol [RFC 768] no frills,
More informationPROBLEMSAND EXERCISES
Departamento de Tecnología Electrónica Computer Networking Unit 3: Transport layer PROBLEMSAND EXERCISES Transport Layer 95 Pr1: port numbers Suppose that the client A initiates a TCP connection to a Web
More informationComputer Networking Introduction
Computer Networking Introduction Halgurd S. Maghdid Software Engineering Department Koya University-Koya, Kurdistan-Iraq Lecture No.11 Chapter 3 outline 3.1 transport-layer services 3.2 multiplexing and
More informationCSCI Topics: Internet Programming Fall 2008
CSCI 491-01 Topics: Internet Programming Fall 2008 Transport Layer Derek Leonard Hendrix College October 20, 2008 Original slides copyright 1996-2007 J.F Kurose and K.W. Ross 1 Chapter 3: Roadmap 3.1 Transport-layer
More informationDualRTT: Enhancing TCP Performance During Delay Spikes
DualRTT: Enhancing TCP Performance During Delay Spikes Ph.D. School of Computer Science University of Oklahoma. Email: atiq@ieee.org Web: www.cs.ou.edu/~atiq Presentation at Tohoku University, Sendai,
More informationThe Transmission Control Protocol (TCP)
The Transmission Control Protocol (TCP) Application Services (Telnet, FTP, e-mail, WWW) Reliable Stream Transport (TCP) Unreliable Transport Service (UDP) Connectionless Packet Delivery Service (IP) Goals
More informationSequence Number. Acknowledgment Number. Data
CS 455 TCP, Page 1 Transport Layer, Part II Transmission Control Protocol These slides are created by Dr. Yih Huang of George Mason University. Students registered in Dr. Huang's courses at GMU can make
More informationCSCI Topics: Internet Programming Fall 2008
CSCI 491-01 Topics: Internet Programming Fall 2008 Transport Layer Derek Leonard Hendrix College October 15, 2008 Original slides copyright 1996-2007 J.F Kurose and K.W. Ross 1 Chapter 3: Roadmap 3.1 Transport-layer
More informationMultiple unconnected networks
TCP/IP Life in the Early 1970s Multiple unconnected networks ARPAnet Data-over-cable Packet satellite (Aloha) Packet radio ARPAnet satellite net Differences Across Packet-Switched Networks Addressing Maximum
More informationOutline. TCP: Overview RFCs: 793, 1122, 1323, 2018, steam: r Development of reliable protocol r Sliding window protocols
Outline r Development of reliable protocol r Sliding window protocols m Go-Back-N, Selective Repeat r Protocol performance r Sockets, UDP, TCP, and IP r UDP operation r TCP operation m connection management
More informationCongestion / Flow Control in TCP
Congestion and Flow Control in 1 Flow Control and Congestion Control Flow control Sender avoids overflow of receiver buffer Congestion control All senders avoid overflow of intermediate network buffers
More informationReliable Transport II: TCP and Congestion Control
Reliable Transport II: TCP and Congestion Control Stefano Vissicchio UCL Computer Science COMP0023 Recap: Last Lecture Transport Concepts Layering context Transport goals Transport mechanisms and design
More informationECE4110, Internetwork Programming, QUIZ 2 - PRACTICE Spring 2006
Email Address ECE4110, Internetwork Programming, QUIZ 2 - PRACTICE Spring 2006 Name (Print) Prof. John A. Copeland Practice for April 11, 2006 Tel.: 404-894-5177 E-Mail: copeland@ece.gatech.edu RULES.
More informationConnection-oriented (virtual circuit) Reliable Transfer Buffered Transfer Unstructured Stream Full Duplex Point-to-point Connection End-to-end service
최양희서울대학교컴퓨터공학부 Connection-oriented (virtual circuit) Reliable Transfer Buffered Transfer Unstructured Stream Full Duplex Point-to-point Connection End-to-end service 1 2004 Yanghee Choi 2 Addressing: application
More informationComputer Networks and Data Systems
Computer Networks and Data Systems Transport Layer TDC463 Winter 2011/12 John Kristoff - DePaul University 1 Why a transport layer? IP gives us end-to-end connectivity doesn't it? Why, or why not, more
More informationTCP Congestion Control
TCP Congestion Control Lecture material taken from Computer Networks A Systems Approach, Third Ed.,Peterson and Davie, Morgan Kaufmann, 2003. Computer Networks: TCP Congestion Control 1 TCP Congestion
More informationCorrecting mistakes. TCP: Overview RFCs: 793, 1122, 1323, 2018, TCP seq. # s and ACKs. GBN in action. TCP segment structure
Correcting mistakes Go-back-N: big picture: sender can have up to N unacked packets in pipeline rcvr only sends cumulative acks doesn t ack packet if there s a gap sender has r for oldest unacked packet
More informationTransport Layer PREPARED BY AHMED ABDEL-RAOUF
Transport Layer PREPARED BY AHMED ABDEL-RAOUF TCP Flow Control TCP Flow Control 32 bits source port # dest port # head len sequence number acknowledgement number not used U A P R S F checksum Receive window
More informationETSF05/ETSF10 Internet Protocols Transport Layer Protocols
ETSF05/ETSF10 Internet Protocols Transport Layer Protocols 2016 Jens Andersson Transport Layer Communication between applications Process-to-process delivery Client/server concept Local host Normally initialiser
More informationCSC 4900 Computer Networks: TCP
CSC 4900 Computer Networks: TCP Professor Henry Carter Fall 2017 Project 2: mymusic You will be building an application that allows you to synchronize your music across machines. The details of which are
More informationContents. CIS 632 / EEC 687 Mobile Computing. TCP in Fixed Networks. Prof. Chansu Yu
CIS 632 / EEC 687 Mobile Computing TCP in Fixed Networks Prof. Chansu Yu Contents Physical layer issues Communication frequency Signal propagation Modulation and Demodulation Channel access issues Multiple
More informationRSC Part III: Transport Layer 3. TCP
RSC Part III: Transport Layer 3. TCP Redes y Servicios de Comunicaciones Universidad Carlos III de Madrid These slides are, mainly, part of the companion slides to the book Computer Networking: A Top Down
More informationThe Transport Layer Reliable data delivery & flow control in TCP. Transport Layer Protocols & Services Outline
CPSC 360 Network Programming The Transport Layer Reliable data delivery & flow control in TCP Michele Weigle Department of Computer Science Clemson University mweigle@cs.clemson.edu http://www.cs.clemson.edu/~mweigle/courses/cpsc360
More informationComputer Communication Networks Midterm Review
Computer Communication Networks Midterm Review ICEN/ICSI 416 Fall 2018 Prof. Aveek Dutta 1 Instructions The exam is closed book, notes, computers, phones. You can use calculator, but not one from your
More informationAnnouncements Computer Networking. Outline. Transport Protocols. Transport introduction. Error recovery & flow control. Mid-semester grades
Announcements 15-441 Computer Networking Lecture 16 Transport Protocols Mid-semester grades Based on project1 + midterm + HW1 + HW2 42.5% of class If you got a D+,D, D- or F! must meet with Dave or me
More informationThe Transport Layer: TCP & Reliable Data Transfer
The Transport Layer: TCP & Reliable Data Transfer Smith College, CSC 249 February 15, 2018 1 Chapter 3: Transport Layer q TCP Transport layer services: v Multiplexing/demultiplexing v Connection management
More informationCSE 473 Introduction to Computer Networks. Midterm Exam Review
CSE 473 Introduction to Computer Networks Midterm Exam Review John DeHart 10/12/2015 1. (10 points). A user in Chicago, connected to the internet via a 100 Mb/s (b=bits) connection retrieves a 250 KB (B=bytes)
More informationCOMP/ELEC 429/556 Introduction to Computer Networks
COMP/ELEC 429/556 Introduction to Computer Networks The TCP Protocol Some slides used with permissions from Edward W. Knightly, T. S. Eugene Ng, Ion Stoica, Hui Zhang T. S. Eugene Ng eugeneng at cs.rice.edu
More informationTCP: Overview RFCs: 793, 1122, 1323, 2018, 2581
TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581 ocket door point-to-point: one sender, one receiver reliable, in-order byte steam: no message boundaries pipelined: TCP congestion and flow control set window
More information