16-TL-TCP1 - TransmissionControlProtocol(TCP)

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

View Full Document Right Arrow Icon
Transmission Control Protocol (TCP)
Background image of page 1

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

View Full DocumentRight Arrow Icon
TCP: Overview    RFCs: 793, 1122, 1323, 2018, 2581 reliable, in-order byte steam: no “message boundaries” send & receive buffers buffer incoming & outgoing data flow controlled: sender will not overwhelm  receiver congestion controlled: sender will not overwhelm  network point-to-point (unicast): one sender, one receiver   connection-oriented:   handshaking (exchange of control msgs)  init’s sender, receiver state before data  exchange State resides  only  at the  END  systems –  Not a virtual circuit! full duplex data: bi-directional data flow in same  connection (A->B & B->A in the same  connection) MSS: maximum segment size s o c k e t d o o r T C P s e n d b u f f e r T C P r e c e i v e b u f f e r s o c k e t d o o r s e g m e n t a p p l i c a t i o n w r i t e s d a t a a p p l i c a t i o n r e a d s d a t a
Background image of page 2
TCP segment structure source port # dest port # 32 bits application data  (variable length) sequence number acknowledgement number Receive window Urg data pnter checksum F S R P A U head len not used Options (variable length) URG: urgent data  (generally not used) ACK: ACK # valid PSH: push data now (generally not used) RST, SYN, FIN: connection estab (setup, teardown commands) # bytes  rcvr willing to accept counting by bytes  of data (not segments!) Internet checksum (as in UDP)
Background image of page 3

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

View Full DocumentRight Arrow Icon
TCP Connection-oriented demux TCP socket identified by 4-tuple:  source IP address source port number dest IP address dest port number receiving host uses all four values to direct segment to appropriate socket
Background image of page 4
TCP  Demultiplexing Example Client IP:B P client  IP: A P server IP: C SP: 80 DP: 9157 SP: 9157 DP: 80 SP: 80 DP: 5775 SP: 5775 DP: 80 P P
Background image of page 5

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

View Full DocumentRight Arrow Icon
Connection Termination Connection Establishment Typical TCP Transaction Client Server time time A TCP Transaction consists of 3  Phases 1. Connection Establishment Handshaking between client and  server 1. Reliable, In-Order Data Exchange Recover any lost data through  retransmissions and ACKs 1. Connection Termination Closing the connection
Background image of page 6
TCP Connection Establishment TCP sender, receiver establish “connection” before exchanging data  segments initialize TCP variables: seq. #s buffers, flow control info (e.g.  RcvWindow ) client: connection initiator Socket clientSocket = new Socket("hostname", port#); server: contacted by client Socket connectionSocket = welcomeSocket.accept();
Background image of page 7

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

View Full DocumentRight Arrow Icon
Connection Establishment (cont) Host A Host B SYN, Seq=42 SYN+ACK, Seq=79, ACK=43 ACK, Seq=43, ACK=80 time Three-way handshake Three way handshake: Step 1:   client host sends TCP SYN  segment to server specifies a  random  initial seq # no data Step 2:   server host receives SYN, replies  with SYNACK segment
Background image of page 8
Image of page 9
This is the end of the preview. Sign up to access the rest of the document.

Page1 / 29

16-TL-TCP1 - TransmissionControlProtocol(TCP)

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

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