OAM一般指用于网络故障检测、网络故障隔离、网络故障上报以及网络性能检测的工具,被广泛运用于网络运维和管理中。根据功能划分,OAM主要包含两大部分:
- FM(Fault Management,故障管理)
- CC(Continuity Check,连续性检测):主要用于地址可达性检测,主要的机制有IP Ping、BFD、LSP Ping等。
- CV(Connectivity Verification,连通性校验):主要用于路径验证和故障定位,主要机制有IP Traceroute、BFD、LSP Ping等。
- PM(Performance Measurement,性能测量)
- DM(Delay Measurement,时延测量):测量时延、时延抖动等参数。
- LM(Loss Measurement,丢包测量):测量丢包数、丢包率等参数。
- Throughput(吞吐量):测量网络接口和链路的带宽、单位时间报文处理能力等参数。
在不同的网络场景中,OAM的机制也各不相同。例如,在IP网络中,可以基于 IP Ping 和 IP Traceroute 实现 IP 网络的连续性检测、连通性校验等FM功能。在MPLS网络中,可以用LSP Ping/IP Traceroute来实现LSP的连续性检测和连通性校验。BFD是另外一个可以实现快速的连续性检测和连通性校验的工具,它可以应用在IP网络中,也可以应用在MPLS网络中。
对于性能测量,根据是否需要主动发送OAM报文,可以将性能测量分为3类。
- 主动(Active)性能测量:主动性能测量需要在网络中发送探测报文,然后通过对探测报文的测量,推测出网络的性能。例如,TWAMP (Two-Way Active Measurement Protocol,双向主动测量协议)就是一种典型的主动性能测量方法。
- 被动(Passive)性能测量:被动性能测量方法与主动性能测量方法不同,它通过直接监测业务数据流本身得到性能参数,不需要发送额外的探测报文,也不需要改动业务报文,所以能准确、真实地反映出网络的性能。
- 混合(Hybrid)性能测量:混合性能测量是一种主动性能测量和被动性能测量相结合的方法。它可以不用在网络中发送额外的探测报文,只需对业务报文的某些字段进行一定的改动,比如通过对报文头的某些字段进行“染色”的方式,来实现对网络性能的测量。IPFPM(IP Flow Performance Measurement,IP流性能测量)就是一种典型的混合性能测量方法,这种方法通过对报文进行染色从而实现对真实数据流的直接监测。
在IP网络中,连续性检测的主要方法是基于ICMP(Internet Control Message Protocol,因特网控制报文协议)的Ping。由于SRv6的转发基于IPv6,所以传统的IP OAM工具都可用于SRv6。比如IPv6 Ping可以直接应用于SRv6网络,实现对某个IPv6地址的连续性检测。同时,SRv6还引入了一些增强的OAM功能,用于满足对SRv6 SID的Ping和Traceroute,例如指定路径的Ping、SRv6 SID Traceroute等。
- 经典IP Ping
SRv6基于标准IPv6数据平面转发数据,所以可以直接使用ICMPv6 Ping实现对普通IPv6地址的连续性检测 ,而无须对硬件或软件进行任何的改变。当前ICMPv6Ping支持报文按照最短转发路径转发到目的地址,实现目的地址的可达性检测。此外,如果希望ICMPv6 Echo报文通过指定的路径转发到对应的IPv6目的地址,完成对指定路径的Ping,则可以通过在IPv6报文头中增加SRH携带指定的路径(Segment List),实现按指定路径转发的Ping。
- Ping SRv6 SID
当被检测的目的地址是一个SRv6 SID,则无法直接通过ICMPv6 Ping完成,需要使用SRv6的OAM扩展才能实现。这是因为按照目前SRv6的规定,若目的地址是一个SRv6 SID,报文到达这个SID对应的节点时,节点需要按照SID指示进行处理,例如进行替换目的地址、解封装外层报文头等操作。而这些操作对应的SRH的Next Header(NH)应该是SRH(对应最后一个SID为End/End.X/End.T等SID的多SRH情况)或者IPv4/IPv6/Ethernet(对应End. DT4、End.DT6等SID),而非ICMPv6。所以如果按照普通的Ping封装SRv6报文,则会因为Next Header值不匹配而出现错误,导致报文被丢弃。
- 经典Traceroute
与ICMPv6 Ping同理,在SRv6网络中也不需要任何改动,即可对普通IPv6地址进行Traceroute。由于SRv6引入了SRH,可以实现指定路径的转发。对于Traceroute,通过在Traceroute的报文头中插入SRH,携带指定的路径,就可以实现指定路径的Traceroute。
经典Traceroute的原理是发送多个探测报文[ICMP Echo报文或UDP (User Datagram Protocol,用户数据报协议)报文]到被检测的目的地址,通过TTL控制数据报文的Hop Count,使报文在转发路径的指定跳数上超时,然后上送报文到控制平面进行处理。控制平面处理超时报文,向源地址返回ICMP超时报文,从而得出报文转发到目的地址的每一跳的信息。
- SRv6 SID Traceroute
与SRv6 Ping同理,SRv6 Traceroute也是通过插入End.OP/End.OTP SID来指示是否需要进行OAM操作,其原理与普通IPv6地址的Traceroute没有太大差异,仅在对最后的SRv6节点或最后的SID发布节点的处理上有所不同。
SRv6 OAM可以结合ICMPv6以及SRv6新增的End.OP和End.OTP等机制来实现故障管理。整体上,SRv6网络不会引入太多故障管理方面的OAM新机制,这也使得SRv6的部署更容易。
标签:Traceroute,如何,IP,报文,SID,Ping,故障,SRv6 From: https://blog.51cto.com/key3feng/6141157