TCP Header-Sequence Number-Acknowledgement Number

Duration: 13 min

This video lesson is available to enrolled students.

Enroll to watch — GATE Guidance by Sanchit Sir

AI summary & chapters

AI Summary

An AI-generated summary of this video lecture.

This lecture introduces TCP sequence numbers as a 32-bit field that assigns a number to the first byte of data in each segment, emphasizing that TCP is a stream transport protocol where every byte is numbered. The instructor explains that sequence numbers range from 0 to 2^32 - 1 and are initialized with an arbitrary Initial Sequence Number (ISN) chosen randomly to avoid duplication. A worked example demonstrates calculating sequence numbers for a 5000-byte file transferred in five 1000-byte segments, starting with byte number 10001. The solution shows segment ranges from 10,001-11,000 through 14,001-15,000, with each segment's sequence number equal to the previous segment's starting number plus the bytes carried. The lecture also notes that numbering is independent in each direction and does not necessarily start from 0, contrasting TCP's byte-level counting with IP's packet-based approach.

Chapters

  1. 0:00 2:00 00:00-02:00

    The lecture begins by defining the TCP sequence number as a 32-bit field that numbers every byte of data transmitted. The instructor points to the sequence number and acknowledgment number fields in a TCP header diagram, noting that numbering is independent in each direction. The slide states 'Sequence number is 32-bit field' and 'maximum number of possible sequence numbers = 2^32'. The lesson transitions to the concept of byte numbers, explaining that TCP chooses an arbitrary initial sequence number (ISN) between 0 and 2^32 - 1 to avoid duplication. The instructor then introduces a worked example: 'Suppose a TCP connection is transferring a file of 5000 bytes. The first byte is numbered 10001.'

  2. 2:00 5:00 02:00-05:00

    The instructor works through the TCP sequence number example on a whiteboard, writing 'S' and 'R' to denote sender and receiver. The problem asks for sequence numbers of five segments, each carrying 1000 bytes, starting with byte number 10001. The instructor progressively writes the byte ranges for each segment: '10,001 - 11,000', '11,001 - 12,000', '12,001 - 13,000', '13,001 - 14,000', and '14,001 - 15,000'. The sequence number for the first segment is written as '10,001' inside the first box. The instructor circles '10001' to emphasize it as the initial sequence number and draws arrows representing segments. The teaching cue emphasizes that the sequence number for a segment is the number of its first byte, and each subsequent segment's range starts where the previous one ended plus one.

  3. 5:00 10:00 05:00-10:00

    A slide titled 'Sequence number' lists bullets noting the field is 32 bits and that values lie in 'the range [0, 2^32 -1]'. The TCP segment diagram labels 'Sequence number 32 bits' and 'Acknowledgement number 32 bits', with a handwritten '32' arrowed to the sequence field. The whiteboard example states a file of 5000 bytes with first byte 'numbered 10001', and handwritten boxes show segment ranges from '10,001 - 11,000' through '14,001 - 15,000'. A 'Byte Number' slide underlines that 'Numbering is independent in each direction' and that numbering 'does not necessarily start from 0'. The instructor's hand points to the top box '10,001' while a circled '10001' and an arrow toward '5000' sit on the left side of the board. The slide also states 'Sequence number is 32-bit field defines the number assigned to the first byte of data contained in this segment'.

  4. 10:00 12:50 10:00-12:50

    The video concludes by solving the numerical example where sequence numbers for five 1000-byte TCP segments are calculated, starting from an initial byte number of 10001. The instructor transitions to a theoretical slide explaining the concept of sequence numbers, defining them as a 32-bit field that assigns a number to the first byte of data in each segment. The explanation highlights that sequence numbers are generated randomly during connection establishment to avoid duplication and follow a specific calculation rule based on the previous segment. The teaching cue emphasizes that TCP is a stream transport protocol where every byte is numbered, unlike IP which counts packets. The final slide shows a TCP segment header diagram with labeled fields including 'Source port address 16 bits', 'Destination port address 16 bits', 'Sequence number 32 bits', and 'Acknowledgement number 32 bits'.

The lecture systematically builds understanding of TCP sequence numbers through definition, diagram, and worked example. The central concept is that TCP uses a 32-bit sequence number field to assign a unique number to the first byte of data in each segment, with values ranging from 0 to 2^32 - 1. The Initial Sequence Number (ISN) is chosen randomly to prevent duplication, and numbering is independent in each direction of the connection. The worked example demonstrates the practical application: for a 5000-byte file with first byte numbered 10001, sent in five 1000-byte segments, the sequence numbers are 10,001; 11,001; 12,001; 13,001; and 14,001. The key rule is that each segment's sequence number equals the previous segment's starting number plus the bytes carried. This contrasts with IP, which counts packets rather than bytes, highlighting TCP's stream-oriented nature.

Loading lesson…