TCP (Transmission Control Protocol)

Save this PDF as:
 WORD  PNG  TXT  JPG

Size: px
Start display at page:

Download "TCP (Transmission Control Protocol)"

Transcription

1 TCP (Transmission Control Protocol) Originally defined in RFC 793 (September 1981) UDP features: multiplexing + protection against bit errors Ports, checksum Connection-oriented Establishment and teardown of the connections Reliable Missing or corrupt segments are detected and retransmitted Stream-based, in-order delivery The sender writes bytes into a TCP connection and the receiver reads bytes out of the TCP connection Full duplex Each TCP connection supports a pair of byte streams, one flowing in each direction Flow control Keep sender from overrunning receiver (end-to-end issue) Congestion Control Keep sender from overrunning network Algorithm tries to fill available capacity

2 Data Link vs. Transport At the heart of TCP is the sliding window algorithm TCP runs over the Internet rather than a point-to-point link Many important differences TCP potentially connects many different hosts Explicit connection establishment and teardown Some shared information to enable the sliding window algorithm to start Different RTT (Round Trip Times) LANs vs. satellite networks, peak hour Variations in the RTT are even possible during a single TCP connection that lasts only a few minutes Adaptive timeout mechanism Potentially long delay in network Packets may be reordered as they cross the Internet TCP has to be prepared for very old packets to suddenly show up at the receiver, potentially confusing the sliding window algorithm Maximum Segment Lifetime (MSL) Since IP throws packets away after their TTL expires, TCP assumes that each packet has a maximum lifetime The current recommended setting is 120 s (conservative estimation) Different capacity at destination Multiple TCP connections supported at the same time TCP must include a mechanism that each side uses to learn what resources (e.g., how much buffer space) the other side is able to apply to the connection Different network capacity The sender has no idea what links will be traversed to reach the destination

3 TCP Overview Application process Client Server Application process The client process passes a stream of data through the socket The application reads the stream of data from the receive buffer TCP TCP Send Buffer TCP Segments Receive Buffer Basic Data Transfer (RFC 793): The TCP is able to transfer a continuous stream of octets in each direction between its users by packaging some number of octets into segments for transmission through the internet system. In general, the TCPs decide when to block and forward data at their own convenience. Current status of the sliding window mechanism Maximum Segment Size (MSS): MTU of the directly connected network, minus the size of the TCP and IP headers standard MSS for TCP = 536 bytes ( ) push operation timer

4 Source Port Destination Port TCP Header Sequence Number Acknowledgment Source Port: 16 bits The source port number Destination Port: 16 bits The destination port number HLen Resrvd Flags Checksum AdvertisedWindow UrgPtr The SrcPort and DstPort, plus the SRc and Dst IP addresses, combine to uniquely identify each TCP connection (SrcPort, SrcIPAddr,DstPort,DstIPAddr) TCP demux key Options (variable) Checksum: 16 bits The checksum field is the 16 bit one's complement of the one's complement sum of all 16 bit words in the TCP header, TCP data and the pseudo header. Required in both IPv4 and IPv6. HdrLen (Data Offset): 4 bits The number of 32 bit words in the TCP Header. This indicates where the data begins. The TCP header (even one including options) is an integral number of 32 bits long. Reserved: 6 bits Reserved for future use. Must be zero.

5 TCP Header: Sliding window algorithm Sequence Number: 32 bits The sequence number of the first data octet in this segment (except when SYN is present). If SYN is present the sequence number is the initial sequence number (ISN) and the first data octet is ISN+1. Acknowledgment Number: 32 bits If the ACK control bit is set this field contains the value of the next Sequence Number the sender of the segment is expecting to receive. Once a connection is established this is always sent. Advertised Window: 16 bits The number of data octets beginning with the one indicated in the acknowledgment field which the sender of this segment is willing to accept. Sequence Number (Data) Acknowledgment + AdvertisedWindow Sequence Number (Data) Acknowledgment + AdvertisedWindow

6 TCP Flags Control Bits: 6 bits (from left to right) URG: Urgent Pointer field significant This flag is used to identify incoming data as 'urgent'. Such incoming segments do not have to wait until the previous segments are consumed by the receiving end but are sent directly and processed immediately Out-of-band signalling Interrupt/abort character sequence in remote login session ACK: Acknowledgment field significant PSH: Push Function A push causes the TCP to promptly forward and deliver data up to that point to the receiver The Push flag is usually set on the last segment of a file to prevent buffer deadlocks RST: Reset the connection if a packet is sent to a host in order to establish a connection, and there is no such service waiting to answer at the remote host, then the host would automatically reject the request and then send a reply with the RST flag set SYN: Synchronize sequence numbers the SYN flag is set when establishing the classical 3-way handshake between two hosts FIN: No more data from sender This flag is used to tear down the virtual connections Urgent Pointer: 16 bits This field communicates the current value of the urgent pointer as a positive offset from the sequence number in this segment. The urgent pointer points to the sequence number of the octet following the urgent data. This field is only be interpreted in segments with the URG control bit set.

7 TCP Connection Management Connection establishment (Three-Way handshake) TCP sender, receiver establish connection before exchanging data segments initialize TCP variables: seq. #s buffers, flow control info (e.g. RcvWindow) Connection setup is an asymmetric activity: one side does a passive open and the other side does an active open client: connection initiator server: contacted by client The two sides begin sending data only after this connection establishment phase is over Connection termination Connection teardown is symmetric: each side has to close the connection independently As soon as a participant is done sending data, it closes one direction of the connection The other side can keep the other half of the bidirectional connection open and continue sending data

