路由器缓冲区大小为什么如此重要

简介:

一台路由器缓冲区稍微大一点,你知道会带来多大的益处吗?稍微小一点,你知道会带来多少的悲哀吗?

 路由器缓冲区大小为什么如此重要

跑高速的时候,有时候两辆车轻微碰擦,就会带来几十公里的拥堵....这就是局部事故引发全局连锁反应。前年,沪嘉高速施工,拆除中心绿化带,取消硬路肩,将二车道改为三车道,你可别小看这一根车道,作用大了。

对于网络而言,数据包在网线上的时候,绝对安全,绝对是全速前进,最危险的就是到达转发设备内部,设备处理数据包带来的固有延迟导致数据包必须有机会被缓冲,处理加速比一定要和缓冲区大小对应,此时增加缓冲区大小就类似于高速公路增加车道,作用大了去了。不管增加多少,缓冲区大小和线路带宽之间有个公式,说实话,TCP为这个公式帮了大忙。

我们知道,UDP无状态无连接,丢了就丢了,谁也不知道,一切默默地。所以转发设备没法衡量到底设置多大的缓冲区。但是TCP可以帮忙。TCP有一个RTT,即一个数据包一个来回所需要的时间,开启时间戳之后,这个测量是很精准的,因此,转发设备的缓冲区大小设置就和这个相关了。也就是说,缓冲区必须能够保存一个TCP来回时间持续到达的数据包,能持续到达多少呢?这个由带宽决定。如果缓冲区大小小于这个值,一旦内部发生队列阻塞或者延迟,TCP就会持续丢包。因此,越是高速的链路,缓冲区大小越是要大,网络带宽持续提高的今天,设备如何在单位时间缓冲存储如此巨量的数据,是一个大问题。固然,TCP发现丢包会降速,那么UDP呢?

归根结底,转发设备缓冲区大小的决定因素就是内存访问效率,目前什么样的存储设备能满足要求啊?数据量巨量,直接就把昂贵的东西给pass了,不考虑并行性,什么才是神器?


作者:nono

来源:51CTO

相关文章
|
7月前
|
Linux
将数据包发往10.0.0.0/24网络,并通过eth1网卡发送
如果你想将数据包发往10.0.0.0/24网络,并通过eth1网卡发送,可以按照以下步骤设置路由规则: 1. 使用root用户或具有sudo权限的用户登录到CentOS服务器。 2. 使用以下命令查看当前的路由表: ``` ip route show ``` 3. 使用以下命令添加新的路由规则: ``` sudo ip route add 10.0.0.0/24 dev eth1 ``` 这条命令将设置一个直接路由,将发往10.0.0.0/24网络的数据包发送到eth1网卡上。 4. 使用以下命令验证新的路由规则是否生效: ```
|
8月前
修改udp的缓冲区大小
修改udp的缓冲区大小
117 0
修改udp的缓冲区大小
|
5月前
|
存储 网络协议 Linux
网络缓冲区
网络缓冲区
41 0
|
11月前
|
存储 前端开发 网络协议
路由器不同类型的内存
路由器不同类型的内存
87 0
|
网络协议 网络虚拟化 网络架构
ensp 进入交换机子接口、让子接口认识vlanid的数据帧、开启路由器的arp广播:实现pc之间的通信。
ensp 进入交换机子接口、让子接口认识vlanid的数据帧、开启路由器的arp广播:实现pc之间的通信。
265 0
ensp 进入交换机子接口、让子接口认识vlanid的数据帧、开启路由器的arp广播:实现pc之间的通信。
|
缓存 网络协议 网络架构
【计算机网络】网络层 : ARP 协议 ( 使用 ARP 协议查找 目的主机 / 路由器 物理地址 )★
【计算机网络】网络层 : ARP 协议 ( 使用 ARP 协议查找 目的主机 / 路由器 物理地址 )★
257 0
|
数据处理 C# 索引
网络数据处理缓冲区和缓冲池实现
在编写网络应用的时候数据缓冲区是应该比较常用的方式,主要用构建一个内存区用于存储发送的数据和接收的数据;为了更好的利用已有数据缓冲区所以构造一个缓冲池来存放相关数据方便不同连接更好地利用缓冲区,节省不停的构造新的缓冲区所带的损耗问题。
839 0
|
搜索推荐 网络架构 网络性能优化