Multicast and Broadcast Packet Counts to total Packets Ratios Report
Introduction
As argued in the documents below:
And;
Computing accurately Overall Link Throughput.
The most sought after Statistics collection processes are those processes that calculates Link Bandwidth Utilization. It is also mentions that Utilization calculations could be compromised by the interface speed value deviations and as links could either be LAN based or WAN based; utilization accuracy could be compromised/influenced by the duplex mode settings.
In this solution however we will argue that Utilization calculations could be compromised by how the calculations themselves are conducted. That is the nature of the data used in the formulas and how they apply to the overall Utilization.
Breaking the total packets count value into its relevant components and according to the traffic components nature will give a truly accurate and enhanced picture for the traffic analysis tasks necessarily leading to better understanding of the dynamics of the particular overall ‘network environment’.
Breaking the traffic into its components means that we need to account for all three traffic components; namely:
Unicast traffic.
Broadcast traffic. And,
Multicast traffic.
Each of those components could be calculated as a ratio to the total traffic. The total traffic is the sum of the Unicast, Broadcast, and Multicast traffic counts at a particular instant of time.
Following are the equations that should be used to calculate link traffic ratios in each direction:
Inbound Unicast Traffic Ratio
|
|
Number of Inbound Unicast Packets |
|
|
|
Total number of Inbound Packets
|
|
Inbound Broadcast Traffic Ratio
|
|
Number of Inbound Broadcast Packets |
|
|
|
Total number of Inbound Packets
|
|
Inbound Multicast Traffic Ratio
|
|
Number of Inbound Multicast Packets |
|
|
|
Total number of Inbound Packets
|
|
Outbound Unicast Traffic Ratio
|
|
Number of Outbound Unicast Packets |
|
|
|
Total number of Outbound Packets
|
|
Outbound Broadcast Traffic Ratio
|
|
Number of Outbound Broadcast Packets |
|
|
|
Total number of Outbound Packets
|
|
Outbound Multicast Traffic Ratio
|
|
Number of Outbound Multicast Packets |
|
|
|
Total number of Outbound Packets
|
|
Where;
Total number of Inbound Packets:
Is in fact the sum of all the traffic packets counters represented/reported by the MIB objects: ifInUcastPkts, ifInBroadcastPkts, ifInMulticastPkts.
Total number of Outbound Packets:
Is in fact the sum of all the traffic packets counters represented/reported by the MIB objects: ifOutUcastPkts, ifOutMulticastPkts, ifOutBroadcastPkts
Number of Inbound Unicast Packets:
Is the sum of the traffic packets counter represented/reported by the MIB object: ifInUcastPkts.
Number of Inbound Broadcast Packets:
Is the sum of the traffic packets counter represented/reported by the MIB object: ifInBroadcastPkts.
Number of Inbound Multicast Packets:
Is the sum of the traffic packets counter represented/reported by the MIB object: ifInMulticastPkts.
Number of Outbound Unicast Packets:
Is the sum of the traffic packets counter represented/reported by the MIB object: ifOutUcastPkts.
Number of Outbound Broadcast Packets:
Is the sum of the traffic packets counter represented/reported by the MIB object: ifOutBroadcastPkts.
Number of Outbound Multicast Packets
Is the sum of the traffic packets counter represented/reported by the MIB object: ifOutMulticastPkts.
In looking more closely at link utilization calculated without overhead traffic; unicast, broadcast and multicast traffic ratios could then be compared to the overall utilization in each link direction.
Solution Overview
The main goal of the management process is to calculate link utilization and calculating the extracted utilization for the different traffic components.
|
Inbound
Multicast traffic Utilization |
Inbound
Broadcast traffic Utilization |
|
|
|
|
|
|
SOSL Based Management Process Script Configuration
MODULE IfUtilization();
DESCRIPTION "Interface group information";
BEGIN
MSG-MGR("Interfaces group Management Process started..");
ALL-DEV (ZONE "LondonOffice") BY DEV
{
SET-INDEX ifTable ( ifDescr [ ifIndex, INT ] );
WITH-INDEX ifTable
{
POLL (ifType; ifAdminStatus;ifOperStatus);
DEFINE ifType DB DISPL;
DEFINE ifAdminStatus DB DISPL;
DEFINE ifOperStatus DB DISPL;
IF ( ifAdminStatus == "^up$")
THEN
IF ( ifTypeVar == "^ethernetCsmacd$" )
THEN
IF ( ifOperStatus == "^up$")
THEN
DEFINE ifInOctetsT1 MAP INT;
DEFINE ifInUcastPktsT1 MAP INT;
DEFINE ifInBroadcastPktsT1 MAP INT;
DEFINE ifInMulticastPktsT1 MAP INT;
POLL ( ifInOctets;
ifInUcastPkts;
ifInBroadcastPkts;
ifInMulticastPkts;
sysUpTime;
ifCounterDiscontinuityTime);
DEFINE ifInOctets DB INT;
DEFINE ifInUcastPkts DB INT;
DEFINE ifInBroadcastPkts DB INT;
DEFINE ifInMulticastPkts DB INT;
IfInOctetsT1 = IfInOctets;
ifInUcastPktsT1 = ifInUcastPkts;
ifInMulticastPktsT1 = ifInMulticastPkts;
ifInBroadcastPktsT1 = ifInBroadcastPkts;
DEFINE sysUpTime DB INT;
DEFINE ifCounterDiscontinuityTime DB INT;
DEFINE Time1 MAP INT;
DEFINE ifDisconTime1 MAP INT;
Time1 = sysUpTime;
ifDisconTime1= ifCounterDiscontinuityTime;
ENDIF;
ENDIF;
ENDIF;
};
};
POLL-FREQ 5
{
WAIT (3000);
ALL-DEV (ZONE "LondonOffice") BY DEV
{
SET-INDEX ifTable ( ifDescr [ ifIndex, INT ] );
WITH-INDEX ifTable
{
POLL (ifType; ifAdminStatus;ifOperStatus);
DEFINE ifType DB DISPL;
DEFINE ifAdminStatus DB DISPL;
DEFINE ifOperStatus DB DISPL;
IF ( ifAdminStatus == "^up$")
THEN
IF ( ifTypeVar == "^ethernetCsmacd$" )
THEN
IF ( ifOperStatus == "^up$")
THEN
DEFINE ifInOctetsT2 MAP INT;
DEFINE ifInUcastPktsT2 MAP INT;
DEFINE ifInBroadcastPktsT2 MAP INT;
DEFINE ifInMulticastPktsT2 MAP INT;
POLL ( ifInOctets;
ifInUcastPkts;
ifInBroadcastPkts;
ifInMulticastPkts;
sysUpTime;
ifCounterDiscontinuityTime);
DEFINE ifInOctets DB INT;
DEFINE ifInUcastPkts DB INT;
DEFINE ifInBroadcastPkts DB INT;
DEFINE ifInMulticastPkts DB INT;
IfInOctetsT2 = IfInOctets;
IfInUcastPktsT2 = ifInUcastPkts;
ifInMulticastPktsT2 = ifInMulticastPkts;
ifInBroadcastPktsT2 = ifInBroadcastPkts;
DEFINE sysUpTime DB INT;
DEFINE ifCounterDiscontinuityTime DB INT;
DEFINE Time2 MAP INT;
DEFINE ifDisconTime2 MAP INT;
Time2 = sysUpTime;
IfDisconTime2 = ifCounterDiscontinuityTime;
ENDIF;
ENDIF;
ENDIF;
CounterData ( ifInOctets, ifInOctetsT1, ifInOctetsT2);
CounterData ( ifInUcastPkts, ifInUcastPktsT1, ifInUcastPktsT2);
CounterData (ifInMulticastPkts, ifInMulticastPktsT1, ifInMulticastPktsT2);
CounterData (ifInBroadcastPkts, ifInBroadcastPktsT1, ifInBroadcastPktsT2);
DEFINE TotalInPkts MAP INT;
InPkts = ifInUcastPkts + ifInBroadcastPkts + ifInMulticastPkts;
DEFINE DeltaT MAP INT;
DeltaT = Time2 – Time1;
DEFINE ifDisconTime MAP INT;
ifDisconTime = ifDisconTime2 – ifDisconTime1;
IF (ifDisconTime == 0)
THEN
######################################################
# Data Utilization calculation and the extraction of the utilization values per traffic type:
######################################################
DEFINE InDataUtilization DB INT;
InDataUtilization = (ifInOctets*8-(TotalInPkts*160))*100 / (DeltaT * 10000);
DEFINE UnicastTtrafficRatio DB INT;
DEFINE UnicastUtilization DB INT;
UnicastTtrafficRatio = ifInUcastPkts / TotalInPkts;
UnicastUtilization = UnicastTtrafficRatio * InDataUtilization;
DEFINE MulticastTtrafficRatio DB INT;
DEFINE MulticastUtilization DB INT;
MulticastTtrafficRatio = ifInMulticastPkts / TotalInPkts;
MulticastUtilization = MulticastTtrafficRatio * InDataUtilization;
DEFINE BroadcastTtrafficRatio DB INT;
DEFINE BroadcastUtilization DB INT;
BroadcastTtrafficRatio = ifInBroadcastPkts / TotalInPkts;
BroadcastUtilization = BroadcastTtrafficRatio * InDataUtilization;
ifInOctetsT1 = ifInOctetsT2;
ifInUcastPktsT1 = ifInUcastPktsT2;
ifInNUcastPktsT1 = ifInUcastPktsT2;
ifInErrorsT1 = ifInErrorsT2;
ifInDiscardsT1 = ifInDiscardsT2;
ENDIF;
};
};
};
END
[SOSL
Case Studies], [Management
Concepts], [NMS
Technology R&D]
[Home], [About], [Solutions
Center], [NMS
Market],
[Products & Services],
[Management Technology], [Technical Support],
[Contact us], [Site
Map]