More on TCP Acknowledgements Sequence Number Field Initial Sequence Number Acknowledgement Number Field.

Slides:



Advertisements
Similar presentations
IP Fragmentation. MTU Maximum Transmission Unit (MTU) –Largest IP packet a network will accept –Arriving IP packet may be larger IP Packet MTU.
Advertisements

TCP/IP Christopher Zacky. lolwut Decimal Numbers.
CISCO NETWORKING ACADEMY Chabot College ELEC Transport Layer (4)
TCP - Part I Relates to Lab 5. First module on TCP which covers packet format, data transfer, and connection management.
Intermediate TCP/IP TCP Operation.
Guide to TCP/IP, Third Edition
Introduction1-1 message segment datagram frame source application transport network link physical HtHt HnHn HlHl M HtHt HnHn M HtHt M M destination application.
CSEE W4140 Networking Laboratory Lecture 6: TCP and UDP Jong Yul Kim
UDP & TCP Where would we be without them!. UDP User Datagram Protocol.
CSE551: Computer Network Review r Network Layers r TCP/UDP r IP.
1 TCP - Part I Relates to Lab 5. First module on TCP which covers packet format, data transfer, and connection management.
1 CS 4396 Computer Networks Lab Transmission Control Protocol (TCP) Part I.
Networks I Transmission Control Protocol Instituto Tecnológico y de Estudios Superiores de Monterrey Campus Estado de México Prof. MSc. Ivan A. Escobar.
Instructor: Sam Nanavaty TCP/IP protocol. Instructor: Sam Nanavaty Version – Allows for the evolution of the protocol IHL (Internet header length) – Length.
BZUPAGES.COM 1 User Datagram Protocol - UDP RFC 768, Protocol 17 Provides unreliable, connectionless on top of IP Minimal overhead, high performance –No.
Transport Layer – TCP (Part1) Dr. Sanjay P. Ahuja, Ph.D. Fidelity National Financial Distinguished Professor of CIS School of Computing, UNF.
Chapter 7 – Transport Layer Protocols
Copyright 1999, S.D. Personick. All Rights Reserved. Telecommunications Networking II Lecture 32 Transmission Control Protocol (TCP) Ref: Tanenbaum pp:
EEC-484/584 Computer Networks Lecture 15 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
IP Basics. Physical Link Network IP ARP ICMP RoutingTables.
Transport Layer 3-1 Transport Layer r To learn about transport layer protocols in the Internet: m TCP: connection-oriented protocol m Reliability protocol.
CSEE W4140 Networking Laboratory Lecture 6: TCP and UDP Jong Yul Kim
© 2009 Pearson Education, Inc. Publishing as Prentice Hall More on TCP/IP Module A Updated January 2009 Raymond Panko’s Business Data Networks and Telecommunications,
Source Port # (16)Destination Port # (16) Sequence Number (32 bits) Acknowledgement Number (32 bits) Hdr Len (4) Flags (6)Window Size (16) Options (if.
IP Basics. IP encapsulates TCP IP packets travel through many different routers (hops) before reaching it’s destination MTU variation at the physical.
CSCE 515: Computer Network Programming TCP Details Wenyuan Xu Department of Computer Science and Engineering.
EEC-484/584 Computer Networks Lecture 13 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
TCP. Learning objectives Reliable Transport in TCP TCP flow and Congestion Control.
Transport Layer TCP and UDP IS250 Spring 2010
Gursharan Singh Tatla Transport Layer 16-May
Module A Panko and Panko Business Data Networks and Security, 9 th Edition © 2013 Pearson.
TRANSPORT LAYER T.Najah Al-Subaie Kingdom of Saudi Arabia Prince Norah bint Abdul Rahman University College of Computer Since and Information System NET331.
More on TCP/IP Module A Copyright 2001 Prentice Hall.
More on TCP/IP Module A Panko’s Business Data Networks and Telecommunications, 6th edition Copyright 2007 Prentice-Hall May only be used by adopters of.
Module A Panko and Panko Business Data Networks and Telecommunications, 8 th Edition © 2011 Pearson Education, Inc. Publishing as Prentice Hall.
Transport Layer 3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 All.
TCP: A Closer Look Transmission Control Protocol.
TCP : Transmission Control Protocol Computer Network System Sirak Kaewjamnong.
26-TCP Dr. John P. Abraham Professor UTPA. TCP  Transmission control protocol, another transport layer protocol.  Reliable delivery  Tcp must compensate.
University of the Western Cape Chapter 12: The Transport Layer.
1 The Internet and Networked Multimedia. 2 Layering  Internet protocols are designed to work in layers, with each layer building on the facilities provided.
Copyright 2002, S.D. Personick. All Rights Reserved.1 Telecommunications Networking II Topic 20 Transmission Control Protocol (TCP) Ref: Tanenbaum pp:
Transmission Control Protocol
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.
CCNA 1 v3.0 Module 11 TCP/IP Transport and Application Layers.
Dr. John P. Abraham Professor UTPA
Networking Basics CCNA 1 Chapter 11.
Institute of Technology Sligo - Dept of Computing Chapter 12 The Transport Layer.
Samples of Descriptive Problems CSC/ECE 573, Sections 001 Fall, 2012.
© Jörg Liebeherr (modified by Malathi Veeraraghavan) 1 Overview Formats, Data Transfer, etc. Connection Management.
Transport Protocols.
1 Computer Communication & Networks Lecture 23 & 24 Transport Layer: UDP and TCP Waleed Ejaz
11 CS716 Advanced Computer Networks By Dr. Amir Qayyum.
IP Fragmentation. MTU Maximum Transmission Unit (MTU) –Largest IP packet a network will accept –Arriving IP packet may be larger IP Packet MTU.
Introduction to TCP/IP networking
Multiplexing.
Transport Layer.
Process-to-Process Delivery, TCP and UDP protocols
Process-to-Process Delivery
TCP.
More on TCP/IP Module A Copyright 2004 Prentice Hall Panko’s Business Data Networking and Telecommunications, 5th edition.
Standards Basics.
Module A Updated January 2009
TCP - Part I Karim El Defrawy
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.
Transport Protocols: TCP Segments, Flow control and Connection Setup
Network Architecture Models: Layered Communications
Transport Layer 9/22/2019.
Presentation transcript:

