一、网络体检的必要性
日常中我们应该会接触到各种检,体检、车检、安检这些都除外,阅历丰富的你应该也还能拎出好多检字辈的例子来。那与我们息息相关,号称重要性比肩甚至超越水电的网络,我们有没有必要对他进行体检呢?调皮的你可能会说"体检有什么卵用,体检又不能让网速变快,网络变好"。
确实,长期以来我们对网络选择了逆来顺受,不是因为我们脾气好,是我们确实貌似没有什么好的手段来对我们的网络进行体检,判断出我们的网络撒娇时到底是哪个环节在捣鬼。如果我们能有一些行之有效的方法或得心应手的工具来诊断我们的网络,我们就可以判断出问题的症结所在,进而夺命连环call相关负责人立刻马上对问题进行解决,我们的网络也就会及时的恢复健康。我们也就可以继续愉快地网上冲浪了。
通过这篇文章,我将和大家一起对这个话题做个新认识,也许你会发现上文中的如果其实是可以去掉的。也就是说我们是有一些手段来检测我们的网络的,要不怎么能说以太网是一个NB的网络呢~
二、网络体检的常用手段
我们在之前的文章中也提到过,学技术本来就不容易,所以我们只学习主流的(标准的)技术,其他非主流的万一我们还没整明白就淘汰了,多尴尬。
1. 二层体检常用手段
二层的主要手段基本都在 IEEE 802.3ah、 IEEE 802.1ag、 ITU-T Y.1731这三个标准(MEF其实也有定义,类似)里边进行了定义和规范,常见的主要是EFM和CFD这哥俩。先来个表对比伤害一下,再分别展开介绍。
表1 EFM与CFD对比
(1) EFM技术
a. 协议报文
EFM OAM工作在数据链路层,其协议报文被称为OAMPDU(OAM Protocol Data Units,OAM协议数据单元)。EFM OAM就是通过设备之间定时交互OAMPDU来报告链路状态,使网络管理员能够对网络进行有效的管理。
图1 OAMPDU报文格式示意图
表2 OAMPDU重要字段含义
表3 常见的OAMPDU
b. EFM OAM连接建立
EFM OAM功能的实现建立在EFM OAM连接的基础之上,EFM OAM连接的建立过程也称为Discovery阶段,即本端OAM实体发现远端OAM实体、并与之建立稳定对话的过程。
当设备的某个接口使能了EFM OAM功能时,如果该接口的EFM OAM工作模式为主动模式,便由该接口向远端发起EFM OAM连接。在建立EFM OAM连接的过程中,相连的OAM实体通过交互Information OAMPDU通报各自的EFM OAM配置信息。当OAM实体收到远端的配置参数后,决定是否建立EFM OAM连接。
图2 EFM OAM连接示意图
如图2所示,Device A的接口Ethernet1/1工作在主动模式下,当该接口上使能了EFM OAM功能时:
- Device A向Device B发送Information OAMPDU,其中包含Device A的EFM OAM配置信息。
- Device B收到该OAMPDU后,与自己的EFM OAM配置进行匹配,然后向Device A回复Information OAMPDU,其中除了包含Device A和Device B二者的EFM OAM配置信息外,还包含Device B对Device A的EFM OAM配置是否匹配的标志信息。
- Device A收到Device B发来的OAMPDU后,再来判断Device B的EFM OAM配置与自己的配置是否匹配。
通过以上过程,如果双方的EFM OAM配置都匹配,EFM OAM连接便建立起来。EFM OAM连接建立后,两端的OAM实体会周期性地发送Information OAMPDU来检测连接是否正常。如果一端OAM实体在连接超时时间内未收到远端发来的Information OAMPDU,则认为EFM OAM连接中断。
c. 链路性能监控
当一端OAM实体监控到一般链路事件时,将向其远端OAM实体发送Event Notification OAMPDU进行通报,同时将监控信息记入日志并上报给网管系统;远端OAM实体收到该信息后,也将其记入日志并上报给网管系统。这样,管理员就可以通过观察日志信息动态地掌握网络的状况。
- 远端故障检测:当设备上发生紧急链路事件而导致流量中断时,故障端OAM实体通过Information OAMPDU中的Flag域将故障信息(即紧急链路事件类型)通知给远端OAM实体,同时将故障信息记入日志并上报给网管系统;远端OAM实体收到该信息后,也将其记入日志并上报给网管系统。这样,管理员就可以通过观察日志信息动态地了解链路状态,对相应的错误及时进行处理。
- 远端环回:远端环回功能是指主动模式下的OAM实体向远端发送除OAMPDU以外的所有其它报文时,远端收到报文后不按其目的地址进行转发,而是将其按原路返回给本端。它可用于定位链路故障和检测链路质量:网络管理员通过观察非OAMPDU报文的返回情况,可以对链路性能(包括丢包率、时延、抖动等)作出评判。
图3 远端环回示意图
如图3所示,Device A的接口Ethernet1/1工作在主动模式下,在Device A与Device B之间的EFM OAM连接建立之后,使能该接口上的远端环回功能:
- Device A向Device B发送带有使能信息的Loopback Control OAMPDU,并等待回复。
- Device B收到该OAMPDU后,向Device A回复状态改变的Information OAMPDU,并进入环回状态(在此状态下,设备会把收到的非OAMPDU报文都按原路返回)。
- Device A收到回复后,开始向Device B发送非OAMPDU的测试报文。
- Device B收到测试报文后,将其按原路返回给Device A。
- 当Device A需要停止远端环回时,向Device B发送带有去使能信息的Loopback Control OAMPDU。
- Device B收到该OAMPDU后便退出环回状态,并向Device A回复状态改变的Information OAMPDU。