出向链路负载也需要智能DNS解析

简介:

随着计算机和互联网设备硬件性能的不断攀升,互联网应用的爆发式增长,对互联网带宽也提出更高的要求。即使是只为内网用户提供互联网接入服务的网络,只要具备一定的规模,一般也会选择多运营商链路实现互联网接入。选择多链路出口是为了提高网络的整体带宽和网络的可靠性;选择多运营商则是为了解决国内跨运营商访问速度不佳的问题。在这样的网络环境,要求出口网关设备,无论是路由器、防火墙,还是专业的链路负载设备都要具备以下功能:

1、准确的链路健康监控,及时地发现故障链路并停止该链路的数据转发,提高网络的可靠性。
2、链路流量的负载均衡,只有各链路流量均衡分担,才能充分利用出口链路带宽,避免因流量分配不均衡造成个别链路拥塞。
3、良好的用户上网感受,让用户选择最快速的网络链路完成互联网访问,提高网络的访问速度。
但在实际的网络环境中,作为出向流量(Outbound)的链路负载均衡设备,满足上述第1项,各类产品基本都没有问题,但第2项与第3项也同时满足却十分困难。我们先看看当前常见的链路负载方法。
A、源路由和策略路由,作为路由器和防火墙类设备最常见的实现链路负载的方法,配置简单,在稳定的网络环境中,能够轻松的实现各链路流量的负载均衡,但却无法提高用户上网感受,用户固定的绑定到特定的出口链路,依然存在跨运营商访问慢的问题。
B、轮询和加权轮询,效果与A相似,且用户从不同的链路去访问互联网,如果出口设备不具备会话保持功能,或会话保持配置不当,会出现网银、网游等应用访问异常的问题。
C、ISP地址精确匹配,用户访问的目的地址与ISP地址池匹配,做到访问电信地址的流量走电信链路,访问联通地址的流量走联通链路。可以提高了用户的访问速度,但常常出现链路流量分配不均衡,在高峰期有的链路带宽被占满,有的链路则十分空闲,高峰期用户的上网感受也会由于链路被占满而变差。
D、链路反应速度探测,针对用户访问的目的地址,检测各链路的反应速度,选择反应最快的链路转发流量。效果与C相似,高峰期用户的上网感受及链路负载情况都会更好一些。但在特定的环境下效果欠佳,比如高校网络中,学生某一时间段集中观看体育赛事直播时,可能出现某条链路带宽快速被占满,使链路变得拥塞,而出现直播视频传输不畅。这是因为链路速度探测不是针对每一次访问进行的,如果针对每次访问都进行探测,探测本身的时间消耗一定大于网络自身延迟;而周期性探测往往会导致周期时间内,网络环境变化与最初探测结果不同,周期内如果观看赛事直播的应用集中出现,某条链路流量会快速增加,导致流量分配不均衡,甚至应用本身的访问速度也受到影响。
为突破上述解决方案的局限性,A10提供一个新的出向流量(Outbound)链路负载解决方案,方案通过ISP地址精确匹配与DNS服务器负载相结合实现出向流量链路负载均衡。我们知道ISP地址精确匹配是提高用户感受的最直接方式,它的问题是链路流量负载不均衡,而造成流量分配不均衡的原因则是由于DNS解析造成的。
原因之一是国内的大型数据中心和大型站点,采用多运营商链路方式接入互联网,或在不同运营商建立独立的数据中心。因此相同的域名,用户使用不同运营商的DNS服务器,解析出的IP地址可能完全不同。
而对链路流量分配不均影响更大的是P2P软件,下面提供一组分析数据充分说明运营商DNS对于P2P流量选路的影响。下表是通过对迅雷软件在不同运营商网络中下载同一资源获得的抓包信息提取的分析数据。

 

