Juniper MX BRAS – Part 3

As you notice from previous configuration. We have to configure the unit 1 with static VLAN (800) to create only ONE SUBSCRIBER INTERFACE . However in real world scenario this not necessarily the case. we need to make MX check the incoming vlan id from DSLAM and handle the creation of both VLANS and Units that hold the PPPoE sessions. BTW, Here’s a golden rule. One Vlan per Unit!

clip_image001

 

You can find below the interface structure in dynamic configuration. The physical interface is ae(Active Ethernet) and beneath it the auto-configure command that “instantiate” the VLAN and SVLAN from dynamic-profile

image

Introducing a new Interface Type – Demux!

What is Demux Interface?

Demultiplexing (demux) interfaces are logical interfaces that share a common, underlying interface. You can create logical subscriber interfaces using static or dynamic demultiplexing interfaces.

Why use demux interface?

The Service VLAN (S-VLAN) model requires the use of basic dynamic IP profiles and the special Junos demux0 interface. the demux interface is used to identify clients based on IP address when they share a single VLAN.

This is a good quote from Juniper Form describe the need of demux interface

When you have a deployment where every customer is using it’s own stacked VLAN (C-VLAN model) you are done there, no need for demux to differentiate between subscriber. However, In case you have a single VLAN or Service VLAN model (S-VLAN) you have multiple clients sharing a single VLAN. THen you want to force another policy per customer. The DEMUX interface is then used to identify clients based on source IP address (configured using demux-source on vlan subinterface). Based on every clients source address a demux subinterface is generated using variables you defined.

Type of Demux Interface

  1. VLAN Demux Interface (i.e. capture the VLAN or SVLAN from the incoming packet and build interface based on it)
  2. IP Demux Interface(i.e. capture the Source or destination IP address from the incoming packet and build interface based on it)

Points to remember

  1. Only dmux0 is available. You have to configure units over it(demux0.0, demux0.1…)
  2. Hierarchical and per-unit scheduling is supported for dynamically created demux interfaces on the EQ DPC.
  3. You must associate VLAN demux interfaces with an underlying device (physical interface).

Enough Talking, Let’s launch the CLI and start configuring

 

Configuration Summary

image

Configuration

interfaces {
ge-5/0/3 {
  gigether-options {
   802.3ad {
    ae0;
    primary;
   }
  }
}
ge-5/1/2 {
  gigether-options {
   802.3ad {
    ae0;
    backup;
   }
  }
}
ae0 {
  flexible-vlan-tagging;
  aggregated-ether-options {
   link-protection;
  }
  auto-configure {
   vlan-ranges {
    dynamic-profile {
     vlan-profile {
      accept pppoe; //define type of protocol that will trigger the instantiate of interface object
      vlan-ranges 1–4094 //supply values for pre-defined Junos parameters
     };
    }
   }
  }
  stacked-vlan-ranges {
   dynamic-profile {
    svlan-profile {
     accept pppoe; //define type of protocol that will trigger the instantiate of interface object
     vlan-ranges 1–4094,1–4094; //supply values for pre-defined Junos parameters
    }
   }
  }
}
}

dynamic-profiles {
pppoe-profile {
  interfaces {
   pp0 {
    unit $junos-interface-unit {
     pppoe-options {
      underlying-interface $junos-underlying-interface;
      server;
     }
     family inet {
      unnumbered-address lo0.0;
     }
    }
   }
  }
}
vlan-profile {
  interfaces {
   demux0 {
    unit “$junos-interface-unit” {
     vlan-id “$junos-vlan-id”;
     demux-options {
      underlying-interface “$junos-interface-ifd-name”;
     }
     family pppoe {
      access-concentrator pppoe-server-1;
      duplicate-protection;
      dynamic-profile pppoe-profile;
     }
    }
   }
  }
}
svlan-profile {
  interfaces {
   demux0 {
    unit “$junos-interface-unit” {
     vlan-tags outer “$junos-stacked-vlan-id” inner “$junos-vlan-id”;
     demux-options {
      underlying-interface “$junos-interface-ifd-name”;
     }
     family pppoe {
      access-concentrator pppoe-server-1;
      duplicate-protection;
      dynamic-profile pppoe-profile;
     }
    }
   }
  }
}

}

Configuration Notes

1- Every profile should be associated with interfaces

pppoe_profile –> ex: pp0

vlan_profile –> ex: demux0

svlan_profile –> ex: demux0

3- Every unit Interface has ‘<IFL>-Options’ (ex: pppoe-options or demux-options) beside a ‘family’ to configure the protocol parameters

4- Variables defined inside the profile are supplied by ifd interface configuration (ex: vlan-range)

5-Interfaces in junos is like Class in programming. You should create an object from them that inherit the properties of the interface on which called “unit” –>Instantiate

Take Away

Now the dynamic interfaces are build up over the physical interfaces whenever a PPPoE packet received. The MX will check the VLAN and SVLAN ID, Make sure they belong to the same range under the phy interface then start to build -again it’s called instantiate in Juniper World-the logical interface from the dynamic-profiles, very clever and dynamic approach

image

 

Advertisements

2 thoughts on “Juniper MX BRAS – Part 3

  1. Hi Basim,

    Once again you dazzled us with this post. I’d say in the last 2 parts, you explained each and every step very clearly but in this post I was kind of lost. Maybe that’s because of I’m really new to this dynamic subscriber management thing but your posts have been proven to be really useful for me.
    One thing though, if you’d be able to explain the use of demux interface in more detail, I’d really appreciate it. Overall this was a really fun and exciting series on MX bRAS configuration!
    Thanks!

Share you opinion to benefit others :)

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