Chap 12 tcp

sparshsamir 6,480 views 115 slides Aug 30, 2014
Slide 1
Slide 1 of 115
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37
Slide 38
38
Slide 39
39
Slide 40
40
Slide 41
41
Slide 42
42
Slide 43
43
Slide 44
44
Slide 45
45
Slide 46
46
Slide 47
47
Slide 48
48
Slide 49
49
Slide 50
50
Slide 51
51
Slide 52
52
Slide 53
53
Slide 54
54
Slide 55
55
Slide 56
56
Slide 57
57
Slide 58
58
Slide 59
59
Slide 60
60
Slide 61
61
Slide 62
62
Slide 63
63
Slide 64
64
Slide 65
65
Slide 66
66
Slide 67
67
Slide 68
68
Slide 69
69
Slide 70
70
Slide 71
71
Slide 72
72
Slide 73
73
Slide 74
74
Slide 75
75
Slide 76
76
Slide 77
77
Slide 78
78
Slide 79
79
Slide 80
80
Slide 81
81
Slide 82
82
Slide 83
83
Slide 84
84
Slide 85
85
Slide 86
86
Slide 87
87
Slide 88
88
Slide 89
89
Slide 90
90
Slide 91
91
Slide 92
92
Slide 93
93
Slide 94
94
Slide 95
95
Slide 96
96
Slide 97
97
Slide 98
98
Slide 99
99
Slide 100
100
Slide 101
101
Slide 102
102
Slide 103
103
Slide 104
104
Slide 105
105
Slide 106
106
Slide 107
107
Slide 108
108
Slide 109
109
Slide 110
110
Slide 111
111
Slide 112
112
Slide 113
113
Slide 114
114
Slide 115
115

About This Presentation

tcp/ip


Slide Content

TCP/IP Protocol Suite 1
Chapter 12
Upon completion you will be able to:
Transmission
Control Protocol
•Be able to name and understand the services offered by TCP
•Understand TCP’s flow and error control and congestion control
•Be familiar with the fields in a TCP segment
•Understand the phases in a connection-oriented connection
•Understand the TCP transition state diagram
•Be able to name and understand the timers used in TCP
•Be familiar with the TCP options
Objectives

TCP/IP Protocol Suite 2
Figure 12.1TCP/IP protocol suite

TCP/IP Protocol Suite 3
12.1 TCP SERVICES
WeexplaintheservicesofferedbyTCPtotheprocessesattheapplication
layer.
The topics discussed in this section include:
Process-to-Process Communication
Stream Delivery Service
Full-Duplex Communication
Connection-Oriented Service
Reliable Service

TCP/IP Protocol Suite 4
Table 12.1 Well-known ports used by TCP

TCP/IP Protocol Suite 5
AswesaidinChapter11,inUNIX,thewell-knownportsare
storedinafilecalled/etc/services.Eachlineinthisfilegives
thenameoftheserverandthewell-knownportnumber.We
canusethegreputilitytoextractthelinecorrespondingtothe
desiredapplication.ThefollowingshowstheportsforFTP.
Example1
$grepftp/etc/services
ftp-data 20/tcp
ftp-control 21/tcp

TCP/IP Protocol Suite 6
Figure 12.2Stream delivery

TCP/IP Protocol Suite 7
Figure 12.3Sending and receiving buffers

TCP/IP Protocol Suite 8
Figure 12.4TCP segments

TCP/IP Protocol Suite 9
12.2 TCP FEATURES
Toprovidetheservicesmentionedintheprevioussection,TCPhas
severalfeaturesthatarebrieflysummarizedinthissection.
The topics discussed in this section include:
Numbering System
Flow Control
Error Control
Congestion Control

TCP/IP Protocol Suite 10
The bytes of data being transferred in
each connection are numbered by TCP.
The numbering starts with a randomly
generated number.
Note:

TCP/IP Protocol Suite 11
SupposeaTCPconnectionistransferringafileof5000bytes.
Thefirstbyteisnumbered10001.Whatarethesequence
numbersforeachsegmentifdataissentinfivesegments,each
carrying1000bytes?
Example2
Solution
Thefollowingshowsthesequencenumberforeachsegment:
Segment1➡SequenceNumber:10,001(range:10,001to11,000)
Segment2➡SequenceNumber:11,001(range:11,001to12,000)
Segment3➡SequenceNumber:12,001(range:12,001to13,000)
Segment4➡SequenceNumber:13,001(range:13,001to14,000)
Segment5➡SequenceNumber:14,001(range:14,001to15,000)

