This is a follow-up post to An Introduction to MPLS. That post tried to give some background on MPLS and described the use of edge routers and the MPLS ‘cloud’.
This post is going to talk about monitoring the service on Cisco routers. What follows works on 2600-series routers, but will also probably work on any later model Cisco router.
As with any monitoring exercise, you need to decide upfront what it is you are interested in. If it’s just ‘circuit availability’ (is the link up of down) then that’s just a simple case of configuring the routers to send LINK-DOWN traps to the Command Center. Usually though, customers are interested in more subtle things like ‘how well is the link performing?’ as opposed to just ‘is it working?’.
Fortunately there are some pretty useful things already in the Cisco Operating system to help us.
The way we’ve approached this is to set-up probes on each of the routers – probes are part of the Cisco operating system. Here is what a probe does: if you consider a pair of Edge Routers either side of the MPLS service, then the probe causes test data to be sent from one router through MPLS, detected by the other in the pair, and then echoed back again. In doing so, you can measure
- Latency (how long it takes for the round trip)
- Jitter (how much the round trip time varies)
- Packet loss (did we lose any data on the round trip)
Jitter is a statistic you should only look at if you are trying to use Voice over IP (VoIP), or are sending voice-class data over your MPLS link. Latency and Packet Loss are relevant statistics however if you are just sending data.
The Cisco routers gather all of this data for you, and place it in an SNMP table you can read from the Command Center (you’ll find a MIB and Command Center Script at the end of this post). With a few simple calculations that the script performs, you can get Latency, Jitter and Packet Loss from the table.
These commands can be used to set-up the Edge Routers
where 126.96.36.199 is the address of the other router in the pair.
The default Cisco SNMP Packetsize is too small to allow the statistics table to be read. So, the following command is required:
snmp-server packetsize 8192
The probe listed above will send an approximate 20KBPs stream, as shown below:
- Send 86 byte packets (74 payload + 12 byte RTP header size) + 28 bytes (IP + UDP).
- Send 1000 packets for each frequency cycle.
- Send every packet 30 milliseconds apart for a duration of 30 seconds and sleep 10 seconds before starting the next frequency cycle.
((1000 * 74) / 30 seconds) * 8 bite per byte = 19.733 KBPs
These links on the Cisco website offer more detail
and the MIB for the Cisco table is here:
and the script is here (right-click each link and 'save as...')