More on TCP Acknowledgements Sequence Number Field Initial Sequence Number Acknowledgement Number Field

TCP TCP is Reliable –IP packets carrying TCP segments may arrive out of order –TCP must put the TCP segments in order 34215

TCP TCP is Reliable –Each correct TCP segment is acknowledged by the receiver Source Transport Process Source Transport Process Destination Transport Process Destination Transport Process TCP Segment ACK

TCP Segment Each TCP segment sent by a side must have a sequence number –Simplest: 1,2,3,4,5,6,7 –To detect lost or out-of-sequence messages –TCP uses a more complex approach ?

TCP Sequence Numbers TCP header has a 32-bit sequence number field Source Port # (16)Destination Port # (16) Sequence Number (32 bits) Acknowledgement Number (32 bits) Hdr Len (4) Flags (6)Window Size (16) Options (if any)PAD Reserved (6) TCP Checksum (16)Urgent Pointer (16) Data Field

TCP Sequence Numbers Initial Sequence Number is randomly selected by the sender; Say, 79 Sent in the sequence number field of the first TCP segment 79 TCP Data Field TCP Header Sequence Number Field with Initial Sequence Number (79)

TCP Sequence Numbers Data octets in data fields of all segments in a connection are viewed as a long string TCP Segment 179 TCP Segment TCP Segment Octets in Data Field 2 Octets in Data Field ISN

TCP Sequence Numbers Supervisory segments, which contain a header but no data, are treated as carrying a single octet of data TCP seg TCP seg 2900 TCP seg … Supervisory segment Carries data

TCP Sequence Numbers Sequence number field gets the value of the first octet in the data field TCP 179 TCP TCP is SeqNum Field Value 83 is SeqNum Field Value 79 is SeqNum Field Value

