出向链路负载均衡之协议分流
通过控制DNS解析实现运营商地址散布均衡进而到达链路流量均衡,在很多网络环境中可以实现保证访问速度的同时,各链路流量也到达均衡分配。但在一些链路环境下,通过目的地址匹配加DNS控制的方式却没法到达这样的效果,特别在一些高校环境下。
其一,用户网络不合适DNS轮询,用户的内网地址为教育网公网地址,DNS也使用教育网地址,如果强行做DNS轮询将会致使教育网的一些域名没法解析;其二,一些网络的链路环境本身不合适,除同运营商多条链路的环境,还有一些极度不均衡的链路环境,如某校园网,200M联通、200M移动、200M教育网三条链路,由于移动网络与教育网内数据资源少,即便用户完全使用教育网或移动的DNS,联通链路仍然是最早被占满的。
针对这样的链路环境,本文介绍另外一种出向链路负载均衡的策略:按四层协议分配流量。
使用四层协议分流的缘由是TCP和UDP的所承载的利用协议有很大不同,不同的利用对网络的要求也不同。在一个网络中如果打开大多数网站的延迟超过3秒,你可以说这个网络很慢,但此时该网络带宽的利用率可能只有10%,造成访问慢的缘由是网络延迟而非带宽,可见http对网络延迟很敏感;在一样的网络打开迅雷下载,会发下载速度很高,这说明迅雷对带宽敏感,但对延迟毫无感觉。
对网络用户,网络的访问感受常常来自于http、邮件等基于tcp的利用,而在P2P大行其道确当今网络,UDP流量常常高于TCP流量很多,针对这样的特点我们可使用协议分流的方式,实现统筹访问速度和链路流量均衡的链路负载,即TCP协议流量依照目的地址匹配的方式选择链路,UDP流量通过加权轮询的方式将流量按比例分配到各出口链路。UDP加权轮询保证了各链路负载均衡,不产生拥堵,TCP按目的地址选路实现网络的最快访问。