8 Initial Sequence Number (ISN) The protocol places no restriction on a particular connection being used over and over again. New instances of a connection will be referred to as incarnations of the connection. How does the TCP identify duplicate segments from previous incarnations of the connection? The connection is being opened and closed in quick succession, The connection breaks with loss of memory and is then reestablished To avoid confusion TCP must prevent segments from one incarnation of a connection from being used while the same sequence numbers may still be present in the network from an earlier incarnation. When new connections are created, an initial sequence number (ISN) generator is employed which selects a new 32 bit ISN The generator is bound to a (possibly fictitious) 32 bit clock whose low order bit is incremented roughly every 4 microseconds. Thus, the ISN cycles approximately every 4.55 hours. Since TCP assumes that segments will stay in the network no more than the Maximum Segment Lifetime (MSL) and that the MSL is less than 4.55 hours we can reasonably assume that ISN's will be unique. For a connection to be established or initialized, the two TCPs must synchronize on each other's initial sequence numbers. This is done in an exchange of connection establishing segments carrying a control bit called "SYN" (for synchronize) and the initial sequence numbers. As a shorthand, segments carrying the SYN bit are also called SYNs The solution requires a suitable mechanism for picking an initial sequence number and a slightly involved handshake to exchange the ISN's.

9 Three-Way Handshake active participant (client) A timer is scheduled for each of the first two segments, and if the expected response is not received, the segment is retransmitted SYN+ACK, SeqNum=y Ack=x+1 SYN SeqNum=x ACK, SeqNum=x+1 Ack=y+1 passive participant (server) The Acknowledgement Field identifies the next sequence number expected, thereby implicitly acknowledging all earlier sequence numbers ACK, SeqNum=x+1 Ack=y+1 First data segment

10 TCP State-Transition diagram States involved in opening a connection States involved in closing a connection

11 As the connection progresses, the connection moves from state to state according to the arcs TCP State-Transition diagram All Connections start in the CLOSED state The local application process invokes an operation on TCP States of the connection Each arc is labelled with a tag of the form event/action A segment arrives from the peer TimeOut based Retransmissions are NOT shown in the diagram

12 client SYN server Three-Way Handshake SYN+ACK ACK

13 Normal Connection Termination The application process on both sides of the connection must independently close its half of the connection Initiator Sequence FIN ACK Responder Sequence If only one side closes the connection, it is still available to receive data from the other side FIN ACK

14 TIME_WAIT State The TIME-WAIT state is required since the local side of the connection does not know if its ACK was successfully delivered Retransmission of the FIN segment Delayed packets FIN ACK FIN ACK SYN FIN

15 Connection Termination Simultaneous Close It is also possible for two devices to try to terminate a connection simultaneously. This term simultaneously does not mean that they both decide to shut down at exactly the same time. It simply means that one host decides to shut down and sends a FIN, but the other host sends its own FIN before receiving it. FIN FIN ACK ACK Both devices crosses the same states

16 Connection Termination- Rare transition Initiator Sequence FIN FIN+ACK Responder Sequence ACK

17 Connection Termination - Summary

Overview of TCP. Overview of TCP. Overview of TCP. Overview of TCP. Connection-oriented, byte-stream

Overview of TCP. Overview of TCP. Overview of TCP. Overview of TCP. Connection-oriented, byte-stream Overview of TCP Overview of TCP Connection-oriented, byte-stream sending process writes some number of bytes TCP breaks into segments and sends via IP receiving process reads some number of bytes Full

More information

Transport Layer: UDP vs. TCP

Transport Layer: UDP vs. TCP EEC 189Q: Computer Networks Transport Layer: UDP vs. TCP Reading: 8.4 & 8.5 Review: Internet Protocol Stack Application Telnet FTP HTTP Transport Network Link Physical bits on wire TCP LAN IP UDP Packet

More information

CS640: Introduction to Computer Networks. Transport Protocols. Functionality Split

CS640: Introduction to Computer Networks. Transport Protocols. Functionality Split CS640: Introduction to Computer Networks Aditya Akella Lecture 14 TCP I - Transport Protocols: TCP Segments, Flow control and Connection Setup Transport Protocols Lowest level endto-end protocol. Header

More information

Transmission Control Protocol (TCP) A brief summary

Transmission Control Protocol (TCP) A brief summary Transmission Control Protocol (TCP) A brief summary TCP Basics TCP (RFC 793) is a connection-oriented transport protocol TCP entities only present at hosts (end-end) retain state of each open connection

More information

The Transmission Control Protocol (TCP): Lecture 1

The Transmission Control Protocol (TCP): Lecture 1 Today s Lecture The Transmission Control Protocol (TCP): Lecture 1 I. TCP overview II. The TCP Header III. Connection establishment and termination Internet Protocols CSC / ECE 573 Fall, 2005 N. C. State

More information

TCP. Raj Jain. Professor of CIS The Ohio State University Columbus, OH 43210 Raj Jain 20-1

TCP. Raj Jain. Professor of CIS The Ohio State University Columbus, OH 43210  Raj Jain 20-1 TCP Professor of CIS Columbus, OH 43210 Jain@ACM.Org http://www.cis.ohio-state.edu/~jain/ 20-1 Overview Key features, Header format Mechanisms, Implementation choices Slow start congestion avoidance, Fast

More information

TCP: Reliable, In-Order Delivery

TCP: Reliable, In-Order Delivery TCP: Reliable, In-Order Delivery EE 122: Intro to Communication Networks Fall 2006 (MW 4-5:30 in Donner 155) Vern Paxson TAs: Dilip Antony Joseph and Sukun Kim http://inst.eecs.berkeley.edu/~ee122/ Materials

