> : S. timestamp > : (0) win <mss 1460,nop,wscale 0,nop,nop, 4 different options used

Similar documents
Sequence Number. Acknowledgment Number. Checksum. Urgent Pointer plus Sequence Number indicates end of some URGENT data in the packet

User Datagram Protocol

I TCP 1/2. Internet TA: Connection-oriented (virtual circuit) Connectionless (datagram) (flow control) (congestion control) TCP Connection-oriented

Transport Over IP. CSCI 690 Michael Hutt New York Institute of Technology

ECE4110 Internetwork Programming. Introduction and Overview

Transport Protocols. Raj Jain. Washington University in St. Louis

Position of IP and other network-layer protocols in TCP/IP protocol suite

Information Network 1 TCP 1/2

Transmission Control Protocol (TCP)

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

ICS 451: Today's plan. Sliding Window Reliable Transmission Acknowledgements Windows and Bandwidth-Delay Product Retransmission Timers Connections

TCP Strategies. Keepalive Timer. implementations do not have it as it is occasionally regarded as controversial. between source and destination

Packet Header Formats

Connection-oriented (virtual circuit) Reliable Transfer Buffered Transfer Unstructured Stream Full Duplex Point-to-point Connection End-to-end service

Introduction to Networking. Operating Systems In Depth XXVII 1 Copyright 2017 Thomas W. Doeppner. All rights reserved.

Lab Exercise UDP & TCP

Lecture 4: Congestion Control

7. TCP 최양희서울대학교컴퓨터공학부

Ref: A. Leon Garcia and I. Widjaja, Communication Networks, 2 nd Ed. McGraw Hill, 2006 Latest update of this lecture was on

TCP = Transmission Control Protocol Connection-oriented protocol Provides a reliable unicast end-to-end byte stream over an unreliable internetwork.

Transport Layer Marcos Vieira

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

Lecture 20 Overview. Last Lecture. This Lecture. Next Lecture. Transport Control Protocol (1) Transport Control Protocol (2) Source: chapters 23, 24

TCP Service Model. Today s Lecture. TCP Support for Reliable Delivery. EE 122:TCP, Connection Setup, Reliability

Transmission Control Protocol. ITS 413 Internet Technologies and Applications

b. Suppose the two packets are to be forwarded to two different output ports. Is it

TCP and Congestion Control (Day 1) Yoshifumi Nishida Sony Computer Science Labs, Inc. Today's Lecture

Multiple unconnected networks

TCP/IP Performance ITL

User Datagram Protocol (UDP):

Protocol Overview. TCP/IP Performance. Connection Types in TCP/IP. Resource Management. Router Queues. Control Mechanisms ITL

Internetwork Protocols

UNIT IV -- TRANSPORT LAYER

The Transport Layer. Internet solutions. Nixu Oy PL 21. (Mäkelänkatu 91) Helsinki, Finland. tel fax.

Chapter 2 - Part 1. The TCP/IP Protocol: The Language of the Internet

6.1 Internet Transport Layer Architecture 6.2 UDP (User Datagram Protocol) 6.3 TCP (Transmission Control Protocol) 6. Transport Layer 6-1

The Transport Layer. Part 1

CS457 Transport Protocols. CS 457 Fall 2014

EE 610 Part 2: Encapsulation and network utilities

CS 356: Introduction to Computer Networks. Lecture 16: Transmission Control Protocol (TCP) Chap. 5.2, 6.3. Xiaowei Yang

Networked Systems and Services, Fall 2018 Chapter 3

Network Management & Monitoring

Networked Systems and Services, Fall 2017 Reliability with TCP

Just enough TCP/IP. Protocol Overview. Connection Types in TCP/IP. Control Mechanisms. Borrowed from my ITS475/575 class the ITL

Guide To TCP/IP, Second Edition UDP Header Source Port Number (16 bits) IP HEADER Protocol Field = 17 Destination Port Number (16 bit) 15 16

Computer Networks. Homework #4: No Grading

CS118 Discussion 1A, Week 4. Zengwen Yuan Dodd Hall 78, Friday 10:00 11:50 a.m.