TCP Acknowledgements Acknowledgement must indicate which TCP segment is being acknowledged Source TCP Process Source TCP Process Destination TCP Process Destination TCP Process TCP Segment ACK

TCP Acknowledgements TCP header contains a 32-bit Acknowledgement Number field to designate the TCP segment being acknowledged Source Port # (16)Destination Port # (16) Sequence Number (32 bits) Acknowledgement Number (32 bits) Hdr Len (4) Flags (6)Window Size (16) Options (if any)PAD Reserved (6) TCP Checksum (16)Urgent Pointer (16) Data Field

TCP Acknowledgment Numbers Acknowledgement Number field contains the next byte expected--the last byte of the segment being acknowledged, plus one TCP 179 TCP TCP is AckNum Field Value 85 is AckNum Field Value 80 is AckNum Field Value

TCP Acknowledgement Number Quiz: A TCP segment contains the following data octets –567, 568, 569, 570, 571, 572, 573, 574 What will be in the sequence number field of the TCP segment delivering the data? What will be in the acknowledgement number field of the TCP segment acknowledging the TCP segment that delivers these octets?

TCP Flow Control Flow Control –One TCP process transmits too fast –Other TCP process is overwhelmed –Receiver must control transmission rate –This is flow control TCP Process Too Much Data Flow Control Message

TCP Flow Control A TCP segment has a Window Size field –Used in acknowledgements Source Port # (16)Destination Port # (16) Sequence Number (32 bits) Acknowledgement Number (32 bits) Hdr Len (4) Flags (6)Window Size (16) Options (if any)PAD Reserved (6) TCP Checksum (16)Urgent Pointer (16) Data Field

TCP Flow Control A TCP segment has a Window Size field –Tell how many more octets the sender can send beyond the segment being acknowledged TCP Process Data Acknowledgement with Window Size Field

TCP Flow Control Example –TCP segment contained octets –Acknowledgement number for TCP segment acknowledging the segment is 90 –If Window Size field value is 50, then –Sender may send through octet 140 –Must then stop unless the window has been extended in another acknowledgement

TCP Flow Control Each Acknowledgement extends the window of octets that may be sent –Called a sliding window protocol May send through May send through 920

TCP Fragmentation TCP Segments have maximum data field sizes –(Size limit details are discussed later) –What if an application layer message is too large? TCP HeaderTCP Data Field Max Application Layer Message

TCP Fragmentation Application layer message must be fragmented –Broken into several pieces –Delivered in separate TCP segments TCP HeaderTCP Data Field Max App Frag 1App Frag 2App Frag 3

TCP Fragmentation Note that, in TCP fragmentation, the TCP segment is NOT fragmented –The application layer message is fragmented TCP HeaderTCP Data Field Max App Frag 1App Frag 2App Frag 3

TCP Fragmentation Transport layer process on the source host does the fragmentation –Application layer on the source host is not involved –Transparent to the application layer Application Transport Internet Application Message TCP Segment

TCP Fragmentation Transport layer process on the destination host does the reassembly –Application layer on the destination host is not involved; Gets original application layer message Application Transport Internet Application Message TCP Segment

TCP Fragmentation What is the maximum TCP data field size? –Complex Maximum Segment Size (MSS) –Maximum size of a TCP segment’s data field –NOT maximum size of the segment as its name would suggest!!!

TCP Fragmentation MSS Default is 536 octets –Minimum IP packet size any network must support is 576 octets Larger IP packets MAY be fragmented –IP and TCP headers are 20 octets each if there are no options –This gives the default MSS of 536 –Smaller if there are options in the IP or TCP header

TCP Fragmentation MSS Default is 536 octets –Suppose the application layer process is 1,000 octets long –Two TCP segments will be needed to send the data –The first can send the first 536 octets –The second can carry the remaining 464 octets of the application layer message

TCP Fragmentation Each side MAY announce a larger MSS –An option usually used in the initial SYN message it sends to the other –If announces MSS of 2,048, this many octets of data may be sent in each TCP segments –536 is only the default—the value to use if no other value is specified by the other side