More information

- TCP and UDP - Transport Layer Protocols

- TCP and UDP - Transport Layer Protocols 1 Transport Layer Protocols - TCP and UDP - The Transport layer (OSI Layer-4) does not actually transport data, despite its name. Instead, this layer is responsible for the reliable transfer of data, by

More information

Due for Week Group of 3 (max) Percentage awarded for comments, coding practice, layout style, naming convention, completed task.

Due for Week Group of 3 (max) Percentage awarded for comments, coding practice, layout style, naming convention, completed task. EE4607 Project Goals Details Due for Week 11-12. Group of 3 (max) Percentage awarded for comments, coding practice, layout style, naming convention, completed task. Task Create a SDL implementation of

More information

Computer Networks. Chapter 5 Transport Protocols

Computer Networks. Chapter 5 Transport Protocols Computer Networks Chapter 5 Transport Protocols Transport Protocol Provides end-to-end transport Hides the network details Transport protocol or service (TS) offers: Different types of services QoS Data

More information

Transport Layer Protocols

Transport Layer Protocols Transport Layer Protocols Version. Transport layer performs two main tasks for the application layer by using the network layer. It provides end to end communication between two applications, and implements

More information

TCP - Part I. Relates to Lab 5. First module on TCP which covers packet format, data transfer, and connection management.

TCP - Part I. Relates to Lab 5. First module on TCP which covers packet format, data transfer, and connection management. TCP - Part I Relates to Lab 5. First module on TCP which covers packet format, data transfer, and connection management. 1 Overview TCP = Transmission Control Protocol Connection-oriented protocol Provides

More information

Slides from TCP/IP - Forouzan. Chapter 12 TCP

Slides from TCP/IP - Forouzan. Chapter 12 TCP Chapter 12 Services Segments and Options Flow Control and Error Control rs Connections State Transition Diagram Congestion Control Operation and Design Figure Application layer Position of in /IP protocol

More information

Computer Networks UDP and TCP

Computer Networks UDP and TCP Computer Networks UDP and TCP Saad Mneimneh Computer Science Hunter College of CUNY New York I m a system programmer specializing in TCP/IP communication protocol on UNIX systems. How can I explain a thing

More information

Data Communication & Networks G22.2262-001. Session 9 - Main Theme The Internet Transport Protocols: TCP, UDP. Dr. Jean-Claude Franchitti

Data Communication & Networks G22.2262-001. Session 9 - Main Theme The Internet Transport Protocols: TCP, UDP. Dr. Jean-Claude Franchitti Data Communication & Networks G22.2262-001 Session 9 - Main Theme The Internet Transport Protocols: TCP, UDP Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute

More information

TCP and UDP. Raj Jain. Professor of CIS The Ohio State University Columbus, OH

TCP and UDP. Raj Jain. Professor of CIS The Ohio State University Columbus, OH TCP and UDP Professor of CIS Columbus, OH 43210 Jain@ACM.Org http://www.cis.ohio-state.edu/~jain/ 12-1 Overview Key features Header format Mechanisms Implementation choices Slow start congestion avoidance

More information

TCP Service Model. Announcements. TCP: Reliable, In-Order Delivery. Today s Lecture. TCP Header. TCP Support for Reliable Delivery

TCP Service Model. Announcements. TCP: Reliable, In-Order Delivery. Today s Lecture. TCP Header. TCP Support for Reliable Delivery Announcements Sukun is away this week. Dilip will cover his section and office hours. TCP: Reliable, In-Order Delivery EE 122: Intro to Communication Networks Fall 2006 (MW 4-5:30 in Donner 155) Vern Paxson

More information

Outline. Lecture 4: TCP TCP TCP. TCP Segment. How TCP Provides Reliability. Internetworking. TCP Transmission Control Protocol.

Outline. Lecture 4: TCP TCP TCP. TCP Segment. How TCP Provides Reliability. Internetworking. TCP Transmission Control Protocol. Internetworking Outline TCP Transmission Control Protocol RFC 793 (and several follow-ups) Literature: Lecture 4: TCP Forouzan, TCP/IP Protocol Suite: Ch 12 Connection Management Reliability Flow control

More information

G.Bianchi, G.Neglia, V.Mancuso. Understanding TCP connection management

G.Bianchi, G.Neglia, V.Mancuso. Understanding TCP connection management Understanding TCP connection management TCP connection Application (client) Socket TCP software State variables: - conn status -MSS -windows - buffer space normally 4 to 16 Kbytes 64+ Kbytes possible Logical

More information

CSCE 463/612 Networks and Distributed Processing Spring 2016

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

More information

Transport Layer Outline

Transport Layer Outline Transport Layer 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

More information

TCP transmission control protocol

TCP transmission control protocol TCP transmission control protocol Suguru Yamaguchi 2014 Information Network 1 Functions that transport layer provides! Model: inter-process communication Identification of process Communication pair of

More information

ICOM 5026-090: Computer Networks Chapter 6: The Transport Layer. By Dr Yi Qian Department of Electronic and Computer Engineering Fall 2006 UPRM

ICOM 5026-090: Computer Networks Chapter 6: The Transport Layer. By Dr Yi Qian Department of Electronic and Computer Engineering Fall 2006 UPRM ICOM 5026-090: Computer Networks Chapter 6: The Transport Layer By Dr Yi Qian Department of Electronic and Computer Engineering Fall 2006 Outline The transport service Elements of transport protocols A

More information

TCP: Transmission Control Protocol RFC 793,1122,1223. Prof. Lin Weiguo Copyleft 2009~2015, College of Computing, CUC

