北理工 通信网络基础大作业
交付;重建比特RST,当RST=1时,表明出现严重错误,必须释放连接,然后重新建立运输连接;同步比特SYN,当SYN=1而ACK=0时,表明这是一个连接请求报文段,若对方同意建立连接,则应在发回的报文段中使SYN=1且ACK=1;终止比特FIN,当FIN=1时,表明发送的字节串已经发送完毕,并要求释放运输连接。
。窗口 占两字节,是报文段发送方的接受窗口,单位为字节。 。检验和
占两字节,检验的范围包括首部和数据两部分,在计算检验和时,首先要在TCP报文段的前面加上一个12字节的伪首部,然后接收端在计算检验和时仍然要加上伪首部。
。选项
长度可变。TCP的规定一种选项即最长报文段MSS用于告诉对方的TCP:本地的缓冲区所能接收的报文段的最大长度。
。填充
不定长,填充的内容必须为0,它是为了保证包头的结合和数据的开始 处偏移量能够被32整除;
5.4 差错控制
TCP不是按传送的报文段来编号。TCP将所要传送的整个报文看成一个个字节组成的数据流,然后对每一个字节编一个序号。在连接建立时双方要商定初始序号。TCP就将每一次传送的报文段中的第一个数据字节的序号,放在TCP首部的序号字段中。TCP的确认是对收到的数据的最高序号表示确认。但返回的确认序号是以收到的数据的最高序号加1。也就是说确认序号表示希望下一次收到的第一个数据字节的序号。
若发送方在规定的设置时间内没有收到确认,又要将未被确认的报文段重新发送。接受方若收到有差错的报文段,则丢弃此报文段(不发送否认息)。
若收到重复的报文段,也要将其丢弃,但要发送确认信息。若收到的报文段无差错,只是未按序号,那么应该如何处理?TCP对此未做明确规定,而是让TCP的实现者来自行确定。或者将不按序的报文段丢弃,或者先将其暂存于