网站续费收多少合适,阿里云服务器windows系统网站搭建教程,商务软文写作范文200字,wordpress模版位置开篇提示 本篇适合于了解基础知识#xff0c;进行扩展提高的使用#xff0c;附带考研习题以及解析。
TCP序号和确认序号的区别 TCP首部中有序号和确认序号#xff0c;他们都是4个字节#xff08;4B#xff09;#xff0c;且在数据传输中有很重要的意义#xff0c;那么两…开篇提示 本篇适合于了解基础知识进行扩展提高的使用附带考研习题以及解析。
TCP序号和确认序号的区别 TCP首部中有序号和确认序号他们都是4个字节4B且在数据传输中有很重要的意义那么两者的含义和区别是什么呢我们先看他们的定义。 序号指的是本报文段所发送的数据的第一个字节的序号确认号是期望收到对方下一个报文段的第一个数据字节的序号。在进行“三次握手”和数据传输的时候序号一般用seq表示确认号一般用ack表示。 接下来我们就从建立TCP连接到数据传输再到断开连接整个过程分析客户机和服务器中的TCP序号和确认号的变化。 我们首先要清楚不论是客户机还是服务器他们一般都有序号和确认号序号是描述自己的情况确认号是描述对方的情况。序号x代表着“我在传递这次报文的时候我的报文起始序号是x”确认号y代表着“在你下次传递报文的时候我希望你从你的序号y开始发送” 所以在一个TCP报文中序号和确认号没有任何关系。 好的现在我们来看建立TCP连接的过程。 下面是建立TCP连接的示意图 建立连接前客户机和服务器都会获得初始序号可见A获得的初始序号为xB获得的初始序号为y我们发现在未进行数据传输只是进行建立连接的确立的情况下ack增加了事实上确认建立连接SYN和断开连接FIN都会占用一个字节我们只需要注意seq代表自身情况ack代表对方情况即可。 我们举一个中间传输信息的例子。 如果A序号seq是301自己这条内容会从301号开始发送传输100B的有效荷载实际就是数据确认号ack是800正常情况下希望B从B的800开始发送 如果B正常收到他发送的序号seq会是A的ack确认号也就是800它的确认号是A下次发送信息的开始也就是301100 401 他会希望A下次从A的序号401开始如果B携带了100B的数据发送给了A此时A的序号是B的序号401A的确认号是希望下次B从哪里开始发800100900 特殊情况一如果B未携带数据只确认则A的确认号仍为800 特殊情况二现A的序号为401确认号为900向B发送了120B的数据但是数据丢失 B的序号为A的确认号A希望他这么做但由于B尚未收到A的信息他会仍然希望A从401号发送数据而不是521号 在断开连接时会进行四次挥手下面是断开TCP连接的示意图 与序号和序列号相关的题目一般是给出seq和ack继续推在传输数据后的seq和ack只需要记住两者的含义即可。 下面我们来几道例题练练手。
习题一
1.SYN与FIN都会使ack1 本题选A,C首先A发送自身的序号XB发送自身的序号Yack确认时确认对方的下次开始的序号。
2.seq与ack的关系 A的序号是200确认字号201B的序号一定是A的确认号也就是201B的确认号是A下次开始发送的开头也就是2002
3.seq和ack的关系
4.特殊情况
报文传输时间的计算 建立连接时间需要1.5个RTT 对于服务器B最长断开时间需要等待两个RTT数据传输时间最短时间是1.5个RTT实际上当A发送FIN后B可以直接发送FIN等待A确认后即可直接关闭 对于客户机A它最长时间要1个RTT数据传送时间2MSLMSL是最大报文段寿命这是防止数据传送不到而引发问题最短时间是1RTT2MSL。 现在我们来查看在TCP进行拥塞控制下数据传输所需要的时间。 我们先提供一些关于拥塞控制的知识点。
1.MSS最大段长初始传输数据的速度为1MSS不论是传输多少B可以理解为是拥塞控制传输的基本单位
2.cwnd当前的拥塞窗口大小是多少倍的MSS来计算
3.ssthresh门限慢窗口阶段与拥塞避免阶段的分界点当cwndssthresh时慢开始当cwndssthresh拥塞避免
4.慢开始启动阶段每次收到确认后cwnd*2如果慢开始cwnd*2后超过门限会使得cwndssthresh
5.拥塞避免阶段每次收到确认后cwnd1
6.超时时间过长后超时cwnd1MSSssthresh变为超时时cwnd的一半
7.快恢复连续收到3个多余的ACK重复确认ssthresh变为cwnd的一半且cwnd ssthresh然后开始拥塞避免
8.如果同时出现接收窗口和拥塞窗口实际窗口时两者中较小的一个 现在我们给出几个例题。
例题二
1.断开TCP连接时间 最短时间C需要1RTT2MSLS需要1.5RTT情况是当C请求断开时S也准备断开D
2.慢启动和拥塞避免状态的选择 慢启动增长迅速最短时间用慢启动最长时间用拥塞避免本题目中由于是最长时间拥塞避免需要24个RTTD
3.接收窗口和拥塞窗口
两者都会影响cwnd是两者中更小的那个决定的。接收缓存实际就是接收窗口的大小他会随着存入数据而逐渐变小。在本题中要求最小时间慢启动状态经过3RTT变为8KB过程是1MSS
-2MSS-4MSS更小的是拥塞窗口因此本题中接收窗口不会影响cwndB 慢启动门限为2KB拥塞窗口为4KB因此在下个RTT中拥塞窗口变为5KB但是接收窗口是2KB因此最多发送2KB的数据
4.实例