CCIE Pursuit Blog

April 29, 2008

Question Of The Day: 29 April, 2008

Topic: OSPF

You have the following configuration on r1.

interface Loopback0
 ip address 1.1.1.1 255.0.0.0
!
router ospf 100
 router-id 1.1.1.1
 log-adjacency-changes
 network 1.1.1.1 0.0.0.0 area 0
 network 10.1.12.1 0.0.0.0 area 0

r2 is seeng the loopback address with a /32 mask:

r2#sh ip route ospf
     1.0.0.0/32is subnetted, 1 subnets
O       1.1.1.1 [110/2] via 10.1.12.1, 00:00:13, FastEthernet0/0

Using only a single command, make it so that r2 sees r1’s Loopback 0 with its configured network mask.

Click Here For The Answer


Yesterday’s Question

Question Of The Day: 28 April, 2008 

Topic: Frame Relay Traffic Shaping

Here is the current configuration for r1’s Frame Relay connection:

interface Serial1/0
 no ip address
 encapsulation frame-relay
!
interface Serial1/0.12 point-to-point
 ip address 10.1.12.1 255.255.255.0
 frame-relay interface-dlci 102

Configure r1 to match this output:

r1#show traffic-shape

Interface   Se1/0.12
       Access Target    Byte   Sustain   Excess    Interval  Increment Adapt
VC     List   Rate      Limit  bits/int  bits/int  (ms)      (bytes)   Active
102           512000    9600   51200     25600     100       6400      BECN

Answer:

map-class frame-relay FRTS
 frame-relay cir 512000
 frame-relay bc 51200
 frame-relay be 25600
 frame-relay adaptive-shaping becn
!
interface Serial1/0
 no ip address
 encapsulation frame-relay
 frame-relay traffic-shaping

!
interface Serial1/0.12 point-to-point *
 ip address 10.1.12.1 255.255.255.0
 frame-relay interface-dlci 102
  class FRTS

* There are actually three ways to apply this map-class to achieve the output in the question:

1)  Apply it to DLCI 102 only (method shown above).  Configure frame-relay traffic-shaping on the physical interface.  The subinterface will inherit that setting.  Next, configure the FRTS class under the frame-relay interface-dlci command.

interface Serial1/0
 frame-relay traffic-shaping
interface Serial1/0.12 point-to-point
 frame-relay interface-dlci 102
  class FRTS

2)  Configure frame-relay traffic-shaping on the physical interface.  The subinterface will inherit that setting.  Next, configure the FRTS class on the subinterface with the frame-relay class command.  This will apply the FRTS map-class to all DLCIs assocatiated with the s1/0.12 subinterface.  Since we’re using a point-to-point subinterface (only one DLCI allowed) we achieve the same results as method 1.  Keep in mind that if this is a multipoint subinterface this method would apply the map-class to all DLCIs associated with that subinterface.

interface Serial1/0
 frame-relay traffic-shaping
interface Serial1/0.12 point-to-point
 frame-relay class FRTS

3)  Configure frame-relay traffic-shaping on the physical interface.  The subinterface will inherit that setting.  Next, configure the FRTS class on the physical interface with the frame-relay class command.  All subinterfaces will inherit this map-class.  In our example we only have a single subinterface configured so this will achieve the same result as methods 1 and 2. 

interface Serial1/0
 frame-relay traffic-shaping
 frame-relay class FRTS

The biggest ‘gotcha’ with FRTS on subinterfaces is that you need to turn frame-relay traffic-shaping on for the physical interface.  If we add another subinterface to serial1/0 then we’ll end up with that subinterface inheriting a default frame-relay map-class (methods 1 and 2) or the FRTS map-class (method 3).

Methods 1 and 2:
r1(config-subif)#do sh traffic

Interface   Se1/0.12
       Access Target    Byte   Sustain   Excess    Interval  Increment Adapt
VC     List   Rate      Limit  bits/int  bits/int  (ms)      (bytes)   Active
102           512000    9600   51200     25600     100       6400      BECN

Interface   Se1/0.13
       Access Target    Byte   Sustain   Excess    Interval  Increment Adapt
VC     List   Rate      Limit  bits/int  bits/int  (ms)      (bytes)   Active
103           56000     875    7000      0         125       875       –  

Method 3:
r1(config-if)#do sh traffic

Interface   Se1/0.12
       Access Target    Byte   Sustain   Excess    Interval  Increment Adapt
VC     List   Rate      Limit  bits/int  bits/int  (ms)      (bytes)   Active
102           512000    9600   51200     25600     100       6400      BECN

Interface   Se1/0.13
       Access Target    Byte   Sustain   Excess    Interval  Increment Adapt
VC     List   Rate      Limit  bits/int  bits/int  (ms)      (bytes)   Active
103           512000    9600   51200     25600     100       6400      BECN

