Lecture 3. TCP / IP. Objective: A in-step look at TCP/IP Purposes and operations Header specifications Implementations Internet protocol (IP)
Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.
Objective: A in-step look at TCP/IP
Internet protocol (IP)
Total length 16 bits
Fragmentation 13 bits
Identification 16 bits
Header checksum16 bits
Time to live 8 bits
Source IP address
Destination IP address
Checksum (16 bits)Calculated by sender, inserted in the header. Recalculated by receiver. If not correct, discard
IP header in Hex:
c036 f2104 : version 4, 5 : Header length = 5 words (20B)00: service type = normal0028: total length =
08b9: identification = 2233
010 : flag
0 000 offset = 0
ff : time to live = 255
06: protocol = 6 = TCP999a : check sum
c0db ee2d: source IP =192.___.___.___
c036 f210: destination IP = 192.___.___.___
Fragmentation moduleReceives IP datagram from the routing module, consults the MTU table to find MTU for the specific interface. If the datagram is larger than the MTU, then fragments the datagram, adds a header to each fragment and sends them to ARP package for address resolution and delivery.
Destination port 16 bits
Sequence of number 32 bits
Acknowledge number 32 bits
Window size 16 bits
HLEN 4 bits
Checksum 16 bits
Urgent pointer 16 bits
Options and Padding
The communication between two processes is realized by setting up a logical connection between them
1. Host A (client) sends a (SYN) segment to announce its whish for connection and includes its initialization info. (source and destination port number, ISN, window size) about the traffic from A to B.
2. Host B (server) sends a (SYN and ACK) segment to acknowledge the request of A. And Host B sends a segment that includes its initialization info. (port number, window size) about the traffic from B to A.
3. Host A sends a segment to acknowledge the request of B ( initial sequence number, server window size).
Reliability is achieved by sequence numbers, acknowledgments, and timer.
Retransmission timer: when TCP sends a segment, it creates a retransmission timer for that particular segment. Two situation may occur: If an acknowledgement is received for this particular segment before the time goes off, the timer is destroyed. If the timer goes off before the acknowledgement arrives, the segment is retransmitted, and the timer is reset.
The calculate of retransmission time: RT = 2 * RTT (the round-trip time) . RT = alpha * previous RRT + (1-alpha)*current RRT
Application layer message to and from applications
TCB (Transmission Control Blocks) is used for each connection. An array of TCBs is kept for a group of connections.