Performance Evaluation of TCP over WLAN with the Snoop Performance Enhancing Proxy

Size: px
Start display at page:

Download "Performance Evaluation of TCP over WLAN with the Snoop Performance Enhancing Proxy"

Transcription

1 Performance Evaluation of TCP over WLAN with the Snoop Performance Enhancing Proxy Case study Chi-ho Ng, Jack Chow, and Ljiljana Trajković Simon Fraser University 1

2 Roadmap Introducing the problem and the project scope TCP retransmission and window size Wireless LAN using TCP Snoop protocol OPNET implementation Conclusions 2

3 Problem formulation TCP is a reliable protocol with packet retransmission and congestion control (transmission window adjustment) Loss packets are seen as network congestion: packets are retransmitted using a smaller window size This scheme works well in wired networks In wireless networks, with the high bit error rate, TCP reduces window size excessively and under-utilizes the available bandwidth 3

4 Project goals Investigate the TCP congestion control policy and its performance in wireless LAN networks Find possible enhancing algorithms Investigate the Snoop protocol Implement Snoop protocol in OPNET Compare TCP performance with and without Snoop 4

5 TCP retransmission policy Sender Receiver First transmission Duplicate acknowledgements Retransmission ack1 ack1 ack1 ack For every packet received, the recipient returns an Ack Recipient sends duplicate Acks if a packet is lost Sender re-transmits lost packets 5

6 TCP transmission window Window size W Slope = 1/(round-trip time) W/2 TCP increases the window exponentially to determine the available bandwidth When the source fails to receive an acknowledgement, TCP reduces the window size by half. The source increases its window size by one unit every average round trip time 6 Time

7 Wireless LAN using TCP Host server Router Base station Mobile terminal 1. Host server establishes a TCP connection with mobile terminal and starts to send data 3. Missing acknowledgements trigger congestion control at host server 2. High bit error rate in the wireless channel 7

8 Adding the Snoop agent Host server Router Base station with Snoop agent Mobile terminal 1. Host server establishs a TCP connection with mobile terminal and starts to send data 3. Snoop agent re-transmits lost packets locally 2. High bit error rate in the wireless channel 8

9 Snoop protocol Snoop copies packets to its cache It starts a retransmission timer It retransmits the packets if a duplicate Ack is received or if the timer expires When an Ack is received, Snoop deletes the cache entry 9

10 OPNET implementation 10

11 Two additional protocol layers 11

12 PEG process model 12

13 Packet error generator: PEG Generates packet loss (uniformly distributed) Packets dropped by PEG at 30% packet error rate Total packets dropped Time (sec) Total sent Total dropped 13

14 Snoop agent process model 14

15 Snoop cache typedef struct { unsigned int src_ip; unsigned int dest_ip; int src_port; int dest_port; unsigned int seq_num; unsigned int ack_num; unsigned int rcv_win; int urgent_pointer; int data_len; int urg; int ack; int push; int rst; int syn; int fin; } TcpInfo; 15

16 Cache functions Function sncacheinit sncachedpkt sncacheretrieve sncachedestroy Description Initializes the cache records Copies a packet into the cache Retrieves a packet from the cache Deletes a packet from the cache 16

17 Snoop connection table typedef struct { /* Source IP */ unsigned int src_ip; /* Destination IP */ unsigned int dest_ip; /* Source Port */ int src_port; /* Destination Port */ int dest_port; /* Last sent seq number */ unsigned int last_seq_num; /* Last received seq number */ unsigned int last_ack_num; /* Determines if we have received repeat Acks */ int repeat_ack; /* Determines if we have received FIN packet */ int fin_flag; /* Seq num of the fin packet */ unsigned fin_seq_num; /* Timeout event handle */ Evhandle timeout_evt; } struct_sntable; 17

18 Snoop_Data() Packet arrives New packet? no Packet seq num > last ack num? yes 1. Forward packet 2. Reset lcoal retransmission timer Sender retranmission no yes Discard packet In sequence? no Forward packet yes Congestion loss 1. Cache packet 2. Forward packet Common case 18

19 Snoop_Ack() Ack arrives New ack? no yes Duplicate Ack? yes no 1. Free cache record 2. Forward Ack to sender Common case Discard packet False Ack First DupAck? no Discard packet yes Retransmit lost packets Repeated DupAck Packet loss 19

20 TCP parameters TCP Parameters Values Maximum Segment Size (bytes) 2264 Receiver Buffer Size (bytes) 8760 Receiver Buffer Usage Threshold 0.0 Delayed Ack Mechansim Segment/Clock Based Maximum Ack Delay 0.2 Fast Transmit Enabled Fast Recovery Enabled Selective Ack (SACK) Disabled Nagle SWS Algorithm Disabled Karn s Algorithm Enabled Retransmission Threshold Attempt Based Initial RTO 1.0 Minimum RTO 0.5 Maximum RTO 64 RTT Gain Deviation Gain 0.25 RTT Deviation Coefficient 4.0 Timer Granularity 0.5 Persist Timeout

21 Scenario 1: Single mobile upload Mobile 1 uploads a 100,000-byte file to the server 21

22 Scenario 1: parameters Parameters Setup Snoop Model Attribute in Mobile 1 Snoop Enabled Snoop Retransmission Timeout PEG Model Attribute in Mobile 1 Send_Data_Drop_Rate Recv_Data_Drop_Rate Snoop Model Attribute in Server Snoop Enabled Values 1 (Enabled) 1 sec Varied Varied 0 (Disabled) PEG Model Attribute in Server Send_Data_Drop_Rate 0 Recv_Data_Drop_Rate 0 22

