Multicast and Broadcast Packet Counts to total Packets Ratios Report


 

Introduction

 

As argued in the documents below:

 

Comparing overall link utilization with the types of protocols and errors occurring over the same link.

 

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:

 

 

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
Sample Graph

Inbound Broadcast traffic Utilization
Sample Graph

 

 

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]