TCP/IP Protocol Suite 12
The value in the sequence number
field of a segment defines the number
of the first data byte contained
in that segment.
Note:

TCP/IP Protocol Suite 13
The value of the acknowledgment field
in a segment defines the number of the
next byte a party expects to receive.
The acknowledgment number is
cumulative.
Note:

TCP/IP Protocol Suite 14
12.3 SEGMENT
ApacketinTCPiscalledasegment
The topics discussed in this section include:
Format
Encapsulation

TCP/IP Protocol Suite 15
Figure 12.5TCP segment format

TCP/IP Protocol Suite 16
Figure 12.6Control field

TCP/IP Protocol Suite 17
I
Table 12.2 Description of flags in the control field

TCP/IP Protocol Suite 18
Figure 12.7Pseudoheader added to the TCP datagram

TCP/IP Protocol Suite 19
The inclusion of the checksum in TCP
is mandatory.
Note:

TCP/IP Protocol Suite 20
Figure 12.8Encapsulation and decapsulation

TCP/IP Protocol Suite 21
12.4 A TCP CONNECTION
TCPisconnection-oriented.Aconnection-orientedtransportprotocol
establishesavirtualpathbetweenthesourceanddestination.Allofthe
segmentsbelongingtoamessagearethensentoverthisvirtualpath.A
connection-orientedtransmissionrequiresthreephases:connection
establishment,datatransfer,andconnectiontermination.
The topics discussed in this section include:
Connection Establishment
Data Transfer
Connection Termination
Connection Reset

TCP/IP Protocol Suite 22
Figure 12.9Connection establishment using three-way handshaking

TCP/IP Protocol Suite 23
A SYN segment cannot carry data, but
it consumes one sequence number.
Note:

TCP/IP Protocol Suite 24
A SYN + ACK segment cannot carry
data, but does consume one
sequence number.
Note:

TCP/IP Protocol Suite 25
An ACK segment, if carrying no data,
consumes no sequence number.
Note:

TCP/IP Protocol Suite 26
Figure 12.10Data transfer

TCP/IP Protocol Suite 27
The FIN segment consumes one
sequence number if it does not carry
data.
Note:

TCP/IP Protocol Suite 28
Figure 12.11Connection termination using three-way handshaking

TCP/IP Protocol Suite 29
The FIN + ACK segment consumes
one sequence number if it does not
carry data.
Note:

TCP/IP Protocol Suite 30
Figure 12.12Half-close

TCP/IP Protocol Suite 31
12.5 STATE TRANSITION DIAGRAM
Tokeeptrackofallthedifferenteventshappeningduringconnection
establishment,connectiontermination,anddatatransfer,theTCP
softwareisimplementedasafinitestatemachine..
The topics discussed in this section include:
Scenarios

TCP/IP Protocol Suite 32
Table 12.3 States for TCP

TCP/IP Protocol Suite 33
Figure 12.13State transition diagram

TCP/IP Protocol Suite 34
Figure 12.14Common scenario

TCP/IP Protocol Suite 35
The common value for MSL is
between 30 seconds and 1 minute.
Note:

TCP/IP Protocol Suite 36
Figure 12.15Three-way handshake

TCP/IP Protocol Suite 37
Figure 12.16Simultaneous open

TCP/IP Protocol Suite 38
Figure 12.17Simultaneous close

TCP/IP Protocol Suite 39
Figure 12.18Denying a connection

TCP/IP Protocol Suite 40
Figure 12.19Aborting a connection

TCP/IP Protocol Suite 41
12.6 FLOW CONTROL
Flowcontrolregulatestheamountofdataasourcecansendbefore
receivinganacknowledgmentfromthedestination.TCPdefinesa
windowthatisimposedonthebufferofdatadeliveredfromthe
applicationprogram.
The topics discussed in this section include:
Sliding Window Protocol
Silly Window Syndrome

TCP/IP Protocol Suite 42
Figure 12.20Sliding window

TCP/IP Protocol Suite 43
A sliding window is used to make
transmission more efficient as well as
to control the flow of data so that the
destination does not become
overwhelmed with data.
TCP’s sliding windows are byte
oriented.
Note:

