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.

Slides:



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

Introduction 1 Lecture 13 Transport Layer (Transmission Control Protocol) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer.
Transmission Control Protocol (TCP)
Fundamentals of Computer Networks ECE 478/578 Lecture #20: Transmission Control Protocol Instructor: Loukas Lazos Dept of Electrical and Computer Engineering.
Transport Layer3-1 TCP. Transport Layer3-2 TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581 r full duplex data: m bi-directional data flow in same connection.
1 Transport Layer Lecture 9 Imran Ahmed University of Management & Technology.
1 TCP - Part I Relates to Lab 5. First module on TCP which covers packet format, data transfer, and connection management.
Networks I Transmission Control Protocol Instituto Tecnológico y de Estudios Superiores de Monterrey Campus Estado de México Prof. MSc. Ivan A. Escobar.
Transport Layer – TCP (Part1) Dr. Sanjay P. Ahuja, Ph.D. Fidelity National Financial Distinguished Professor of CIS School of Computing, UNF.
UNIT 07 Process – to – Process Delivery: UDP,TCP and SCTP
Chapter 3 outline 3.1 transport-layer services
Transport Layer 3-1 Fast Retransmit r time-out period often relatively long: m long delay before resending lost packet r detect lost segments via duplicate.
Transport Layer 3-1 Transport Layer r To learn about transport layer protocols in the Internet: m TCP: connection-oriented protocol m Reliability protocol.
Transport Layer Transport Layer: TCP. Transport Layer 3-2 TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581 r full duplex data: m bi-directional.
Transport Layer 3-1 Transport Layer r To learn about transport layer protocols in the Internet: m TCP: connection-oriented protocol m Reliability protocol.
TCP. Learning objectives Reliable Transport in TCP TCP flow and Congestion Control.
3-1 Transport services and protocols r provide logical communication between app processes running on different hosts r transport protocols run in end.
Process-to-Process Delivery:
Lect3..ppt - 09/12/04 CIS 4100 Systems Performance and Evaluation Lecture 3 by Zornitza Genova Prodanoff.
Transport Layer3-1 Chapter 3 outline r 3.1 Transport-layer services r 3.2 Multiplexing and demultiplexing r 3.3 Connectionless transport: UDP r 3.4 Principles.
3: Transport Layer3b-1 TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581 r full duplex data: m bi-directional data flow in same connection m MSS: maximum.
2: Transport Layer 21 Transport Layer 2. 2: Transport Layer 22 TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581 r full duplex data: m bi-directional data.
TCOM 509 – Internet Protocols (TCP/IP) Lecture 04_b Transport Protocols - TCP Instructor: Dr. Li-Chuan Chen Date: 09/22/2003 Based in part upon slides.
TCP : Transmission Control Protocol Computer Network System Sirak Kaewjamnong.
TCP Lecture 13 November 13, TCP Background Transmission Control Protocol (TCP) TCP provides much of the functionality that IP lacks: reliable service.
26-TCP Dr. John P. Abraham Professor UTPA. TCP  Transmission control protocol, another transport layer protocol.  Reliable delivery  Tcp must compensate.
SMUCSE 4344 transport layer. SMUCSE 4344 transport layer end-to-end protocols –transport code runs only on endpoint hosts encapsulates network communications.
Section 5: The Transport Layer. 5.2 CS Computer Networks John Mc Donald, Dept. of Computer Science, NUI Maynooth. Introduction In the previous section.
TCP1 Transmission Control Protocol (TCP). TCP2 Outline Transmission Control Protocol.
Transport Layer Moving Segments. Transport Layer Protocols Provide a logical communication link between processes running on different hosts as if directly.
1 TCP: Reliable Transport Service. 2 Transmission Control Protocol (TCP) Major transport protocol used in Internet Heavily used Completely reliable transfer.
Copyright 2008 Kenneth M. Chipps Ph.D. Controlling Flow Last Update
1 End-to-End Protocols (UDP, TCP, Connection Management)
Chapter 24 Transport Control Protocol (TCP) Layer 4 protocol Responsible for reliable end-to-end transmission Provides illusion of reliable network to.
TCP continued. Discussion – TCP Throughput TCP will most likely generate the saw tooth type of traffic. – A rough estimate is that the congestion window.
Transport Layer: Sliding Window Reliability
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Principles of reliable data transfer 0.
IP1 The Underlying Technologies. What is inside the Internet? Or What are the key underlying technologies that make it work so successfully? –Packet Switching.
IT 424 Networks2 IT 424 Networks2 Ack.: Slides are adapted from the slides of the book: “Computer Networking” – J. Kurose, K. Ross Chapter 3: Transport.
McGraw-Hill Chapter 23 Process-to-Process Delivery: UDP, TCP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
TCP/IP1 Address Resolution Protocol Internet uses IP address to recognize a computer. But IP address needs to be translated to physical address (NIC).
11 CS716 Advanced Computer Networks By Dr. Amir Qayyum.
Ch 3. Transport Layer Myungchul Kim
CSEN 404 Introduction to Networks Amr El Mougy Lamia AlBadrawy.
DMET 602: Networks and Media Lab Amr El Mougy Yasmeen EssamAlaa Tarek.
09-Transport Layer: TCP Transport Layer.
Chapter 3 Transport Layer
Master’s Project Presentation
DMET 602: Networks and Media Lab
Fast Retransmit For sliding windows flow control we waited for a timer to expire before beginning retransmission of a packet TCP uses an additional mechanism.
TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581 full duplex data:
Chapter 3 outline 3.1 transport-layer services
The Transport Layer (TCP)
Introduction to Networks
Chapter 17 and 18: TCP is connection oriented
CMPT 371 Data Communications and Networking
TCP.
Review: UDP demultiplexing TCP demultiplexing Multiplexing?
Magda El Zarki Professor, ICS UC, Irvine
TCP - Part I Relates to Lab 5. First module on TCP which covers packet format, data transfer, and connection management.
Process-to-Process Delivery:
CS4470 Computer Networking Protocols
TCP - Part I Relates to Lab 5. First module on TCP which covers packet format, data transfer, and connection management.
Transport Protocols: TCP Segments, Flow control and Connection Setup
Introduction to Computer Networks
Transport Layer: Congestion Control
Lecture 21 and 22 5/29/2019.
Transport Protocols: TCP Segments, Flow control and Connection Setup
Process-to-Process Delivery: UDP, TCP
Transport Layer 9/22/2019.
Presentation transcript:

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? How long does it take to transmit the file over a 10 Mbps link? Ignore flow control and congestion control so A can pump segments out back to back continuously.

