当前位置: 首页 > article >正文

计算机网络(第六版)复习提纲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字节的整数倍


http://www.kler.cn/news/233322.html

相关文章:

  • Windows 远程桌面提示没有远程桌面授权服务器可以提供许可证
  • Unity3D实现项目限制功能(使用次数限制和时间限制)
  • 【C++】引用与内联
  • 【Flink】SQL-CLIENT中出现 Could not find any factory for identifier ‘kafka‘
  • 5 scala的函数式编程简介
  • 【QT】Graphics View绘图架构
  • 【Redis】深入理解 Redis 常用数据类型源码及底层实现(3.详解String数据结构)
  • Vue源码系列讲解——虚拟DOM篇【二】(Vue中的DOM-Diff)
  • 【linux开发工具】vim详解
  • SpringBoot WebSocket客户端与服务端一对一收发信息
  • html5 audio video
  • [高性能] - 缓存架构
  • 《走进科学》灵异事件:Nginx配置改了之后一直报错
  • 使用 WMI 查询安全软件信息
  • C/C++ 关于 SHA256 的使用
  • B站弹幕分析系统
  • Python爬虫实战:抓取猫眼电影排行榜top100#4
  • React18原理: 生命周期中特别注意事项
  • 大数据之Hadoop3简单入门(一)(通俗易懂)
  • 5-4、S加减单片机程序【51单片机+L298N步进电机系列教程】
  • C语言笔试题之两数相加(多次反转链表实现)
  • Git中为常用指令配置别名
  • Go 中如何检查文件是否存在?可能产生竞态条件?
  • re:从0开始的CSS学习之路 4. 长度单位
  • 2月05日,每日信息差
  • SolidWorks学习笔记——入门知识2
  • 用C语言列出Linux或Unix上的网络适配器
  • 【C语言】深入理解指针
  • 从一到无穷大 #23 《流计算系统图解》书评
  • Netty应用(一) 之 NIO概念 基本编程