Problem 1 Suppose that the client A initiates a TCP connection to a Web server whose name is S. More or less simultaneously,

Size: px
Start display at page:

Download "Problem 1 Suppose that the client A initiates a TCP connection to a Web server whose name is S. More or less simultaneously,"

Transcription

1 Note: Here you have the original answer proposed by working groups. Spelling mistakes from original answers have not been corrected. Sometimes teacher note is included in red. Problem 1 Suppose that the client A initiates a TCP connection to a Web server whose name is S. More or less simultaneously, the client B also initiates a TCP connection to S. a) Indicate possible source and destination port number for: 1. Segments sent from A to S 2. Segments sent from B to S 3. Segments sent from S to A 4. Segments sent from S to B b) If A and B are in different hosts, could source port number from A to S be the same that from B to S? c) What if client process A and B are in the same host? Solution proposed by Group 1: a.1) We choose as Source port value of A 9157 arbitrary within the free ports range, and the destination port of S as 80.That value is the default value for HTTP protocol. a.2) Value of Source Port of B: 9158, and destination port of S:80. a.3) Value of Source Port of S: 80, and destination port of A: a.4) Value of Source Port of S: 80, and destination port of B: b) Yes, host A and host B have the possibility to have the same port number because the source port number. There is more information, like the IP to see that both entities are different. c) If process A and B are in the same host, each one must have its own port number. Problem 2 a) What are the source and destination port number values in the segments flowing from the server back to the clients processes? b) What are the IP addresses (source and destination) of N_PDUs carrying these transport layer segments? Solution proposed by Group 2: a) P1 (ip: A, port: 9557) accesses to server (ip: C, port: 80). b) SP=80 client >SP=9157 DP=9157 D IP=C D IP=A S IP=A S IP=C DP=80 DP=80 SP=9157 D IP=B S IP=C Problem 3 UDP and TCP use 1s complement for their checksums. Suppose you have the following three 16 bit words: a) What is the 1s complement of the sum of these 16 bit words? b) Receiver adds the three words to the received checksum. If the result of the addition, in binary, contains some zero, the receiver realizes there is some error in some bit, is it right? 1/8

