Top Banner
11/1/11 How to Set DiffServ over MPLS Test-Bed on Linux Routers? _ MPLS Tutorial 1/3 mplstutorial.com/how-set-diffserv-over-mpls-test-bed-linux-routers mpls tutorial Home Programming Tutorials Ebizon Ebizon Blogs Objective C Tutorial for Beginners make a donaWion Wo VXppoUW Whe ViWe XVeU login UVeUname: * PaVVZoUd: * LRg iQ Create new account Request new password naYigaWion Home India Hotel Site Technology Blogs Programming Q/A, Tutorials UecenW blog poVWV Jquery HTML() Learning PHP Language Hashes in Ruby, Perl and Java more Home ª MPLS Tutorial how to set diffserv over mpls test-bed on linux routers? 8.1 network topology The topology of the test-network is as follows: Fig. 8.1 Network Topology This topology is primarily chosen since it is the simplest topology possible with which MPLS local path protection mechanism can be demonstrated and its efficiency compared. All the machines used are Intel machines with RedHat-9 as the Operating System. All the links are 100Mbps links, but the bandwidth has been throttled to 60Mbps between B-C and E-F, 20Mbps between C-D and 40Mbps between C-E and E-D. The throttling of bandwidth is used to give the network a more realistic look, and hence make the DiffServ provisioning more realistic. 8.2 configuring the network All the five machines within the DiffServ over MPLS domain were configured as follows: 1)IPtables utility was installed. 2) Linux kernel-2.4.18 was patched with MPLS and DiffServ patch and compiled from scratch. Also, the kernel was patched with Hierarchical Token Bucket (HTB) queuing discipline (Qdisc) since it is only supported on kernel versions greater than equal to 2.4.20. 3)Then the IProute2 package was installed. 4)Following this, RSVP-TE daemon [19] was compiled and configured on all the machines. (Note: Although the compilation and configuration procedure has been specified at http://dsmpls.atlantis.ugent.be/files/installation_rsvpd-0.70-rc2.txt, it is recommended that the procedure specified in Appendix A be followed, since quite a few changes had to be made to make the things work, especially if HTB support is to be compiled in.) 5)The SNMP software [20] was installed on each machine. The configuration file snmpd.conf was edited in each case and proper IP addresses with community names were added. (NOTE: It is important to include perl module support while configuring the net-SNMP software. These perl modules are essential for the mib2c tool which is of significant importance while trying to extend the net-SNMP agents support for MIBs (which can either be standard MIBs, not supported by the software or non-standard MIBs which have been written for experimental purpose.) In addition to all this, GateDs OSPF [21,22] routing daemon was installed on all 7 machines. The configuration files for the OSPF can be found in Appendix B. For the sake of simplicity, all the machines have been configured to be on the backbone area. For the purpose of synchronizing the clocks of the sender and the receiver for enabling accurate delay and jitter measurements, Network Time Protocol (NTP) has been used. The configuration files for NTP [23] can be
3

How to Set DiffServ Over MPLS Test-Bed on Linux Routers_ _ MPLS Tutorial

Feb 20, 2015

Download

Documents

maxymony
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: How to Set DiffServ Over MPLS Test-Bed on Linux Routers_ _ MPLS Tutorial

11/1/11 How to Set DiffServ over MPLS Test-Bed on Linux Routers? | MPLS Tutorial

1/3mplstutorial.com/how-set-diffserv-over-mpls-test-bed-linux-routers

mpls tutorialHome Programming Tutorials Ebizon Ebizon Blogs Objective C Tutorial for Beginners

make a donationto support thesite

user login

Username: *

Password: *

Log in

Create newaccount

Request newpassword

navigation

Home

India Hotel Site

Technology Blogs

Programming Q/A, Tutorials

recent blog posts

Jquery HTML()

Learning PHPLanguage

Hashes in Ruby,Perl and Java

more

Home » MPLS Tutorial

how to set diffserv over mpls test-bed on linuxrouters?

8.1 network topologyThe topology of the test-network is as follows:

Fig. 8.1 Network Topology

This topology is primarily chosen since it is the simplest topology possible with which MPLS local path protection

mechanism can be demonstrated and its efficiency compared. All the machines used are Intel machines with

RedHat-9 as the Operating System. All the links are 100Mbps links, but the bandwidth has been throttled to

60Mbps between B-C and E-F, 20Mbps between C-D and 40Mbps between C-E and E-D. The throttling of

bandwidth is used to give the network a more realistic look, and hence make the DiffServ provisioning more

realistic.

8.2 configuring the networkAll the five machines within the DiffServ over MPLS domain were configured as follows:

1)�IPtables utility was installed.

