计算机网络(第六版)复习提纲25

信道利用率用如下公式计算:

为提高传输效率,发送方可以不使用低效率的停止等待协议,而是采用流水线传输:

流水线传输需要使用连续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字节的整数倍

相关推荐
云飞云共享云桌面24 分钟前
8位机械工程师如何共享一台图形工作站算力?
linux·服务器·网络
音徽编程3 小时前
Rust异步运行时框架tokio保姆级教程
开发语言·网络·rust
长安初雪4 小时前
Request 和 Response 万字详解
计算机网络·servlet
幺零九零零4 小时前
【C++】socket套接字编程
linux·服务器·网络·c++
23zhgjx-NanKon4 小时前
华为eNSP:QinQ
网络·安全·华为
23zhgjx-NanKon4 小时前
华为eNSP:mux-vlan
网络·安全·华为
点点滴滴的记录4 小时前
RPC核心实现原理
网络·网络协议·rpc
Lionhacker5 小时前
网络工程师这个行业可以一直干到退休吗?
网络·数据库·网络安全·黑客·黑客技术
程思扬6 小时前
为什么Uptime+Kuma本地部署与远程使用是网站监控新选择?
linux·服务器·网络·经验分享·后端·网络协议·1024程序员节
ZachOn1y6 小时前
计算机网络:运输层 —— 运输层概述
网络·tcp/ip·计算机网络·运输层