TCP协议的一些要点知识
1、发送是双向的,即发送方有发送窗口,接收窗口,拥塞窗口,接收方也有自己的发送窗口,接收窗口,拥塞窗口。
2、有三个窗口的概念,即发送窗口,接收窗口,拥塞窗口。只有接收窗口在数据包格式字段中有定义,里面的值表示可以接收的窗口大小,字节表示。
3、发送窗口、接收窗口概念上不是滑动窗口,滑动窗口是一种协议算法,发送窗口、接收窗口用的就是这种算法。
4、接收窗口总大小是会变化的,接收端根据其目前的接收缓存大小所许诺的最新的窗口值,是来自接收端的流量控制。
5、发送窗口、拥塞窗口是不带在数据包格式字段中,而是根据接收对方返过来的接收窗口值来计算处理的。
6、发生超时重传的话,拥塞窗口就会变小,而发送窗口的值就取拥塞窗口和接收窗口的最小值。
7、发送方自己维护一对seq和ack号,接收方也维护自己的一对seq和ack号,是全双工模式。
8、发送方发出一个数据包中,seq表示这个包发送的第一个字节编号,ack表示它想接收到的下一个数据包第一个字节的编号。
9、seq编号是按1递增的。
10、ack确认可以累加确认。
11、Wireshark软件可以自动诊断出重传包,应答丢失包,接收窗口满等功能,推荐的抓包工具。