第25讲TCP窗口与UNIX通信方法
第25讲 TCP窗口与UNIX通信 方法
5.4.5TCP窗口与流量控制通知窗口的概念·通知窗口(advertisedwindow)是接收端根据接收能力确定的窗口值:·接收端将通知窗口值放在TCP报文头部中发送给发送端:·在数据交互的过程中,接收端可以根据自己的资源情况,随时动态调整对方的发送窗口大小
5.4.5 TCP窗口与流量控制 通知窗口的概念 •通知窗口(advertised window)是接收 端根据接收能力确定的窗口值; •接收端将通知窗口值放在TCP报文头部 中发送给发送端; •在数据交互的过程中,接收端可以根据 自己的资源情况,随时动态调整对方的 发送窗口大小。 1
·如果接收端应用程序读取数据的速度与数据到达的速度一样快,接收端将在每个确认中发送一个非零的窗口通告:·如果发送端发送的速度比接收端要快,由于接收端来不及处理到达到的字节,最终将造成缓冲区被全部占用,等待处理。这时,接收端只能发出一个“零窗口"的通告;·当发送端接收到一个“零窗口”通告时,必须停止发送,直到接收端重新通告一个非零窗口
•如果接收端应用程序读取数据的速度与数据到 达的速度一样快,接收端将在每个确认中发送 一个非零的窗口通告; •如果发送端发送的速度比接收端要快,由于接 收端来不及处理到达到的字节,最终将造成缓 冲区被全部占用,等待处理。这时,接收端只 能发出一个“零窗口”的通告; •当发送端接收到一个“零窗口”通告时,必须停 止发送,直到接收端重新通告一个非零窗口。 1
TCP利用窗口进行流量控制的过程发送端接收端通知窗口=2400发送数据1~1000发送数据1001~2000确认1000,窗口=1400发送数据2001~2400确认2000,窗口-400收到1000确认确认2400,窗口-0收到2000确认应用程序读出2000字节收到2400确认确认2400,窗口-2000发送数据24013400发送数据3401~4400确认3400,窗口=1000确认4400,窗口=0应用程序读出2000字节收到3400确认确认4400,窗口-2000收到4400确认Nt1
TCP利用窗口进行流量控制的过程 1
坚持计时器·假定接收端的TCP通告窗口大小为零。发送方的TCP就停止传送报文,直到接收端的TCP发送确认并通告一个非零的窗口大小,这个确认可能会丢失。对方的TCP都在永远地等待着对方,这就可能出现了死锁;·为了防止死锁,TCP为每个连接使用一个坚持计时器:·当发送方的TCP收到一个窗口大小为零的确认时,就需要启动坚持计时器;·当坚持计时器期限到时,发送方的TCP就发送一个特殊的报文,称为探测报文;·探测报文提醒接收端的TCP:确认已丢失,必须重传:·坚持计时器的值设置为重传时间值,这个值增大到门限值通常设定为60秒
坚持计时器 •假定接收端的TCP通告窗口大小为零。发送方的TCP就停 止传送报文,直到接收端的TCP发送确认并通告一个非零 的窗口大小,这个确认可能会丢失。对方的TCP都在永远 地等待着对方,这就可能出现了死锁; •为了防止死锁,TCP为每个连接使用一个坚持计时器; •当发送方的TCP收到一个窗口大小为零的确认时,就需要 启动坚持计时器; •当坚持计时器期限到时,发送方的TCP就发送一个特殊的 报文,称为探测报文; •探测报文提醒接收端的TCP:确认已丢失,必须重传; •坚持计时器的值设置为重传时间值,这个值增大到门限 值通常设定为60秒。 1