PC机运行迅雷软件,迅雷发起包括plugin.x17.xunlei.com会员登陆域名在内的与迅雷相关的域名解析请求超过30个,而返回的域名解析IP地址则与用户所配置DNS的运营商保持一致。当开启下载任务时,表现更为明显,在提供P2P下载数据量最多的20个IP地址中,几乎看不到其他运营商的IP地址。这就导致了在多运营商链路的环境中,P2P流量几乎完全从用户使用的DNS运营商链路转发,造成链路流量分配不均,可见用户选择的DNS服务器对于出向链路的流量负载影响极大。

既然DNS解析能够影响链路流量的分配,我们也可以利用这点来实现链路流量的均衡分配。在ISP地址精确匹配基础之上,我们通过A10的负载均衡设备针对用户的DNS服务配置服务器负载均衡,将用户的DNS请求以加权轮询的方式分配到各链路对应的DNS服务器,通过权值比例来控制各链路的流量分配。这样可以通过ISP地址精确匹配来提高用户的上网感受,也避免了链路探测所面临时间周期内流量分配不均衡的问题。
这样的解决方案对于用户来说也是十分方便,用户可以继续使用原有的DNS配置,不需要做任何配置更改;如果在DHCP环境下,甚至可以为用户分配一个像100.100.100.100这样的虚拟DNS服务器地址。
 
下面为大家提供一个测试实例,介绍一下方案中AX系列设备DNS解析加权轮询的配置,以及在实际环境中所达到的效果。先介绍一下测试环境:测试网络有100M联通链路和200M电信链路两条出口,高峰期在线用户1500人左右。
用户采用ISP地址精确匹配,由于电信链路带宽大一些,用户最早将电信DNS通过DHCP分配给网内用户,发现流量分配不均衡后将电信DNS替换成联通的DNS,问题依然存在。
下图是AX设备上线后用户配置联通DNS,AX没做DNS请求轮询分配时的抓图。 

 

截图期间用户网络有近300人使用电信DNS,但电信链路在高峰期依然存在大量空闲,而联通的链路在21点后完全被占满。

我们在AX设备上配置DNS轮询查询:
配置电信与联通的真实DNS服务器,使用默认的udp端口健康监测。
slb server ctc_dns 1.1.1.1
   port 53 udp
slb server cuc_dns 2.2.2.2
   port 53 udp
配置DNS服务器组,选择加权轮询方法。
slb service-group dns_group udp
    method weighted-rr
    member ctc_dns:53
    member cuc_dns:53
配置到100.100.100.100的UDP 53端口请求分配给dns_group处理,并作源地址转换,snat_group内包括电信和联通的nat地址池。
slb virtual-server to_dns 100.100.100.100
   port 53 udp
      source-nat pool snat_group
      service-group dns_group
      no-dest-nat
这里加两条精确的静态路由,目的地址为运营商dns服务器,下一跳为dns对应链路的网关,我们这样配置的目的是让dns请求本身能够快速访问。
ip route 1.1.1.1/32 a1.b1.c1.d1
ip route 2.2.2.2/32 a2.b2.c2.d2
完成以上配置,我们将用户网络的dhcp服务器中dns地址改为100.100.100.100后,观察用户网络流量分配,基本实现链路负载均衡,当天截图如下:
上图可以看到在高峰期两条链路基本都被占满,联通链路负载稍重的原因是由于配置当天有少部分用户dns没有更新,且没有做细致的权重比例调整。
通过将dns解析请求轮询分配给不同运营商dns服务器来控制链路流量分配,虽然不是完美的解决方案,但却可以称得上是当前最适合国内的网络环境的出向链路负载解决方案,具有原理简单、配置容易、设备本身资源消耗低的特点,且能够全面满足开篇提到的链路负载解决方案的3个要求。
 