23 Upload response time ~ 68 times improvements at 30% error rate Scenario 1: Upload reponse time Time (sec) Packet error rate (%) Snoop enabled Snoop disabled 23

24 Packet caching Transmission window: four packets Number of packets cached at the end: zero Number of cached packets Number of cached packets Time (sec) 24

25 Congestion window size Varies with time TCP congestion window size at 20% packet error rate Congestion window size (bits) Snoop enabled Time (sec) Snoop disabled 25

26 Sequence numbers Each data byte is represented by a sequence number Sequence numbers at 20% packet error rate Transmitted sequence number Snoop enabled Time (sec) Snoop disabled 26

27 Retransmission timeout Persist retransmission timeout period = 1 sec Retransmission timeout at 20% packet error rate Retransmission timeout interval (sec) Time (sec) Snoop enabled Snoop disabled 27

28 Scenario 2: Multiple mobile downloads Snoop enabled at the server 28

29 Scenario 2: parameters Parameters Setup Mobile 1 Snoop Enabled Values 0 (Disabled) PEG Model Attribute in Mobile 1 Send_Data_Drop_Rate 0 Recv_Data_Drop_Rate 0 Mobile 2 Snoop Enabled 0 (Disabled) PEG Model Attribute in Mobile 2 Send_Data_Drop_Rate 0 Recv_Data_Drop_Rate 0 Server Snoop Enabled 1 (Enabled) Snoop Retransmission Timeout (sec) 1 PEG Model Attribute in Server Send_Data_Drop_Rate Recv_Data_Drop_Rate Varied Varied 29

30 Download response time Snoop can handle multiple connections Average download response time Time (sec) Packet error rate (%) Snoop enabled Snoop disabled 30

31 Scenario 3: Multiple mobile uploads Snoop disabled on Mobile 1 and enabled on Mobile 2 31

32 Scenario 3: parameters Parameters Setup Mobile 1 Snoop Enabled Values 0 (Disabled) PEG Model Attribute in Mobile 1 Send_Data_Drop_Rate 0 Recv_Data_Drop_Rate 0 Mobile 2 Snoop Enabled 1 (Enabled) Snoop Retransmission Timeout (sec) 1.0 PEG Model Attribute in Mobile 2 Send_Data_Drop_Rate 0 Recv_Data_Drop_Rate 0 Server Snoop Enabled PEG Model Attribute in Server Send_Data_Drop_Rate Recv_Data_Drop_Rate 0 (Disabled) Varied Varied 32

33 Upload response time Mobile with Snoop has shorter upload time Upload response time Upload respnose time (sec) Packet error rate (%) Snoop enabled Snoop disabled 33

34 Conclusions We implemented Snoop and packet error generator OPNET models They were implemented between the ARP and IP OPNET nodes. Implementation required examination of the ARP and IP node source code and their separation Future work: Vary the retransmission timer based on calculated round trip delays in wireless links 34

35 References [1] IEEE Workgroup: [2] Performance Enchancing Proxy (PEP) Request for Comments (RFC): [3] Improving TCP/IP Performance over Wireless Networks: [4] W. Stevens, TCP/IP Illustrated, Volume 1. Reading, MA: Addison Wesley, Professional Computing Series, [5] A. S. Tanenbaum, Computer Networks, Third edition. Englewood Cliffs, NJ: Prentice-Hall, [6] Wireless LAN Model Description, OPNET Manual. 35

Performance of TCP Protocol Running over Wireless LAN Network using the Snoop Protocol

Performance of TCP Protocol Running over Wireless LAN Network using the Snoop Protocol ENSC 833 Network Protocols And Performance Final Project Presentations - Spring 2001 Performance of TCP Protocol Running over Wireless LAN Network using the Snoop Protocol Chi-ho Ng and Jack Chow cng@sierrawireless.com

More information

Performance of TCP Protocol Running over WLAN with the Snoop Protocol ENSC 833 Project Report

Performance of TCP Protocol Running over WLAN with the Snoop Protocol ENSC 833 Project Report Performance of TCP Protocol Running over WLAN 802.11 with the Snoop Protocol ENSC 833 Project Report Jack Chi-Kit Chow (jackchow@home.com) Chi-ho Ng (cng@sierrawireless.com) Winter 2001 ABSTACT Performance

More information

Improving TCP End to End Performance in Wireless LANs with Snoop Protocol

Improving TCP End to End Performance in Wireless LANs with Snoop Protocol Improving TCP End to End Performance in Wireless LANs with Snoop Protocol Dejan Jaksic, Zeljko Ilic and Alen Bazant Department of Telecommunications, Faculty of Electrical Engineering and Computing Unska

More information

Improving Reliable Transport and Handoff Performance in Cellular Wireless Networks

Improving Reliable Transport and Handoff Performance in Cellular Wireless Networks Improving Reliable Transport and Handoff Performance in Cellular Wireless Networks H. Balakrishnan, S. Seshan, and R. H. Katz ACM Wireless Networks Vol. 1, No. 4, pp. 469-482 Dec. 1995 P. 1 Introduction

More information

User Datagram Protocol (UDP):

