网络是数据中心最重要的组成部分。为了实现各种设备的互联互通,并满足多种业务需求,网络技术也在不断发展与完善。作为网络协议发展历史过程记录的RFC文挡,从第一篇RFC开始,到现在已经有了8000多篇,形成标准的大大小小以太网协议类型有数十种,这些协议分别应用于不同的网络场景。就算有这些网络协议,也依然满足不了现实业务的高速发展需求,所以出现了各种网络封装协议。比如:IPv4 over IPv6,MAC over IP,GER,MPLS等,通过增加报文封装头的方式赋予更多的含义。在这些网络协议中,有这样一类协议,它们需要和别的协议进行配合才能完成某些网络动作,即网络联动协议。之所以将网络联动协议单独拿出来说,是因为在数据中心网络部署时,有时一般的网络协议功能无法满足业务要求时,采用多种协议联动的方式或许可以很好地解决问题,而恰恰在众多的网络协议里,这些联动协议却很少有人关注,甚至被人遗忘在了角落里。其实网络联动可以解决很多网络问题,尤其是涉及到网络业务切换性能的应用,联动协议是解决这类问题的最好方式。那下面就来详细讲讲这些联动协议技术,以便广大的网络技术工程师可以在日常的数据中心网络设计、运维中大胆使用,满足更多业务应用的部署要求。
HWPING
HWPING是一种网络检测工具,用以测量网络上运行的各种协议的性能,可以实现比普通PING命令更多的功能。HWPING可以判断目的主机是否可达,还可以测试DHCP、FTP、HTTP、SNMP等服务是否打开以及测试各种服务的响应时间等。最重要的是HWPING可以和多种网络协议进行联动,根据事先定义好的HWPING检测结果的判断标准,来执行相应的网络联动协议动作。HWPING可以和静态路由、接口备份、VRRP等几个功能联动。比如采用HWPING的ICMP探测与静态路由联动,就可以使用HWPING来周期性地向特定的目的IP地址发送ICMP报文,等待回应。当对端的设备没有在规定的时间内回应足够的报文,HWPING就会与静态路由联动,调整路由。我们知道像OSPF/ISIS这些协议,Hello报文超时都要20多秒,而通过HWPING则没有回应就可以执行联动动作,比路由协议要快。还有VRRP也是,使用HWPING探测特定IP地址,没有回应就降低VRRP的优先级,进行VRRP切换。不过HWPING已经是一种古老的技术,在如今的网络环境中,靠HWPING的探测方式已经比较少了。伴随着各种新协议的出现,HWPING逐渐退出了网络世界。
BFD与路由
BFD协议也是一个用于检测两个转发点之间故障的网络协议,在RFC 5880中有详细的描述。为什么说HWPING已过时,是因为像BFD协议可以提供毫秒级的检测,精度要比HWPING高得多,实现BFD与上层路由协议的快速联动,确保业务的永续性。一般网络设备要部署BFD,对网络设备的CPU有较高要求,一般只有用多核CPU技术,或者多CPU方式才能满足,也就是单独用一个核或者CPU来处理BFD报文,确保BFD报文的快速处理。比如:设置BFD超时时间是100MS,连续三个包丢失就认为BFD失效,那么就是300MS,一般的网络设备如果遇到攻击或者业务繁忙的情况下,CPU处理报文的速度就会降低,处理一个报文花上几百毫秒是很可能的,这样就无法满足BFD协议的要求,所以后来BFD协议又细分为快速BFD和普通BFD,只有快速BFD才能达到毫秒级的检测,支持这种快速BFD检测的设备一定是采用的多核CPU或者是多个CPU,用一个核或CPU单独处理BFD协议。与BFD协议联动最多的就是路由协议,几乎所有的路由协议都支持与BFD协议联动,根据BFD协议检测的结果,来改变当前设备路由的学习情况。
MAD与端口
在虚拟化的网络设备中,一般这样的设备是由多台物理设备虚拟的一台设备。当设备分裂后,一下子相当于网络中出现了多台设备MAC、IP都一样的设备,显然这样会影响业务的正常转发。在这种情况下,MAD技术就可以发挥作用了。在虚拟化环境中部署MAD技术,可以在设备发生分裂后,及时将备用设备的端口全部SHUTDOWN掉,这样网络中实际只保持有一台设备转发,如果网络流量不是很大的情况下,这样即使分裂了,业务也不会受到影响。MAD一般是通过LACP协议报文内容或者BFD协议报文内容实现检测。比如采用LACP方式,实际上是利用LACP协议的扩展特性,在LACP报文中携带Active-ID字段的TLV,当虚拟化设备分裂后,通过LACP报文交互就可以感知到不同Active-ID的存在,这样就可以执行MAD的动作,将备框设备的外连端口全部SHUTDOWN(堆叠端口除外),这是一种在虚拟化网络环境中使用非常广泛的协议联动技术。
Monitor Link
Monitor Link是一种端口联动的技术,主要用于配合二层拓扑协议的组网应用,通过监控设备的上行端口,根据其UP/DOWN状态的变化来触发下行端口UP/DOWN状态的变化。说白了就是将网络设备上的两个端口配置到一个Monitor Link组中,当其中的一个端口UP/DOWN时,组内的其它端口同步进行UP/DOWN。这样多端口同步UP或DOWN,可以加快二层网络的流量切换,避免长时间的网络断流,尤其是在四台以上口字型组网中,只有采用Monitor Link技术,才能保证端口切换时,网络不断流量。Monitor Link是Smart Link协议的有力补充,经常在Smart Link的组网环境中部署Monitor Link。
如果你觉得这些联动协议还不够,那你完全可以自己设计一种联动协议,那么也许又是一篇RFC文档,只要你的设计能解决一些其它联动技术解决不了的问题,并且设计符合实际应用,那就有可能被IETF所采纳。网络联动协议技术实际上很简单,就是两种协议,一个检测一个动作,因果的关系。正是因为这些联动协议简单实用,所以才在二、三层转发,端口,虚拟化等应用中都有涉及。掌握这些网络联动协议,将使得你的数据中心网络变得更加灵活。