2 c) Is it possible that a 1 bit error will go undetected? d) Propose a particular example for a non detectable error. Solution proposed by Group 3: Checksum is a 16 bits word to check if there is any error in the receiver data. In our case, the receiver has the following three words: We have to sum these words and do the 1s complement to the result: = = a) 1s complement: b) If we sum this last result and the checksum from the transmitter, if the result is , that means that the data received is correct, and if there is any 0 means that there is any error in the data. c) If there is a 1 bit error, the checksum will always detect it. d) But it`s possible that 2 or more bits error couldn t be detected by the checksum, because if the 2 bits wrong are in the same position in the checksum, the result of the sum will be the same and the error wont be detected. Example: Problem 4 Pipeline protocols improve the performance of stop and wait protocols. Suppose a Tx and a Rx with a 1Gbps link, 30ms RTT, 1500 bytes PDUs and header size equal to zero (negligible size in comparison to the data size). How many data PDUs has Tx to have in flight for channel utilization is 95%? Solution proposed by Group 4: The channel utilisation for stop a wait protocols is: For pipeline protocols we have to take into account that we will send several packets before receiving any ACK from the receiver. This means that the channel utilisation is: In the particular case proposed in the exercise we have to calculate how many PDUs has the transmitter to have inflight for a 95% channel utilisation: /8

3 0, ,95~2376 0, , Problem 5 We have said that an application may choose UDP for a transport protocol because UDP offers finer application control (than TCP) of what data is sent in a segment and when. a) Why does an application have more control of what data is sent in a segment? b) Why does an application have more control on when the segment is sent? Solution proposed by Group 2: a) The info flows not controlled, TCP decides how many data can carry in T_UDP. b) TCP has own mechanism to control each T_PDU (buffer and segmentation). Is more control over the moment when data is sent. UDP just passes directly the data. Problem 6 Consider transferring an enormous file of L bytes from Host A to Host B. Assume an MSS of 536 bytes. a) What is the maximum value of L such that TCP sequence numbers are not exhausted? Recall that the TCP sequence number field has 4 bytes. Note: MSS is the maximum size of user data carried by any segment in a TCP connection. In SYN segment, using TCP options header, each TCP entity informs to the other about which MSS wants to use. The smaller will be used. b) For the L you obtain in (a), find how long it takes to transmit the file. Assume that a total of 66 bytes of transport, network, and data link header are added to each segment before the resulting packet is sent out over a 155 Mbps link. Ignore flow control and congestion control so A can pump out the segments back to back and continuously. Solution proposed by Group 1: a) To calculate it, we must know that 1byte is 8 bits. So, if there is 4 bytes, we have 32 bits. The maximum value of L must be: 2^32= bits Teacher note: MSS doesn t care because TCP sequence numbers are to enumerate data bytes not segments. b) We have 536 bytes for every packet sent. Of those 536, 66 bytes are needed for transport, network and data link header. This means we have 470 bytes for data in every packet. We would need to sent /470 = packets to send the file So, packets of 536 bytes, make a total of bits, megas in total mb/155mbs = 31,6 seconds Teacher note: There is an error in this solution, which is it? 3/8

4 Problem 7 Host A and B are communicating over a TCP connection, and Host B has already received from A all bytes up through byte 126. Suppose Host A then sends two segments to Host B back to back. The first and second segments contain 70 and 50 bytes of data, respectively. In the first segment, the sequence number is 127, the source port number is 302, and the destination port number is 80. Host B sends an acknowledgement whenever it receives a segment from Host A. a) In the second segment sent from Host A to B, what are the sequence number, source port number, and destination port number? b) If the first segment arrives before the second segment, in the acknowledgement of the first arriving segment, what is the acknowledgment number, the source port number, and the destination port number? Solution proposed by Group 3: a) The sequence number will be first byte of the next sequence of bytes transmitted. As the first segment sent had 70 bytes, the next sequence number will be 197. The source port will be the same used in the connection: 302. The destination port will be 80. b) The ACK number is the next byte expected, in this case the ACK number of the acknowledgement of the first segment will be 197. The source port: 80 (now, we are in the server side). The destination port: 302. c) In this case the server has received the segment with the seq. number 198, but it hasn t received the segment with the seq. number 127,which is, actually, the segment it has expecting to receive. In this case, the server indicates in the ACK number of the response that it has the first 126 bytes, but it still expects to receive the one with the seq. number 127. So the ACK # would be 127 again. Note that the server always sent as ACK number the number of bytes that has received all the bytes until the ACK# 1. In this case, although the sender retransmits the segment with seq# 127, the server tells the sender that it has everything OK until byte /8

5 Problem 8 Host A and B are directly connected with a 100 Mbps link. There is one TCP connection between the two hosts, and Host A is sending to Host B an enormous file over this connection. Host A can send its application data into its TCP socket at a rate as high as 120 Mbps Host B can read out of its TCP receive buffer at a maximum rate of 60 Mbps. Describe the effect of TCP flow control over the rate that Application layer of A sends data through its TCP socket. Solution proposed by Group 4: In this exercise the main issue is that there are two bottlenecks in the process of delivering the information from host A to host B. The first one is between host A and the link, because host A can send data at a rate up to 120Mbps but the link can only transfer data up to 100Mbps. The second one is between the link and host B, which, in this case, is the receiver; because host B cannot receive data at a rate higher than 60Mbps. In order to avoid data loss, TCP indicates in the T_PCIs the highest rate at which the receiver can receive the data. This way, the transmitter knows at which rate the data can be sent at any moment. Problem 9 We discussed TCP needs to estimate a value for RTT to know how long it has to wait for an ACK. To estimate the RTT, TCP uses SampleRTT values that are the time passed between a segment sending and the arrival of its ACK. However, TCP doesn t use the SampleRTT associated to the retransmitted segments. Why do you think TCP avoids measuring the SampleRTT for retransmitted segments? Solution proposed by Group 5: The reason is that RTTs of retransmitted segments does not reflect the actual RTT in any way. There are many different reasons why a segment has to be retransmitted, and the sender doesn't know which one is it this time. So it's not possible to guess a RTT from retransmitted segments. See slide 3 55 for an example of different reasons and see how the RTT from retransmitted segments can vary, by same RTT. So since the RTTs of retransmitted segments are not in any direct relation to the actual RTT, these sample RTTs are not useful. Solution proposed by Group 7: The retransmitted segments contain the same data and the same sequence numbers as the previously sent packets. Therefore, for the retransmitted segments, we would expect the same ACK numbers as the previously sent TCP segments. When we receive these particular ACKs from the receiver, we don't really know or care whether they were sent as responses to the retransmitted segments or to the previously sent TCP segment. It is possible that after a very short time, we receive the ACK for the retransmitted data segment. But that could actually be a delayed ACK for the original TCP segment. Either the data transmission or the ACK reply was probably delayed. Both of them could result in a late ACK. If we count this time in to compute the RTT estimation, we would mistakenly drop the RTT average by a big percentage. This RTT would trigger a faster retransmission, which would worsen the already jammed network traffic. Ex. Suppose the source sends packet P1, the timer for P1 expires, and the source then sends P2, a new copy of the same packet. Further suppose the source measures SampleRTT for P2 (the retransmitted packet). Finally suppose 5/8

6 that shortly after transmitting P2 an acknowledgment for P1 arrives. The source will mistakenly take this acknowledgment as an acknowledgment for P2 and calculate an incorrect value of SampleRTT. (As we study in slide transport layer nº 3 59 and we see in the examples in class) Problem 10 What is the relationship between the variable SendBase of TCP transmitter and the variable LastByteRcvd of TCP receiver? Solution proposed by Group 6: Because SendBase is the seq# that indicates the edge between the data which has been acknowledged and the one which has not. When the receiver send the LastByteRcvd the sender checks and if it s the same, then all the data has been ackowledged. SendBase 1 <= lastbytercvd; Problem 11 What is the relationship between the variable LastByteRcvd of TCP receiver and the variable y of TCP sender? Solution proposed by Group 6: When the sender is ready to send data, the y equals to LastByteRcvd. This is because y represents the not yet acknowledged data. Teacher note: This is not right, what is the relationship? Problem 12 We saw that TCP waits until it has received three duplicate ACKs before performing a fast retransmit. When receiving three duplicate ACKs of a segment, TCP does a fast retransmit of this segment that supposes lost, without waiting for timer expires. Why do you think the TCP designers chose not to perform a fast retransmit after the first duplicate ACK for a segment is received? Solution proposed by Group 6: Because it may overflow the connection just for a duplicate ACK. Teacher note: A duplicate ACK may be received in situations that they don t imply a data segment lost. For example, if two segments sent back to back and in order reach out of order the destination, the receiver will send a duplicate ACK. Waiting for three duplicated ACKs is more probable that the segment was lost and it isn t a small disorder. A triple duplicate ACK implies that the segment hasn t reached yet the receiver and three segments behind it have reached the receiver and that is not a small disorder. Problem 13 Host A is sending an enormous file to Host B over a TCP connection. Over this connection there is never any packet loss and the timers never expire. Denote the transmission rate of the link connecting Host A to the Internet by R bps. Suppose that the process in Host A is capable of sending data into its TCP socket at a rate S bps, where S = 10 R. Further suppose that the TCP receive buffer is large enough to hold the entire file, and the send buffer can hold only one percent of the file. What would prevent the process in Host A from continuously passing data to its TCP socket at rate S bps? TCP flow control? TCP congestion control? Or something else? Elaborate. 6/8

7 Solution proposed by Group 5: TCP has a mechanism called flow control which prohibits sending too much data to the receiver. In all ACKs the receiver tells the sender how much free space there still is in the buffer (the RcvWindow). The sender never sends more unacknowledged data to the receiver than the RcvWindow. Therefore it cannot overflow. Solution proposed by Group 7: In this problem, there is no danger in overflowing the receiver since the receiver s receive buffer can hold the entire file. Also, because there is no loss and acknowledgements are returned before timers expire, TCP congestion control does not throttle the sender. However, the process in host A will not continuously pass data to the socket because the send buffer will quickly fill up. Once the send buffer becomes full, the process will pass data at an average rate or R << S. Teacher note: Flow control doesn t slow A down because in B there is a buffer (in TCP entity) that is able to store the whole file, then reception window always allows A to send. The problem is that TCP entity in A is not able to take out data from its transmission buffer at the same rate that its application layer introduces it, because R is less than S. So, application layer has to go down its data sending rate to TCP socket to not overflow its transmission buffer, where the whole file doesn t fit. Groups and grades (out of 5 points): Surnames Name Group Problems Grade ARCINIEGA FERNANDEZ ALEJANDRO 1 1, 6 3 ARJONILLA COBREROS PABLO MANUEL 1 1, 6 3 DIAZ CASAL DARIO 2 2, 5 3,5 GARCIA MORENO FRANCISCO MANUEL 2 2, 5 3,5 MERCHAN CACHINERO BORJA MANUEL 2 2, 5 3,5 JARANA PEREZ JOSE ANDRES 3 3, 7 5 CASTRO MATEOS HECTOR 3 3, 7 5 GUERRERO MONTORO ALEJANDRO 4 4, 8 5 RODRIGUEZ DE PRA AVILES MARIA JOSE 4 4, 8 5 SANJUAN SEGOVIA FELIX MANUEL 4 4, 8 5 SANCHEZ GUAJARDO FAJARDO CARLOS 5 9, 13 3 SCHUETZ ROLAND 5 9, 13 3 VARO HERRERO PEDRO ANTONIO 5 9, 13 3 VAZQUEZ SANCHEZ RAFAEL 6 10, 11, 12 1,5 VERA HERNANDEZ PABLO 6 10, 11, 12 1,5 YAÑEZ HERRERA ALFONSO 6 10, 11, 12 1,5 ELVIRA PEREZ SERGIO 7 9, 13 5 RINCON BORREGUERO ALBERTO 7 9, /8

Review for Chapter 3

Review for Chapter 3 Review for Chapter 3 R3.Describle why an application developer might choose to run an application over UDP rather than TCP. Answer: An application developer may not want its application to use TCP s congestion

More information

Tutorial 1 (Week 6) Introduction

Tutorial 1 (Week 6) Introduction COMP 333/933 Computer Networks and Applications Tutorial (Week 6) Introduction Problem Set, Question 7 Suppose two hosts, A and B are separated by, kms and are connected by a direct link of R = Mbps. Suppose

More information

Transport Layer Outline

Transport Layer Outline Transport Layer 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

More information

Transmission Control Protocol (TCP) A brief summary

Transmission Control Protocol (TCP) A brief summary Transmission Control Protocol (TCP) A brief summary TCP Basics TCP (RFC 793) is a connection-oriented transport protocol TCP entities only present at hosts (end-end) retain state of each open connection

More information

Data Communication & Networks G22.2262-001. Session 9 - Main Theme The Internet Transport Protocols: TCP, UDP. Dr. Jean-Claude Franchitti

Data Communication & Networks G22.2262-001. Session 9 - Main Theme The Internet Transport Protocols: TCP, UDP. Dr. Jean-Claude Franchitti Data Communication & Networks G22.2262-001 Session 9 - Main Theme The Internet Transport Protocols: TCP, UDP Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute

More information

Computer Networking. TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581

Computer Networking. TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581 Computer Networking Connec1on- Oriented Transport: : Overview RFCs: 793, 1122, 1323, 2018, 2581 point- to- point: one sender, one receiver reliable, in- order byte steam: no message boundaries pipelined:

More information

Transport Layer Protocols

Transport Layer Protocols Transport Layer Protocols Version. Transport layer performs two main tasks for the application layer by using the network layer. It provides end to end communication between two applications, and implements

More information

First Midterm for ECE374 03/09/12 Solution!!

First 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 information

CS 421: Computer Networks FALL MIDTERM I November 22, minutes

CS 421: Computer Networks FALL MIDTERM I November 22, minutes CS 421: Computer Networks FALL 2004 MIDTERM I November 22, 2004 120 minutes Name: Student No: Show all your work very clearly. Partial credits will only be given if you carefully state your answer with

More information

TCP: Reliable, In-Order Delivery

TCP: Reliable, In-Order Delivery TCP: Reliable, In-Order Delivery 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

More information

CSCE 463/612 Networks and Distributed Processing Spring 2016

CSCE 463/612 Networks and Distributed Processing Spring 2016 CSCE 463/612 Networks and Distributed Processing Spring 2016 Transport Layer IV Dmitri Loguinov Texas A&M University March 10, 2016 Original slides copyright 1996-2004 J.F Kurose and K.W. Ross 1 Chapter

More information

TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581

TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581 TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581 socket door point-to-point: one sender, one receiver reliable, in-order byte steam: no message boundaries pipelined: TCP congestion and flow control set

More information

TCP Service Model. Announcements. TCP: Reliable, In-Order Delivery. Today s Lecture. TCP Header. TCP Support for Reliable Delivery

TCP Service Model. Announcements. TCP: Reliable, In-Order Delivery. Today s Lecture. TCP Header. TCP Support for Reliable Delivery Announcements Sukun is away this week. Dilip will cover his section and office hours. TCP: Reliable, In-Order Delivery EE 122: Intro to Communication Networks Fall 2006 (MW 4-5:30 in Donner 155) Vern Paxson

More information

RSC Part III: Transport Layer 3. TCP

RSC 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 information

Computer Networks. Chapter 5 Transport Protocols

Computer 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 information

The following reference answers are based on the trace files provided with the text book, which can be downloaded from the textbook website.

The following reference answers are based on the trace files provided with the text book, which can be downloaded from the textbook website. Wireshark Lab 3 TCP The following reference answers are based on the trace files provided with the text book, which can be downloaded from the textbook website. TCP Basics Answer the following questions

More information

Chapter 3 Transport Layer

Chapter 3 Transport Layer Chapter 3 Transport Layer All material copyright 1996-2009 J.F Kurose and K.W. Ross, All Rights Reserved Computer Networking: A Top Down Approach 5 th edition. Jim Kurose, Keith Ross Addison-Wesley, April

More information

TCP (Transmission Control Protocol)

TCP (Transmission Control Protocol) TCP (Transmission Control Protocol) Originally defined in RFC 793 (September 1981) UDP features: multiplexing + protection against bit errors Ports, checksum Connection-oriented Establishment and teardown

More information

Transport Layer: UDP vs. TCP

Transport Layer: UDP vs. TCP EEC 189Q: Computer Networks Transport Layer: UDP vs. TCP Reading: 8.4 & 8.5 Review: Internet Protocol Stack Application Telnet FTP HTTP Transport Network Link Physical bits on wire TCP LAN IP UDP Packet

More information

COMP 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) 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 information

CHAPTER 24. Questions PRACTICE SET

CHAPTER 24. Questions PRACTICE SET CHAPTER 24 PRACTICE SET Questions Q24-1. The protocol field of the datagram defines the transport-layer protocol that should receive the transport-layer packet. If the value is 06, the protocol is TCP;

More information

Guide to TCP/IP, Third Edition. Chapter 5: Transport Layer TCP/IP Protocols

Guide to TCP/IP, Third Edition. Chapter 5: Transport Layer TCP/IP Protocols Guide to TCP/IP, Third Edition Chapter 5: Transport Layer TCP/IP Protocols Objectives Understand the key features and functions of the User Datagram Protocol Explain the mechanisms that drive segmentation,

More information

TCP - Introduction. Features of TCP

TCP - Introduction. Features of TCP TCP - Introduction The Internet Protocol (IP) provides unreliable datagram service between hosts The Transmission Control Protocol (TCP) provides reliable data delivery It uses IP for datagram delivery

More information

Transport Control Protocol (TCP)

Transport Control Protocol (TCP) Transport Control Protocol (TCP) Richard T. B. Ma School of Computing National University of Singapore CS 3103: Compute Networks and Protocols Transport services and protocols provide logical communication

More information

- TCP and UDP - Transport Layer Protocols

- TCP and UDP - Transport Layer Protocols 1 Transport Layer Protocols - TCP and UDP - The Transport layer (OSI Layer-4) does not actually transport data, despite its name. Instead, this layer is responsible for the reliable transfer of data, by

More information

Livello di trasporto TCP

Livello di trasporto TCP Livello di trasporto TCP TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581 point-to-point: one sender, one receiver reliable, in-order byte stream: pipelined: no message boundaries TCP congestion and flow

More information

Prefix AggregaNon. Company X and Company Y connect to the same ISP, and they are assigned the prefixes:

Prefix 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 information

Overview of TCP. Overview of TCP. Overview of TCP. Overview of TCP. Connection-oriented, byte-stream

Overview of TCP. Overview of TCP. Overview of TCP. Overview of TCP. Connection-oriented, byte-stream Overview of TCP Overview of TCP Connection-oriented, byte-stream sending process writes some number of bytes TCP breaks into segments and sends via IP receiving process reads some number of bytes Full

More information

Final for ECE374 05/06/13 Solution!!

Final 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 information

TCP. Raj Jain. Professor of CIS The Ohio State University Columbus, OH 43210 Raj Jain 20-1

TCP. Raj Jain. Professor of CIS The Ohio State University Columbus, OH 43210  Raj Jain 20-1 TCP Professor of CIS Columbus, OH 43210 Jain@ACM.Org http://www.cis.ohio-state.edu/~jain/ 20-1 Overview Key features, Header format Mechanisms, Implementation choices Slow start congestion avoidance, Fast

More information

First Midterm for ECE374 03/24/11 Solution!!

First 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

Due for Week Group of 3 (max) Percentage awarded for comments, coding practice, layout style, naming convention, completed task.

Due for Week Group of 3 (max) Percentage awarded for comments, coding practice, layout style, naming convention, completed task. EE4607 Project Goals Details Due for Week 11-12. Group of 3 (max) Percentage awarded for comments, coding practice, layout style, naming convention, completed task. Task Create a SDL implementation of

More information

Midterm Exam CMPSCI 453: Computer Networks Fall 2011 Prof. Jim Kurose

Midterm 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 information

application reads data socket door TCP receive buffer 32 bits source port # dest port # sequence number acknowledgement number not used checksum

application reads data socket door TCP receive buffer 32 bits source port # dest port # sequence number acknowledgement number not used checksum socket door TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581 point-to-point: one sender, one receiver reliable, in-order, byte steam: no message boundaries pipelined: TCP congestion and flow control set

More information

Module 11: TCP/IP Transport and Application Layers

Module 11: TCP/IP Transport and Application Layers Module 11: TCP/IP Transport and Application Layers 11.1 TCP/IP Transport Layer 11.1.1 Introduction to the TCP/IP transport layer The primary duties of the transport layer are to transport and regulate

More information

Overview. Lecture 4: Congestion Control TCP. Transport. A Bit of History TCP. Internet is a network of networks

Overview. Lecture 4: Congestion Control TCP. Transport. A Bit of History TCP. Internet is a network of networks Overview Internet is a network of networks Lecture 4: Congestion Control Narrow waist of IP: unreliable, best-effort datagram delivery Packet forwarding: input port to output port Routing protocols: computing

More information

Lab 3. According to above figure, the client computer (source) s IP address is and the TPC port number is 1161.

Lab 3. According to above figure, the client computer (source) s IP address is and the TPC port number is 1161. Lab 3 1. What is the IP address and TCP port number used by the client computer (source) that is transferring the file to gaia.cs.umass.edu? To answer this question, it s probably easiest to select an

More information

Chapter 15. Transmission Control Protocol (TCP) TCP/IP Protocol Suite 1

Chapter 15. Transmission Control Protocol (TCP) TCP/IP Protocol Suite 1 Chapter 15 Transmission Control Protocol (TCP) TCP/IP Protocol Suite 1 Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display. OBJECTIVES: To introduce TCP as a protocol

More information

Chapter 15. Transmission Control Protocol (TCP) TCP/IP Protocol Suite 1

Chapter 15. Transmission Control Protocol (TCP) TCP/IP Protocol Suite 1 Chapter 15 Transmission Control Protocol (TCP) TCP/IP Protocol Suite 1 Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter Outline TCP/IP Protocol Suite 2

More information

Computer Systems: TCP - Adaptive Distributed Reliable Transport Protocol

Computer Systems: TCP - Adaptive Distributed Reliable Transport Protocol Computer Systems: TCP - Adaptive Distributed Reliable Transport Protocol Presenter: Sandeep K. S. Gupta Reference: -- Chapter 3, 5 Computer Networking, Kurose and Ross, Addison Wesley - Chapter 7, An Engineering

More information

Computer Networks UDP and TCP

Computer 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 information

Guide to TCP/IP Fourth Edition. Chapter 9: TCP/IP Transport Layer Protocols

Guide to TCP/IP Fourth Edition. Chapter 9: TCP/IP Transport Layer Protocols Guide to TCP/IP Fourth Edition Chapter 9: TCP/IP Transport Layer Protocols Objectives Explain the key features and functions of the User Datagram Protocol and the Transmission Control Protocol Explain,

More information

CSE331: Introduction to Networks and Security. Lecture 9 Fall 2006

CSE331: 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 information

[Prof. Rupesh G Vaishnav] Page 1

[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 information

CSE 473 Introduction to Computer Networks. Exam 2 Solutions. Your name: 10/31/2013

CSE 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 information

Access Control: Firewalls (1)

Access 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 information

Transportation Protocols: UDP, TCP & RTP

Transportation Protocols: UDP, TCP & RTP Transportation Protocols: UDP, TCP & RTP Transportation Functions UDP (User Datagram Protocol) Port Number to Identify Different Applications Server and Client as well as Port TCP (Transmission Control

More information

TCP and UDP. Raj Jain. Professor of CIS The Ohio State University Columbus, OH

TCP and UDP. Raj Jain. Professor of CIS The Ohio State University Columbus, OH TCP and UDP Professor of CIS Columbus, OH 43210 Jain@ACM.Org http://www.cis.ohio-state.edu/~jain/ 12-1 Overview Key features Header format Mechanisms Implementation choices Slow start congestion avoidance

More information

ICOM 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 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 information

Transmission Control Protocol (TCP) Reliable Connection-oriented Point-to-point Full-duplex Streams, not messages

Transmission Control Protocol (TCP) Reliable Connection-oriented Point-to-point Full-duplex Streams, not messages Transmission Control Protocol (TCP) Reliable Connection-oriented Point-to-point Full-duplex Streams, not messages Initialization: 3 Way Handshake Initiator SYN (Synchronization Sequence Number) SYN = ISN

More information

CS640: Introduction to Computer Networks. Transport Protocols. Functionality Split

CS640: Introduction to Computer Networks. Transport Protocols. Functionality Split CS640: Introduction to Computer Networks Aditya Akella Lecture 14 TCP I - Transport Protocols: TCP Segments, Flow control and Connection Setup Transport Protocols Lowest level endto-end protocol. Header

More information

Slides from TCP/IP - Forouzan. Chapter 12 TCP

Slides from TCP/IP - Forouzan. Chapter 12 TCP Chapter 12 Services Segments and Options Flow Control and Error Control rs Connections State Transition Diagram Congestion Control Operation and Design Figure Application layer Position of in /IP protocol

More information

Transport Layer. Abusayeed Saifullah. CS 5600 Computer Networks. These slides are adapted from Kurose and Ross

Transport Layer. Abusayeed Saifullah. CS 5600 Computer Networks. These slides are adapted from Kurose and Ross Transport Layer Abusayeed Saifullah CS 5600 Computer Networks These slides are adapted from Kurose and Ross Transport Layer our goals: v understand principles behind transport layer services: multiplexing,

More information

B-2 Analyzing TCP/IP Networks with Wireshark. Ray Tompkins Founder of Gearbit www.gearbit.com

B-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 information

Outline. Lecture 4: TCP TCP TCP. TCP Segment. How TCP Provides Reliability. Internetworking. TCP Transmission Control Protocol.

Outline. Lecture 4: TCP TCP TCP. TCP Segment. How TCP Provides Reliability. Internetworking. TCP Transmission Control Protocol. Internetworking Outline TCP Transmission Control Protocol RFC 793 (and several follow-ups) Literature: Lecture 4: TCP Forouzan, TCP/IP Protocol Suite: Ch 12 Connection Management Reliability Flow control

More information

This sequence diagram was generated with EventStudio System Designer (http://www.eventhelix.com/eventstudio).

This 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 information

15-441: Computer Networks Homework 2 Solution

15-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 information

TCP "Real" Reliable Transport

TCP Real Reliable Transport 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-

More information

Names & Addresses. Names & Addresses. Hop-by-Hop Packet Forwarding. Longest-Prefix-Match Forwarding. Longest-Prefix-Match Forwarding

Names & 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 information

First Midterm for ECE374 02/25/15 Solution!!

First 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 information

EECS489 Computer Networks, Final Exam Solution (Winter 2007)

EECS489 Computer Networks, Final Exam Solution (Winter 2007) EECS489 Computer Networks, Final Exam Solution (Winter 2007) Instructions: You are allowed to use two sheets of notes (front and back). This exam is closed book, no computers are allowed. You can use a

More information

G.Bianchi, G.Neglia, V.Mancuso. Understanding TCP connection management

G.Bianchi, G.Neglia, V.Mancuso. Understanding TCP connection management Understanding TCP connection management TCP connection Application (client) Socket TCP software State variables: - conn status -MSS -windows - buffer space normally 4 to 16 Kbytes 64+ Kbytes possible Logical

More information

TCP Header - Sequence Number

TCP Header - Sequence Number Introduction to TCP RFC 793 (+ RFC1122) (+ others) Transmission Control Protocol The Transmission Control Protocol (TCP) is intended for use as a highly reliable host-to-host protocol between hosts in

More information

Advanced Computer Networks Project 2: File Transfer Application

Advanced 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 information

TCP in Wireless Mobile Networks

TCP 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 information

Chapter 5 TCP Sliding Window. Networking CS 3470, Section 1

Chapter 5 TCP Sliding Window. Networking CS 3470, Section 1 Chapter 5 TCP Sliding Window Networking CS 3470, Section 1 Sliding Window Remember this? What was it useful for? Sliding Window Revisited TCP s variant of the sliding window algorithm, which serves several

More information

CS413: Computer Networks

CS413: Computer Networks CS413: Computer Networks 2005 Fall Term Midterm Exam Solution Student ID: Name: Problem No. Marks Your Marks 1 16 2 5 3 5 4 7 5 4 6 7 7 3 8 3 Total 50 1 [Marking schemes are given in blue color and the

More information

The Transmission Control Protocol (TCP): Lecture 1

The Transmission Control Protocol (TCP): Lecture 1 Today s Lecture The Transmission Control Protocol (TCP): Lecture 1 I. TCP overview II. The TCP Header III. Connection establishment and termination Internet Protocols CSC / ECE 573 Fall, 2005 N. C. State

More information

(Refer Slide Time: 02:17)

(Refer Slide Time: 02:17) Internet Technology Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture No #06 IP Subnetting and Addressing (Not audible: (00:46)) Now,

More information

Note! The problem set consists of two parts: Part I: The problem specifications pages Part II: The answer pages

Note! The problem set consists of two parts: Part I: The problem specifications pages Part II: The answer pages Part I: The problem specifications NTNU The Norwegian University of Science and Technology Department of Telematics Note! The problem set consists of two parts: Part I: The problem specifications pages

More information

TCP context and interfaces

TCP context and interfaces Linux Networking: tcp David Morgan TCP context and interfaces Computer A Computer B application process application process data data data data TCP process TCP process a network 1 TCP purposes and features

More information

Computer Networks - CS132/EECS148 - Spring 2013 ------------------------------------------------------------------------------

Computer 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 information

Data 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 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 information

10/27/2014. Transport Service. The Transport Layer. Services Provided to the Upper Layers. Transport Service Primitives (1) Berkeley Sockets (1)

10/27/2014. Transport Service. The Transport Layer. Services Provided to the Upper Layers. Transport Service Primitives (1) Berkeley Sockets (1) Transport Service The Transport Layer Chapter 6 Upper Layer Services Transport Service Primitives Berkeley Sockets Example of Socket Programming: Internet File Server Services Provided to the Upper Layers

More information

Transports and TCP. Adolfo Rodriguez CPS 214

Transports and TCP. Adolfo Rodriguez CPS 214 Transports and TCP Adolfo Rodriguez CPS 214 Host-to to-host vs. Process-to to-process Communication Until now, we have focused on delivering packets between arbitrary hosts connected to Internet Routing

More information

La couche transport dans l'internet (la suite TCP/IP)

La 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 information

To see the details of TCP (Transmission Control Protocol). TCP is the main transport layer protocol used in the Internet.

To see the details of TCP (Transmission Control Protocol). TCP is the main transport layer protocol used in the Internet. Lab Exercise TCP Objective To see the details of TCP (Transmission Control Protocol). TCP is the main transport layer protocol used in the Internet. The trace file is here: http://scisweb.ulster.ac.uk/~kevin/com320/labs/wireshark/trace-tcp.pcap

More information

Visualizations and Correlations in Troubleshooting

Visualizations 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 information

CMPE 150 Winter 2009

CMPE 150 Winter 2009 CMPE 150 Winter 2009 Lecture 6 January 22, 2009 P.E. Mantey CMPE 150 -- Introduction to Computer Networks Instructor: Patrick Mantey mantey@soe.ucsc.edu http://www.soe.ucsc.edu/~mantey/ / t / Office: Engr.

More information

Good Ideas So Far Computer Networking. Outline. Sequence Number Space. Lecture 18 More TCP & Congestion Control. The devilish details of TCP

Good Ideas So Far Computer Networking. Outline. Sequence Number Space. Lecture 18 More TCP & Congestion Control. The devilish details of TCP Good Ideas So Far 15-441 Computer Networking Lecture 18 More TCP & Congestion Control Flow control Stop & wait Parallel stop & wait Sliding window (e.g., advertised windows) Loss recovery outs Acknowledgement-driven

More information

TCP - Part I. Relates to Lab 5. First module on TCP which covers packet format, data transfer, and connection management.

TCP - Part I. Relates to Lab 5. First module on TCP which covers packet format, data transfer, and connection management. TCP - Part I Relates to Lab 5. First module on TCP which covers packet format, data transfer, and connection management. 1 Overview TCP = Transmission Control Protocol Connection-oriented protocol Provides

More information

La couche transport dans l'internet (la suite TCP/IP)

La 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 information

Improving the Performance of TCP Using Window Adjustment Procedure and Bandwidth Estimation

Improving 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 information

Internet Protocol Stack. TCP: Transmission Control Protocol

Internet Protocol Stack. TCP: Transmission Control Protocol Internet Protocol tack application: supporting network applications HTTP, MTP, FTP, etc transport: endhost-endhost data transfer TCP, UP network: routing of datagrams from source to destination IP, routing

More information

TCP: Transmission Control Protocol RFC 793,1122,1223. Prof. Lin Weiguo Copyleft 2009~2015, College of Computing, CUC

TCP: Transmission Control Protocol RFC 793,1122,1223. Prof. Lin Weiguo Copyleft 2009~2015, College of Computing, CUC TCP: Transmission Control Protocol RFC 793,1122,1223 Prof. Lin Weiguo Copyleft 2009~2015, College of Computing, CUC Nov. 2015 TCP/IP Protocol Stack Application Layer FTP, Telnet, HTTP, Transport Layer

More information

By: Chunyan Fu, PhD, Ericsson Canada

By: Chunyan Fu, PhD, Ericsson Canada TCP/UDP Basics By: Chunyan Fu, PhD, Ericsson Canada Internet Model Application TCP/UDP IP Link layer Physical layer Transport Service Overview Provide service to application layer by using the service

More information

1 An application in BPC: a Web-Server

1 An application in BPC: a Web-Server 1 An application in BPC: a Web-Server We briefly describe our web-server case-study, dwelling in particular on some of the more advanced features of the BPC framework, such as timeouts, parametrized events,

More information

Chapter 5. Transport layer protocols

Chapter 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 information

Process-to. to-process Communication. Transports and TCP. A Brief Internet History UDP. TCP Timeline. TCP: After 1990

Process-to. to-process Communication. Transports and TCP. A Brief Internet History UDP. TCP Timeline. TCP: After 1990 Transports and TCP Adolfo Rodriguez CPS 214 Host-to to-host vs. Process-to to-process Communication Until now, we have focused on delivering packets between arbitrary hosts connected to Internet Routing

More information

TCP transmission control protocol

TCP transmission control protocol TCP transmission control protocol Suguru Yamaguchi 2014 Information Network 1 Functions that transport layer provides! Model: inter-process communication Identification of process Communication pair of

More information

TCP/IP Tutorial. Transmission Control Protocol Internet Protocol

TCP/IP Tutorial. Transmission Control Protocol Internet Protocol TCP/IP Tutorial Transmission Control Protocol Internet Protocol 1 TCP/IP & OSI In OSI reference model terminology -the TCP/IP protocol suite covers the network and transport layers. TCP/IP can be used

More information

TCP 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) 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 information

Homework 2 assignment for ECE374 Posted: 02/21/14 Due: 02/28/14

Homework 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 information

TCP/IP. IPv4 packet layout. IPv4 packet layout. Emin Gun Sirer

TCP/IP. IPv4 packet layout. IPv4 packet layout. Emin Gun Sirer IP TCP/IP Emin Gun Sirer Internetworking protocol Network layer Common packet format for the Internet Specifies what packets look like Fragments long packets into shorter packets Reassembles fragments

More information

Data Networks Summer 2007 Homework #3

Data 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 information

L41: Lab 5 - TCP Latency and Bandwidth

L41: Lab 5 - TCP Latency and Bandwidth L41: Lab 5 - TCP Latency and Bandwidth Lent Term 2015 The goals of this lab are to: Learn to draw TCP time-bandwidth and time sequence-number diagrams Evaluate the effects of latency on TCP Evaluate the

More information

Lecture 15: Congestion Control. CSE 123: Computer Networks Stefan Savage

Lecture 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 information

Computer Networks. Data Link Layer

Computer 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 information

COMP 361 Computer Communications Networks. Fall Semester 2003. Midterm Examination

COMP 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 information

CIS 551 / TCOM 401 Computer and Network Security

CIS 551 / TCOM 401 Computer and Network Security CIS 551 / TCOM 401 Computer and Network Security Spring 2008 Lecture 11 2/26/08 CIS/TCOM 551 1 Wireless (802.11) Spread spectrum radio 2.4GHz frequency band Bandwidth ranges 1, 2, 5.5, 11, 22, 54, 248

More information