CMPE 150 – Winter 2009 Lecture 17 March 5, 2009 P.E. Mantey.

Slides:



Advertisements
Similar presentations
1 Improving TCP Performance over Mobile Networks HALA ELAARAG Stetson University Speaker : Aron ACM Computing Surveys 2002.
Advertisements

Introduction 1 Lecture 13 Transport Layer (Transmission Control Protocol) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer.
1 Transport Protocols & TCP CSE 3213 Fall April 2015.
CMPE 150 – Winter 2009 Lecture 16 March 3, 2009 P.E. Mantey.
Chapter 6 The Transport Layer.
NET0183 Networks and Communications Lecture 28 TCP: a transport layer protocol... the story continues... Sagan halda áfram 8/25/20091 NET0183 Networks.
- Reliable Stream Transport Service
School of Information Technologies TCP Congestion Control NETS3303/3603 Week 9.
CMPE 150- Introduction to Computer Networks 1 CMPE 150 Fall 2005 Lecture 28 Introduction to Computer Networks.
Internet Networking Spring 2003 Tutorial 12 Limited Transmit RFC 3042 Long Thin Networks RFC 2757.
Winter CMPE 155 Week 3. Winter Project 3: Basic Servers Telnet Rlogin FTP Web In this context, let’s look at the underlying protocols…
Transport Layer 3-1 Transport Layer r To learn about transport layer protocols in the Internet: m TCP: connection-oriented protocol m Reliability protocol.
CMPE 150 – Winter 2009 Lecture 18 March 10, 2009 P.E. Mantey.
The Transport Layer Chapter 6. The TCP Segment Header TCP Header.
The Transport Layer Chapter 6. Performance Issues Performance Problems in Computer Networks Network Performance Measurement System Design for Better Performance.
CSEE W4140 Networking Laboratory Lecture 7: TCP congestion control Jong Yul Kim
CMPE 150 – Winter 2009 Lecture 6 January 22, 2009 P.E. Mantey.
The Transport Layer Chapter 6. The Transport Service Services Provided to the Upper Layers Transport Service Primitives Berkeley Sockets An Example of.
CMPE 150- Introduction to Computer Networks 1 CMPE 150 Fall 2005 Lecture 27 Introduction to Computer Networks.
Transport Protocols for Wireless Networks CMPE Spring 2001 Marcelo M. de Carvalho.
Computer Networks Transport Layer. Topics F Introduction  F Connection Issues F TCP.
CMPE 150 – Winter 09 Lecture 2 January 8, 2009 P.E. Mantey.
Department of Electronic Engineering City University of Hong Kong EE3900 Computer Networks Transport Protocols Slide 1 Transport Protocols.
1 K. Salah Module 6.1: TCP Flow and Congestion Control Connection establishment & Termination Flow Control Congestion Control QoS.
Figure 2-17 Relationship of layers and addresses in TCP/IP Example: web browser implementing HTTP Implemented in TCP and UDP software. HTTP uses TCP. Interface.
CMPE 150 – Winter 2009 Lecture 15 February 26, 2009 P.E. Mantey.
Process-to-Process Delivery:
The Transport Layer.
TCP: flow and congestion control. Flow Control Flow Control is a technique for speed-matching of transmitter and receiver. Flow control ensures that a.
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.
CMPE 150 – Winter 2009 Lecture 9 February 3, 2009 P.E. Mantey.
TCP Timers Chia-tai Tsai Introduction The 7 Timers for each Connection Connection-Establishment Timer Establish a new connection.
CS 4396 Computer Networks Lab
Mobile Communications: Mobile Transport Layer Mobile Communications Chapter 10: Mobile Transport Layer  Motivation  TCP-mechanisms  Indirect TCP  Snooping.
Asstt. Professor Adeel Akram.  Motivation  TCP mechanisms  Indirect TCP  Snooping TCP  Mobile TCP  Fast retransmit/recovery  Transmission freezing.
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.
Transport over Wireless Networks Myungchul Kim
Chapter 12 Transmission Control Protocol (TCP)
1 TCP III - Error Control TCP Error Control. 2 ARQ Error Control Two types of errors: –Lost packets –Damaged packets Most Error Control techniques are.
CMPE 150 – Winter 2009 Lecture 19 March 12, 2009 P.E. Mantey.
Transmission Control Protocol TCP Part 2 University of Glamorgan Networked & Distributed Systems.
1 Mao W07 Midterm Review EECS 489 Computer Networks Z. Morley Mao Monday Feb 19, 2007 Acknowledgement: Some.
Transport Layer 3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March
The Transport Layer Chapter 6 12/14/2015www.ishuchita.com1.
TCP: Transmission Control Protocol Part II : Protocol Mechanisms Computer Network System Sirak Kaewjamnong Semester 1st, 2004.
1 CS 4396 Computer Networks Lab TCP – Part II. 2 Flow Control Congestion Control Retransmission Timeout TCP:
Ασύρματες και Κινητές Επικοινωνίες Ενότητα # 11: Mobile Transport Layer Διδάσκων: Βασίλειος Σύρης Τμήμα: Πληροφορικής.
TCP Timeout and Retransmission
Transport Layer3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 5 th edition. Jim Kurose, Keith Ross Addison-Wesley, April 2009.
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).
Transmission Control Protocol (TCP) TCP Flow Control and Congestion Control CS 60008: Internet Architecture and Protocols Department of CSE, IIT Kharagpur.
1 TCP ProtocolsLayer name DNSApplication TCP, UDPTransport IPInternet (Network ) WiFi, Ethernet Link (Physical)
The Transport Layer Dr. ir. S.S. Msanjila RIS 251.
TCP over Wireless PROF. MICHAEL TSAI 2016/6/3. TCP Congestion Control (TCP Tahoe) Only ACK correctly received packets Congestion Window Size: Maximum.
TCP - Part III TCP Timers Selective Acknowledgements.
TCP Wrap-up TCP Timers Selective Acknowledgements.
Chapter 6 The Transport Layer.
The Transport Layer Chapter
Transport Layer Unit 5.
Process-to-Process Delivery:
CS4470 Computer Networking Protocols
IT351: Mobile & Wireless Computing
CS4470 Computer Networking Protocols
CS4470 Computer Networking Protocols
The Transport Layer Chapter 6.
TCP flow and congestion control
Computer Networks Protocols
TCP: Transmission Control Protocol Part II : Protocol Mechanisms
Presentation transcript:

CMPE 150 – Winter 2009 Lecture 17 March 5, 2009 P.E. Mantey

CMPE Introduction to Computer Networks Instructor: Patrick Mantey Office: Engr. 2 Room 595J Office hours: Tues 3-5 PM, Mon 5-6 PM* TA: Anselm Kia Web site: Text: Tannenbaum: Computer Networks (4 th edition – available in bookstore, etc. )

Syllabus

Text Readings Today: Chapter 6, Section 6.6 (TCP Performance) Tuesday March 10 Chapter 7.1 (DNS), Chapter 7.4 (Multimedia)

Internet Layering Level 5 -- Application Layer (rlogin, ftp, SMTP, POP3, IMAP, HTTP..) Level 4-- Transport Layer(a.k.a Host-to-Host) (TCP, UDP) Level 3-- Network Layer (a.k.a. Internet) (IP, ICMP, ARP) Level 2-- (Data) Link Layer / MAC sub-layer (a.k.a. Network Interface or Network Access Layer) Level 1-- Physical Layer

Transport Layer – Connection Oriented Service Addressing / Access Points Connection Request / Establishment Delayed Duplicate Packet Problem Timer management Connection points Connection Release

Today’s Agenda Transport Layer TCP: Timers / RTT estimates Exponential backoff Wireless vs. wired Transactional TCP Performance

Port Detective

========================================================== See also: Remote desktop (Windows XP) Reference:

TCP Congestion Control (a) A fast network feeding a low capacity receiver. (b) A slow network feeding a high-capacity receiver.

Jacobson’s Algorithm 1 Determining the round-trip time: –TCP keeps RTT variable. –When segment sent, TCP measures how long it takes to get ACK back (M). –RTT = alpha*RTT + (1-alpha)M. –alpha: smoothing factor; determines weight given to previous estimate. –Typically, alpha=7/8.