Solution You can transfer up to 2^32-2 bytes without wrapping over (we have a 32 bit sequence number, SYN and FIN both count as one “byte” of the sequence number space in TCP) Let: L = length of file = 2^32-2 bytes H = size of header = 1460 bytes R = transfer rate = (10*10^6 / 8) bytes per second Then: Total payload = L Total headers = ceil(L/H) * H So total time = (L + ceil(L/H)*H) / R

Prefix Aggregation Company X and Company Y connect to the same ISP, and they are assigned the prefixes: X: 121.77.80/26 Y: 121.77.64/18 The ISP has a single 3 port router: port 1 connects to the rest of the Internet, port 2 connects to X, and port 3 connects to Y. Write a routing table for this router, filling out as many fields as possible. What aggregated prefix can the ISP advertise to the rest of the Internet for companies X and Y?

Solution – Part A Network Prefix Subnet Mask Next Hop Outgoing Interface 0.0.0.0 IPdefault route 1 121.77.80.0 255.255.255.192 IPx 2 121.77.64.0 255.255.192.0 IPy 3 The first entry is the default route: all IPs will match a 0.0.0.0/0 entry. 121.77.80/26 specifies a range such that IPdst & mask == 121.77.80 & mask, where the mask starts with 26 zeros. So the network prefix is 121.77.80.0 and the netmask in binary is 11111111.11111111.11111111.11000000 = 255.255.255.192 The third entry can be calculated in the same manner. We don’t know the IPs of any of the routers we’re connected to, so we just left them as free variables (IPx, IPy, etc.)

