为什么需要等待计时2MS

本文涉及的产品
.cn 域名,1个 12个月
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
简介: 为什么需要等待计时2MS

1.5.5.5 TCP四次挥手(连接释放)
名称 作用
SYN 同步序号,用于建立连接过程,在连接请求中,SYN=1和ACK=0表示该数据段没有使用捎带的确认域,而连接应答捎带一个确认,即SYN=1和ACK=1
FIN 用于释放连接,为1时表示发送方没有发送了
ACK 为1表示确认号有效,为0表示报文不含确认信息,忽略确认号字段,上面的确认号是否有效就是通过该标识控制的
ack 是期望收到对方下一个报文段的第一个数据字节的序号
seq TCP连接中传送的字节流中的每个字节都按顺序编号
注释:
第一段的意思是:
FIN=1:(A)要释放连接了!
seq=u:发了好多数据,这里只是用u指代一下,这里u是有确定值的

第二段的意思是:
ACK=1:连接建立了,之后的ACK必须都置为1
seq=v:发了好多数据,这里只是用v指代一下,这里v是有确定值的
ack=u+1:之前发送方(A)说发送的是第u位数据,所以我(B)要的是u+1位数据(尽管此时A已经决定释放连接了)

第三段的意思是:
FIN=1:(B)要释放连接了!
ACK=1:连接建立了,之后的ACK必须都置为1
seq=w:发了好多数据,这里只是用w指代一下,这里w是有确定值的
ack=u+1:之前发送方(A)说发送的是第u位数据,所以我(B)要的是u+1位数据(因为A直接不发数据了,所以第二段第三段的ack都是u+1)

第四段的意思是:
ACK=1:连接建立了,之后的ACK必须都置为1
seq=u+1:之前发的数据时第u位数据,B也要第u+1位数据,所以我发第u+1位数据
ack=w+1:之前发送方(B)说发送的是第w位数据,所以我(A)要的是w+1位数据

为什么需要等待计时2MSL?
因为这样可以保证B可以收到A的终止报文段进而进入关闭状态
比如说如果A的第四段报文丢失,那么等待一个MSL之后B就会重传第三段报文,花费小于1MSL之后A就会再收到第三段报文,之后就可以再次向B发送第四段报文提示B关闭连接
1.5.8.1.2 快重传和快恢复
这里和上面的慢开始和拥塞避免的一开始步骤差不多,都是先指数增长再转变为线性增长。
不同的点是快重传和快恢复算法是在收到连续的ack确认之后执行,这里的ack就是冗余ack,冗余ack的特点是如果多次对某一段请求的数据没有被收到,达到一定数目之后就会立即执行重传。但是此时只是降到现在cwnd的一半,再重新线性增长。而不是像慢开始和拥塞避免的从头开始
1.6.2.2 域名服务器(DNS服务器)
DNS服务器有很多台,根据层次结构分为三层,根域名服务器,顶级域名服务器,权限域名服务器
本地域名服务器不算层次结构,特点是里主机比较近,当主机和另一台比较近的主机通信时,就不用走哪些更高级的服务器了
根域名服务器并不是一个域名只有一台,而是一个域名对应多台域名服务器,全世界一共有13个这样的域名,分别是a.rootservers.net,b.rootservers.net,c.rootservers.net,~m.rootservers.net
在权限域名服务器中,虽然看似abc.com比y.abc.com少了一位,但是他们的地位仍是对等的,对应的两台权限域名服务器

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
1月前
定时器 在某个时间到达之后,执行指定的任务
本文介绍了两种实现定时器的方法:基于优先级队列(堆)和基于时间轮,以在指定时间到达后执行特定任务。
33 0
定时器 在某个时间到达之后,执行指定的任务
|
安全
Abuse MS-SCMR in BYOVD
Abuse MS-SCMR in BYOVD
|
前端开发
时间秒转换为毫秒
时间秒转换为毫秒
117 0
|
Python
一日一技:为什么不建议使用 time.sleep 实现定时功能?
一日一技:为什么不建议使用 time.sleep 实现定时功能?
167 0
|
NoSQL 算法 Redis
一日一技:除了 time.sleep,你还有一个暂停代码的方法
一日一技:除了 time.sleep,你还有一个暂停代码的方法
171 0
|
传感器 芯片
使用系统定时器SysTick实现精确延时微秒和毫秒函数
使用系统定时器SysTick实现精确延时微秒和毫秒函数
437 0
使用系统定时器SysTick实现精确延时微秒和毫秒函数
|
安全 Shell Linux
MSF5
使用模块后,MSF提示符将进入模块提示符的模式,并显示模块完整的路径名称。
|
Python
Python编程:time模块实现函数执行时间计时器
Python编程:time模块实现函数执行时间计时器
151 0
如何使用time_expire绝对超时时间-参数解读系列
说明:    time_expire,绝对超时时间,格式为yyyy-MM-dd HH:mm。注:1)以支付宝系统时间为准;2)如果和timeout_express参数同时传入,以time_expire为准。
2204 12