本文转自 virtualadc 51CTO博客,原文链接:
http://blog.51cto.com/virtualadc/884976
相关文章
|
7月前
|
域名解析 存储 网络协议
域名解析的终极指南:从基础到进阶,彻底搞懂 DNS 记录
域名解析是网站运行的基础,正确配置DNS记录至关重要。本文从基础到进阶全面解析DNS知识,涵盖A、AAAA、CNAME、MX、TXT、CAA等常见记录类型及其应用场景。通过学习,你将了解DNS的工作原理,掌握如何优化域名配置,确保网站与邮件服务高效运行。无论搭建个人博客还是企业官网,本文都能助你轻松搞定域名解析!
1512 0
|
8月前
|
传感器 人工智能 物联网
穿戴科技新风尚:智能服装设计与技术全解析
穿戴科技新风尚:智能服装设计与技术全解析
668 85
|
6月前
|
域名解析 网络协议 网络安全
SSL证书验证全攻略:DNS/HTTP/手动解析怎么选?
SSL证书在网络安全中至关重要,1Panel提供三种验证方式:DNS验证、HTTP验证和手动解析。DNS验证便捷,适合CDN网站;HTTP验证快速,需服务器在线;手动解析灵活,但操作复杂。根据需求选择合适确认方式,定期检查证书状态。
746 2
|
8月前
|
域名解析 存储 缓存
深入学习 DNS 域名解析
在平时工作中相信大家都离不开 DNS 解析,因为 DNS 解析是互联网访问的第一步,无论是使用笔记本浏览器访问网络还是打开手机APP的时候,访问网络资源的第一步必然要经过DNS解析流程。
|
6月前
|
网络协议 安全 Linux
阿里云服务器国际站dns服务器不可用怎么办?dns可以随便改吗?
阿里云服务器国际站dns服务器不可用怎么办?dns可以随便改吗?
|
8月前
|
机器学习/深度学习 人工智能 自然语言处理
DeepSeek 实践应用解析:合力亿捷智能客服迈向 “真智能” 时代
DeepSeek作为人工智能领域的创新翘楚,凭借领先的技术实力,在智能客服领域掀起变革。通过全渠道智能辅助、精准对话管理、多语言交互、智能工单处理、个性化推荐、情绪分析及反馈监控等功能,大幅提升客户服务效率和质量,助力企业实现卓越升级,推动智能化服务发展。
338 1
|
9月前
|
负载均衡 网络协议 容灾
【飞天技术沙龙】云解析 DNS 上海站《多云+IDC 融合场景下的 DNS 最佳实践》圆满落幕
【飞天技术沙龙】云解析 DNS 上海站《多云+IDC 融合场景下的 DNS 最佳实践》圆满落幕
200 0
|
8月前
|
算法 测试技术 C语言
深入理解HTTP/2:nghttp2库源码解析及客户端实现示例
通过解析nghttp2库的源码和实现一个简单的HTTP/2客户端示例,本文详细介绍了HTTP/2的关键特性和nghttp2的核心实现。了解这些内容可以帮助开发者更好地理解HTTP/2协议,提高Web应用的性能和用户体验。对于实际开发中的应用,可以根据需要进一步优化和扩展代码,以满足具体需求。
790 29
|
8月前
|
前端开发 数据安全/隐私保护 CDN
二次元聚合短视频解析去水印系统源码
二次元聚合短视频解析去水印系统源码
282 4
|
8月前
|
JavaScript 算法 前端开发
JS数组操作方法全景图,全网最全构建完整知识网络!js数组操作方法全集(实现筛选转换、随机排序洗牌算法、复杂数据处理统计等情景详解,附大量源码和易错点解析)
这些方法提供了对数组的全面操作,包括搜索、遍历、转换和聚合等。通过分为原地操作方法、非原地操作方法和其他方法便于您理解和记忆,并熟悉他们各自的使用方法与使用范围。详细的案例与进阶使用,方便您理解数组操作的底层原理。链式调用的几个案例,让您玩转数组操作。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~

相关产品

  • 云解析DNS
  • 推荐镜像

    更多
  • DNS