信道利用率用如下公式计算:
为提高传输效率,发送方可以不使用低效率的停止等待协议,而是采用流水线传输:
流水线传输需要使用连续ARQ协议和滑动窗口协议
B 连续ARQ协议
连续ARQ协议规定:
发送方每收到一个确认,就把发送窗口向前滑动一个分组的位置
累计确认方式:接收方在收到几个分组后,对按序到达的最后一个分组进行确认,表明所有分组都已经收到
优点:容易实现 缺点:线路不好会加剧拥堵
5 TCP报文段的首部格式
TCP报文段首部前20个字节是固定的,后面4n个字节根据需要增加
A 固定部分各字段含义如下:
①源端口和目的端口,各占2字节,与UDP相似,TCP的分用功能也是端口实现
②序号,占4字节,计满2的32次方后回到0重新计,也称报文段序号,指本报文段所发送的数据的第一个字节的序号
③确认号,占4字节,期望收到对方下一个报文段的第一个数据字节的序号
④数据偏移,占4位,指首部长度,以4字节为一个单位,因此最小为5(固定长度),最大是15(表明TCP首部最大长度,即选项长度不超过40字节)
⑤保留,占6位,目前全为0
⑥六个控制位,占6位:
1)紧急URG(urgent),URG=1时表明紧急字段有效,文段中有紧急数据,应该尽快传输,于是发送发TCP把该紧急数据放到本报文段数据的最前面,普通数据往后挪,同时配合固定首部最后2字节的紧急指针使用
2)确认ACK(acknowledge),ACK=1时确认号字段才有效,否则无效,TCP规定,建立连接后所有传送的报文段都必须把ACK置为1
3)推送PSH(push),应用程序希望尽快响应,发送方TCP将PSH置为1,并立即创建一个报文段发送出去,接收方TCP收到PSH=1的报文段,就立即上交给应用程序,不等填满再上传
4)复位RST(reset),RST=1时表明TCP连接出现严重差错,必须释放连接,然后重新建立连接。也可以用于拒绝非法报文段或拒绝打开连接
5)同步SYN(synchronization),用在建立连接时同步序号。
a.当SYN=1且ACK=0时表明请求连接
b.若同意建立连接,在响应请求时使SYN=1且ACK=1
6)终止FIN(finish),用来释放连接,FIN=1时表明此报文段的发送方数据已发送完毕,并且要求释放连接
⑦窗口,占2字节,指发送本报文一方的接收窗口大小,明确指出现在允许对方发送的数据量,窗口经常在动态变化
⑧检验和,占2字节,检验范围包括首部和数据两部分,计算时需要在TCP报文段前面加上12字节的伪首部,TCP伪首部与UDP伪首部相似,但要把UDP伪首部第四个字段的17改为6(TCP协议号是6),第五字段的UDP长度改为TCP长度
⑨紧急指针,占2字节,仅在URG=1时有效,指出本报文段中紧急数据的字节数
值得注意的是,即使窗口为0也可发送紧急数据
B 可变长度部分
选项,长度可变,最长可达40字节,没有选项时TCP首部长度为20字节
填充,为了使整个TCP首部长度是4字节的整数倍