TCP及UDP首部各个字段( 二 )


确认ACK:确认报文段,仅当ACK=1时确认号字段才有效 。当ACK=0时,确认号无效 。
推送PSH:当两个应用进程进行交互式的通信时,有时在一端的应用进程希望在键入一个命令后立即就能够收到对方响应 。在这种情况下,TCP可以使用PSUH(推送操作) 。这时,发送方TCP把PSH置1,并立即创建一个报文段发送出去 。接收方TCP收到PSH=1的报文段,就尽快(推送)交付给接收应用进程,而不在等整个缓存都填满了再向上交付 。
复位RST:当RST=1时,表明TCP连接出现了严重差错,必须释放连接,然后重新建立新运输连接 。**RST=1还可以用来拒接一个非法报文段或拒绝打开一个连接 。
同步SYN:在建立连接时用来同步序号 。当SYN=1,ACK=0时,表明这是一个连接请求报文段;对方若同意连接,则应在相应的报文段中使SYN=1,ACK=1 。因此SYN置1就表示这是一个连接请求或连接接受报文段 。
终止FIN:用来释放一个连接,当FIN=1时,表明此报文段的发送方数据已经发送完毕,并要求释放运输连接 。
9.16位窗口大小:流量管控,窗口值是[0~216-1]之间的整数 。窗口值告诉了对方,从本报文段的确认号算起,允许对方发送的数据量 。
心跳包机制:
10.16位校验和:CRC循环冗余检测算法
11.16位紧急指针:TCP的紧急指针是发送端向接收端发送紧急数据的方法 。紧急指针是一个正的偏移量 。它和序号字段的值相加表示最后一个紧急数据的下一字节的序号 。这个字段是紧急指针相对当前序号的偏移,不妨称之为紧急偏移 。
12.选项部分:长度可变,最小0字节,最长达40字节 。当没有使用选项部分时,TCP的首部为20字节 。
MTU限制:以太网为例1500字节,IP头部20个字节,TCP头部和数据加起来共1480个字节,又因为TCP头部20个字节,所以它所能携带的上层数据为1460个字节 。
UDP概念:
UDP提供一种无连接的、不可靠的、数据报服务 。
无连接:发送数据之前不需要建立连接,因此减少了开销和发送数据之前的时延 。
不可靠:尽最大努力交付,不保证能到达对端
数据报服务:UDP对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界 。
UDP的首部:
首部字段很简单,只有8个字节,由4个字段组成,每个字段的长度都是2个字节 。
UDP报头结构:携带数据大小长度 - 8
1.源端口号:在需要对方回信时选用,不需要时可全用0
2.目的端口号:在终点交付时使用
3.长度:UDP用户数据报的长度,最小值是8
4.检验和:检测UDP用户数据报在传输中是否有错,有错就丢弃
TCP与UDP区别具体请查看:TCP与UDP的区别