2)�Linux kernel-2.4.18 was patched with MPLS and DiffServ patch and compiled from scratch. Also, the kernel

was patched with Hierarchical Token Bucket (HTB) queuing discipline (Qdisc) since it is only supported on

kernel versions greater than equal to 2.4.20.

3)�Then the IProute2 package was installed.

4)�Following this, RSVP-TE daemon [19] was compiled and configured on all the machines.

(Note: Although the compilation and configuration procedure has been specified at

http://dsmpls.atlantis.ugent.be/files/installation_rsvpd-0.70-rc2.txt, it is recommended that the procedure

specified in Appendix A be followed, since quite a few changes had to be made to make the things work,

especially if HTB support is to be compiled in.)

5)�The SNMP software [20] was installed on each machine. The configuration file snmpd.conf was edited in each

case and proper IP addresses with community names were added.

(NOTE: It is important to include perl module support while configuring the net-SNMP software. These perl

modules are essential for the mib2c tool which is of significant importance while trying to extend the net-SNMP

agents support for MIBs (which can either be standard MIBs, not supported by the software or non-standard

MIBs which have been written for experimental purpose.)

In addition to all this, GateDs OSPF [21,22] routing daemon was installed on all 7 machines. The configuration

files for the OSPF can be found in Appendix B. For the sake of simplicity, all the machines have been configured

to be on the backbone area.

For the purpose of synchronizing the clocks of the sender and the receiver for enabling accurate delay and

jitter measurements, Network Time Protocol (NTP) has been used. The configuration files for NTP [23] can be

Page 2: How to Set DiffServ Over MPLS Test-Bed on Linux Routers_ _ MPLS Tutorial

11/1/11 How to Set DiffServ over MPLS Test-Bed on Linux Routers? | MPLS Tutorial

2/3mplstutorial.com/how-set-diffserv-over-mpls-test-bed-linux-routers

‹ How to implement filter on Linux machine

using TC scripts for MPLS?

up Results in Lab with DiffServ over MPLS ›

found in Appendix C.

For the purpose of network management, ingress B is also configured as the network operation centre using a

small C program. It is to be noted that the scope of the custom MPLS-MIB is very limited in nature since it has

only been written for the retrieval of the following scalar objects: mplsInBytes, mplsOutBytes, mplsInPackets,

mplsOutPackets. The details of the MIB will be discussed in the next few sections.

8.3 diffserv over mpls: the internals

The following implementation specific information has either been directly gleaned from the source code or

taken from the DS-MPLS mailing archives [19].

1)�For E-LSp operation, static EXP-to-PHB(DSCP) mapping is used and is as follows:

Table 81 EXP-to-PHB Map

EXP PHB/DSCP

0 BE/0

1 EF/0x2E

2 AF11/0xA

3 AF12/0xC

4 AF21/0x12

5 AF22/0x14

6 AF31/0x1A

7 AF32/0x1C

2)�EXP-to-TC map is used for providing the PHB within the network core nodes where only EXP bits will be read.

The importance of this mapping will be clear when the linux filters and Qdiscs are discussed. In short, in the

ingress the DSCP is mapped to the EXP and the EXP is mapped to the DSCP at the egress, while at every

intermediate node the EXP is used to determine the TC index which determines the scheduling discipline to

be applied to the packet (this will again be discussed in the section on Linux filters and Qdiscs).

Table 82 EXP-to-tc_index Map

EXP TC Index

0 0

1 0xB8

2 0x28

3 0x30

4 0x48

5 0x50

6 0x68

7 0x70

It can be observed that the TC index has been set equal to the ToS value for the respective BAs.

3)�For L-LSP operation, the following PHB-IDs [RFC3140] for PSCs has been defined:

Table 8;3 PSC-to-PHBID Map

PSC PHB-ID

BE 0

AF1x 0x2802

AF2x 0x4802

AF3x 0x6802

EF 0xB800

The RSVP-TE DiffServ object for L-LSP carries PSC field which carries the PHB-ID, which is a 16 bit number. For

standard PHBs, the first six bits is filled in by DSCP and the rest is filled in by zeros.

Results in Lab with DiffServ over MPLS

Page 3: How to Set DiffServ Over MPLS Test-Bed on Linux Routers_ _ MPLS Tutorial

11/1/11 How to Set DiffServ over MPLS Test-Bed on Linux Routers? | MPLS Tutorial

3/3mplstutorial.com/how-set-diffserv-over-mpls-test-bed-linux-routers

using TC scripts for MPLS?

Login or register to post comments