TCP: Transmission Control Protocol RFC 793,1122,1223. Prof. Lin Weiguo Copyleft 2009~2015, College of Computing, CUC TCP: Transmission Control Protocol RFC 793,1122,1223 Prof. Lin Weiguo Copyleft 2009~2015, College of Computing, CUC Nov. 2015 TCP/IP Protocol Stack Application Layer FTP, Telnet, HTTP, Transport Layer

More information

Computer Networking. TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581

Computer Networking. TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581 Computer Networking Connec1on- Oriented Transport: : Overview RFCs: 793, 1122, 1323, 2018, 2581 point- to- point: one sender, one receiver reliable, in- order byte steam: no message boundaries pipelined:

More information

Guide to TCP/IP, Third Edition. Chapter 5: Transport Layer TCP/IP Protocols

Guide to TCP/IP, Third Edition. Chapter 5: Transport Layer TCP/IP Protocols Guide to TCP/IP, Third Edition Chapter 5: Transport Layer TCP/IP Protocols Objectives Understand the key features and functions of the User Datagram Protocol Explain the mechanisms that drive segmentation,

More information

B-2 Analyzing TCP/IP Networks with Wireshark. Ray Tompkins Founder of Gearbit www.gearbit.com

B-2 Analyzing TCP/IP Networks with Wireshark. Ray Tompkins Founder of Gearbit www.gearbit.com B-2 Analyzing TCP/IP Networks with Wireshark June 15, 2010 Ray Tompkins Founder of Gearbit www.gearbit.com SHARKFEST 10 Stanford University June 14-17, 2010 TCP In this session we will examine the details

More information

Guide to TCP/IP Fourth Edition. Chapter 9: TCP/IP Transport Layer Protocols

Guide to TCP/IP Fourth Edition. Chapter 9: TCP/IP Transport Layer Protocols Guide to TCP/IP Fourth Edition Chapter 9: TCP/IP Transport Layer Protocols Objectives Explain the key features and functions of the User Datagram Protocol and the Transmission Control Protocol Explain,

More information

Chapter 15. Transmission Control Protocol (TCP) TCP/IP Protocol Suite 1

Chapter 15. Transmission Control Protocol (TCP) TCP/IP Protocol Suite 1 Chapter 15 Transmission Control Protocol (TCP) TCP/IP Protocol Suite 1 Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter Outline TCP/IP Protocol Suite 2

More information

RSC Part III: Transport Layer 3. TCP

RSC Part III: Transport Layer 3. TCP RSC Part III: Transport Layer 3. TCP Redes y Servicios de Comunicaciones Universidad Carlos III de Madrid These slides are, mainly, part of the companion slides to the book Computer Networking: A Top Down

More information

TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581

TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581 TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581 socket door point-to-point: one sender, one receiver reliable, in-order byte steam: no message boundaries pipelined: TCP congestion and flow control set

More information

Module 11: TCP/IP Transport and Application Layers

Module 11: TCP/IP Transport and Application Layers Module 11: TCP/IP Transport and Application Layers 11.1 TCP/IP Transport Layer 11.1.1 Introduction to the TCP/IP transport layer The primary duties of the transport layer are to transport and regulate

More information

Transport Layer. Abusayeed Saifullah. CS 5600 Computer Networks. These slides are adapted from Kurose and Ross

Transport Layer. Abusayeed Saifullah. CS 5600 Computer Networks. These slides are adapted from Kurose and Ross Transport Layer Abusayeed Saifullah CS 5600 Computer Networks These slides are adapted from Kurose and Ross Transport Layer our goals: v understand principles behind transport layer services: multiplexing,

More information

TCP - Introduction. Features of TCP

TCP - Introduction. Features of TCP TCP - Introduction The Internet Protocol (IP) provides unreliable datagram service between hosts The Transmission Control Protocol (TCP) provides reliable data delivery It uses IP for datagram delivery

More information

Chapter 15. Transmission Control Protocol (TCP) TCP/IP Protocol Suite 1

Chapter 15. Transmission Control Protocol (TCP) TCP/IP Protocol Suite 1 Chapter 15 Transmission Control Protocol (TCP) TCP/IP Protocol Suite 1 Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display. OBJECTIVES: To introduce TCP as a protocol

More information

Transportation Protocols: UDP, TCP & RTP

