- 博客(49)
- 收藏
- 关注
原创 TCP四次挥手中为什么 TIME_WAIT 等待的时间是 2MSL?
TIME_WAIT 等待 2 倍的 MSL,比较合理的解释是: 网络中可能存在来自发送方的数据包,当这些发送方的数据包被接收方处理后又会向对方发送响应,所以。字段,是 IP 数据报可以经过的最大路由数,每经过一个处理他的路由器此值就减 1,当此值为 0 则数据报将被丢弃,同时发送 ICMP 报文通知源主机。比如,若 ACK 在一个 MSL 内丢失,这样被动方重发的 FIN 会在第 2 个 MSL 内到达,TIME_WAIT 状态的连接可以应对。因为 TCP 报文基于是 IP 协议的,而 IP 头中有一个。
2024-05-08 21:40:53
510
原创 C++多态有几种实现方式
通过#ifdef / #elif等预处理命令针对不同条件编译不同代码实现不同行为的程序。编译时通过定义的宏决定具体实现。:通过函数名相同但参数不同的多个函数实现不同行为。在编译时通过参数类型决定调用哪个函数。:通过继承让派生类重新实现基类的虚函数。在运行时通过指针/引用的实际类型调用对应的函数。:通过模板和泛型实现针对不同类型具有不同实现的函数。在编译时通过传入类型决定具体实现。,其中重写基于继承和虚函数实现真正的运行时多态,增强了灵活性和可扩展性。
2024-05-07 21:55:43
1465
原创 TCP拥塞控制
为什么要有拥塞控制呀,不是有流量控制了吗?前面的流量控制是避免「发送方」的数据填满「接收方」的缓存,但是并不知道网络的中发生了什么。一般来说,计算机网络都处在一个共享的环境。因此也有可能会因为其他主机之间的通信使得网络拥堵。所以,TCP 不能忽略网络上发生的事,它被设计成一个无私的协议,当网络发送拥塞时,TCP 会自我牺牲,降低发送的数据量。于是,就有了,控制的目的就是为了在「发送方」调节所要发送数据的量,定义了一个叫做「」的概念。什么是拥塞窗口?和发送窗口有什么关系呢?
2024-05-04 19:25:05
1149
原创 TCP滑动窗口——发送窗口、接收窗口
图中的 ACK 600 确认应答报文丢失,也没关系,因为可以通过下一个确认应答进行确认,只要发送方收到了 ACK 700 确认应答,就意味着 700 之前的所有数据「接收方」都收到了。在下图,当发送方把数据「全部」都一下发送出去后,可用窗口的大小就为 0 了,表明可用窗口耗尽,在没收到 ACK 确认之前是无法继续发送数据了。):是一个绝对指针,它指向的是已发送但未收到确认的第一个字节的序列号,也就是 #2 的第一个字节。发送方发送的数据大小不能超过接收方的窗口大小,否则接收方就无法正常接收到数据。
2024-05-04 16:44:22
2429
原创 TCP重传机制——快速重传
举个例子,假设发送方发了 6 个数据,编号的顺序是 Seq1 ~ Seq6 ,但是 Seq2、Seq3 都丢失了,那么接收方在收到 Seq4、Seq5、Seq6 时,都是回复 ACK2 给发送方,但是发送方并不清楚这连续的 ACK2 是接收方收到哪个报文而回复的, 那是选择重传 Seq2 一个报文,还是重传 Seq2 之后已发送的所有报文呢(Seq2、Seq3、 Seq4、Seq5、 Seq6) 呢?所以,快速重传的工作方式是当收到三个相同的 ACK 报文时,会在定时器过期之前,重传丢失的报文段。
2024-05-03 19:57:00
1181
原创 TCP重传机制——超时重传
实际上「报文往返 RTT 的值」是经常变化的,因为我们的网络也是时常变化的。也就因为「报文往返 RTT 的值」 是经常波动变化的,所以「超时重传时间 RTO 的值」应该是一个。要知道超时时间应该设置为多少,我们需要了解一下RTT(Round-Trip Time 往返时延)。重传机制的其中一个方式,就是在发送数据时,设定一个定时器,当超过指定的时间后,没有收到对方的。确认应答报文,就会重发该数据,也就是我们常说的。的值是非常重要的,这可让我们的重传机制更高效。超时时间应该设置为多少呢?,也就是包的往返时间。
2024-05-03 13:20:31
962
1
原创 TCP和UDP的区别及应用场景
TCP 的数据大小如果大于 MSS 大小,则会在传输层进行分片,目标主机收到后,也同样在传输层组装 TCP 数据包,如果中途丢失了一个分片,只需要传输丢失的这个分片。UDP 的数据大小如果大于 MTU 大小,则会在 IP 层进行分片,目标主机收到后,在 IP 层组装完数据,接着再传给传输层。TCP 是可靠交付数据的,数据可以无差错、不丢失、不重复、按序到达。UDP 则没有,即使网络非常拥堵了,也不会影响 UDP 的发送速率。UDP 是一个包一个包的发送,是有边界的,但可能会丢包和乱序。
2024-02-21 21:53:27
466
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人