Solution – Part B 121.77.80.0/26 = 01111001.01001101.01010000.00000000 121.77.64.0/18 = 01111001.01001101.01010000.00000000 Aggregate prefix is the bolded section, as it fully encloses both ranges but doesn’t include any additional addresses: 01111001.01001101.01010000.00000000 = 121.77.64.0/18 Note: You can’t always get an aggregated prefix between two address ranges (for example, if there is a hole between the regions)

Congestion Control Suppose a hardware error causes one out of every 100 packets to drop (99 packets sent correctly, then one drops, then 99 packets sent correctly, then one drops…). Assume we attempt to use TCP with simple AIMD over this link (W halved at a loss event, otherwise W++ for every RTT) How many RTTs can we expect between successive packet losses? With 1000 byte TCP segments (including header) over a 1 Gbps link with 100 ms RTT, what is the maximum throughput of the connection?

Illustration of Steady-State Behavior Drop after 100 packets; window size halved Window Size 2x x n RTTs in each cycle Window size increases by 1 for each RTT Time

Solution For every cycle in the sawtooth, 100 segments are sent. For each RTT, the # segments sent is the window size, which starts at x. The window size increases by 1 for each RTT. After n RTTs, we have: x + (x+1) + (x+2) + (x+(n-1)) … = nx + (n*(n-1))/2 = 100 Also, when we get a loss event after n RTTs, the window size will have doubled: Final window size = x + (n-1) = 2x Solving the simultaneous equation for n and x, we get: # RTTs = n = 8.68 ≈ 9 RTTs Initial window size = x = 7.68 ≈ 8 segments

Sequence Numbers (3-P18) Consider a GBN protocol with a window size of 3 and sequence number range of 1024. Suppose at time t, the next in-order packet that the receiver is expecting has a sequence number k. Also assume the network does not re-order messages. What are the possible sets of sequence numbers inside the sender’s window at time t? What are all possible values of the ACK field in all possible messages currently propagating back to the sender that could affect the sender window?

Solution (Part A) Sender window = max # of unack’d packets outstanding Ack # = next sequence # expected (receiver has received contiguous bytes up to ack – 1) In this problem, ack = k Worst case: receiver is just sending “ack k” (“ack k-1” and “ack k-2” are lost or in flight). Then sender’s window is full and it has just sent us [k-3, k-2, k-1]. See the diagram below. Best case: sender has just received “ack k”, and therefore starts to send send off [k, k+1, k+2]. Draw out the diagram to convince yourself. If you vary the sequence of dropped acks, you will see that the sender can have this set of sequence numbers in its window: [k-3, k-2, k-1] [k-2, k-1, k] [k-1, k, k+1] [k, k+1, k+2] Send k-3 Send k-2 Ack k-2 in flight or lost Send k-1 Ack k-1 in flight or lost Ack k in flight or lost Worst case scenario

Solution (Part B) If the receiver is expecting to receive k next, then the largest ack that can be in the network can be at most k by definition. However, from the diagram on the last page, clearly acks of k-1 and k-2 can still be in flight, due to the sender window of size 3. Acks of seq #s < k-2 are possible in the network, but won’t affect the sender window, since it has already advanced to at least k-2. Therefore, there can be ack messages acking the seq #s [k-2, k-1, and k] in the network which will affect the sender window.

Reliable Transfer (3-P19) Suppose we have two network entities, A and B. B has a supply of data messages that will be sent to A according to the following conventions: When A gets a request from the app to get the next data message from B, it sends a request message to B B then responds with the data message A then delivers exactly one copy of this message to the client Link from A to B is lossy, but does not corrupt or duplicate packets Link from B to A is perfectly reliable Give an FSM description of a protocol that incorporates only the needed mechanisms to guarantee reliable, in-order message passing to the app given these constraints.

Solution Sender App Requests Data Send Req to B Tagged with Seq Timeout Resend Req to B Tagged with Seq Reset Seq = 0 Wait App Wait B We use a single sequence number that alternates between 0 and 1 to distinguish retransmissions from new requests. Receive from B Send Data to App Invert Seq Receiver Reset Seq = 0 Receive Request Tagged with Seq Send Next Data to A Invert Seq Wait A