So it's always been my worst topic of the day , understanding what those values are. Even in live network at work i always use their default values and never tried to modify them, but here i am today and it took me quite  a while to try to somehow understand how those work and below is my simple simplification of the concept which may or may not be correct.

The first way to understand those values is to divide the technologies that use those terms : 

1- Traffic Shaping 
2- Frame-Relay Traffic Shaping
3- Policing
4- CAR

Each of those technologies use those terms BC,BE but each technology use those terms differently.
   Snapshot from Jeremy Cioara Explanation of shaping
1-Traffic Shaping

What's traffic shaping , what traffic shaping does is that it tries to buffer excess packets and maintain a constant traffic rate that's below the customer rate. This is mostly seen on Metroethernet connections for example where the Ethernet speed is 10 Mgb/s and customer only purchased 5 Mgb/s so the only way to stop him is to use traffic shaping under a policy-map
which would be something like this.

policy-map limit-out
class class-default
shape average 1000000 

now what if the customer can burst more than this rate we need to set two values one Bc which is the bytes rate (or in other words the Tc) of the customer and the AIR which is the maximum allowed rate that the customer can send traffic in.

Let's say that the customer AIR would be 8 Mg in this case we would need to do the math. 

AIR = (bc+be)/Tc    ok but what are the Tc and the Bc 

so the point here the Bc is just a translation to tell the router what's its Tc to shape upon and to do the math in case we need to calculate the Be

For example by default
R5(config)#policy-map LIMIT
R5(config-pmap)# class class-default
R5(config-pmap-c)#shape average 1000000



R5#show policy-map int fa1/0 out
 FastEthernet1/0

  Service-policy output: LIMIT

    Class-map: class-default (match-any)
      112858 packets, 157474318 bytes
      30 second offered rate 6612000 bps, drop rate 6505000 bps
      Match: any
      Traffic Shaping
           Target/Average   Byte   Sustain   Excess    Interval  Increment
             Rate           Limit                bits/int  bits/int  (ms)      (bytes)
          1000000/1000000   6250   25000     25000     25        3125   <<<<<<<<<<<< The router use default interval 25 ms 

        Adapt  Queue     Packets   Bytes     Packets   Bytes     Shaping
        Active Depth                         Delayed   Delayed   Active
        -      0         1961      2682860   1157      1606954   no

Now if we want to modify those parameters

R5(config)#policy-map LIMIT
R5(config-pmap)#class class-default
R5(config-pmap-c)#shape average 1000000 1000000 1000000



R5#show policy-map int fa1/0 out
 FastEthernet1/0

  Service-policy output: LIMIT

    Class-map: class-default (match-any)
      112852 packets, 157473902 bytes
      30 second offered rate 12973000 bps, drop rate 12763000 bps
      Match: any
      Traffic Shaping
           Target/Average   Byte   Sustain   Excess    Interval  Increment
             Rate           Limit  bits/int  bits/int  (ms)      (bytes)
          1000000/1000000   250000 1000000   1000000   1000      125000   <<<<<<<<< The router re-adjust its Tc calculations

        Adapt  Queue     Packets   Bytes     Packets   Bytes     Shaping
        Active Depth                         Delayed   Delayed   Active
        -      0         1955      2682444   1157      1606954   no


Cisco recommends not messing around with those values as i just did :)
Important note here Bc,BE are valued in bits
2- Frame Relay Traffic-Shaping

Here the shaping mechanism is nearly the same as previously explained shaping commands except for the fact that the Bc,Be values are defined under the frame-relay map class. and the map-class can be configured under a specific DLCI.
3-,4  Policing & CAR
Here one of the major differences is that Bc,Be values are expressed in Bytes  and here the Bc,Be are a way of expressing excess bytes to policing and not bits to traffic shaping. In most of examples i saw in policing we assume the Tc to be 1 second.

So Bc here refers to the bytes that i can burst to conform with the policing policy.

For example :

police cir 96000 bc 12000 be 6000 conform transmit exceed set-dscp-trans 0 violate-action drop

Here the Tc = 1 since Bc = 960000/8  and we can burst up to 0.5's second worth of traffic and that's because 
be = 6000 byte

so bc,be here express the excess bytes limit and the amount of byte they can exceed
This post is not final i believe this can be considered a first draft to my long struggle with Bc,Be values :)
 
I've been facing troubles with redistribution lately specially on big scale labs , and i found the best blog post about it is the INE blog posts by  Petr Lapukhov 