TCP/IP Protocol Suite 44
Whatisthevalueofthereceiverwindow(rwnd)forhostAif
thereceiver,hostB,hasabuffersizeof5,000bytesand1,000
bytesofreceivedandunprocesseddata?
Example3
Solution
Thevalueofrwnd=5,000−1,000=4,000.HostBcanreceive
only4,000bytesofdatabeforeoverflowingitsbuffer.HostB
advertisesthisvalueinitsnextsegmenttoA.

TCP/IP Protocol Suite 45
WhatisthesizeofthewindowforhostAifthevalueofrwndis
3,000bytesandthevalueofcwndis3,500bytes?
Example4
Solution
Thesizeofthewindowisthesmallerofrwndandcwnd,which
is3,000bytes.

TCP/IP Protocol Suite 46
Figure12.21showsanunrealisticexampleofasliding
window.Thesenderhassentbytesupto202.Weassumethat
cwndis20(inrealitythisvalueisthousandsofbytes).The
receiverhassentanacknowledgmentnumberof200withan
rwndof9bytes(inrealitythisvalueisthousandsofbytes).The
sizeofthesenderwindowistheminimumofrwndandcwndor
9bytes.Bytes200to202aresent,butnotacknowledged.Bytes
203to208canbesentwithoutworryingabout
acknowledgment.Bytes209andabovecannotbesent.
Example5

TCP/IP Protocol Suite 47
Figure 12.21Example 5

TCP/IP Protocol Suite 48
InFigure12.21theserverreceivesapacketwithan
acknowledgmentvalueof202andanrwndof9.Thehosthas
alreadysentbytes203,204,and205.Thevalueofcwndisstill
20.Showthenewwindow.
Example6
Solution
Figure12.22showsthenewwindow.Notethatthisisacasein
whichthewindowclosesfromtheleftandopensfromtheright
byanequalnumberofbytes;thesizeofthewindowhasnot
beenchanged.Theacknowledgmentvalue,202,declaresthat
bytes200and201havebeenreceivedandthesenderneedsnot
worryaboutthem;thewindowcanslideoverthem.

TCP/IP Protocol Suite 49
Figure 12.22Example 6

TCP/IP Protocol Suite 50
InFigure12.22thesenderreceivesapacketwithan
acknowledgmentvalueof206andanrwndof12.Thehosthas
notsentanynewbytes.Thevalueofcwndisstill20.Showthe
newwindow.
Example7
Solution
Thevalueofrwndislessthancwnd,sothesizeofthewindow
is12.Figure12.23showsthenewwindow.Notethatthe
windowhasbeenopenedfromtherightby7andclosedfrom
theleftby4;thesizeofthewindowhasincreased.

TCP/IP Protocol Suite 51
Figure 12.23Example 7

TCP/IP Protocol Suite 52
InFigure12.23thehostreceivesapacketwithan
acknowledgmentvalueof210andanrwndof5.Thehosthas
sentbytes206,207,208,and209.Thevalueofcwndisstill20.
Showthenewwindow.
Example8
Solution
Thevalueofrwndislessthancwnd,sothesizeofthewindow
is5.Figure12.24showsthesituation.Notethatthisisacase
notallowedbymostimplementations.Althoughthesenderhas
notsentbytes215to217,thereceiverdoesnotknowthis.

TCP/IP Protocol Suite 53
Figure 12.24Example 8

TCP/IP Protocol Suite 54
Howcanthereceiveravoidshrinkingthewindowinthe
previousexample?
Example9
Solution
Thereceiverneedstokeeptrackofthelastacknowledgment
numberandthelastrwnd.Ifweaddtheacknowledgment
numbertorwndwegetthebytenumberfollowingtheright
wall.Ifwewanttopreventtherightwallfrommovingtothe
left(shrinking),wemustalwayshavethefollowing
relationship.
new ack + new rwnd ≥ last ack + last rwnd
or
new rwnd ≥ (last ack + last rwnd) − new ack

TCP/IP Protocol Suite 55
To avoid shrinking the sender window,
the receiver must wait until more
space is available in its buffer.
Note:

