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

Similar documents
TCP/IP Performance ITL

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

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

UNIT IV -- TRANSPORT LAYER

Transmission Control Protocol. ITS 413 Internet Technologies and Applications

Arhitecturi și Protocoale de Comunicații (APC) Protocoale de nivel Transport

Introduction to Protocols

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

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

ETSF10 Internet Protocols Transport Layer Protocols

Network Management & Monitoring

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

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

TCP/IP Networking. Part 4: Network and Transport Layer Protocols

Transport Layer. -UDP (User Datagram Protocol) -TCP (Transport Control Protocol)

Network Technology 1 5th - Transport Protocol. Mario Lombardo -

Congestion Control in Communication Networks

CS321: Computer Networks Congestion Control in TCP

Lecture 21: Congestion Control" CSE 123: Computer Networks Alex C. Snoeren

TSIN02 - Internetworking

TSIN02 - Internetworking

User Datagram Protocol

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

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

Transport layer. Review principles: Instantiation in the Internet UDP TCP. Reliable data transfer Flow control Congestion control

Introduction to Open System Interconnection Reference Model

COMP/ELEC 429/556 Introduction to Computer Networks

II. Principles of Computer Communications Network and Transport Layer

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

CS457 Transport Protocols. CS 457 Fall 2014

8. TCP Congestion Control

05 Transmission Control Protocol (TCP)

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

Transport Layer Marcos Vieira

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

CS4700/CS5700 Fundamentals of Computer Networks

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

TCP/IP. Chapter 5: Transport Layer TCP/IP Protocols

Chapter 24 Congestion Control and Quality of Service 24.1

ADVANCED COMPUTER NETWORKS

Da t e: August 2 0 th a t 9: :00 SOLUTIONS

ECE 333: Introduction to Communication Networks Fall 2001

TSIN02 - Internetworking

TSIN02 - Internetworking

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

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

The Transmission Control Protocol (TCP)

Multiple unconnected networks

Transport protocols. Transport Layer 3-1

User Datagram Protocol (UDP):

Applied Networks & Security

TCP. CSU CS557, Spring 2018 Instructor: Lorenzo De Carli (Slides by Christos Papadopoulos, remixed by Lorenzo De Carli)

CMPE150 Midterm Solutions

ECE 650 Systems Programming & Engineering. Spring 2018

TCP Review. Carey Williamson Department of Computer Science University of Calgary Winter 2018

TCP so far Computer Networking Outline. How Was TCP Able to Evolve

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

Announcements. No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6

CCNA 1 Chapter 7 v5.0 Exam Answers 2013

Goals and topics. Verkkomedian perusteet Fundamentals of Network Media T Circuit switching networks. Topics. Packet-switching networks

Flow and Congestion Control

TCP: Flow and Error Control

No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6

Reliable Transport I: Concepts and TCP Protocol

Department of Computer and IT Engineering University of Kurdistan. Transport Layer. By: Dr. Alireza Abdollahpouri

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

Chapter 3 outline. 3.5 Connection-oriented transport: TCP. 3.6 Principles of congestion control 3.7 TCP congestion control

Transport Protocols & TCP TCP

Page 1. Review: Internet Protocol Stack. Transport Layer Services EEC173B/ECS152C. Review: TCP. Transport Layer: Connectionless Service

Congestion control in TCP

Transport layer issues

Transport Protocols and TCP: Review

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

Introduction to TCP/IP networking

Networking Technologies and Applications

Fall 2012: FCM 708 Bridge Foundation I

MIDTERM EXAMINATION #2 OPERATING SYSTEM CONCEPTS U N I V E R S I T Y O F W I N D S O R S C H O O L O F C O M P U T E R S C I E N C E

Chapter 24. Transport-Layer Protocols

Page 1. Review: Internet Protocol Stack. Transport Layer Services. Design Issue EEC173B/ECS152C. Review: TCP

The Transport Layer. Part 1

Congestion / Flow Control in TCP

CSE 123A Computer Networks

CSC 634: Networks Programming

Congestion Control End Hosts. CSE 561 Lecture 7, Spring David Wetherall. How fast should the sender transmit data?

CCNA 1 v3.11 Module 11 TCP/IP Transport and Application Layers

Programming Assignment 3: Transmission Control Protocol

Lecture 14: Congestion Control"

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

interface Question 1. a) Applications nslookup/dig Web Application DNS SMTP HTTP layer SIP Transport layer OSPF ICMP IP Network layer

Lecture 11. Transport Layer (cont d) Transport Layer 1

Computer Networking Introduction

Introduction to Networks and the Internet

5105: BHARATHIDASAN ENGINEERING COLLEGE NATTARMPALLI UNIT I FUNDAMENTALS AND LINK LAYER PART A