Two approaches to Flow Control. Cranking up to speed. Sliding windows in action

STEVEN R. BAGLEY PACKETS

Introduction to Internet. Ass. Prof. J.Y. Tigli University of Nice Sophia Antipolis

NT1210 Introduction to Networking. Unit 10

Topics. TCP sliding window protocol TCP PUSH flag TCP slow start Bulk data throughput

8. TCP Congestion Control

Network Working Group. Category: Standards Track. R. Hinden Nokia August 1999

Introduction to Networks and the Internet

COMPUTER NETWORK. Homework #3. Due Date: May 22, 2017 in class

TCP Performance Analysis Based on Packet Capture

What is TCP? Transport Layer Protocol

Introduction to TCP/IP networking

Preview Test: HW3. Test Information Description Due:Nov. 3

EE 122: Transport Protocols. Kevin Lai October 16, 2002

Transport Layer. Application / Transport Interface. Transport Layer Services. Transport Layer Connections

Outline Computer Networking. Functionality Split. Transport Protocols

Problem 7. Problem 8. Problem 9

Islamic University of Gaza Faculty of Engineering Department of Computer Engineering ECOM 4021: Networks Discussion. Chapter 5 - Part 2

CMSC 417. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala. October 25, 2018

Transport Layer. <protocol, local-addr,local-port,foreign-addr,foreign-port> ϒ Client uses ephemeral ports /10 Joseph Cordina 2005

CSE 473 Introduction to Computer Networks. Final Exam. Your name here: 12/17/2012

COMP/ELEC 429/556 Introduction to Computer Networks

Host Solutions Group Technical Bulletin August 30, 2007

COMPUTER NETWORK. Homework #3. Due Date: May 22, 2017 in class

Configuring TCP/IP Normalization and IP Reassembly Parameters

The aim of this unit is to review the main concepts related to TCP and UDP transport protocols, as well as application protocols. These concepts are

EECS 122, Lecture 19. Reliable Delivery. An Example. Improving over Stop & Wait. Picture of Go-back-n/Sliding Window. Send Window Maintenance

FINAL May 21, minutes

Understanding the Network: A practical Guide to Internetworking Michael J. Martin

Internet Networking recitation #2 IP Checksum, Fragmentation

Sequence Number. Acknowledgment Number. Data

Outline. Internet. Router. Network Model. Internet Protocol (IP) Design Principles

PRACTICE QUESTIONS ON RESOURCE ALLOCATION

APPENDIX F THE TCP/IP PROTOCOL ARCHITECTURE

Announcements Computer Networking. Outline. Transport Protocols. Transport introduction. Error recovery & flow control. Mid-semester grades

Simulation of TCP Layer

CPE 548 Exam #1 (50 pts) February 17, 2016

Networking Technologies and Applications

Answers to Sample Questions on Transport Layer

05 Transmission Control Protocol (TCP)

Transport layer. UDP: User Datagram Protocol [RFC 768] Review principles: Instantiation in the Internet UDP TCP

Stream Control Transmission Protocol

Improving HTTP Latency

Transport Protocols Reading: Sections 2.5, 5.1, and 5.2

Computer Networks. Wenzhong Li. Nanjing University

Managing Caching Performance and Differentiated Services

Internet Layers. Physical Layer. Application. Application. Transport. Transport. Network. Network. Network. Network. Link. Link. Link.

CS 421: COMPUTER NETWORKS SPRING FINAL May 24, minutes. Name: Student No: TOT

Inside Products TCP Problem Finder Thinking Inside the Box

Transport Protocols Reading: Sections 2.5, 5.1, and 5.2. Goals for Todayʼs Lecture. Role of Transport Layer

Unix Network Programming

Outline. TCP: Overview RFCs: 793, 1122, 1323, 2018, Development of reliable protocol Sliding window protocols

Chapter 4: network layer. Network service model. Two key network-layer functions. Network layer. Input port functions. Router architecture overview

Transcription:

TCP Options Source Port Destination Port Sequence Number Acknowledgment Number HdrLen Reserved UA P RS F Window Size Checksum Urgent Pointer Options (optional...) Header Length Allows size of options to be calculated Counts 32 bit words in header Minimum value 5 (20 bytes) Maximum value 15 (60 bytes) Max 40 bytes of options Options not needed in every packet Extensions to TCP TCP Options 172.30.0.77.65486 > 172.30.0.161.9: S 334775908:334775908(0) win 16384 <mss 1460,nop,wscale 0,nop,nop, timestamp 11188 0> 4 different options used NOP padding (keeps alignment of other options) MSS WSCALE TIMESTAMP TCP Specification Options: variable Options may occupy space at the end of the TCP header and are a multiple of 8 bits in length. All options are included in the checksum. An option may begin on any octet boundary. There are two cases for the format of an option: Case 1: A single octet of option-kind. Case 2: An octet of option-kind, an octet of option-length, and the actual option-data octets. The option-length counts the two octets of option-kind and option-length as well as the option-data octets. Note that the list of options may be shorter than the data offset field might imply. The content of the header beyond the End-of-Option option must be

TCP Specification Currently defined options include: Kind Length Meaning ---- ------ ------- 0 - End of option list. 1 - No-Operation. 2 4 Maximum Segment Size. End of Option 1 byte 0 What follows is padding Padding required to be 0 No Operation 1 byte 1 TCP Max Segment Size Opt Allows one TCP to tell the other the maximum segment size to send Segment ~= packet but one segment may be fragmented into several packets Maximum Segment Size 4 bytes Kind 2 Length 4 Value (2 bytes) MSS TCP MSS Practice TCP will attempt to avoid fragmentation By advising peer of the maximum segment size Segment size (within window) not usually important Works correctly only when low MTU links are directly connected to hosts Largely overtaken by PMTUD now Or should be Option only permitted when SYN is set not required in every packet

TCP Window Size Limitation Maximum window size is 64K bytes (-1) Once "window" size bytes of data have been sent, TCP must stall and wait for of (at least) first segment before sending more At 56K bits per second (original arpanet) sending 64K bytes takes more than 9 seconds As long as RTT is less than 9 seconds, (Round Trip Time) TCP need never stall TCP Window Size Limitation (2) At 100 M bits/second (current network speeds) sending 64K bytes takes about 5.5 milliseconds So RTT must be less than 5.5 milliseconds to avoid stall OK for LAN WAN might easily have RTT of 500ms TCP can only use about 1% of available bandwidth Want to extend TCP to allow higher throughput Add an option TCP Window Scale Option Allows TCP systems to discover that both implement the option specify that all window values should be multiplied by a power of two Limited to 2 14 So, max window is (64K - 1) * 2 14 ~= 1GB Thus max of 1 / 4 of the entire window space If both TCPs send wscale option window scaling protocol is used Each TCP indicates how much its window should be scaled If either does not send option No window scaling In either direction

TCP Option Usage 172.30.0.77.65486 > 172.30.0.161.9: S 334775908:334775908(0) win 16384 <mss 1460,nop,wscale 0,nop,nop, timestamp 11188 0> WScale == 0 Scale window size by 2 0 2 0 == 1 So, no scaling Why is option included? So other host knows this TCP supports the window scale option Round Trip Time Estimation Useful to know when to retransmit if have not received within the RTT (plus a bit) then assume packet lost But how to measure the RTT? Measure delay between packet and its easy But Send packet wait... wait... wait (nothing) Retransmit packet arrives Which packet was acknowledged? The initial packet acknowledged slower than expected TCP RTT Measurement

TCP RTT Measurement (2) TCP RTT Measurement (3) TCP Timestamp Option Each TCP can add timestamp option to every packet Peer TCP sends back timestamp received with each Allows TCP to determine which packet was d Better than that no need to remember when packets were sent returning timestamp contains that information Also used for long delayed old packet detection extends the sequence number space

TCP RTT Measurement (tstamp) T=6 T=5 T=6 T=5 (YT=5) (YT=6) (YT=5) (YT=6) T=8 T=8 (YT=8) T=13 T=13 (YT=13) (YT=13)