1 / 78
文档名称:

TCPIP协议第八章传输控制协议TCP.ppt

格式:ppt   大小:2,315KB   页数:78页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

TCPIP协议第八章传输控制协议TCP.ppt

上传人:我是药神 2022/6/11 文件大小:2.26 MB

下载得到文件列表

TCPIP协议第八章传输控制协议TCP.ppt

文档介绍

文档介绍:TCPIP协议第八章传输控制协议TCP
TCP的服务

TCP连接提供全双工服务,即数据可在同一时间双向流动,所有TCP连接都是点到点的。

要获得TCP服9001
ack:15001
A
P
DATA
字节:9001~10000
Seq:15001
ack:10001
A
DATA
字节:15001~17000
Seq:10000
ack:17001
A
rwnd:10000


A:ACK标志
P:PSH标志
22
连接终止
参加交换数据的双方中的任何一方(客户
或服务器)都可以关闭连接。当一个方向的连
接被终止时,另外一方还可以继续向对方发送
数据,现今大多数的实现允许在连接终止时有
两个选项:具有半关闭的三次握手和四次握手
23
半关闭的三次握手
客户
服务器
Seq:x
ack:y
F


A:ACK标志
P:PSH标志
Seq:y
ack:x+1
A
F
Seq:x
ack:y+1
A
主动
关闭
被动
关闭
24
seq=2500 ack:-
seq=7000 ack=2501
seq=7001 ack=2501
报文段1:FIN
报文段2:ACK
报文段3:FIN
主机A 主机B
(客户端) (服务器端)
时间
四次握手
seq=2501 ack=7002
报文段4:ACK
25
连接复位
TCP可以请求把一个连接复位。连接复位
表示当前的连接已经被撤销。以下是发生复位
的3种情况:
拒绝连接请求
异常终止连接
终止空闲的连接
26
 TCP的连接管理状态转换
在任何时刻,机器只处于某一种状态,并一直保持这个状态,直到某个事件发生。发生的事件使机器进入一个新的状态,即事件可使机器完成某种操作。状态转换表示一个状态到另一个状态的迁移,包括迁移的条件和迁移的动作。
状态转换图见书上140页
27
8.6 流量控制
TCP采用可变大小的滑动窗口协议进行流量控制。
TCP的滑动窗口是面向字节的。
窗口包括已发送的字节和未被确认的字节,以及可以发送的字节。
接收方窗口是说明接收方还能再接收的字节数。
在TCP报文段首部的窗口大小字段的值就是当前给对方设置的窗口值。
28
滑动窗口协议
使用这种方法时,两个主机为向外通信(发送数据)各使用了一个窗口。
这个窗口覆盖了缓存的一部分,在缓存中的字节是从应用进程传送来的,在这窗口中的字节就是可以发送而不必考虑确认的。
这个想象中的窗口有两个沿:一个在左边,另一个在右边,这个窗口叫做滑动窗口,因为左沿和右沿都可以滑动。
如图所示
29
n-1
n
n+1
...
...
m-1
m
m+1
...
缩回
合拢
滑动窗口
展开
窗口大小=minimum ( rwnd, cwnd )
30
滑动窗口协议(续)
在通信的一端,窗口大小取决于下面两个数中间的较小值:接收窗口(rwnd)和拥塞窗口(cwnd)
接收窗口是由对方发送的包含确认的报文段所给出的值,这是另一端在缓存溢出和数据被丢弃前所能接受的字节数。
拥塞窗口是由网络为避免拥塞而确定的值。
31
滑动窗口协议(续)
例2:如果接收端的缓存大小是5000字节,其中1000字节用于存放收到而未处理的数据。试问发送端的接收窗口值是多少?
例3:如图所示给出了一个滑动窗口的非现实的例子。发送端已经发送了202字节,我们假定cwnd是20字节(现实中,这个数值是几千字节)。接收端已经发送了确认号为200的报文段,其rwnd是9字节。发送窗口值是rwnd和cwnd中的较小的一个,即9字节,字节200到202已经发送出去了,但没有被确认,字节203到字节208可以发送而不必考虑确认,字节209和以上的不能发送
32
199
200
201
...
205
206
209
...
窗口大小=minimum ( 20, 9 )=9
202
203
204
207
208
下一个要发送的字节
已发送
且已确认
在窗口
展开之前
不能被
发送
33
滑动窗口协议(续)
例4:在图中,服务器收到一个分组,其确认号为202而rwnd是9,主机已经发送出字节203、204、205,cwnd值仍是20,试画出新的窗口
答案
34
201
202
203
...
207
208
211
...