Jacobson’s Algorithm 2 Determining timeout value: –Measure RTT variation, or |RTT-M|. –Keeps smoothed value of cumulative variation D=alpha*D+(1-alpha)|RTT-M|. –Alpha may or may not be the same as value used to smooth RTT. –Timeout = RTT+4*D.

Karn’s Algorithm How to account for ACKs of retransmitted segments? –Count it for first or second transmission? –Karn proposed not to update RTT on any retransmitted segment. –Instead RTT is doubled on each failure until segments get through.

TCP Congestion Control: Example threshold timeout threshold cwin time

Persistence Timer Prevents deadlock if an window update packet is lost and advertised window = 0. When persistence timer goes off, sender probes receiver; receiver replies with its current advertised window. If = 0, persistence timer is set again.

Keepalive Timer Goes off when a connection is idle for a long time. Causes one side to check whether the other side is still alive. If no answer, connection terminated.

TCP Timer Management (a) Probability density of ACK arrival times in the data link layer. (b) Probability density of ACK arrival times for TCP.

TCP Retransmission Timer When segment sent, retransmission timer starts. –If segment ACKed, timer stops. –If time out, segment retransmitted and timer starts again.

How to set timer? Based on round-trip time: time between a segment is sent and ACK comes back. If timer is too short, unnecessary retransmissions. If timer is too long, long retransmission delay.

Jacobson’s Algorithm 1 Determining the round-trip time: –TCP keeps RTT variable. –When segment sent, TCP measures how long it takes to get ACK back (M). –RTT = alpha*RTT + (1-alpha)M. –alpha: smoothing factor; determines weight given to previous estimate. –Typically, alpha=7/8.

Jacobson’s Algorithm 2 Determining timeout value: –Measure RTT variation, or |RTT-M|. –Keeps smoothed value of cumulative variation D=alpha*D+(1-alpha)|RTT-M|. –Alpha may or may not be the same as value used to smooth RTT. –Timeout = RTT+4*D.

Karn’s Algorithm How to account for ACKs of retransmitted segments? –Count it for first or second transmission? –Karn proposed not to update RTT on any retransmitted segment. –Instead RTT is doubled on each failure until segments get through.

Persistence Timer Prevents deadlock if an window update packet is lost and advertised window = 0. When persistence timer goes off, sender probes receiver; receiver replies with its current advertised window. If = 0, persistence timer is set again.

Keepalive Timer Goes off when a connection is idle for a long time. Causes one side to check whether the other side is still alive. If no answer, connection terminated.

Performance Issues Performance Problems in Computer Networks Network Performance Measurement System Design for Better Performance Fast TPDU Processing Protocols for Gigabit Networks

System Design for Better Performance Rules: CPU speed is more important than network speed. Reduce packet count to reduce software overhead. Minimize context switches. Minimize copying. You can buy more bandwidth but not lower delay. Avoiding congestion is better than recovering from it. Avoid timeouts.

Wireless TCP and UDP Splitting a TCP connection into two connections.

Wireless TCP 1 According to layered system design principles, transport protocol should be independent of underlying technology. However, wireless networks invalidate this principle. –Ignoring properties of wireless medium can lead to poor TCP performance. –Problem: TCP’s congestion control.

Wireless TCP 2 Problem: packet loss as congestion indicator. –When retransmission timer times out, sender slows down. Wireless links are lossy! –Dealing with losses in this case should be re-sending lost segments asap.

Indirect TCP (I-TCP) [Bakne and Badrinath, 1995]. Split TCP connection in 2: one from sender to base station and the other from base station to receiver. –Base station serves as “repeater”: copies segments between connections in both directions. –Connections are homogeneous; timeouts on 1st. connection, slow down sender. –Problem: violates TCP’s e2e’ness. –Example: ACKs to sender mean base station received segments, not necessarily receiver.

Snoop TCP [Balakrishnan et al., 1995]. Does not break connection. Modifications to base station’s network layer code. –Snooping agent on base station observes and caches TCP segments sent to mobile host and ACKs coming back. –If it doesn’t see an ACK for a segment or sees duplicate ACKs, it times out and retransmits. –But source may time out anyway.