网络

网络

数据链路层,节点间传输数据,数据包通过奇偶校验来校验包是否正确,要传给外界的话,要通过网络层,网络层有路由,Alice把包发给路由,路由再发给路由,再发给Bob所在电脑上。传输层的出错重传机制可以自动重传包,应用层的协议http,ftp,email规定了传输的数据为哪个应用服务。


网络传输:

不可靠:

丢白,重复包、出错(只能重传来解决)、乱序(包不按书序接收)

不安全:中间人攻击、窃取、篡改

 

TCP协议解决传输不安全的方案:滑动窗口协议

在TCP协议中使用,维持发送方/接收方缓冲区

网络

网络

网络

灰色是已发送对方已经Ack的,黄色为已发送,但是对方还没来的急ack的,绿色为马上就要发送的包。

网络

表示在接收方ack4号包的过程中,发送方又发送了8、9号包,ack4号包后,滑动窗口往后移一位,把11号包也加进来。

网络

整个滑动窗口已经发完了,但是5号包还没被ack,很有可能是丢包了。通过超时重传机制来解决。因为要按顺序ack包,所以即使后面的包没有丢,接收方成功接收了,也不会ack掉。

网络

超时重传后,5、6、7、8包一下子被ack了,然后滑动窗口后移。

 

一些关于TCP采用的滑动窗口的说法:

1、用于流量控制和拥塞控制

2、在传输过程中窗口大小可调整

3、窗口的大小为0是合法的