UNIT IV TRANSPORT LAYER

Lecture 8. TCP/IP Transport Layer (2)

Computer Communication Networks Midterm Review

Transport Protocols Reading: Sections 2.5, 5.1, and 5.2

Wireless TCP Performance Issues

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

TRANSMISSION CONTROL PROTOCOL. ETI 2506 TELECOMMUNICATION SYSTEMS Monday, 7 November 2016

Transcription:

Protocol Overview TCP/IP Performance E-Mail HTTP (WWW) Remote Login File Transfer TCP UDP ITL IP ICMP ARP RARP (Auxiliary Services) ATM Ethernet, X.25, HDLC etc. 2/13/06 Hans Kruse & Shawn Ostermann, Ohio University 2 Connection Types in TCP/IP Resource Management Transport Layer Network Layer Data Link Layer and Physical Network TCP: Connection Oriented UDP: Connection-less Connection-less Depends on the network Local resources (mainly memory) Data Sender Data Receiver Network Resources Bandwidth usage Router queues the ternet, no explicit feedback from network to hosts (as opposed to Frame Relay, ATM). 2/13/06 Hans Kruse & Shawn Ostermann, Ohio University 3 2/13/06 Hans Kruse & Shawn Ostermann, Ohio University 4 Router Queues Smooth out traffic bursts Cannot control long-term overload Control Mechanisms Connection-Less traffic Packets representing overload are discarded Retransmissions should not take place Applications should adapt Connection-Oriented traffic Packets representing overload are also discarded Lost packets must be retransmitted Hosts must adjust sending rate\ 2/13/06 Hans Kruse & Shawn Ostermann, Ohio University 5 2/13/06 Hans Kruse & Shawn Ostermann, Ohio University 6