Transportation Protocols: UDP, TCP & RTP Transportation Protocols: UDP, TCP & RTP Transportation Functions UDP (User Datagram Protocol) Port Number to Identify Different Applications Server and Client as well as Port TCP (Transmission Control

More information

Chapter 5. Transport layer protocols

Chapter 5. Transport layer protocols Chapter 5. Transport layer protocols This chapter provides an overview of the most important and common protocols of the TCP/IP transport layer. These include: User Datagram Protocol (UDP) Transmission

More information

CHAPTER 24. Questions PRACTICE SET

CHAPTER 24. Questions PRACTICE SET CHAPTER 24 PRACTICE SET Questions Q24-1. The protocol field of the datagram defines the transport-layer protocol that should receive the transport-layer packet. If the value is 06, the protocol is TCP;

More information

TCP context and interfaces

TCP context and interfaces Linux Networking: tcp David Morgan TCP context and interfaces Computer A Computer B application process application process data data data data TCP process TCP process a network 1 TCP purposes and features

More information

q Connection establishment (if connection-oriented) q Data transfer q Connection release (if conn-oriented) q Addressing the transport user

q Connection establishment (if connection-oriented) q Data transfer q Connection release (if conn-oriented) q Addressing the transport user Transport service characterization The Transport Layer End-to-End Protocols: UDP and TCP Connection establishment (if connection-oriented) Data transfer Reliable ( TCP) Unreliable / best effort ( UDP)

More information

CIS 551 / TCOM 401 Computer and Network Security

CIS 551 / TCOM 401 Computer and Network Security CIS 551 / TCOM 401 Computer and Network Security Spring 2008 Lecture 11 2/26/08 CIS/TCOM 551 1 Wireless (802.11) Spread spectrum radio 2.4GHz frequency band Bandwidth ranges 1, 2, 5.5, 11, 22, 54, 248

More information

Fall & Walrand Lecture 22. n A > Seq k, SYN > B. n A <--- Seq j, ACK k+1, SYN+ACK <-- B

Fall & Walrand Lecture 22. n A > Seq k, SYN > B. n A <--- Seq j, ACK k+1, SYN+ACK <-- B Steady State Operation, Lecture 22 Kevin Fall kfall@cs.berkeley.edu Jean Walrand wlr@eecs.berkeley.edu Typical operation looks like this: Seq CK Win Seq CK Win - Fall & Walrand 783 TCP Sequence Numbers

More information

Administrivia CSC458. Sliding Windows, ARQ Connections. This Time. Last Time

Administrivia CSC458. Sliding Windows, ARQ Connections. This Time. Last Time CSC458 Sliding Windows, ARQ Connections Administrivia Projects Project #3 due on Wednesday at 2pm Project #4 out today -- last project Homework Homework #4 out last week, due in two weeks This is our last

More information

[Prof. Rupesh G Vaishnav] Page 1

[Prof. Rupesh G Vaishnav] Page 1 Basics The function of transport layer is to provide a reliable end-to-end communications service. It also provides data transfer service for the user layers above and shield the upper layers from the

More information

Lecture 6: Congestion Control

Lecture 6: Congestion Control Lecture 6: Congestion Control Overview Internet is a network of networks Narrow waist of IP: unreliable, best-effort datagram delivery Packet forwarding: input port to output port Routing protocols: computing

More information

Good Ideas So Far Computer Networking. Outline. Sequence Number Space. Lecture 18 More TCP & Congestion Control. The devilish details of TCP

Good Ideas So Far Computer Networking. Outline. Sequence Number Space. Lecture 18 More TCP & Congestion Control. The devilish details of TCP Good Ideas So Far 15-441 Computer Networking Lecture 18 More TCP & Congestion Control Flow control Stop & wait Parallel stop & wait Sliding window (e.g., advertised windows) Loss recovery outs Acknowledgement-driven

More information

TCP Header - Sequence Number

TCP Header - Sequence Number Introduction to TCP RFC 793 (+ RFC1122) (+ others) Transmission Control Protocol The Transmission Control Protocol (TCP) is intended for use as a highly reliable host-to-host protocol between hosts in

More information

Transport Layer INF3190 / INF4190. Foreleser: Carsten Griwodz

Transport Layer INF3190 / INF4190. Foreleser: Carsten Griwodz Transport Layer INF3190 / INF4190 Foreleser: Carsten Griwodz Email: griff@ifi.uio.no Transport layer Flow Control: Generic approaches Flow Control on Transport Layer Fast sender shall not flood slow receiver

More information

TCP/IP Tutorial. Transmission Control Protocol Internet Protocol

TCP/IP Tutorial. Transmission Control Protocol Internet Protocol TCP/IP Tutorial Transmission Control Protocol Internet Protocol 1 TCP/IP & OSI In OSI reference model terminology -the TCP/IP protocol suite covers the network and transport layers. TCP/IP can be used

More information

Networking Overview. (as usual, thanks to Dave Wagner and Vern Paxson)

Networking Overview. (as usual, thanks to Dave Wagner and Vern Paxson) Networking Overview (as usual, thanks to Dave Wagner and Vern Paxson) Focus For This Lecture Sufficient background in networking to then explore security issues in next few lectures Networking = the Internet

More information

Transport Layer. Chapter 3.4. Think about

Transport Layer. Chapter 3.4. Think about Chapter 3.4 La 4 Transport La 1 Think about 2 How do MAC addresses differ from that of the network la? What is flat and what is hierarchical addressing? Who defines the IP Address of a device? What is

More information

Transmission Control Protocol (TCP) Reliable Connection-oriented Point-to-point Full-duplex Streams, not messages

Transmission Control Protocol (TCP) Reliable Connection-oriented Point-to-point Full-duplex Streams, not messages Transmission Control Protocol (TCP) Reliable Connection-oriented Point-to-point Full-duplex Streams, not messages Initialization: 3 Way Handshake Initiator SYN (Synchronization Sequence Number) SYN = ISN

More information

TCP/IP Revisited. IP s Transport Layer UDP and TCP. Computer Science 742 S2C, 2010 TCP UDP

TCP/IP Revisited. IP s Transport Layer UDP and TCP. Computer Science 742 S2C, 2010 TCP UDP TCP/IP, COMPSCI 742, 2010 p. 3/29 IP s Transport Layer UDP and TCP TCP/IP, COMPSCI 742, 2010 p. 4/29 TCP/IP Revisited Computer Science 742 S2C, 2010 Nevil Brownlee, with acknowledgements to Ulrich Speidel

More information

Transports and TCP. Adolfo Rodriguez CPS 214

Transports and TCP. Adolfo Rodriguez CPS 214 Transports and TCP Adolfo Rodriguez CPS 214 Host-to to-host vs. Process-to to-process Communication Until now, we have focused on delivering packets between arbitrary hosts connected to Internet Routing

More information

Livello di trasporto TCP

Livello di trasporto TCP Livello di trasporto TCP TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581 point-to-point: one sender, one receiver reliable, in-order byte stream: pipelined: no message boundaries TCP congestion and flow

More information

Network Security TCP/IP Refresher

Network Security TCP/IP Refresher Network Security TCP/IP Refresher What you (at least) need to know about networking! Dr. David Barrera Network Security HS 2014 Outline Network Reference Models Local Area Networks Internet Protocol (IP)

More information

OSI Transport layer. Dr. Luca Allodi - Network Security - University of Trento, DISI (AA 2015/2016)

OSI Transport layer. Dr. Luca Allodi - Network Security - University of Trento, DISI (AA 2015/2016) OSI Transport layer Dr. Luca Allodi - Network Security - University of Trento, DISI (AA 2015/2016) 1 Transmission Control Protocol (TCP) IP can only be used to send datagrams chunks or streams of information

More information

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

To see the details of TCP (Transmission Control Protocol). TCP is the main transport layer protocol used in the Internet. Lab Exercise TCP Objective To see the details of TCP (Transmission Control Protocol). TCP is the main transport layer protocol used in the Internet. The trace file is here: http://scisweb.ulster.ac.uk/~kevin/com320/labs/wireshark/trace-tcp.pcap

More information

CS 268: Lecture 5 (TCP/IP Architecture)

CS 268: Lecture 5 (TCP/IP Architecture) CS 268: Lecture 5 (TCP/IP Architecture) Ion Stoica February 1, 2006 The Problem Before Internet: different packet-switching networks (e.g., ARPANET, ARPA packet radio) - only nodes on the same network

More information

TCP/IP. IPv4 packet layout. IPv4 packet layout. Emin Gun Sirer

TCP/IP. IPv4 packet layout. IPv4 packet layout. Emin Gun Sirer IP TCP/IP Emin Gun Sirer Internetworking protocol Network layer Common packet format for the Internet Specifies what packets look like Fragments long packets into shorter packets Reassembles fragments

More information

Process-to. to-process Communication. Transports and TCP. A Brief Internet History UDP. TCP Timeline. TCP: After 1990

Process-to. to-process Communication. Transports and TCP. A Brief Internet History UDP. TCP Timeline. TCP: After 1990 Transports and TCP Adolfo Rodriguez CPS 214 Host-to to-host vs. Process-to to-process Communication Until now, we have focused on delivering packets between arbitrary hosts connected to Internet Routing

More information

TCP/IP Transmission Control Protocol / Internet Protocol

TCP/IP Transmission Control Protocol / Internet Protocol TCP/IP Transmission Control Protocol / Internet Protocol Based on Notes by D. Hollinger 1 Topics IPv6 TCP Java TCP Programming 2 IPv6 availability Generally available with (new) versions of most operating

More information

COMP 3331/9331: Computer Networks and Applications. Lab Exercise 3: TCP and UDP (Solutions)

COMP 3331/9331: Computer Networks and Applications. Lab Exercise 3: TCP and UDP (Solutions) COMP 3331/9331: Computer Networks and Applications Lab Exercise 3: TCP and UDP (Solutions) AIM To investigate the behaviour of TCP and UDP in greater detail. EXPERIMENT 1: Understanding TCP Basics Tools

More information

Introduction to Networking S Y STEMS

Introduction to Networking S Y STEMS Introduction to Networking CS 40: INTRODUCTION TO U NIX A ND L I NUX O P E R AT ING S Y STEMS Objectives Introduce networking, including what it is and what it contains, which includes: Networking layers

More information

Transport Control Protocol (TCP)

Transport Control Protocol (TCP) Transport Control Protocol (TCP) Richard T. B. Ma School of Computing National University of Singapore CS 3103: Compute Networks and Protocols Transport services and protocols provide logical communication

More information

Internet Protocol (IP)

Internet Protocol (IP) TCP/IP CIS 218/238 Internet Protocol (IP) The Internet Protocol (IP) is responsible for ensuring that data is transferred between two Intenret hosts based on a 32 bit address. To be ROUTABLE, a protocol

More information

Chapter 3 Transport Layer

Chapter 3 Transport Layer Chapter 3 Transport Layer All material copyright 1996-2009 J.F Kurose and K.W. Ross, All Rights Reserved Computer Networking: A Top Down Approach 5 th edition. Jim Kurose, Keith Ross Addison-Wesley, April

More information

This sequence diagram was generated with EventStudio System Designer (http://www.eventhelix.com/eventstudio).

This sequence diagram was generated with EventStudio System Designer (http://www.eventhelix.com/eventstudio). Client App Network Server App 25-May-13 15:32 (Page 1) This sequence diagram was generated with EventStudio System Designer (http://www.eventhelix.com/eventstudio). TCP is an end to end protocol which

More information

The following reference answers are based on the trace files provided with the text book, which can be downloaded from the textbook website.

The following reference answers are based on the trace files provided with the text book, which can be downloaded from the textbook website. Wireshark Lab 3 TCP The following reference answers are based on the trace files provided with the text book, which can be downloaded from the textbook website. TCP Basics Answer the following questions

More information

Computer Systems: TCP - Adaptive Distributed Reliable Transport Protocol

Computer Systems: TCP - Adaptive Distributed Reliable Transport Protocol Computer Systems: TCP - Adaptive Distributed Reliable Transport Protocol Presenter: Sandeep K. S. Gupta Reference: -- Chapter 3, 5 Computer Networking, Kurose and Ross, Addison Wesley - Chapter 7, An Engineering

More information

IP address format: Dotted decimal notation: 10000000 00001011 00000011 00011111 128.11.3.31

IP address format: Dotted decimal notation: 10000000 00001011 00000011 00011111 128.11.3.31 IP address format: 7 24 Class A 0 Network ID Host ID 14 16 Class B 1 0 Network ID Host ID 21 8 Class C 1 1 0 Network ID Host ID 28 Class D 1 1 1 0 Multicast Address Dotted decimal notation: 10000000 00001011

More information

Overview. Lecture 4: Congestion Control TCP. Transport. A Bit of History TCP. Internet is a network of networks

Overview. Lecture 4: Congestion Control TCP. Transport. A Bit of History TCP. Internet is a network of networks Overview Internet is a network of networks Lecture 4: Congestion Control Narrow waist of IP: unreliable, best-effort datagram delivery Packet forwarding: input port to output port Routing protocols: computing

More information

Outline. TCP connection setup/data transfer. 15-441 Computer Networking. TCP Reliability. Congestion sources and collapse. Congestion control basics

Outline. TCP connection setup/data transfer. 15-441 Computer Networking. TCP Reliability. Congestion sources and collapse. Congestion control basics Outline 15-441 Computer Networking Lecture 8 TCP & Congestion Control TCP connection setup/data transfer TCP Reliability Congestion sources and collapse Congestion control basics Lecture 8: 09-23-2002

More information

TCP/IP Concepts Review. Ed Crowley

TCP/IP Concepts Review. Ed Crowley TCP/IP Concepts Review Ed Crowley 1 Objectives At the end of this unit, you will be able to: Describe the TCP/IP protocol stack For each level, explain roles and vulnerabilities Explain basic IP addressing

More information

TCP/IP Optimization for Wide Area Storage Networks. Dr. Joseph L White Juniper Networks

TCP/IP Optimization for Wide Area Storage Networks. Dr. Joseph L White Juniper Networks TCP/IP Optimization for Wide Area Storage Networks Dr. Joseph L White Juniper Networks SNIA Legal Notice The material contained in this tutorial is copyrighted by the SNIA. Member companies and individuals

More information

Lecture Notes (Syracuse University) TCP Protocols & Attacks: 1. TCP Protocols. (1) TCP Protocol (Transmission Control Protocol)

Lecture Notes (Syracuse University) TCP Protocols & Attacks: 1. TCP Protocols. (1) TCP Protocol (Transmission Control Protocol) Lecture Notes (Syracuse University) TCP Protocols & Attacks: 1 TCP Protocols (1) TCP Protocol (Transmission Control Protocol) The Need for Stream Delivery Out of order packet delivery Packet delay Packet

More information

Names & Addresses. Names & Addresses. Hop-by-Hop Packet Forwarding. Longest-Prefix-Match Forwarding. Longest-Prefix-Match Forwarding

Names & Addresses. Names & Addresses. Hop-by-Hop Packet Forwarding. Longest-Prefix-Match Forwarding. Longest-Prefix-Match Forwarding Names & Addresses EE 122: IP Forwarding and Transport Protocols Scott Shenker http://inst.eecs.berkeley.edu/~ee122/ (Materials with thanks to Vern Paxson, Jennifer Rexford, and colleagues at UC Berkeley)

More information

Transport Layer. Transport Protocols. Transport Layer Services. Transport Services and Protocols. Transport vs. Application and Network Layer

Transport Layer. Transport Protocols. Transport Layer Services. Transport Services and Protocols. Transport vs. Application and Network Layer Transport Layer Transport Layer Services connection-oriented vs. connectionless multiplexing and demultplexing UDP: Connectionless Unreliable Service TCP: Connection-Oriented Reliable Service connection

More information

Ethernet. Ethernet. Network Devices

Ethernet. Ethernet. Network Devices Ethernet Babak Kia Adjunct Professor Boston University College of Engineering ENG SC757 - Advanced Microprocessor Design Ethernet Ethernet is a term used to refer to a diverse set of frame based networking

More information

application reads data socket door TCP receive buffer 32 bits source port # dest port # sequence number acknowledgement number not used checksum

application reads data socket door TCP receive buffer 32 bits source port # dest port # sequence number acknowledgement number not used checksum socket door TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581 point-to-point: one sender, one receiver reliable, in-order, byte steam: no message boundaries pipelined: TCP congestion and flow control set

More information

By: Chunyan Fu, PhD, Ericsson Canada

By: Chunyan Fu, PhD, Ericsson Canada TCP/UDP Basics By: Chunyan Fu, PhD, Ericsson Canada Internet Model Application TCP/UDP IP Link layer Physical layer Transport Service Overview Provide service to application layer by using the service

More information

Chapter 20: TCP. Raj Jain. Professor of CIS The Ohio State University Columbus, OH 43210 Raj Jain

Chapter 20: TCP. Raj Jain. Professor of CIS The Ohio State University Columbus, OH 43210  Raj Jain Chapter 20: TCP Professor of CIS Columbus, OH 43210 Jain@ACM.Org http://www.cis.ohio-state.edu/~jain/ 20-1 Overview Key features, Header format Mechanisms, Implementation choices Slow start congestion

More information

Study Guide for Midterm 1 CSC/ECE , Fall, 2012

Study Guide for Midterm 1 CSC/ECE , Fall, 2012 Study Guide for Midterm 1 CSC/ECE 573-001, Fall, 2012 The focus of this midterm will be on the IP and transport layer protocols. Together with IP, the functions which are required for lower layer interfacing,

More information

TCP Performance Management for Dummies

TCP Performance Management for Dummies TCP Performance Management for Dummies Nalini Elkins Inside Products, Inc. Monday, August 8, 2011 Session Number 9285 Our SHARE Sessions Orlando 9285: TCP/IP Performance Management for Dummies Monday,

More information

Topics. Computer Networks. Introduction. Transport Entity. Quality of Service. Transport Protocol

Topics. Computer Networks. Introduction. Transport Entity. Quality of Service. Transport Protocol Topics Introduction (6.1) Connection Issues (6. - 6..3) TCP (6.4) Computer Networks Transport Layer Introduction Efficient, reliable and cost-effective service to users (application layer) despite limitations

More information

Internet Protocol Stack. TCP: Transmission Control Protocol

Internet Protocol Stack. TCP: Transmission Control Protocol Internet Protocol tack application: supporting network applications HTTP, MTP, FTP, etc transport: endhost-endhost data transfer TCP, UP network: routing of datagrams from source to destination IP, routing

More information

10/27/2014. Transport Service. The Transport Layer. Services Provided to the Upper Layers. Transport Service Primitives (1) Berkeley Sockets (1)

10/27/2014. Transport Service. The Transport Layer. Services Provided to the Upper Layers. Transport Service Primitives (1) Berkeley Sockets (1) Transport Service The Transport Layer Chapter 6 Upper Layer Services Transport Service Primitives Berkeley Sockets Example of Socket Programming: Internet File Server Services Provided to the Upper Layers

More information

Hands-On Ethical Hacking and Network Defense - Second Edition. Chapter 2 - TCP/IP Concepts Review

Hands-On Ethical Hacking and Network Defense - Second Edition. Chapter 2 - TCP/IP Concepts Review Objectives After reading this chapter and completing the exercises, you will be able to: Overview of TCP/IP Describe the TCP/IP protocol stack Explain the basic concepts of IP addressing Explain the binary,

More information

TCP/IP Concepts Review. A CEH Perspective

TCP/IP Concepts Review. A CEH Perspective TCP/IP Concepts Review A CEH Perspective 1 Objectives At the end of this unit, you will be able to: Describe the TCP/IP protocol stack For each level, explain roles and vulnerabilities Explain basic IP

More information

TCP/IP Configuration and Diagnosis with WebSphere MQ: Part I

TCP/IP Configuration and Diagnosis with WebSphere MQ: Part I IBM Software Group TCP/IP Configuration and Diagnosis with WebSphere MQ: Part I Justin Fries WebSphere Support Technical Exchange Agenda Introduction Internet Protocol Transmission Control Protocol WebSphere

More information

Lab 3. According to above figure, the client computer (source) s IP address is and the TPC port number is 1161.

Lab 3. According to above figure, the client computer (source) s IP address is and the TPC port number is 1161. Lab 3 1. What is the IP address and TCP port number used by the client computer (source) that is transferring the file to gaia.cs.umass.edu? To answer this question, it s probably easiest to select an

More information

RFC: 793 TRANSMISSION CONTROL PROTOCOL DARPA INTERNET PROGRAM PROTOCOL SPECIFICATION. September 1981. prepared for

RFC: 793 TRANSMISSION CONTROL PROTOCOL DARPA INTERNET PROGRAM PROTOCOL SPECIFICATION. September 1981. prepared for RFC: 793 TRANSMISSION CONTROL PROTOCOL DARPA INTERNET PROGRAM PROTOCOL SPECIFICATION September 1981 prepared for Defense Advanced Research Projects Agency Information Processing Techniques Office 1400

More information

TCP/IP Concepts Review. A CEH Perspective

TCP/IP Concepts Review. A CEH Perspective TCP/IP Concepts Review A CEH Perspective 1 Objectives At the end of this unit, you will be able to: Describe the TCP/IP protocol stack For each level, explain roles and vulnerabilities Explain basic IP

More information

Problem 1 Suppose that the client A initiates a TCP connection to a Web server whose name is S. More or less simultaneously,

Problem 1 Suppose that the client A initiates a TCP connection to a Web server whose name is S. More or less simultaneously, Note: Here you have the original answer proposed by working groups. Spelling mistakes from original answers have not been corrected. Sometimes teacher note is included in red. Problem 1 Suppose that the

More information

Review for Chapter 3

Review for Chapter 3 Review for Chapter 3 R3.Describle why an application developer might choose to run an application over UDP rather than TCP. Answer: An application developer may not want its application to use TCP s congestion

More information

TCP "Real" Reliable Transport

TCP Real Reliable Transport TCP "Real" Reliable Transport CS 356 University of Texas at Austin Dr. David A. Bryan VERY SIGNIFICANT content used or adapted from Computer Networking: A Top- Down Approach, 6e, Kurose and Ross, Addisson-

More information

Network Security I: Overview

Network Security I: Overview Network Security I: Overview April 13, 2015 Lecture by: Kevin Chen Slides credit: Vern Paxson, Dawn Song 1 network security 2 Today s Lecture Networking overview + security issues Keep in mind, networking

More information

Tutorial 1 (Week 6) Introduction

Tutorial 1 (Week 6) Introduction COMP 333/933 Computer Networks and Applications Tutorial (Week 6) Introduction Problem Set, Question 7 Suppose two hosts, A and B are separated by, kms and are connected by a direct link of R = Mbps. Suppose

More information

Access Control: Firewalls (1)

Access Control: Firewalls (1) Access Control: Firewalls (1) World is divided in good and bad guys ---> access control (security checks) at a single point of entry/exit: in medieval castles: drawbridge in corporate buildings: security/reception

More information

Objectives of Lecture. Network Architecture. Protocols. Contents

Objectives of Lecture. Network Architecture. Protocols. Contents Objectives of Lecture Network Architecture Show how network architecture can be understood using a layered approach. Introduce the OSI seven layer reference model. Introduce the concepts of internetworking

More information