TCP/IP Protocol Suite 56
Some points about TCP’s sliding windows:
❏The size of the window is the lesser of rwndand cwnd.
❏The source does not have to send a full window’s
worth of data.
❏The window can be opened or closed by the receiver,
but should not be shrunk.
❏The destination can send an acknowledgment at any
time as long as it does not result in a shrinking window.
❏The receiver can temporarily shut down the window;
the sender, however, can always send a segment of one
byte after the window is shut down.
Note:

TCP/IP Protocol Suite 57
12.7 ERROR CONTROL
TCPprovidesreliabilityusingerrorcontrol,whichdetectscorrupted,
lost,out-of-order,andduplicatedsegments.ErrorcontrolinTCPis
achievedthroughtheuseofthechecksum,acknowledgment,andtime-
out.
The topics discussed in this section include:
Checksum
Acknowledgment
Acknowledgment Type
Retransmission
Out-of-Order Segments
Some Scenarios

TCP/IP Protocol Suite 58
ACK segments do not consume
sequence numbers and are not
acknowledged.
Note:

TCP/IP Protocol Suite 59
In modern implementations, a
retransmission occurs if the
retransmission timer expires or three
duplicate ACK segments have arrived.
Note:

TCP/IP Protocol Suite 60
No retransmission timer is set for an
ACK segment.
Note:

TCP/IP Protocol Suite 61
Data may arrive out of order and be
temporarily stored by the receiving TCP,
but TCP guarantees that no out-of-order
segment is delivered to the process.
Note:

TCP/IP Protocol Suite 62
Figure 12.25Normal operation

TCP/IP Protocol Suite 63
Figure 12.26Lost segment

TCP/IP Protocol Suite 64
The receiver TCP delivers only
ordered data to the process.
Note:

TCP/IP Protocol Suite 65
Figure 12.27Fast retransmission

TCP/IP Protocol Suite 66
Figure 12.28Lost acknowledgment

TCP/IP Protocol Suite 67
Figure 12.29Lost acknowledgment corrected by resending a segment

TCP/IP Protocol Suite 68
Lost acknowledgments may create
deadlock if they are not properly
handled.
Note:

TCP/IP Protocol Suite 69
12.8 CONGESTION CONTROL
Congestioncontrolreferstothemechanismsandtechniquestokeepthe
loadbelowthecapacity.
The topics discussed in this section include:
Network Performance
Congestion Control Mechanisms
Congestion Control in TCP

TCP/IP Protocol Suite 70
Figure 12.30Router queues

TCP/IP Protocol Suite 71
Figure 12.31Packet delay and network load

TCP/IP Protocol Suite 72
Figure 12.32Throughput versus network load

TCP/IP Protocol Suite 73
Figure 12.33Slow start, exponential increase

TCP/IP Protocol Suite 74
In the slow start algorithm, the size of
the congestion window increases
exponentially until it reaches a
threshold.
Note:

TCP/IP Protocol Suite 75
Figure 12.34Congestion avoidance, additive increase

TCP/IP Protocol Suite 76
In the congestion avoidance algorithm
the size of the congestion window
increases additively until
congestion is detected.
Note:

TCP/IP Protocol Suite 77
Most implementations react differently to
congestion detection:
❏If detection is by time-out, a new slow start phase
starts.
❏If detection is by three ACKs, a new congestion
avoidance phase starts.
Note:

TCP/IP Protocol Suite 78
Figure 12.35TCP congestion policy summary

TCP/IP Protocol Suite 79
Figure 12.36Congestion example

TCP/IP Protocol Suite 80
12.9 TCP TIMERS
Toperformitsoperationsmoothly,mostTCPimplementationsuseat
leastfourtimers.
The topics discussed in this section include:
Retransmission Timer
Persistence Timer
Keepalive Timer
TIME-WAIT Timer

TCP/IP Protocol Suite 81
Figure 12.37TCP timers

TCP/IP Protocol Suite 82
In TCP, there can be only be one RTT
measurement in progress at any time.
Note:

TCP/IP Protocol Suite 83
Letusgiveahypotheticalexample.Figure12.38showspartof
aconnection.Thefigureshowstheconnectionestablishment
andpartofthedatatransferphases.
Example10
1.WhentheSYNsegmentissent,thereisnovalueforRTT
M,RTT
S,or
RTT
D.ThevalueofRTOissetto6.00seconds.Thefollowingshowsthe
valueofthesevariablesatthismoment:
RTT
M=1.5 RTT
S=1.5
RTT
D=1.5/2=0.75 RTO=1.5+4.0.75=4.5
2.WhentheSYN+ACKsegmentarrives,RTT
Mismeasuredandisequalto
1.5seconds.Thenextslideshowsthevaluesofthesevariables:

TCP/IP Protocol Suite 84
Example10 (continued)
RTT
M= 1.5 RTT
S= 1.5
RTT
D= 1.5 / 2 = 0.75 RTO = 1.5 + 4 . 0.75 = 4.5
3.Whenthefirstdatasegmentissent,anewRTTmeasurement
starts.NotethatthesenderdoesnotstartanRTTmeasurement
whenitsendstheACKsegment,becauseitdoesnotconsumea
sequencenumberandthereisnotime-out.NoRTT
measurementstartsfortheseconddatasegmentbecausea
measurementisalreadyinprogress.
RTT
M= 2.5
RTT
S= 7/8 (1.5) + 1/8 (2.5) = 1.625
RTT
D= 3/4 (7.5) + 1/4 |1.625 − 2.5| = 0.78
RTO = 1.625 + 4 (0.78) = 4.74

TCP/IP Protocol Suite 85
Figure 12.38Example 10

TCP/IP Protocol Suite 86
TCP does not consider the RTT of a
retransmitted segment in its
calculation of a new RTO.
Note:

TCP/IP Protocol Suite 87
Figure12.39isacontinuationofthepreviousexample.There
isretransmissionandKarn’salgorithmisapplied.Thefirst
segmentinthefigureissent,butlost.TheRTOtimerexpires
after4.74seconds.Thesegmentisretransmittedandthetimer
issetto9.48,twicethepreviousvalueofRTO.Thistimean
ACKisreceivedbeforethetime-out.Wewaituntilwesenda
newsegmentandreceivetheACKforitbeforerecalculating
theRTO(Karn’salgorithm).
Example11

TCP/IP Protocol Suite 88
Figure 12.39Example 11

TCP/IP Protocol Suite 89
12.10 OPTIONS
TheTCPheadercanhaveupto40bytesofoptionalinformation.
Optionsconveyadditionalinformationtothedestinationoralignother
options.

TCP/IP Protocol Suite 90
Figure 12.40Options

TCP/IP Protocol Suite 91
Figure 12.41End-of-option option

TCP/IP Protocol Suite 92
EOP can be used only once.
Note:

TCP/IP Protocol Suite 93
Figure 12.42No-operation option

TCP/IP Protocol Suite 94
NOP can be used more than once.
Note:

TCP/IP Protocol Suite 95
Figure 12.43Maximum-segment-size option

TCP/IP Protocol Suite 96
The value of MSS is determined
during connection establishment and
does not change during the
connection.
Note:

TCP/IP Protocol Suite 97
Figure 12.44Window-scale-factor option

TCP/IP Protocol Suite 98
The value of the window scale factor
can be determined only during
connection establishment; it does not
change during the connection.
Note:

TCP/IP Protocol Suite 99
Figure 12.45Timestamp option

TCP/IP Protocol Suite 100
One application of the timestamp
option is the calculation of round trip
time (RTT).
Note:

TCP/IP Protocol Suite 101
Figure12.46showsanexamplethatcalculatestheround-trip
timeforoneend.Everythingmustbeflippedifwewantto
calculatetheRTTfortheotherend.
Example12
Thesendersimplyinsertsthevalueoftheclock(forexample,
thenumberofsecondspastfrommidnight)inthetimestamp
fieldforthefirstandsecondsegment.Whenan
acknowledgmentcomes(thethirdsegment),thevalueofthe
clockischeckedandthevalueoftheechoreplyfieldis
subtractedfromthecurrenttime.RTTis12sinthisscenario.

TCP/IP Protocol Suite 102
Thereceiver’sfunctionismoreinvolved.Itkeepstrackofthe
lastacknowledgmentsent(12000).Whenthefirstsegment
arrives,itcontainsthebytes12000to12099.Thefirstbyteis
thesameasthevalueoflastack.Itthencopiesthetimestamp
value(4720)intothetsrecentvariable.Thevalueoflastackis
still12000(nonewacknowledgmenthasbeensent).Whenthe
secondsegmentarrives,sincenoneofthebytenumbersinthis
segmentincludethevalueoflastack,thevalueofthe
timestampfieldisignored.Whenthereceiverdecidestosend
anaccumulativeacknowledgmentwithacknowledgment
12200,itchangesthevalueoflastackto12200andinsertsthe
valueoftsrecentintheechoreplyfield.Thevalueoftsrecent
willnotchangeuntilitisreplacedbyanewsegmentthat
carriesbyte12200(nextsegment).
Example12 (Continued)