http://blog.ine.com/2008/02/09/understanding-redistribution-part-i/
http://blog.ine.com/2008/02/19/understanding-redistribution-part-ii/
http://blog.ine.com/2008/03/17/understanding-redistribution-part-iii/

So i created the generic lab on GNS3 and will start working on it now 
IOS used : c3640-ik9o3s-mz.124-7
configs.zip
File Size: 4 kb
File Type: zip
Download File

topology.zip
File Size: 1 kb
File Type: zip
Download File

 
Using passive interface on RIP only does 1 thing (stop sending RIP updates out of interface) but will not stop advertising the subnetwork on the interface to peer neighbors

Ex On R2 enabling passive interface on S0/0
R2(config)#router rip
R2(config-router)#passive-interface s0/0

If you check on R1 now you'll see that 2.2.2.2 is no longer learnt from R2
R1#sh ip route 2.2.2.2
Routing entry for 2.2.2.2/32
  Known via "rip", distance 120, metric 3
  Redistributing via rip
  Last update from 192.168.13.3 on Serial0/1, 00:00:20 ago
  Routing Descriptor Blocks:
  * 192.168.13.3, from 192.168.13.3, 00:00:20 ago, via Serial0/1   <<<<<<< R3
      Route metric is 3, traffic share count is 1

Ex2:  Enabling passive interface on loopback interface , long ago i used to believe would stop router processor from sending the RIP update about this network but turned out I'm wrong
R2(config)#router rip
R2(config-router)#passive-interface lo0

R4#sh ip route 2.2.2.2
Routing entry for 2.2.2.2/32
  Known via "rip", distance 120, metric 1
  Redistributing via rip
  Last update from 192.168.24.2 on Serial0/1, 00:00:22 ago
  Routing Descriptor Blocks:
  * 192.168.24.2, from 192.168.24.2, 00:00:22 ago, via Serial0/1   <<<<< Still R4 learns about it
      Route metric is 1, traffic share count is 1


So seems to do filtering we can use route-filtering but not passive interface :(
 
Summerization in Ripv2 is made using interface level configuration.
There are 2 notes that i want to point out down there , first while doing this lab i actually made a loop
second i want to point out to one limitation in RIPv2 concerning summerization

Task 1 : Summerize 2.0.0.0/8 out of R2 to R1 instead of 2.2.2.2/32
R2(config-if)#ip summary-address rip 2.0.0.0 255.0.0.0

Looks beautiful but now take another look at our topology ? don't you notice a problem , the problem is that the summary route kept appearing and disappearing from R1 so i made a debug ip rip database and noticed the below
*Mar  1 00:42:49.187: RIP-DB: Remove 2.0.0.0/8, (metric 4294967295) via 192.168.12.2, Serial0/0

What happened is the following R2 advertise to R1 2.0.0.0/8 so R1 advertise it to R3 then R4 and R4 then advertise it back to R2  from R2 momentery 



R       2.0.0.0/8 [120/4] via 192.168.24.4, 00:00:00, Serial0/1
Note* that R2 don't install summary entry once summerization is configured and seems that this is what cause the problem

Solution Make R2 summarize  out of all interfaces not only S0/0 but also through S0/1 to avoid loop


Task 2 :  Summarize network 192.168.0.0/16 out of S0/0
R2(config-if)#ip summary-address r 192.168.0.0 255.255.0.0
 Summary mask must be greater or equal to major net

It turned out that RIP doesn't support superneting so i can't advertise a summary address of a super net like 192.168.0.0 since it's by default a class C of /24

The only solution to fix issue would be create a null 0 route and resdistribute it into RIP


R2(config)#  ip route 192.168.0.0 255.255.0.0 null 0
R2(config)#  router rip
R2(config-router)#  redistribute static

R1#sh ip route  | i /16
R    192.168.0.0/16 [120/1] via 192.168.12.2, 00:00:04, Serial0/0

    The posts in this blog are not a technical reference it's just my humble way of understanding topics in my CCIE pursuit , they could be right and could be wrong and most importantly they're debatable.
    Note All comic pictures used on this blog are made using the amazing Facebook app bitstrips

    Author

    During the past few years I've worked on becoming a networks expert , with more than 3 years of practical experience within Orange Business Services , i started to hold grip of important technical aspects to the complex network design specially with Cisco networks. 

    I'm currently pursuing my first CCIE 

    Archives

    December 2013
    November 2013

    Categories

    All
    Doccd
    Plan
    Ripv2
    Switching