So how did we reverse-engineer the values for our map-class?  Let’s look at the original output:

r1#show traffic-shape

Interface   Se1/0.12
       Access Target    Byte   Sustain   Excess    Interval  Increment Adapt
VC     List   Rate      Limit  bits/int  bits/int  (ms)      (bytes)   Active
102           512000    9600   51200     25600     100       6400      BECN

VC= Virtual Circuit (DLCI) = 102
Access-List = access-group assigned to the interface = none
Target Rate= CIR = 512Mbps
Byte Limit= Bc + Be in bytes = 9600 (multiply by 8[bit] to get 76800 which jives with our Bc (51200) + Be (25600))
Sustain bits/int= Bc = 51200
Excess bits/int = Be = 25600
Interval (ms) = Tc in milliseconds = 100 ms
Increment (bytes)= No idea  🙂  It looks like it may be the Bc in bytes.
Adapt Active= Adaptive Shaping mechanism (if any) =  BECN (reduce to MINCIR value if a BECN is detected)

From this information we should be able to build our Frame Relay map-class:

map-class frame-relay FRTS
 frame-relay cir 512000 <- Target Rate
 frame-relay bc 51200 <- Sustain bits/int
 frame-relay be 25600 <- Excess bits/int 
 frame-relay adaptive-shaping becn <- Adapt Active

One thing to note is that you cannot determine the MINCIR value from the output provided.  Since we’re using adaptive shaping, there must be a MINCIR value established.  This is the tranmit rate that the interface will use if it detects a BECN.  By default this value is set to half of the CIR.  In our case the CIR is 512000 so our MINCIR is 256000:

r1(config-map-class)#do sh frame pvc 102 | b Shaping
  Shaping adapts to BECN
  pvc create time 00:28:39, last time pvc status changed 00:27:25
  cir 512000    bc 51200     be 25600     byte limit 9600   interval 100
  mincir 256000    byte increment 6400  Adaptive Shaping BECN
  pkts 370       bytes 30031     pkts delayed 0         bytes delayed 0       
  shaping inactive   
  traffic shaping drops 0
  Queueing strategy: fifo
  Output queue 0/40, 0 drop, 0 dequeued

I didn’t give that information in this question because the output explicitly shows you the Be and Bc values.  🙂  Technically I did not give you sufficient information to complete this task as the MINCIR value could have been set to a non-default value (384000) and you would not have known about it from the output provided.

The second point it that the Interval is derived from the formula (using a little bit of basic algebra):

Bc = CIR * (Tc/1000)
Bc/CIR = Tc/1000
(Bc/CIR)*1000 = Tc
Tc = (Bc/CIR)*1000
Tc = (51200/512000) * 1000
Tc = .1 * 1000
Tc = 100

My point is that you do not need to explicitly set the Tc with the ‘frame-relay tc’ command.  In fact, if you do try to set it after setting Bc and CIR, it will not change your Tc:

Let’s try to change the Tc:
r1(config)#map-class frame-relay FRTS
r1(config-map-class)#frame-relay tc 50r1(config-map-class)#do sh traffic

 

Interface   Se1/0.12
       Access Target    Byte   Sustain   Excess    Interval  Increment Adapt
VC     List   Rate      Limit  bits/int  bits/int  (ms)      (bytes)   Active
102           512000    9600   51200     25600     100       6400      BECN

As you can see, the Interval does not change.  If we want to set it to 50 ms, then we need to alter the Bc value.  In this case we would just cut it in half:

r1(config)#map-class frame-relay FRTS
r1(config-map-class)#frame-relay bc 25600 
r1(config-map-class)#do sh traffic

Interface   Se1/0.12
       Access Target    Byte   Sustain   Excess    Interval  Increment Adapt
VC     List   Rate      Limit  bits/int  bits/int  (ms)      (bytes)   Active
102           512000    6400   25600     25600     50        3200      BECN

 

Advertisements

4 Comments »

  1. int lo0
    ip ospf network point-to-point

    really good when injecting ‘customer networks’ or similar in labs :]

    Comment by f — April 29, 2008 @ 1:09 pm | Reply

  2. ok, i didnt use only a single command, but i just wanted to show that the command is to be entered under the interface loopback0 context 😛

    Comment by f — April 29, 2008 @ 1:11 pm | Reply

  3. 🙂

    My bad. “Add a single line to the current configuration.”

    Comment by cciepursuit — April 30, 2008 @ 6:07 am | Reply

  4. […] Question Of The Day: 29 April, 2008  […]

    Pingback by Question Of The Day: 30 April, 2008 « CCIE Pursuit — April 30, 2008 @ 6:34 am | Reply


RSS feed for comments on this post. TrackBack URI

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Blog at WordPress.com.

%d bloggers like this: