TCP传输控制协议(初步简单介绍一下,后结针对各部分详细陈述)
1、ARQ(automatic repeatable request)和重传
涉及定时器(RTO)、***、ACK报文
2、分组窗口和滑动窗口
发送窗口结构如下图:
接收窗口结构如下图:
3、变量窗口大小由流量控制和拥塞控制决定
流量控制:是针对收发方的窗口大小或针对发送方的发送速率
拥塞控制:是针对网络链路的路由节点。(在发送方和接收方之间可能会有有限内存的路由器,它们与低速网络链路抗争着。当这种情况出现时,发送方的速率可能超过某个路由器的能力,从而导致丢包。这由一种特殊的称为拥塞控制的流量控制形式来处理)。
4、设置重传超时
利用发端发报文、处理报文、收端再发ACK报文、ACK传递时间、发端收到ACK的处理时间来估算RTT,从而通过相关算法来设置RTO。
5、TCP的可靠性保证措施
以上所提及的1、2、3、4等技术及其特定的变种来保证TCP连接的可靠性。
6、TCP头部和封装
tcp在ip数据报中的封装见下图:
tcp头部结构见下图:
报文的类型由类型字段决定(占用一位):
1、CWR——拥塞窗口减(发送方降低它的的发送速率)(图中没有写出来)
2、ECE——ECN回显(发送方接收到了一个更早的拥塞通告)(图中没有写出来)
3、URG——紧急报文(紧急指针字段有效)
4、ACK——确认报文(确认号字段有效——连接建立以后一般都是启用状态,因为ACK一般都会捎带应答)
5、PSK——推送(通地P标志置位,告知接收方,我的缓存为空啦,请接收方速发信息)
6、RST——重置连接(连接取消,一般是由于没有建立连接或连接异常时,接到对端的报文后,然后发RST报文告知对方不认识你)
7、SYN——用于初始化一个连接的同步***
8、FIN——该报文段的发送方已结束向对方发送数据(即向对端说明,我要关闭写操作,不再发数据给你)