User Datagram Protocol (UDP): SFWR 4C03: Computer Networks and Computer Security Feb 2-5 2004 Lecturer: Kartik Krishnan Lectures 13-15 User Datagram Protocol (UDP): UDP is a connectionless transport layer protocol: each output operation

More information

TCP Congestion Control in Wired and Wireless networks

TCP Congestion Control in Wired and Wireless networks TCP Congestion Control in Wired and Wireless networks Mohamadreza Najiminaini (mna28@cs.sfu.ca) Term Project ENSC 835 Spring 2008 Supervised by Dr. Ljiljana Trajkovic School of Engineering and Science

More information

Network Simulation with OPNET

Network Simulation with OPNET CS 521 PROJECT 2 Network Simulation with OPNET Submitted by: Manish Mehta (manishmehta@india.com) Date: 04/16/2001 Scenario 1: Two file transfer TCP connections using the same link with two routers in

More information

TCP over Wireless PROF. MICHAEL TSAI 2016/6/3

TCP over Wireless PROF. MICHAEL TSAI 2016/6/3 TCP over Wireless PROF. MICHAEL TSAI 2016/6/3 2 TCP Congestion Control (TCP Tahoe) Only ACK correctly received packets Congestion Window Size: Maximum number of bytes that can be sent without receiving

More information

Transport Protocols and TCP: Review

Transport Protocols and TCP: Review Transport Protocols and TCP: Review CSE 6590 Fall 2010 Department of Computer Science & Engineering York University 1 19 September 2010 1 Connection Establishment and Termination 2 2 1 Connection Establishment

More information

Impact of transmission errors on TCP performance. Outline. Random Errors

Impact of transmission errors on TCP performance. Outline. Random Errors Impact of transmission errors on TCP performance 1 Outline Impact of transmission errors on TCP performance Approaches to improve TCP performance Classification Discussion of selected approaches 2 Random

More information

Transport Protocols & TCP TCP

