module13-tcp1-1

module13-tcp1-1 - TCP - Part I Relates to Lab 5. First...

Info iconThis preview shows pages 1–10. Sign up to view the full content.

View Full Document Right Arrow Icon
1 TCP - Part I Relates to Lab 5. First module on TCP which covers packet format, data transfer, and connection management.
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
2 Overview TCP = Transmission Control Protocol Connection-oriented protocol Provides a reliable unicast end-to-end byte stream over an unreliable internetwork. TCP IP Internetwork Byte Stream TCP
Background image of page 2
3 Connection-Oriented Before any data transfer, TCP establishes a connection : One TCP entity is waiting for a connection (“ server ”) The other TCP entity (“ client ”) contacts the server The actual procedure for setting up connections is more complex. Each connection is full duplex CLIENT SERVER waiting for connection request Request a connection Accept a connection D isconnect Data Transer
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
4 Reliable Byte stream is broken up into chunks which are called seg- ments Receiver sends acknowledgements (ACKs) for segments TCP maintains a timer. If an ACK is not received in time, the segment is retransmitted Detecting errors: TCP has checksums for header and data. Segments with invalid checksums are discarded Each byte that is transmitted has a sequence number
Background image of page 4
5 Byte Stream Service To the lower layers, TCP handles data in blocks, the segments. To the higher layers TCP handles data as a sequence of bytes and does not identify boundaries between bytes So: Higher layers do not know about the beginning and end of segments ! TCP Application 1. write 100 bytes 2. write 20 bytes queue of bytes to be transmitted TCP queue of bytes that have been received Application 1. read 40 bytes 2. read 40 bytes 3. read 40 bytes Segments
Background image of page 5

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
6 TCP Format IP header TCP header TCP data Sequence number (32 bits) DATA 20 bytes 20 bytes 0 15 16 31 Source Port Number Destination Port Number Acknowledgement number (32 bits) window size header length 0 Flags Options (if any) TCP checksum urgent pointer 20 bytes TCP segments have a 20 byte header with >= 0 bytes of data.
Background image of page 6
7 TCP header fields Port Number: A port number identifies the endpoint of a connection. A pair <IP address, port number> identifies one endpoint of a connection. Two pairs <client IP address, server port number> and <server IP address, server port number> identify a TCP connection. TCP IP Applications 23 104 80 Ports: TCP IP Applications 7 16 80 Ports:
Background image of page 7

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
8 TCP header fields Sequence Number (SeqNo): Sequence number is 32 bits long. So the range of SeqNo is 0 <= SeqNo <= 2 32 -1 4.3 Gbyte Each sequence number identifies a byte in the byte stream Initial Sequence Number (ISN) of a connection is set during connection establishment Q: What are possible requirements for ISN ?
Background image of page 8
9 TCP header fields Acknowledgement Number (AckNo):
Background image of page 9

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Image of page 10
This is the end of the preview. Sign up to access the rest of the document.

Page1 / 31

module13-tcp1-1 - TCP - Part I Relates to Lab 5. First...

This preview shows document pages 1 - 10. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online