CISCO-MEDIATRACE-MIB
Mediatrace helps to isolate and troubleshoot network degradation problems by enabling a network administrator to discover an Internet Protocol (IP) flow's path, dynamically enable monitoring capabilities on the nodes along the path, and collect information on a hop-by-hop basis. This information includes, among other things, flow statistics, and utilization information for incoming and outgoing interfaces, CPUs, and memory, as well as any changes to IP routes. This information can be retrieved by configuring Cisco Mediatrace to start a recurring monitoring session at a specific time and on specific days. The session can be configured to specify which metrics to collect, and how frequently they are collected. The hops along the path are automatically discovered as part of the operation. This module defines a MIB for the features of configuring Mediatrace sessions and obtain statistics data for a particular hop at a specific time. INITIATOR/RESPONDER ==================== At the top level, this MIB module describes the initiator and responder roles for the device. The scalar objects corresponding to each role are used to enable and set parameters like maximum sessions supported, IP address used for enabling the initiator,etc. Some of the scalar objects are used to obtain information about a particular role for the device. At a time the device supports a single initiator and/or single responder. The following scalar objects are used for enabling the initiator, +---------> cMTInitiatorEnable +---------> cMTInitiatorSourceInterface +---------> cMTInitiatorSourceAddressType +---------> cMTInitiatorSourceAddress +---------> cMTInitiatorMaxSessions In addition to the above objects, the following objects are used for obtaining information about the initiator role on the device, +---------> cMTInitiatorSoftwareVersionMajor +---------> cMTInitiatorSoftwareVersionMinor +---------> cMTInitiatorProtocolVersionMajor +---------> cMTInitiatorProtocolVersionMinor +---------> cMTInitiatorConfiguredSessions +---------> cMTInitiatorPendingSessions +---------> cMTInitiatorInactiveSessions +---------> cMTInitiatorActiveSessions The following scalar objects are used for enabling the responder, +---------> cMTResponderEnable +---------> cMTResponderMaxSessions In addition to the above objects, the following object is used for obtaining information about the responder role on the device, +---------> cMTResponderActiveSessions CONTROL TABLES =============== At the next level, this MIB module describes the entities - path specifier, flow specifier, session params and profile. This section also includes the session and scheduling entities. Each row in the cMTSessionTable corresponds to a single session. The session is a container and hence the path specifier, flow specifier, session params and profile objects for each session point to the corresponding entities in the cMTPathSpecifierTable, cMTFlowSpecifierTable, cMTSessionParamsTable, cMTMediaMonitorProfileTable and cMTSystemProfileTable tables. o cMTPathSpecifierTable - describes path specifiers. o cMTFlowSpecifierTable - describes flow specifiers. o cMTSessionParamsTable - describes session params entities. o cMTMediaMonitorProfileTable - describes media monitor profile. o cMTSystemProfileTable - describes system profiles. The cMTSessionTable has a sparse dependent relationship with each of these tables, as there exist situations when data from those tables may not be used for a particular session, including : 1) The session using system profile does not need flow specifier. 2) The session using media monitor profile may not need optional flow specifier. 3) The session may only use one of the two profiles, system or media monitor. o cMTSessionTable - describes sessions. o cMTScheduleTable - describes scheduling entities for the sessions. The cMTScheduleTable has sparse dependent relationship on the cMTSessionTable, as there exist situations when the a session is not available for scheduling, including - a session is created but is not yet scheduled. +----------------------+ | cMTPathSpecifierTable| | | +-----------------------------+ | cMTPathSpecifierName = ps1 | +-----------------------------+ | | +-----------------------------+ | cMTPathSpecifierName = ps2 | +-----------------------------+ : : : : +-----------------------------+ | cMTPathSpecifierName = ps6 | +-----------------------------+ | | +----------------------+ +----------------------+ | cMTFlowSpecifierTable| | | +-----------------------------+ | cMTFlowSpecifierName = fs1 | +-----------------------------+ | | +-----------------------------+ | cMTFlowSpecifierName = fs2 | +-----------------------------+ : : : : +-----------------------------+ | cMTFlowSpecifierName = fs6 | +-----------------------------+ | | +----------------------+ +-------------------------+ +----------------------+ | cMTSessionTable | | cMTSessionParamsTable| | | | | +-------------------------------------+ +--------------------------+ | cMTSessionNumber = 1 | |cMTSessionParamsName = sp1| | +---------------------------------+ | +--------------------------+ | |cMTSessionPathSpecifierName = ps1| | | | | +---------------------------------+ | +--------------------------+ | | |cMTSessionParamsName = sp2| | +---------------------------------+ | +--------------------------+ | |cMTSessionParamName = sp1 | | : : | +---------------------------------+ | : : | | +--------------------------+ | +---------------------------------+ | |cMTSessionParamsName = sp5| | |cMTSessionProfileName = rtp1 | | +--------------------------+ | +---------------------------------+ | | | | | +-----------------------+ | +---------------------------------+ | | |cMTSessionFlowSpecifierName = fs1| | | +---------------------------------+ | | | | +---------------------------------+ | | |cMTSessionTraceRouteEnabled = T | | | +---------------------------------+ | | | +-------------------------------------+ | | | | +-------------------------------------+ | cMTSessionNumber = 2 | | +---------------------------------+ | +---------------------------+ | |cMTSessionPathSpecifierName = ps2| | |cMTMediaMonitorProfileTable| | +---------------------------------+ | | | | | +-----------------------------+ | +---------------------------------+ | |cMTMediaMonitorProfileName | | |cMTSessionParamName = sp5 | | | =rtp1 | | +---------------------------------+ | +-----------------------------+ | | | | | +---------------------------------+ | +-----------------------------+ | |cMTSessionProfileName = intf1 | | |cMTMediaMonitorProfileName | | +---------------------------------+ | | =rtp1 | | | +-----------------------------+ | +---------------------------------+ | : : | |cMTSessionTraceRouteEnabled = T | | : : | +---------------------------------+ | +-----------------------------+ | | |cMTMediaMonitorProfileName | +-------------------------------------+ | =tcp1 | : : +-----------------------------+ : : | | +-------------------------------------+ +---------------------------+ | cMTSessionNumber = 10 | | +---------------------------------+ | | |cMTSessionPathSpecifierName = ps1| | | +---------------------------------+ | | | | +---------------------------------+ | | |cMTSessionParamName = sp1 | | | +---------------------------------+ | | | | +---------------------------------+ | | |cMTSessionProfileName = tcp1 | | | +---------------------------------+ | | | | +---------------------------------+ | | |cMTSessionTraceRouteEnabled = T | | | +---------------------------------+ | | | +-------------------------------------+ | | | | +-------------------------+ +----------------------+ | cMTSystemProfileTable| | | +-----------------------------+ | cMTSystemProfileName = intf1| +-----------------------------+ | | +-----------------------------+ | cMTSystemProfileName = cpu1 | +-----------------------------+ : : : : +-----------------------------+ | cMTSystemProfileName = intf2| +-----------------------------+ | | +----------------------+ DEFINITIONS =============== Mediatrace Initiator - This is the entity that supports creation of periodic sessions using global session id. Initiator can send request, collects the responses to those request and processes them for reporting. Henceforth, it will be referred as initiator. Mediatrace Responder - This is the entity that queries local database and features to obtain information based on the request sent by the Initiator as part of a session. The collected information is sent as response to the initiator to match the session. Henceforth, it will be referred as responder. Meta-data - Meta information about the flow not contained in the data packet. Examples of such information are global session id, multi party session id, type of application that is generating this flow e.g., telepresence. Meta-data global session identifier - it is one of the meta-data attributes which uniquely identifies a flow globally and is used to query the meta-data database for obtaining the corresponding 5-tuple (destination address, destination port, source address, source port and IP protocol) for path specifier or flow specifier. Path - This specifies the route taken by the Mediatrace request for a particular session. This can be specified in terms of single or multiple 5-tuple parameters - destination address, destination port, source address, source port and IP protocol. Gateway address and VLAN are required in cases where the path starts from network element without IP address. This is specified using path specifier entity. Path Specifier - The path specifier is generally specified using complete or partial 5-tuple (destination address, destination port, source address, source port and IP protocol) for Layer 3 initiator. Gateway and VLAN ID are required for a Layer 2 initiator. It can also use the meta-data Global session Id to specify the 5-tuple. A single row corresponds to a path specifier which is created or destroyed when a path specifier is added or removed. Each path specifier entry is uniquely identified by cMTPathSpecifierName. Examples of a path specifier are as follows, path-specifier (ps1)+-------> destination address (10.10.10.2) +-------> destination port (12344) +-------> source address (10.10.12.2) +-------> source port (12567) +-------> IP protocol (UDP) +-------> gateway (10.10.11.2) +-------> VLAN ID (601) path-specifier (ps2)+-------> meta-data global identifier (345123456) Flow - A unidirectional stream of packets conforming to a classifier. For example, packets having a particular source IP address, destination IP address, protocol type, source port number, and destination port number. This is specified using a flow specifier entity. Flow Specifier - The flow specifier is generally specified using complete or partial 5-tuple (destination address, destination port, source address, source port and IP protocol). It can also use the meta-data Global session Id to specify the 5-tuple. A single row corresponds to a flow specifier which is created or destroyed when a flow specifier is added or removed. Each flow specifier entry is uniquely identified by cMTFlowSpecifierName. Examples of a flow specifier is as follows, flow-specifier (fs1)+-------> destination address(10.11.10.2) +-------> destination port (12344) +-------> source address (10.11.12.2) +-------> source port (12567) +-------> IP protocol (UDP) flow-specifier (fs2)+-------> meta-data global identifier (345123456) Metric - It defines a measurement that reflects the quality of a traffic flow or a resource on a hop or along the path e.g. number of packets for a flow, memory utilization on a hop, number of dropped packets on an interface, etc. Metric-list - It defines logical grouping of related metrics e.g. Metric-list CPU has 1% and 2% CPU utilization metric, Metric-list interface has ingress interface speed, egress interface speed, etc. Profile - It defines the set of metric-lists to be collected from the devices along the path. It can also include additional parameters which are required for collecting the metric e.g., sampling interval (also referred as monitor interval), etc. A Profile can include a set of related metric-lists along with related configuration parameters. The metrics could be the media monitoring (also referred as performance monitoring) metrics such as jitter, packet loss, bit rate etc., or system resource utilization metrics or interface counters. Two profiles, System profile and Media Monitoring (Performance Monitoring) Profile are supported. The different profiles, metric-lists and metrics are listed below, +-----> Profile +---> Metric-list +--------> one min CPU utilization | System | CPU | | | +--------> five min CPU utilization | | | +---> Metric-list +-----> memory utilization Memory | | | +---> Metric-list +------> octets input at ingress | Interface | | +------> octets output at egress | |------> packets received with error | | at ingress | +------> packets with error at egress | +------> packets discarded at ingress | +------> packets discarded at egress | +------> ingress interface speed | +------> egress interface speed | +--> Profile +--> Metric-list +--> Common +--> loss of Media Monitor | TCP | IP | measurement confidence | | metrics | | | +--> media stop event occurred | | +--> IP packet drop count | | +--> IP byte count | | +--> IP byte rate | | +--> IP DSCP | | +--> IP TTL | | +--> IP protocol | | +---> media byte | | count | | | +--> TCP +--> TCP connect round trip | specific | delay | metrics | | +--> TCP lost event count | +--> Metric-list +--> Common +--> loss of measurement RTP | IP | confidence | metrics | | +--> media stop event occurred | +--> IP packet drop count | +--> IP byte count | +--> IP byte rate | +--> IP DSCP | +--> IP TTL | +--> IP protocol | +---> media byte count | +--> RTP +--> RTP inter arrival jitter specific | delay metrics | +--> RTP packets lost +--> RTP packets expected +--> RTP packets lost event | count +---> RTP loss percent Examples of the profiles are as follows, profile system - metric-list interface (sys1) profile media-monitor - metric-list rtp (rtp1) +-------> monitor interval (60 seconds) Session parameter Profile - These correspond to the various parameters related to session such as frequency of data collection, timeout for request, etc. These are specified using the session params entity. This is the entity that executes via a conceptual session/schedule control row and populates a conceptual statistics row. Example session parameter profile is as follows, Session-params (sp1)+-------> response timeout (10 seconds) +-------> frequency (60 seconds) +-------> history data sets (2) +-------> route change reaction time (10 seconds) +-------> inactivity timeout (180 seconds) Session - The session is a grouping of various configurable entities such as profiles, session parameters and path specifiers. Flow specifier is optional and required for media monitor profile only. Once these parameters for a mediatrace session are defined through these entities, they are combined into a mediatrace session. Example of sessions are as follows, session (1) +--------> path-specifier (ps1) +--------> session-params (sp1) +--------> profile system (sys1) metric-list interface session (2) +--------> path-specifier (ps1) +--------> session-params (sp2) +--------> profile media-monitor (rtp1) | metric-list rtp +--------> flow-specifier (fs1) A session cycles through various states in its lifetime. The different states are, Active state : A session is said to be in active state when it is requesting and collecting data from the responders. Inactive state : A session becomes inactive when it is either stopped by unscheduling or life expires. In this state it will no longer collect or request data. Pending state: A session is in pending state when the session is created but not yet scheduled to be active. Based on the state and history of a session it can be classified as configured or scheduled session. Configured session : A session which is created and is in pending or inactive state is called a configured session. It can also be a newly created session which has not been scheduled (made active) yet. Scheduled session : A session which is in active state or pending state which is already requesting and collecting data or has set a time in future to start requesting or collecting data. Responder: The responder is in active state when it is able to process the requests from the initiator, collect the data locally and send the Response back to the initiator. Reachability Address: It is the address of the interface on a responder which is used to send the response to the initiator. Statistics row - This conceptual row is indexed based on the session index, session life index, bucket number and hop information (Hop address type and Hop address). This identifies the statistics for a particular session with specific life, at a particular time and for a specific hop.