Posts

Showing posts with the label TCP优化

Valorant requires a restart or loads slowly when entering the game. What can I do? I have an idea.

Valorant is a free first -person tactical shooting game developed by Riot Games, which combines the exact system of arms shooting and heroism. Players will be transformed into agents and will compete for target points using team collaboration, tactical layout and skills cooperation 5V5 offensive and defense stroke. The game has a low economic system and high competitiveness. Before each game start, buy weapons and armor according to tactical needs and use a combination of heroic skills to create the benefits of the battlefield. Its solid ballistic mechanism and map design require players for accurate purposes and tactical decision -making. At the same time, the rich character pool and skill combination give the game a strategic depth. If you have the problems you need to restart or slowly load while playing a "Varorant", try the following systematic solution: Network environment optimization is the main solution. Because valante servers can be introduced abroad, physical dist...

TCP 协议中 MSS 的理解,如何确定MSS

在介绍 MSS 之前我们必须要理解下面的几个重要的概念。 MTU: Maxitum Transmission Unit 最大传输单元 MSS: Maxitum Segment Size 最大分段大小 PPPoE: PPP Over Ethernet(在以太网上承载 PPP 协议),就是因为这个协议的出现我们才有必要修改我们的 MSS 或者是 MTU 值。 MTU 最大传输单元,这个最大传输单元实际上和链路层协议有着密切的关系,EthernetII 帧的结构 DMAC+SMAC+Type+Data+CRC 由于以太网传输电气方面的限制,每个以太网帧都有最小的大小 64bytes 最大不能超过 1518bytes,对于小于或者大于这个限制的以太网帧我们都可以视之为错误的数据帧,一般的以太网转发设备会丢弃这些数据帧。 由 于以太网 EthernetII 最大的数据帧是 1518Bytes 这样,刨去以太网帧的帧头(DMAC 目的 MAC 地址 48bit=6Bytes+SMAC 源 MAC 地址 48bit=6Bytes+Type 域 2bytes)14Bytes 和帧尾 CRC 校验部分 4Bytes(这个部分有时候也把它叫做 FCS),那么剩下承载上层协议的地方也就是 Data 域最大就只能有 1500Bytes,这个值我们就把它称之为 MTU。这个就是网络层协议非常关心的地方,因为网络层协议比如 IP 协议会根据这个值来决定是否把上层传下来的数据进行分片。 当两台远程 PC 互联的时候,它们的数据需要穿过很多的路由器和各种各样的网络媒介才能到达对端,网络中不同媒介的 MTU 各不相同。我们可以看下面的简单的组网图。 PC1(192.168.0.1)―――Router――――Internet―――-www server(238.136.1.1) 建立 tcp 连接的两端在三次握手时会协商 tcp mss 大小,具体如下: pc1 发出 syn 报文,其中 option 选项填充的 mss 字段一般为 1460,同样 www server 收到 syn 报文后,会发送 syn+ack 报文应答,option 选项填充的 mss 字段也为 1460;协商双方会比较 syn 和 syn+ack 报 文中 mss 字段大小,选择较小的 mss 作为发送 tcp 分片的大小。通...

TCP_NODELAY & Nagle 算法

如何用TCP_NODELAY、Nagle算法、QUICKACK和更多设置来优化TCP,以获得更好的TC......。 如果你想真正了解TCP优化技术,如何决定使用哪些技术,以及如何实施这些技术,你就来对地方了。这篇文章太长太丰富了,我们决定把它分成几个部分,并给它一个目录。请欣赏! 1. TCP背景信息,为什么要实施Nagle算法和延迟ACK,以及它们如何相互作用 今天的互联网是一个大型的全球性TCP/IP网络,它可以远距离地发送网页和各种类型的巨大文件。自互联网建立之初,小型学术和政府网络主要使用Telnet和网络控制程序(NCP)协议以来,发生了很多变化。互联网自成立以来已经成倍增长,随着更多类型的流量、设备和协议的上线,有效管理这些流量的重要性也随之增加。 当TCP/IP协议栈在20世纪80年代初成为主导协议时,将Telnet留给了更专业的用途,终于有了优化流量、避免拥堵和数据丢失的设置。不过,即使是现在,要知道何时和如何使用这些设置也是很困难的。本文将明确常见TCP优化设置和技术的一些最佳使用情况,特别是Nagle算法、TCP_NODELAY、延迟ACK和TCP_QUICKACK。 以其创造者John Nagle命名的Nagle算法,是通过减少网络上发送的小数据包数量来提高TCP效率的一种机制。其目的是在应用程序向套接字提供数据相当缓慢的情况下,防止一个节点传输许多小包。如果一个进程导致许多小数据包被传送,它可能会造成不适当的网络拥堵。如果一个数据包的有效载荷比TCP头数据小,这一点尤其正确。 你不会为了搬一个梳妆台而租一整辆搬家车。为什么要在一个40字节的TCP数据包中发送一个1字节的Telnet指令? 这就好比把一个梳妆台装进一辆巨大的搬家卡车,然后开到整个城市。除非这个梳妆台需要立即到达那里,否则你还不如等待,把卡车装满。这就是Nagle算法的作用。Nagle算法是用来优化数据传输的,它将多个小的请求字节合并到一个TCP段中,这样头数据和有效载荷的比例就更有效率。TCP头占用了40个字节,有很多应用程序可以发出一个字节的有效载荷。如果你的环境被配置为立即发送数据,你最终可能会发送一个41字节的数据包,其中只有一个字节的实际有效载荷。 TCP延迟确认或延迟ACK是TCP的一些实现所使用的另一种技术,目的是为了提高网络性能和减少拥堵。延迟ACK的发明是为了...