Sliding Window flow control Sliding Window cont. vented to control flow to slower devices (i.e. end-to-end Almost accidentally provides a cap on data flow rate TCP uses a sliding window mechanism for multiple purposes The window size is dynamically adjusted 1 2 3 M 1 2 3 M One Cycle Idle Time 1 2 3 M 2/13/06 Hans Kruse & Shawn Ostermann, Ohio University 7 2/13/06 Hans Kruse & Shawn Ostermann, Ohio University 8 Frame Transmission Time Depends on Frame Length Channel Bit Rate Frame Propagation Time Depends on Physical distance between stations Signal propagation speed 2x10 8 to 3x10 8 meters/second 2/13/06 Hans Kruse & Shawn Ostermann, Ohio University 9 2/13/06 Hans Kruse & Shawn Ostermann, Ohio University 10 Round Trip Time Combination of Frame Transmission times on intermediate links Frame propagation times on all links Queue wait times in all intermediate nodes Window Size and Throughput Maximum throughput is (window size)/rtt Actual throughput may of course be less. Bandwidth-Delay-Product BDP=RTT * (effective bandwidth) Measures the amount of data in the network at any given time. 2/13/06 Hans Kruse & Shawn Ostermann, Ohio University 11 2/13/06 Hans Kruse & Shawn Ostermann, Ohio University 12

practice UDP Header How is the sliding window mechanism used in TCP What dynamic adjustments are made to the window size What control do we have over performance parameters Starting with a quick TCP review... Source Port Length Destination Port Checksum 2/13/06 Hans Kruse & Shawn Ostermann, Ohio University 13 2/13/06 Hans Kruse & Shawn Ostermann, Ohio University 14 TCP Header TCP Connection Setup Source Port Destination Port Sequence Number Acknowledgement Number Three-Way Handshake Send SYN packet Wait for peer to return a SYN/ACK packet Acknowledge the SYN/ACK packet misc Flags Checksum Window (flow cntrl) Urgent Options 2/13/06 Hans Kruse & Shawn Ostermann, Ohio University 15 2/13/06 Hans Kruse & Shawn Ostermann, Ohio University 16 TCP Connection Termination Send a FIN packet Wait to receive acknowledgement of FIN TCP Data Exchange Sequence Numbers - Sliding Window Arbitrary initial setting Labels the first byte of the segment Acknowledgements dicate the next byte the receiver is looking for, all previous bytes have been received. 2/13/06 Hans Kruse & Shawn Ostermann, Ohio University 17 2/13/06 Hans Kruse & Shawn Ostermann, Ohio University 18

TCP Segment Size Originally Unlimited IP fragments segments that are too large Turned out to be very inefficient SYN packet can carry the MSS (Maximum Segment Size) option Must be approved in the SYN/ACK Default used if the option is not present Sender Receiver TCP Sliding Window Operation snd.una snd.nxt snd.una +snd.wnd snd.wnd (local to the Sender) rcv.nxt rcv.nxt +rcv.wnd 2/13/06 Hans Kruse & Shawn Ostermann, Ohio University 19 rcv.wnd (Must tell the sender this value) 2/13/06 Hans Kruse & Shawn Ostermann, Ohio University 20 Slow Start Congestion Control 1 1 1 2 Idle Time Note: recent TCP amendments permit more than 1 initial segment 1 2 Idle Time 1 2 3 4 Window doubles in each cycle 2/13/06 Hans Kruse & Shawn Ostermann, Ohio University 21 Congestion Issues Slow Start - New Connection Set send window to n*mss (n <= 4) crease the window by MSS for each ack received Exponential increase in send window size What is the limit? Window size reached before full utilization Path is overloaded and an intermediate router discards one or more packets 2/13/06 Hans Kruse & Shawn Ostermann, Ohio University 22 Congestion Issues cont... Packet loss may occur due to actual errors or congestion TCP equates loss with congestion Congestion Avoidance, Timer Back-Off Reduce send window to 1/2 of previous size for each retransmit (exponential back-off) After a segment is retransmitted, set the new RTO timer for that segment to 2*RTO, up to a hard upper bound (2*MSL, Maximum Segment Life) (RTO = Retransmit Time-) Congestion Issues cont... Slow Start - After retransmission Exponential slow-start up to 1/2 of the original window size crease the window by MSS for each send window ack ed without loss Linear increase in send window size 2/13/06 Hans Kruse & Shawn Ostermann, Ohio University 23 2/13/06 Hans Kruse & Shawn Ostermann, Ohio University 24

What can we control Vendors TCP implementation needs to follow most recent guidelines TCP window size is usually configurable; in some case the size auto-tunes. Users Control the TCP window For each application (rare; although some applications are capable of doing this) For the entire workstation (more likely) Additional Slides 2/13/06 Hans Kruse & Shawn Ostermann, Ohio University 25 Real Networks clude many different types of circuits Different speeds Some LAN, some Wide-Area connections Rely on routers to connect the different subnetworks Routers are not expected to have detailed knowledge about the traffic flows they are handling Network Knowledge and Lack Thereof End Systems Know the applications they are running Often know the network capacity they would like to have Do not know the actual network capacity available Do not know the competition, i.e. other network users traffic 2/13/06 Hans Kruse & Shawn Ostermann, Ohio University 27 2/13/06 Hans Kruse & Shawn Ostermann, Ohio University 28 Network Knowledge and Lack Thereof Routers Know the capacity of the links they are attached to Do not know much about the network farther away from them Do not know the complete path taken by the packets handled in the router Do not know (from the network traffic itself) what the applications needs are Routers Must cope with packet flows that may exceed the available capacity on their outbound route Short-term this indicates randomness in the traffic and we need to deal with it If the overload persists long-term we call it congestion, and we would like for it to go away Routers use queues to handle the short-term variations Long-term overload?? 2/13/06 Hans Kruse & Shawn Ostermann, Ohio University 29 2/13/06 Hans Kruse & Shawn Ostermann, Ohio University 30

Applications Should and often can adapt to the available capacity Should be fair in their use of resources, or Should identify themselves as high-capacity users (and compensate the network operator accordingly) Need information about the network and the capacity is can deliver the ideal case Use a control protocol to communicate this information between applications and the network Standard procedure in circuit switched and virtual circuit networks Telephone network Frame Relay and ATM creases overall complexity Can provide a wide range of services really well 2/13/06 Hans Kruse & Shawn Ostermann, Ohio University 31 2/13/06 Hans Kruse & Shawn Ostermann, Ohio University 32 The case of the ternet Successful because a transparent network encourages application development and deployment Because the network elements are simple Reasonably low complexity Great flexibility Not much capability to communicate network information to applications Performance Issues Long term crease complexity and add QoS protocol layers Throw capacity at the network faster than applications require it (good luck...) Short term Implicit communication of congestion in the TCP protocol Network performs many different functions, some better than others 2/13/06 Hans Kruse & Shawn Ostermann, Ohio University 33 2/13/06 Hans Kruse & Shawn Ostermann, Ohio University 34 Application View Network attachment over which I dispatch my packets -- known termediate network Contains many links and queues Application sees an overall latency, or delay between packet dispatch and receipt More precisely, applications can discover Round Trip Times The Congestion Collapse Problem Original TCP specs used the window for flow control, and retransmission after 2 round trip times Congestion of a link causes the timers to go off before an ack can be returned The network goes into steady state congestion where every segment is transmitted about three times 2/13/06 Hans Kruse & Shawn Ostermann, Ohio University 35 2/13/06 Hans Kruse & Shawn Ostermann, Ohio University 36