+ All Categories
Home > Documents > Transmission Control Protocol - İYTEweb.iyte.edu.tr/~tolgaayav/courses/ceng312/tcp.pdf · Ordering...

Transmission Control Protocol - İYTEweb.iyte.edu.tr/~tolgaayav/courses/ceng312/tcp.pdf · Ordering...

Date post: 06-Mar-2018
Category:
Upload: ngokhue
View: 213 times
Download: 0 times
Share this document with a friend
34
Transmission Control Protocol
Transcript
Page 1: Transmission Control Protocol - İYTEweb.iyte.edu.tr/~tolgaayav/courses/ceng312/tcp.pdf · Ordering data Sequence number: 32 bit 0 - 4,294,967,295 Daha sonra tekrar basa doner A,

TransmissionControl Protocol

Page 2: Transmission Control Protocol - İYTEweb.iyte.edu.tr/~tolgaayav/courses/ceng312/tcp.pdf · Ordering data Sequence number: 32 bit 0 - 4,294,967,295 Daha sonra tekrar basa doner A,

TCPestablishing connectionsestablishing connections

Page 3: Transmission Control Protocol - İYTEweb.iyte.edu.tr/~tolgaayav/courses/ceng312/tcp.pdf · Ordering data Sequence number: 32 bit 0 - 4,294,967,295 Daha sonra tekrar basa doner A,

Establishing connections

Page 4: Transmission Control Protocol - İYTEweb.iyte.edu.tr/~tolgaayav/courses/ceng312/tcp.pdf · Ordering data Sequence number: 32 bit 0 - 4,294,967,295 Daha sonra tekrar basa doner A,

Transferring data

Page 5: Transmission Control Protocol - İYTEweb.iyte.edu.tr/~tolgaayav/courses/ceng312/tcp.pdf · Ordering data Sequence number: 32 bit 0 - 4,294,967,295 Daha sonra tekrar basa doner A,

acknowledgment

Page 6: Transmission Control Protocol - İYTEweb.iyte.edu.tr/~tolgaayav/courses/ceng312/tcp.pdf · Ordering data Sequence number: 32 bit 0 - 4,294,967,295 Daha sonra tekrar basa doner A,

Retransmit using ACKs

Page 7: Transmission Control Protocol - İYTEweb.iyte.edu.tr/~tolgaayav/courses/ceng312/tcp.pdf · Ordering data Sequence number: 32 bit 0 - 4,294,967,295 Daha sonra tekrar basa doner A,

Flow control

Page 8: Transmission Control Protocol - İYTEweb.iyte.edu.tr/~tolgaayav/courses/ceng312/tcp.pdf · Ordering data Sequence number: 32 bit 0 - 4,294,967,295 Daha sonra tekrar basa doner A,

Closing connections

Page 9: Transmission Control Protocol - İYTEweb.iyte.edu.tr/~tolgaayav/courses/ceng312/tcp.pdf · Ordering data Sequence number: 32 bit 0 - 4,294,967,295 Daha sonra tekrar basa doner A,

TCPpacketformat

Page 10: Transmission Control Protocol - İYTEweb.iyte.edu.tr/~tolgaayav/courses/ceng312/tcp.pdf · Ordering data Sequence number: 32 bit 0 - 4,294,967,295 Daha sonra tekrar basa doner A,

TCP control field

Page 11: Transmission Control Protocol - İYTEweb.iyte.edu.tr/~tolgaayav/courses/ceng312/tcp.pdf · Ordering data Sequence number: 32 bit 0 - 4,294,967,295 Daha sonra tekrar basa doner A,

Urgent pointer

1000 - 1200 urgent data

Page 12: Transmission Control Protocol - İYTEweb.iyte.edu.tr/~tolgaayav/courses/ceng312/tcp.pdf · Ordering data Sequence number: 32 bit 0 - 4,294,967,295 Daha sonra tekrar basa doner A,

Options

Page 13: Transmission Control Protocol - İYTEweb.iyte.edu.tr/~tolgaayav/courses/ceng312/tcp.pdf · Ordering data Sequence number: 32 bit 0 - 4,294,967,295 Daha sonra tekrar basa doner A,

Max. Segment size

Page 14: Transmission Control Protocol - İYTEweb.iyte.edu.tr/~tolgaayav/courses/ceng312/tcp.pdf · Ordering data Sequence number: 32 bit 0 - 4,294,967,295 Daha sonra tekrar basa doner A,

Window scale factor

Window= window * 2 ^ shift count

Page 15: Transmission Control Protocol - İYTEweb.iyte.edu.tr/~tolgaayav/courses/ceng312/tcp.pdf · Ordering data Sequence number: 32 bit 0 - 4,294,967,295 Daha sonra tekrar basa doner A,
Page 16: Transmission Control Protocol - İYTEweb.iyte.edu.tr/~tolgaayav/courses/ceng312/tcp.pdf · Ordering data Sequence number: 32 bit 0 - 4,294,967,295 Daha sonra tekrar basa doner A,

Timestamp

Page 17: Transmission Control Protocol - İYTEweb.iyte.edu.tr/~tolgaayav/courses/ceng312/tcp.pdf · Ordering data Sequence number: 32 bit 0 - 4,294,967,295 Daha sonra tekrar basa doner A,