TCP/IP Protocol Suite 103
Notethatastheexampleshows,theRTTcalculatedisthetime
differencebetweensendingthefirstsegmentandreceivingthe
thirdsegment.ThisisactuallythemeaningofRTT:thetime
differencebetweenapacketsentandtheacknowledgment
received.Thethirdsegmentcarriestheacknowledgmentfor
thefirstandsecondsegments.
Example12 (Continued)

TCP/IP Protocol Suite 104
Figure 12.46Example 12

TCP/IP Protocol Suite 105
The timestamp option can also be used
for PAWS.
Note:

TCP/IP Protocol Suite 106
Figure 12.47SACK

TCP/IP Protocol Suite 107
LetusseehowtheSACKoptionisusedtolistout-of-orderblocks.In
Figure12.48anendhasreceivedfivesegmentsofdata.
Example13
Thefirstandsecondsegmentsareinconsecutiveorder.Anaccumulative
acknowledgmentcanbesenttoreportthereceptionofthesetwosegments.
Segments3,4,and5,however,areoutoforderwithagapbetweenthe
secondandthirdandagapbetweenthefourthandthefifth.AnACKanda
SACKtogethercaneasilyclearthesituationforthesender.Thevalueof
ACKis2001,whichmeansthatthesenderneednotworryaboutbytes1to
2000.TheSACKhastwoblocks.Thefirstblockannouncesthatbytes4001
to6000havearrivedoutoforder.Thesecondblockshowsthatbytes8001to
9000havealsoarrivedoutoforder.Thismeansthatbytes2001to4000and
bytes6001to8000arelostordiscarded.Thesendercanresendonlythese
bytes.

TCP/IP Protocol Suite 108
Figure 12.48Example 13

TCP/IP Protocol Suite 109
TheexampleinFigure12.49showshowaduplicatesegment
canbedetectedwithacombinationofACKandSACK.Inthis
case,wehavesomeout-of-ordersegments(inoneblock)and
oneduplicatesegment.Toshowbothout-of-orderand
duplicatedata,SACKusesthefirstblock,inthiscase,toshow
theduplicatedataandotherblockstoshowout-of-orderdata.
Notethatonlythefirstblockcanbeusedforduplicatedata.
Thenaturalquestionishowthesender,whenitreceivesthese
ACKandSACKvaluesknowsthatthefirstblockisfor
duplicatedata(comparethisexamplewiththeprevious
example).Theansweristhatthebytesinthefirstblockare
alreadyacknowledgedintheACKfield;therefore,thisblock
mustbeaduplicate.
Example14

TCP/IP Protocol Suite 110
Figure 12.49Example 14

TCP/IP Protocol Suite 111
TheexampleinFigure12.50showswhathappensifoneofthe
segmentsintheout-of-ordersectionisalsoduplicated.Inthis
example,oneofthesegments(4001:5000)isduplicated.The
SACKoptionannouncesthisduplicatedatafirstandthenthe
out-of-orderblock.Thistime,however,theduplicatedblockis
notyetacknowledgedbyACK,butbecauseitispartoftheout-
of-orderblock(4001:5000ispartof4001:6000),itis
understoodbythesenderthatitdefinestheduplicatedata.
Example15

TCP/IP Protocol Suite 112
Figure 12.50Example 15

TCP/IP Protocol Suite 113
12.11 TCP PACKAGE
Wepresentasimplified,bare-bonesTCPpackagetosimulatetheheartof
TCP.Thepackageinvolvestablescalledtransmissioncontrolblocks,a
setoftimers,andthreesoftwaremodules.
The topics discussed in this section include:
Transmission Control Blocks (TCBs)
Timers
Main Module
Input Processing Module
Output Processing Module

TCP/IP Protocol Suite 114
Figure 12.51TCP package

TCP/IP Protocol Suite 115
Figure 12.52TCBs
Tags