- 经验
- 2997
- 分贝
- 0
- 家园分
- 27947
- 在线时间:
- 432 小时
- 最后登录:
- 2020-2-17
- 帖子:
- 654
- 精华:
- 5
- 注册时间:
- 2004-4-7
- UID:
- 18988
注册:2004-4-7
|
发表于 2010-10-7 20:26:26
|显示全部楼层
MPLS Ping/Traceroute的产生
n 为了提供一整套的MPLS OAM工具来对MPLS数据通道进行故障诊断定位,RFC4377定义了MPLS OAM的requirement,而RFC 4379则定义了两个MPlS OAM工具,MPLS Ping and MPLS Traceroute,满足部分4377提出的requirement。
n 这是两个通用工具,可以被不同应用用来做不同目的的检测,可以检测LSP的错误,也可以检测一个MPLS PW的错误,如VCCV就用这个机制来进行MPLS PW的错误检测
n MPLS Ping,类似于ICMP ping,用同样的echo和reply的机制来实现,用来诊断LSP是否有问题,若有问题,是何种问题。
n MPLS Traceroute,类似于UDP Traceroute。用来定位出问题的节点
MPLS Ping和Traceroute的报文
n MPLS Ping和Traceroute的payload是UDP报文,外面有IP header,最外面则是MPLS label.
n 对于PING, 最外层MPLS Label的TTL被设置为255,而Traceroute,最外层的MPLS Label的TTL则被置为1,2,…….,N。跟IP的ping和traceroute一样。这是MPLS Ping和traceroute的唯一实现上的区别。为了描述方便起见,以下统称为MPLS ping.
n 一个MPLS echo request 的IP header的各个域如下设置:
source IP address 是取自sender上的一个可路由的IP地址
destination IP address是一个从127/8(ipv4) or 0:0:0:0:0:FFFF:127/104(ipv6)网段随机选择的一个值.
IP TTL is set to 1.
source UDP port 是sender自己选择的一个值;
destination UDP port 设为 3503
The Router Alert option 必须被设置
n MPLS PING的Payload format
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Version Number | Global Flags |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Message Type | Reply mode | Return Code | Return Subcode|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Sender's Handle |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Sequence Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| TimeStamp Sent (seconds) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| TimeStamp Sent (microseconds) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| TimeStamp Received (seconds) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| TimeStamp Received (microseconds) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| TLVs ... |
. .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
n 报文格式中Message Type 有下面两个值:
Value Meaning
----- -------
1 MPLS echo request
2 MPLS echo reply
n 报文中The Reply Mode 可以是下面几个值中的一个
Value Meaning
----- -------
1 Do not reply
2 Reply via an IPv4/IPv6 UDP packet
3 Reply via an IPv4/IPv6 UDP packet with Router Alert
4 Reply via application level control channel
其中4,一个例子就是VCCV
MPLS PING和Traceroute的工作机制
n MPLS PING的报文可以是手动按需触发,也可以是定时发送,且频率可配。
n Request报文payload编码好了之后,外面加上UDPheader, IP header,再加上MPLS label,发送出去。
n 对于PING, 会用一个特殊的label,比如mpls alert label,置于用于转发的MPLS label后面,当报文到达目的地之后,目的LSR看到mpls alert label,就会把报文送到CPU,CPU检查里面的IP是127.0.0.1,就会处理它。当然也可以不用mpls alert label,而用一些别的机制,比如在PWE3封装中,通过把PW label的TTL设为1或者用PW associated channel来使目的LSR终结该报文,并送到CPU去处理,处理完后,再发送回去,报文中携带必要的信息。比如典型应用VCCV。
n 对于traceroute,则是通过把最外层MPLS label的TTL依次设置为1,2,3….N,每次TTL减为0,就被送到CPU去处理。CPU然后送reply回去,在reply里面把需要的信息带上。
|
|