This example shows how to configure a tiered service profile for subscribers.
The profile contains three services:
Each subscriber is allocated a VLAN that is created statically. Subscribers log in using DHCP and authenticate using RADIUS. The subscribers can migrate from one service to another when they change subscriptions.
To configure a profile for a tiered service:
- interfaces {
-
- ge-2/0/0 {
- description subscribers;
- hierarchical-scheduler;
- stacked-vlan-tagging;
-
- unit 1 {
- vlan-tags outer 100 inner 100;
-
- family inet {
- unnumbered-address lo0.0 preferred-source-address 100.0.0.1;
- }
- }
-
- unit 2 {
-
- family inet {
- vlan-tags outer 101 inner 101;
- unnumbered-address lo0.0 preferred-source-address 100.0.0.1;
- }
- }
-
- unit 3 {
- vlan-tags outer 102 inner 102;
-
- family inet {
- unnumbered-address lo0.0 preferred-source-address 100.0.0.1;
- }
- }
- }
- }
In this example, each offering (video, voice, and data) is assigned a queue, and each service (Gold, Silver, and Bronze) is assigned a scheduler.
- class-of-service {
-
- forwarding-classes {
- queue 0 data;
- queue 1 voice;
- queue 3 video;
- }
-
- scheduler-maps {
-
- bronze_service_smap {
- forwarding-class data scheduler data_sch;
- }
-
- silver_service_smap {
- forwarding-class data scheduler data_sch;
- forwarding-class voice scheduler silver_voice_sch;
- forwarding-class video scheduler silver_video_sch;
- }
-
- gold_service_smap {
- forwarding-class data scheduler data_sch;
- forwarding-class voice scheduler gold_voice_sch;
- forwarding-class video scheduler gold_video_sch;
- }
- }
-
- schedulers {
-
- data_sch {
- transmit-rate percent 20;
- buffer-size remainder;
- priority low;
- }
-
- silver_voice_sch {
- transmit-rate percent 30;
- buffer-size remainder;
- priority high;
- }
-
- silver_video_sch {
- transmit-rate percent 30;
- buffer-size remainder;
- priority medium;
- }
-
- gold_voice_sch {
- transmit-rate percent 40;
- buffer-size remainder;
- priority high;
- }
-
- gold_video_sch {
- transmit-rate percent 40;
- buffer-size remainder;
- priority medium;
- }
- }
- }
The scheduler maps configured for each service are referenced in the dynamic profile.
- dynamic-profiles {
-
- subscriber_profile {
-
- interfaces {
-
- "$junos-interface-ifd-name" {
-
- unit "$junos-underlying-interface-unit" {
- family inet;
- }
- }
- }
-
- class-of-service {
-
- traffic-control-profiles {
-
- subscriber_tcp {
- scheduler-map $smap;
- shaping-rate $shaping-rate;
- guaranteed-rate $guaranteed-rate;
- delay-buffer-rate $delay-buffer-rate;
- }
- }
-
- interfaces {
-
- "$junos-interface-ifd-name" {
-
- unit "$junos-underlying-interface-unit" {
- output-traffic-control-profile subscriber_tcp;
- }
- }
- }
- }
The DHCP relay agent forwards DHCP request and reply packets between a DHCP client and a DHCP server. You use DHCP relay to obtain configuration parameters, including an IP address, for subscribers. In this example, one DHCP server, address 100.20.42.1, can be used by subscribers.
The DHCP relay configuration is attached to an active server group named service_provider_group.
The subscribers are grouped together within the subscriber_group, and identifies characteristics such as authentication, username info, and the associated interfaces for the group members. In this example, it also identifies the active server group and the dynamic interface that is used by the subscribers in the group.
- forwarding-options {
-
- dhcp-relay {
-
- server-group {
-
- service_provider_group {
- 100.20.42.1;
- }
- }
-
- group subscriber_group {
- active-server-group service_provider_group;
- dynamic-profile subscriber_profile;
- interface ge-2/0/0.1;
- interface ge-2/0/0.2;
- interface ge-2/0/0.3;
- }
- }
- }