高速公路和 TCP/IP 的负载均衡和拥塞

长假小长假返程堵车问题非常有趣,很多人都在抱怨,新闻也在各种报道,但这么多年几乎没人想办法绕开拥堵,明知道那个时间那条路会堵,却依然在那个时间涌入那条路。

​这件事其实很容易解释,人们内心对这种拥堵是容忍的,是可预期的,也就是说人们在假期里专门安排了几十个小时的拥堵时间,比如他们提前 52 个小时返程,这 52 个小时里已经包含了堵车的 50 个小时。这是一种消极的对抗。

​如果仔细看路况地图,以长三角上海嘉定城区(一定要具体到街道才能显示自己牛逼)为中心辐射,仍然可以找到负载很低的要么不知名,要么稍微绕路的高速公路,但 G60,G2 却是万年拥堵。比如从杭州到嘉定城区,导航一定会推荐 G60,由于当代开车的离开导航几乎看不懂地图,甚至找不到家,拥堵问题很大程度可以归结为导航的问题,如果从杭州往嘉定城区走,走环杭州湾环路往浦东机场方向就会快很多,但由于 "浦东机场不在嘉定",这条路几乎没人走,此外从苏州阳澄湖回嘉定,沪宜也比京沪高尚,但如何绕开 G15 进嘉定那段,需要一定技巧。不如不听导航的,故意走错,让它重新规划,避开让你掉头返回的,至少能避开从众,此外也有一种 "逐跳路由" 的思想。

​但没人为了回个家这么折腾,靠导航就完了,省事,输入目的地即可,剩下的交给时间。我把这个问题归为负载均衡问题,而不是拥塞成因问题,拥塞问题成因更有趣,最后再说。

​在 TCP/IP 网络上这个负载均衡问题早就存在了,那时中国的高速公路网还很稀疏,大部分家庭根本没车,更别提万恶的导航 app 了。TCP/IP 的负载不均衡问题归结为 IP 路由(ecmp是后来的派池,不解决根本问题),但和高速公路导航不同的是,IP 路由是逐跳路由,具体的负载均衡情况取决于路由算法的精度,你把 RTT 加入权重,路由度量自然也就绕开了拥塞段。

最后说说高速公路拥塞成因,车辆间距太小是根因。

可以将两车之间的间距看做 buffer ,假设这个 buffer 足够大,如果前车由于喝口水,点根烟这种杂事轻轻踩了一下刹车随后又加速,后车可以无视前车这个动作,保持匀速,但如果 buffer 太小,后车就不得不也踩刹车,但后车并不知道前车只是稍微抖动一下,反应时间肯定比前车自主刹车加速的间隔大,以此往后推,形成一列波长越来越长的刹车波(红移?有道理),这直接影响了道路上车流的平均速度,这就是堵车的根源,所以保持足够的安全车距不光安全,还能缓解堵车,但这需要大量车一致行动,这才是难点,每辆车的司机都是自私的,只要你跟前车保持了足够的距离,就一定会有车插进去,如果距离还足够,就会再插入一辆,SB 行为。

在 TCP/IP 网络上,rate--based pacing 可以解决这个问题,但和高速公路一样,大多数连接还是 AIMD 以 burst 方式突发,只要你pacing 肯定会有 aimd 就加塞,挤占 buffer ,从而挤压 pacing 流的吞吐。几乎所有搞传输优化的和路上开车的人一样,不懂得松弛,比如对于弱网丢包吞吐低的优化问题,绝对不是激进发送能突破的,反而把它识别出来,退回到 reno 更有效。

TCP/IP 网络传输滥用,误用,透支了 buffer,高速公路开车的人也滥用, 误用,透支了 buffer,所以我一直最讨厌的就是那些搞传输优化的人,就跟我讨厌开车的人一样,前几天去阳澄湖,碰到一个人肉占车位的,就是不让位,也不说话,低头看手机,没办法,临走前喊了一句"傻逼!",一切不高尚的根源,在于滥用,透支资源。

皮鞋没有蹬上,露着白袜子。

浙江温州皮鞋湿,下雨进水不会胖。

相关推荐
致奋斗的我们1 小时前
Nginx反向代理及负载均衡
linux·运维·mysql·nginx·负载均衡·shell·openeluer
Ares-Wang2 小时前
负载均衡 方式
运维·负载均衡
查理养殖场2 小时前
计算机网络之TCP的可靠传输
网络·tcp/ip·计算机网络
六六六六六66662 小时前
企业组网IP规划与先关协议分析
服务器·网络·tcp/ip
不要吃栗子李3 小时前
高级运维:1. 对比 LVS 负载均衡群集的 NAT 模式和 DR 模式,比较其各自的优势 。2. 基于 openEuler 构建 LVS-DR 群集。
运维·负载均衡·lvs
AIGC安琪3 小时前
【Stable Diffusion】SD迎来动画革命,AnimateDiff快速出图
人工智能·网络协议·tcp/ip·stable diffusion·aigc
渔舟唱晚@4 小时前
FFmpeg+WebSocket+JsMpeg实时视频流实现方案
websocket·网络协议·ffmpeg
荔枝荷包蛋66613 小时前
【Linux】HTTP:Cookie 和 Session 详解
网络·网络协议·http
遥遥远方 近在咫尺13 小时前
HTTPS原理
网络协议·https
编程星空14 小时前
HTTP 和 HTTPS 的区别
网络协议·http·https