An example packet using timestamp

Page 18: Transmission Control Protocol - İYTEweb.iyte.edu.tr/~tolgaayav/courses/ceng312/tcp.pdf · Ordering data Sequence number: 32 bit 0 - 4,294,967,295 Daha sonra tekrar basa doner A,

TCP State Machine

Page 19: Transmission Control Protocol - İYTEweb.iyte.edu.tr/~tolgaayav/courses/ceng312/tcp.pdf · Ordering data Sequence number: 32 bit 0 - 4,294,967,295 Daha sonra tekrar basa doner A,

TCP state transition diagram

Page 20: Transmission Control Protocol - İYTEweb.iyte.edu.tr/~tolgaayav/courses/ceng312/tcp.pdf · Ordering data Sequence number: 32 bit 0 - 4,294,967,295 Daha sonra tekrar basa doner A,

Establishing ConnectionsConnect request packet

Page 21: Transmission Control Protocol - İYTEweb.iyte.edu.tr/~tolgaayav/courses/ceng312/tcp.pdf · Ordering data Sequence number: 32 bit 0 - 4,294,967,295 Daha sonra tekrar basa doner A,

Example TCP packets

Page 22: Transmission Control Protocol - İYTEweb.iyte.edu.tr/~tolgaayav/courses/ceng312/tcp.pdf · Ordering data Sequence number: 32 bit 0 - 4,294,967,295 Daha sonra tekrar basa doner A,

Connect confirm packet

Page 23: Transmission Control Protocol - İYTEweb.iyte.edu.tr/~tolgaayav/courses/ceng312/tcp.pdf · Ordering data Sequence number: 32 bit 0 - 4,294,967,295 Daha sonra tekrar basa doner A,

Acknowledgment packet

Page 24: Transmission Control Protocol - İYTEweb.iyte.edu.tr/~tolgaayav/courses/ceng312/tcp.pdf · Ordering data Sequence number: 32 bit 0 - 4,294,967,295 Daha sonra tekrar basa doner A,
Page 25: Transmission Control Protocol - İYTEweb.iyte.edu.tr/~tolgaayav/courses/ceng312/tcp.pdf · Ordering data Sequence number: 32 bit 0 - 4,294,967,295 Daha sonra tekrar basa doner A,
Page 26: Transmission Control Protocol - İYTEweb.iyte.edu.tr/~tolgaayav/courses/ceng312/tcp.pdf · Ordering data Sequence number: 32 bit 0 - 4,294,967,295 Daha sonra tekrar basa doner A,

Old connections

Page 27: Transmission Control Protocol - İYTEweb.iyte.edu.tr/~tolgaayav/courses/ceng312/tcp.pdf · Ordering data Sequence number: 32 bit 0 - 4,294,967,295 Daha sonra tekrar basa doner A,

Recovering from old connections

Page 28: Transmission Control Protocol - İYTEweb.iyte.edu.tr/~tolgaayav/courses/ceng312/tcp.pdf · Ordering data Sequence number: 32 bit 0 - 4,294,967,295 Daha sonra tekrar basa doner A,

Ordering data

❚ Sequence number: 32 bit❚ 0 - 4,294,967,295 ❚ Daha sonra tekrar basa doner❚ A, B karsilastirilacak seq. Sayilari . ❚ 0 < (B-A) < 2^31 ise A , B’den kucuktur.

❚ Hizli networklerde problem var!

Page 29: Transmission Control Protocol - İYTEweb.iyte.edu.tr/~tolgaayav/courses/ceng312/tcp.pdf · Ordering data Sequence number: 32 bit 0 - 4,294,967,295 Daha sonra tekrar basa doner A,

Using timestamp for ordering data

Period: 24 days

Page 30: Transmission Control Protocol - İYTEweb.iyte.edu.tr/~tolgaayav/courses/ceng312/tcp.pdf · Ordering data Sequence number: 32 bit 0 - 4,294,967,295 Daha sonra tekrar basa doner A,

Flow control

Page 31: Transmission Control Protocol - İYTEweb.iyte.edu.tr/~tolgaayav/courses/ceng312/tcp.pdf · Ordering data Sequence number: 32 bit 0 - 4,294,967,295 Daha sonra tekrar basa doner A,

Variables held in TCP

sender

Receiver

Page 32: Transmission Control Protocol - İYTEweb.iyte.edu.tr/~tolgaayav/courses/ceng312/tcp.pdf · Ordering data Sequence number: 32 bit 0 - 4,294,967,295 Daha sonra tekrar basa doner A,

Tests

Page 33: Transmission Control Protocol - İYTEweb.iyte.edu.tr/~tolgaayav/courses/ceng312/tcp.pdf · Ordering data Sequence number: 32 bit 0 - 4,294,967,295 Daha sonra tekrar basa doner A,

Closing connections

Page 34: Transmission Control Protocol - İYTEweb.iyte.edu.tr/~tolgaayav/courses/ceng312/tcp.pdf · Ordering data Sequence number: 32 bit 0 - 4,294,967,295 Daha sonra tekrar basa doner A,

Implementation and problems

❚ Path MTU Discovery❚ Out-of-order buffering❚ Zero window probes❚ …


Recommended