Transport Protocols & TCP TCP Transport Protocols & TCP CSE 3213 Fall 2007 13 November 2007 1 TCP Services Flow control Connection establishment and termination Congestion control 2 1 TCP Services Transmission Control Protocol (RFC

More information

Congestion / Flow Control in TCP

Congestion / Flow Control in TCP Congestion and Flow Control in 1 Flow Control and Congestion Control Flow control Sender avoids overflow of receiver buffer Congestion control All senders avoid overflow of intermediate network buffers

More information

TCP over wireless links

TCP over wireless links CSc 450/550 Computer Communications & Networks TCP over wireless links Jianping Pan (stand-in for Dr. Wu) 1/31/06 CSc 450/550 1 TCP over wireless links TCP a quick review on how TCP works Wireless links

More information

Neural-based TCP performance modelling

Neural-based TCP performance modelling Section 1 Network Systems Engineering Neural-based TCP performance modelling X.D.Xue and B.V.Ghita Network Research Group, University of Plymouth, Plymouth, United Kingdom e-mail: info@network-research-group.org

More information

Lecture 3: The Transport Layer: UDP and TCP

Lecture 3: The Transport Layer: UDP and TCP Lecture 3: The Transport Layer: UDP and TCP Prof. Shervin Shirmohammadi SITE, University of Ottawa Prof. Shervin Shirmohammadi CEG 4395 3-1 The Transport Layer Provides efficient and robust end-to-end

More information

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

Chapter 3 outline. 3.5 Connection-oriented transport: TCP. 3.6 Principles of congestion control 3.7 TCP congestion control Chapter 3 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 segment

More information

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

Topics. TCP sliding window protocol TCP PUSH flag TCP slow start Bulk data throughput Topics TCP sliding window protocol TCP PUSH flag TCP slow start Bulk data throughput 2 Introduction In this chapter we will discuss TCP s form of flow control called a sliding window protocol It allows

More information

Transmission Control Protocol. ITS 413 Internet Technologies and Applications

Transmission Control Protocol. ITS 413 Internet Technologies and Applications Transmission Control Protocol ITS 413 Internet Technologies and Applications Contents Overview of TCP (Review) TCP and Congestion Control The Causes of Congestion Approaches to Congestion Control TCP Congestion

More information

Transmission Control Protocol (TCP)

Transmission Control Protocol (TCP) Transmission Control Protocol (TCP) Antonio Carzaniga Faculty of Informatics University of Lugano May 3, 2005 Outline Intro to TCP Sequence numbers and acknowledgment numbers Timeouts and RTT estimation

More information

TCP Congestion Control 65KB W

TCP Congestion Control 65KB W TCP Congestion Control 65KB W TO 3DA 3DA TO 0.5 0.5 0.5 0.5 3 3 1 SS SS CA SS CA TCP s Congestion Window Maintenance TCP maintains a congestion window (cwnd), based on packets Sender s window is limited

More information

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

TCP Service Model. Today s Lecture. TCP Support for Reliable Delivery. EE 122:TCP, Connection Setup, Reliability Today s Lecture How does TCP achieve correct operation? EE 122:TCP, Connection Setup, Reliability Ion Stoica TAs: Junda Liu, DK Moon, David Zats Reliability in the face of IP s best effort service 3-way

More information

Sequence Number. Acknowledgment Number. Data

Sequence Number. Acknowledgment Number. Data CS 455 TCP, Page 1 Transport Layer, Part II Transmission Control Protocol These slides are created by Dr. Yih Huang of George Mason University. Students registered in Dr. Huang's courses at GMU can make

More information

TCP: Flow and Error Control

TCP: Flow and Error Control 1 TCP: Flow and Error Control Required reading: Kurose 3.5.3, 3.5.4, 3.5.5 CSE 4213, Fall 2006 Instructor: N. Vlajic TCP Stream Delivery 2 TCP Stream Delivery unlike UDP, TCP is a stream-oriented protocol

More information

Outline. Connecting to the access network: DHCP and mobile IP, LTE. Transport layer: UDP and TCP

Outline. Connecting to the access network: DHCP and mobile IP, LTE. Transport layer: UDP and TCP Outline Connecting to the access network: DHCP and mobile IP, LTE Transport layer: UDP and TCP IETF TCP/IP protocol suite User application, e.g., http with Mozilla Communication for each process on computer

More information

CSCE 463/612 Networks and Distributed Processing Spring 2017

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

More information

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

CMSC 417. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala. October 25, 2018 CMSC 417 Computer Networks Prof. Ashok K Agrawala 2018 Ashok Agrawala Message, Segment, Packet, and Frame host host HTTP HTTP message HTTP TCP TCP segment TCP router router IP IP packet IP IP packet IP

More information

file:///c:/users/hpguo/dropbox/website/teaching/fall 2017/CS4470/H...

file:///c:/users/hpguo/dropbox/website/teaching/fall 2017/CS4470/H... 1 of 9 11/26/2017, 11:28 AM Homework 3 solutions 1. A window holds bytes 2001 to 5000. The next byte to be sent is 3001. Draw a figure to show the situation of the window after the following two events:

More information

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

ICS 451: Today's plan. Sliding Window Reliable Transmission Acknowledgements Windows and Bandwidth-Delay Product Retransmission Timers Connections ICS 451: Today's plan Sliding Window Reliable Transmission Acknowledgements Windows and Bandwidth-Delay Product Retransmission Timers Connections Alternating Bit Protocol: throughput tied to latency with

More information

TCP/IP Performance ITL

TCP/IP Performance ITL TCP/IP Performance ITL Protocol Overview E-Mail HTTP (WWW) Remote Login File Transfer TCP UDP IP ICMP ARP RARP (Auxiliary Services) Ethernet, X.25, HDLC etc. ATM 4/30/2002 Hans Kruse & Shawn Ostermann,

More information

Transport Protocols and TCP

Transport Protocols and TCP Transport Protocols and TCP Functions Connection establishment and termination Breaking message into packets Error recovery ARQ Flow control Multiplexing, de-multiplexing Transport service is end to end

More information

CMPE 257: Wireless and Mobile Networking

CMPE 257: Wireless and Mobile Networking CMPE 257: Wireless and Mobile Networking Katia Obraczka Computer Engineering UCSC Baskin Engineering Lecture 10 CMPE 257 Spring'15 1 Student Presentations Schedule May 21: Sam and Anuj May 26: Larissa

More information

TCP Congestion Control in Wired and Wireless Networks

TCP Congestion Control in Wired and Wireless Networks TCP Congestion Control in Wired and Wireless Networks ENCS 835 Course Project Spring 2008 April 7, 2008 Presented by: Mohamadreza Najiminaini Professor: Ljiljana Trajkovic 4/16/2008 1 Roadmap Introduction

More information

Transport Layer: outline

Transport Layer: outline Transport Layer: outline Transport-layer services Multiplexing and demultiplexing Connectionless transport: UDP Principles of reliable data transfer Connection-oriented transport: TCP Segment structure

More information

OPNET M-TCP model. Modupe Omueti

OPNET M-TCP model. Modupe Omueti OPNET M-TCP model Modupe Omueti momueti@cs.sfu.ca Communication Networks Laboratory http://www.ensc.sfu.ca/research/cnl School of Engineering Science Simon Fraser University Roadmap Introduction Motivation

More information

Internet Networking recitation #10 TCP New Reno Vs. Reno

Internet Networking recitation #10 TCP New Reno Vs. Reno recitation #0 TCP New Reno Vs. Reno Spring Semester 200, Dept. of Computer Science, Technion 2 Introduction Packet Loss Management TCP Reno (RFC 258) can manage a loss of at most one packet from a single

More information

8. TCP Congestion Control

8. TCP Congestion Control 8. TCP Congestion Control 1 TCP Congestion Control Slow-start increase Multiplicative decrease Congestion avoidance Measurement of variation Exponential timer backoff 2002 Yanghee Choi 2 Congestion Control

More information

CSCD 330 Network Programming

CSCD 330 Network Programming CSCD 330 Network Programming Lecture 10 Transport Layer Continued Spring 2018 Reading: Chapter 3 Some Material in these slides from J.F Kurose and K.W. Ross All material copyright 1996-2007 1 Last Time.

More information

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

Two approaches to Flow Control. Cranking up to speed. Sliding windows in action CS314-27 TCP: Transmission Control Protocol IP is an unreliable datagram protocol congestion or transmission errors cause lost packets multiple routes may lead to out-of-order delivery If senders send

More information

Chapter 24. Transport-Layer Protocols

Chapter 24. Transport-Layer Protocols Chapter 24. Transport-Layer Protocols 23.1 Introduction 23.2 User Datagram Protocol 23.3 Transmission Control Protocol 23.4 SCTP Computer Networks 24-1 Position of Transport-Layer Protocols UDP is an unreliable

More information

05 Transmission Control Protocol (TCP)

05 Transmission Control Protocol (TCP) SE 4C03 Winter 2003 05 Transmission Control Protocol (TCP) Instructor: W. M. Farmer Revised: 06 February 2003 1 Interprocess Communication Problem: How can a process on one host access a service provided

More information

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

Lecture 20 Overview. Last Lecture. This Lecture. Next Lecture. Transport Control Protocol (1) Transport Control Protocol (2) Source: chapters 23, 24 Lecture 20 Overview Last Lecture Transport Control Protocol (1) This Lecture Transport Control Protocol (2) Source: chapters 23, 24 Next Lecture Internet Applications Source: chapter 26 COSC244 & TELE202

More information

Lecture 8. TCP/IP Transport Layer (2)

Lecture 8. TCP/IP Transport Layer (2) Lecture 8 TCP/IP Transport Layer (2) Outline (Transport Layer) Principles behind transport layer services: multiplexing/demultiplexing principles of reliable data transfer learn about transport layer protocols

More information

Mobile Transport Layer Lesson 10 Timeout Freezing, Selective Retransmission, Transaction Oriented TCP and Explicit Notification Methods

Mobile Transport Layer Lesson 10 Timeout Freezing, Selective Retransmission, Transaction Oriented TCP and Explicit Notification Methods Mobile Transport Layer Lesson 10 Timeout Freezing, Selective Retransmission, Transaction Oriented TCP and Explicit Notification Methods 1 Timeout freezing of transmission (TFT) Used in situations where

More information

Does current Internet Transport work over Wireless? Reviewing the status of IETF work in this area

Does current Internet Transport work over Wireless? Reviewing the status of IETF work in this area Does current Internet Transport work over Wireless? Reviewing the status of IETF work in this area Sally Floyd March 2, 2000 IAB Workshop on Wireless Internetworking 1 Observations: Transport protocols

More information

Contents. CIS 632 / EEC 687 Mobile Computing. TCP in Fixed Networks. Prof. Chansu Yu

Contents. CIS 632 / EEC 687 Mobile Computing. TCP in Fixed Networks. Prof. Chansu Yu CIS 632 / EEC 687 Mobile Computing TCP in Fixed Networks Prof. Chansu Yu Contents Physical layer issues Communication frequency Signal propagation Modulation and Demodulation Channel access issues Multiple

More information

32 bits. source port # dest port # sequence number acknowledgement number not used. checksum. Options (variable length)

32 bits. source port # dest port # sequence number acknowledgement number not used. checksum. Options (variable length) Chapter 3 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 Connectionoriented transport: TCP segment

More information

Networked Systems and Services, Fall 2018 Chapter 3

Networked Systems and Services, Fall 2018 Chapter 3 Networked Systems and Services, Fall 2018 Chapter 3 Jussi Kangasharju Markku Kojo Lea Kutvonen 4. Transport Layer Reliability with TCP Transmission Control Protocol (TCP) RFC 793 + more than hundred other

More information

Networked Systems and Services, Fall 2017 Reliability with TCP

Networked Systems and Services, Fall 2017 Reliability with TCP Networked Systems and Services, Fall 2017 Reliability with TCP Jussi Kangasharju Markku Kojo Lea Kutvonen 4. Transmission Control Protocol (TCP) RFC 793 + more than hundred other RFCs TCP Loss Recovery

More information

Outline. CS5984 Mobile Computing

Outline. CS5984 Mobile Computing CS5984 Mobile Computing Dr. Ayman Abdel-Hamid Computer Science Department Virginia Tech Outline Review Transmission Control Protocol (TCP) Based on Behrouz Forouzan, Data Communications and Networking,

More information

Chapter 3 Review Questions

Chapter 3 Review Questions Chapter 3 Review Questions. 2. 3. Source port number 6 and destination port number 37. 4. TCP s congestion control can throttle an application s sending rate at times of congestion. Designers of applications

More information

TCP/IP implementation within the Dartmouth Scalable Simulation Framework

TCP/IP implementation within the Dartmouth Scalable Simulation Framework Dartmouth College Computer Science Technical Report TR2001-407 TCP/IP implementation within the Dartmouth Scalable Simulation Framework Honors Thesis Michael Khankin Advisor: David M. Nicol June 1, 2001

More information

ETSF05/ETSF10 Internet Protocols Transport Layer Protocols

ETSF05/ETSF10 Internet Protocols Transport Layer Protocols ETSF05/ETSF10 Internet Protocols Transport Layer Protocols 2016 Jens Andersson Transport Layer Communication between applications Process-to-process delivery Client/server concept Local host Normally initialiser

More information

TCP. 1 Administrivia. Tom Kelliher, CS 325. Apr. 2, Announcements. Assignment. Read From Last Time

TCP. 1 Administrivia. Tom Kelliher, CS 325. Apr. 2, Announcements. Assignment. Read From Last Time TCP Tom Kelliher, CS 325 Apr. 2, 2008 1 Administrivia Announcements Assignment Read 3.6 7. From Last Time Web server and mail user agent project discussions. Outline 1. TCP connection and segment structure.

More information

Lecture 08: The Transport Layer (Part 2) The Transport Layer Protocol (TCP) Dr. Anis Koubaa

Lecture 08: The Transport Layer (Part 2) The Transport Layer Protocol (TCP) Dr. Anis Koubaa NET 331 Computer Networks Lecture 08: The Transport Layer (Part 2) The Transport Layer Protocol (TCP) Dr. Anis Koubaa Reformatted slides from textbook Computer Networking a top-down appraoch, Fifth Edition

More information

TCP: Transmission Control Protocol UDP: User Datagram Protocol TCP - 1

TCP: Transmission Control Protocol UDP: User Datagram Protocol   TCP - 1 TCP/IP Family of Protocols (cont.) TCP: Transmission Control Protocol UDP: User Datagram Protocol www.comnets.uni-bremen.de TCP - 1 Layer 4 Addressing: Port Numbers To talk to another port, a sender needs

More information

Recap. More TCP. Congestion avoidance. TCP timers. TCP lifeline. Application Presentation Session Transport Network Data Link Physical

Recap. More TCP. Congestion avoidance. TCP timers. TCP lifeline. Application Presentation Session Transport Network Data Link Physical Recap ½ congestion window ½ congestion window More TCP Congestion avoidance TCP timers TCP lifeline Application Presentation Session Transport Network Data Link Physical 1 Congestion Control vs Avoidance

More information

COMP 431 Internet Services & Protocols. Transport Layer Protocols & Services Outline. The Transport Layer Reliable data delivery & flow control in TCP

COMP 431 Internet Services & Protocols. Transport Layer Protocols & Services Outline. The Transport Layer Reliable data delivery & flow control in TCP COMP 431 Internet Services & Protocols Transport Layer Protocols & Services Outline The Transport Layer Reliable data delivery & flow control in TCP Jasleen Kaur Fundamental transport layer services» Multiplexing/Demultiplexing»

More information

Outline 9.2. TCP for 2.5G/3G wireless

Outline 9.2. TCP for 2.5G/3G wireless Transport layer 9.1 Outline Motivation, TCP-mechanisms Classical approaches (Indirect TCP, Snooping TCP, Mobile TCP) PEPs in general Additional optimizations (Fast retransmit/recovery, Transmission freezing,

More information

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

Transport layer. UDP: User Datagram Protocol [RFC 768] Review principles: Instantiation in the Internet UDP TCP Transport layer Review principles: Reliable data transfer Flow control Congestion control Instantiation in the Internet UDP TCP 1 UDP: User Datagram Protocol [RFC 768] No frills, bare bones Internet transport

More information

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

Transport layer. Review principles: Instantiation in the Internet UDP TCP. Reliable data transfer Flow control Congestion control Transport layer Review principles: Reliable data transfer Flow control Congestion control Instantiation in the Internet UDP TCP 1 UDP: User Datagram Protocol [RFC 768] No frills, bare bones Internet transport

More information

CIS 632 / EEC 687 Mobile Computing

CIS 632 / EEC 687 Mobile Computing CIS 632 / EEC 687 Mobile Computing TCP in Mobile Networks Prof. Chansu Yu Contents Physical layer issues Communication frequency Signal propagation Modulation and Demodulation Channel access issues Multiple

More information

CSCI Topics: Internet Programming Fall 2008

CSCI Topics: Internet Programming Fall 2008 CSCI 491-01 Topics: Internet Programming Fall 2008 Transport Layer Derek Leonard Hendrix College October 15, 2008 Original slides copyright 1996-2007 J.F Kurose and K.W. Ross 1 Chapter 3: Roadmap 3.1 Transport-layer

More information

The Transport Layer: TCP & Reliable Data Transfer

The Transport Layer: TCP & Reliable Data Transfer The Transport Layer: TCP & Reliable Data Transfer Smith College, CSC 249 February 15, 2018 1 Chapter 3: Transport Layer q TCP Transport layer services: v Multiplexing/demultiplexing v Connection management

More information

Wireless TCP Performance Issues

Wireless TCP Performance Issues Wireless TCP Performance Issues Issues, transport layer protocols Set up and maintain end-to-end connections Reliable end-to-end delivery of data Flow control Congestion control Udp? Assume TCP for the

More information

Transport Layer: Outline

Transport Layer: Outline Transport Layer: Outline Transport-layer services Multiplexing and demultiplexing Connectionless transport: UDP Principles of reliable data transfer Connection-oriented transport: TCP Segment structure

More information

Computer Communication Networks Midterm Review

Computer Communication Networks Midterm Review Computer Communication Networks Midterm Review ICEN/ICSI 416 Fall 2018 Prof. Aveek Dutta 1 Instructions The exam is closed book, notes, computers, phones. You can use calculator, but not one from your

More information

Correcting mistakes. TCP: Overview RFCs: 793, 1122, 1323, 2018, TCP seq. # s and ACKs. GBN in action. TCP segment structure

Correcting mistakes. TCP: Overview RFCs: 793, 1122, 1323, 2018, TCP seq. # s and ACKs. GBN in action. TCP segment structure Correcting mistakes Go-back-N: big picture: sender can have up to N unacked packets in pipeline rcvr only sends cumulative acks doesn t ack packet if there s a gap sender has r for oldest unacked packet

More information

CS321: Computer Networks Error and Flow Control in TCP

CS321: Computer Networks Error and Flow Control in TCP CS321: Computer Networks Error and Flow Control in TCP Dr. Manas Khatua Assistant Professor Dept. of CSE IIT Jodhpur E-mail: manaskhatua@iitj.ac.in SEQ and ACK numbers in TCP TCP views data as an unstructured,

More information

TCP Congestion Control

TCP Congestion Control TCP Congestion Control What is Congestion The number of packets transmitted on the network is greater than the capacity of the network Causes router buffers (finite size) to fill up packets start getting

More information

TCP Congestion Control

TCP Congestion Control What is Congestion TCP Congestion Control The number of packets transmitted on the network is greater than the capacity of the network Causes router buffers (finite size) to fill up packets start getting

More information

Fall 2012: FCM 708 Bridge Foundation I

Fall 2012: FCM 708 Bridge Foundation I Fall 2012: FCM 708 Bridge Foundation I Prof. Shamik Sengupta Instructor s Website: http://jjcweb.jjay.cuny.edu/ssengupta/ Blackboard Website: https://bbhosted.cuny.edu/ Intro to Computer Networking Transport

More information

CSE 4215/5431: Mobile Communications Winter Suprakash Datta

CSE 4215/5431: Mobile Communications Winter Suprakash Datta CSE 4215/5431: Mobile Communications Winter 2013 Suprakash Datta datta@cse.yorku.ca Office: CSEB 3043 Phone: 416-736-2100 ext 77875 Course page: http://www.cse.yorku.ca/course/4215 Some slides are adapted

More information

The Transport Layer Reliability

The Transport Layer Reliability The Transport Layer Reliability CS 3, Lecture 7 http://www.cs.rutgers.edu/~sn4/3-s9 Srinivas Narayana (slides heavily adapted from text authors material) Quick recap: Transport Provide logical communication

More information

Lecture 15: TCP over wireless networks. Mythili Vutukuru CS 653 Spring 2014 March 13, Thursday

Lecture 15: TCP over wireless networks. Mythili Vutukuru CS 653 Spring 2014 March 13, Thursday Lecture 15: TCP over wireless networks Mythili Vutukuru CS 653 Spring 2014 March 13, Thursday TCP - recap Transport layer TCP is the dominant protocol TCP provides in-order reliable byte stream abstraction

More information

TCP Basics : Computer Networking. Overview. What s Different From Link Layers? Introduction to TCP. TCP reliability Assigned reading

TCP Basics : Computer Networking. Overview. What s Different From Link Layers? Introduction to TCP. TCP reliability Assigned reading TCP Basics 15-744: Computer Networking TCP reliability Assigned reading [FF96] Simulation-based Comparisons of Tahoe, Reno, and SACK TCP L-9 TCP Basics 2 Key Things You Should Know Already Port numbers

More information

image 3.8 KB Figure 1.6: Example Web Page

image 3.8 KB Figure 1.6: Example Web Page image. KB image 1 KB Figure 1.: Example Web Page and is buffered at a router, it must wait for all previously queued packets to be transmitted first. The longer the queue (i.e., the more packets in the

More information

DualRTT: Enhancing TCP Performance During Delay Spikes

DualRTT: Enhancing TCP Performance During Delay Spikes DualRTT: Enhancing TCP Performance During Delay Spikes Ph.D. School of Computer Science University of Oklahoma. Email: atiq@ieee.org Web: www.cs.ou.edu/~atiq Presentation at Tohoku University, Sendai,

More information

Chapter 13 TRANSPORT. Mobile Computing Winter 2005 / Overview. TCP Overview. TCP slow-start. Motivation Simple analysis Various TCP mechanisms

Chapter 13 TRANSPORT. Mobile Computing Winter 2005 / Overview. TCP Overview. TCP slow-start. Motivation Simple analysis Various TCP mechanisms Overview Chapter 13 TRANSPORT Motivation Simple analysis Various TCP mechanisms Distributed Computing Group Mobile Computing Winter 2005 / 2006 Distributed Computing Group MOBILE COMPUTING R. Wattenhofer

More information

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

TCP/IP. Chapter 5: Transport Layer TCP/IP Protocols TCP/IP Chapter 5: Transport Layer TCP/IP Protocols 1 Objectives Understand the key features and functions of the User Datagram Protocol Explain the mechanisms that drive segmentation, reassembly, and retransmission

More information

Information Network 1 TCP 1/2. Youki Kadobayashi NAIST

Information Network 1 TCP 1/2. Youki Kadobayashi NAIST Information Network 1 TCP 1/2 Youki Kadobayashi NAIST 1 Transport layer: a birds-eye view Hosts maintain state for each transport-layer endpoint Routers don t maintain per-host state H R R R R H Transport

More information

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

TCP and Congestion Control (Day 1) Yoshifumi Nishida Sony Computer Science Labs, Inc. Today's Lecture TCP and Congestion Control (Day 1) Yoshifumi Nishida nishida@csl.sony.co.jp Sony Computer Science Labs, Inc 1 Today's Lecture Part1: TCP concept Part2: TCP detailed mechanisms Part3: Tools for TCP 2 1

More information

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

TCP. CSU CS557, Spring 2018 Instructor: Lorenzo De Carli (Slides by Christos Papadopoulos, remixed by Lorenzo De Carli) TCP CSU CS557, Spring 2018 Instructor: Lorenzo De Carli (Slides by Christos Papadopoulos, remixed by Lorenzo De Carli) 1 Sources Fall and Stevens, TCP/IP Illustrated Vol. 1, 2nd edition Congestion Avoidance

More information

Programming Assignment 3: Transmission Control Protocol

Programming Assignment 3: Transmission Control Protocol CS 640 Introduction to Computer Networks Spring 2005 http://www.cs.wisc.edu/ suman/courses/640/s05 Programming Assignment 3: Transmission Control Protocol Assigned: March 28,2005 Due: April 15, 2005, 11:59pm

More information

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

Outline. TCP: Overview RFCs: 793, 1122, 1323, 2018, steam: r Development of reliable protocol r Sliding window protocols Outline r Development of reliable protocol r Sliding window protocols m Go-Back-N, Selective Repeat r Protocol performance r Sockets, UDP, TCP, and IP r UDP operation r TCP operation m connection management

More information

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

Transport Layer. -UDP (User Datagram Protocol) -TCP (Transport Control Protocol) Transport Layer -UDP (User Datagram Protocol) -TCP (Transport Control Protocol) 1 Transport Services The transport layer has the duty to set up logical connections between two applications running on remote

More information

ECS-087: Mobile Computing

ECS-087: Mobile Computing ECS-087: Mobile Computing TCP over wireless TCP and mobility Most of the Slides borrowed from Prof. Sridhar Iyer s lecture IIT Bombay Diwakar Yagyasen 1 Effect of Mobility on Protocol Stack Application:

More information

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

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 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 important requirements for developing programs that

More information

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

Transport Layer. Application / Transport Interface. Transport Layer Services. Transport Layer Connections Application / Transport Interface Application requests service from transport layer Transport Layer Application Layer Prepare Transport service requirements Data for transport Local endpoint node address

More information

TCP Enhancements in Linux. Pasi Sarolahti. Berkeley Summer School Outline

TCP Enhancements in Linux. Pasi Sarolahti. Berkeley Summer School Outline TCP Enhancements in Linux Pasi Sarolahti Berkeley Summer School 6.6.2002 Outline TCP details per IETF RFC s Pitfalls in the specifications Linux TCP congestion control engine Features Discussion on performance

More information

Network Protocols. Transmission Control Protocol (TCP) TDC375 Autumn 2009/10 John Kristoff DePaul University 1

Network Protocols. Transmission Control Protocol (TCP) TDC375 Autumn 2009/10 John Kristoff DePaul University 1 Network Protocols Transmission Control Protocol (TCP) TDC375 Autumn 2009/10 John Kristoff DePaul University 1 IP review IP provides just enough connected ness Global addressing Hop by hop routing IP over

More information

COMP/ELEC 429/556 Introduction to Computer Networks

COMP/ELEC 429/556 Introduction to Computer Networks COMP/ELEC 429/556 Introduction to Computer Networks The TCP Protocol Some slides used with permissions from Edward W. Knightly, T. S. Eugene Ng, Ion Stoica, Hui Zhang T. S. Eugene Ng eugeneng at cs.rice.edu

More information

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

Page 1. Review: Internet Protocol Stack. Transport Layer Services. Design Issue EEC173B/ECS152C. Review: TCP EEC7B/ECS5C Review: Internet Protocol Stack Review: TCP Application Telnet FTP HTTP Transport Network Link Physical bits on wire TCP LAN IP UDP Packet radio Transport Layer Services Design Issue Underlying

More information

Mobile Transport Layer

Mobile Transport Layer Mobile Transport Layer 1 Transport Layer HTTP (used by web services) typically uses TCP Reliable transport between TCP client and server required - Stream oriented, not transaction oriented - Network friendly:

More information

ENSC 835: COMMUNICATION NETWORKS

ENSC 835: COMMUNICATION NETWORKS ENSC 835: COMMUNICATION NETWORKS Evaluation of TCP congestion control mechanisms using OPNET simulator Spring 2008 FINAL PROJECT REPORT LAXMI SUBEDI http://www.sfu.ca/~lsa38/project.html lsa38@cs.sfu.ca

More information

UNIT IV -- TRANSPORT LAYER

UNIT IV -- TRANSPORT LAYER UNIT IV -- TRANSPORT LAYER TABLE OF CONTENTS 4.1. Transport layer. 02 4.2. Reliable delivery service. 03 4.3. Congestion control. 05 4.4. Connection establishment.. 07 4.5. Flow control 09 4.6. Transmission

More information

CMPE 150 Winter 2009

CMPE 150 Winter 2009 CMPE 150 Winter 2009 Lecture 17 March 5, 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

Mobile Communications Chapter 9: Mobile Transport Layer

Mobile Communications Chapter 9: Mobile Transport Layer Prof. Dr.-Ing Jochen H. Schiller Inst. of Computer Science Freie Universität Berlin Germany Mobile Communications Chapter 9: Mobile Transport Layer Motivation, TCP-mechanisms Classical approaches (Indirect

More information

10 minutes survey (anonymous)

10 minutes survey (anonymous) 10 minutes survey (anonymous) v Comments/Suggestions to my lecture/lab/ homework/exam v If you like this course, which part do you like? v If you don t like it, which part do you not like? Thanks! Transport

More information

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

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

More information

CS419: Computer Networks. Lecture 10, Part 3: Apr 13, 2005 Transport: TCP performance

CS419: Computer Networks. Lecture 10, Part 3: Apr 13, 2005 Transport: TCP performance : Computer Networks Lecture 10, Part 3: Apr 13, 2005 Transport: TCP performance TCP performance We ve seen how TCP the protocol works But there are a lot of tricks required to make it work well Indeed,

More information