Ta xây dựng mô hình mạng như sau:
Mô hình mạng cấu hình QoS trong MPLS
Trong đó CE1, CE2 là 2 bộ định tuyến khách hàng, PE1, P1, PE2 là các bộ định tuyến trong miền MPLS. Giả sử khách hàng đăng kí đường truyền 10Mbps, trên đường truyền có nhiều kiểu dữ liệu và yêu cầu băng thông cho các kiểu dữ liệu như sau:
• Voice: 4Mbps.
• FTP: 2Mbps.
• HTTP: 1Mbps.
• SMTP: 1Mbps.
• Các dịch vụ còn lại: 2Mbps.
Mục tiêu: cấu hình MPLS cho các router PE1, P1, PE2 và tiến hành cấu hình QoS thực hiện theo đúng yêu cầu đã đặt ra.
Các bước thực hiện cấu hình:
1. Cấu hình cơ bản
Cấu hình địa chỉ IP cho các cổng theo như sơ đồ. Cấu hình định tuyến trên các router. Cấu hình MPLS trên các router.
2. Cấu hình QoS trong MPLS (chế độ Uniform mode)
2.1 Router CE1
Tạo các Access-list.
CE1(config)#access-list 101 permit udp any any range 16384 32768
CE1(config)#access-list 102 permit tcp any any eq www
CE1(config)#access-list 103 permit ip any any
CE1(config)#access-list 104 permit tcp any any eq ftp
CE1(config)#access-list 105 permit tcp any any eq smtp
*** Tạo class-map để chỉ định lớp lưu lượng dựa vào các Access-list ở trên.
CE1(config-cmap)#class-map match-all Voice
CE1(config-cmap)# match access-group 101
CE1(config)#class-map match-all HTTP
CE1(config-cmap)# match access-group 102
CE1(config-cmap)#class-map match-all best-effort
CE1(config-cmap)# match access-group 103
CE1(config-cmap)#class-map match-any ftp
CE1(config-cmap)# match access-group 104
CE1(config-cmap)#class-map match-all smtp
CE1(config-cmap)# match access-group 105
CE1(config-cmap)# exit
*** Tạo chính sách QoS cho ngõ ra.
CE1(config)#policy-map QOS-OUT
CE1(config-pmap)# class Voice
CE1(config-pmap-c)# set ip dscp ef
CE1(config-pmap-c)# bandwidth 4000
CE1(config-pmap-c)# class HTTP
CE1(config-pmap-c)# set ip dscp af31
CE1(config-pmap-c)# bandwidth 1000
CE1(config-pmap-c)# class best-effort
CE1(config-pmap-c)# set ip dscp default
CE1(config-pmap-c)# bandwidth 2000
CE1(config-pmap-c)# class ftp
CE1(config-pmap-c)# set ip dscp af23
CE1(config-pmap-c)# bandwidth 2000
CE1(config-pmap-c)# class smtp
CE1(config-pmap-c)# set ip dscp af22
CE1(config-pmap-c)# bandwidth 1000
CE1(config-pmap-c)# class class-default
CE1(config-pmap-c)# exit
CE1(config-pmap)# exit
CE1(config)#policy-map OUT
CE1(config-pmap)# class class-default
CE1(config-pmap-c)# shape average 10000000
CE1(config-pmap-c)# service-policy QOS-OUT
CE1(config-pmap-c)# exit
CE1(config-pmap)# exit
*** Gán policy-map vào cổng f1/0 của CE1.
CE1(config)#interface FastEthernet1/0
CE1(config-if)# service-policy output OUT
CE1(config-if)# exit
2.2 Router PE1
Tạo class-map để chỉ định lớp lưu lượng dựa vào trường EXP.
PE1(config)#class-map match-all IP-BE
PE1(config-cmap)# match ip precedence 0
PE1(config-cmap)#class-map match-all IP-AF11
PE1(config-cmap)# match ip precedence 1
PE1(config-cmap)#class-map match-all IP-AF22
PE1(config-cmap)# match ip precedence 2
PE1(config-cmap)#class-map match-all IP-AF33
PE1(config-cmap)# match ip precedence 3
PE1(config-cmap)#class-map match-all IP-AF43
PE1(config-cmap)# match ip precedence 4
PE1(config-cmap)#class-map match-all IP-EF
PE1(config-cmap)# match ip precedence 5
PE1(config-cmap)#class-map match-all MPLS-BE
PE1(config-cmap)# match mpls experimental topmost 0
PE1(config-cmap)#class-map match-all MPLS-AF11
PE1(config-cmap)# match mpls experimental topmost 1
PE1(config-cmap)#class-map match-all MPLS-AF22
PE1(config-cmap)# match mpls experimental topmost 2
PE1(config-cmap)#class-map match-all MPLS-AF33
PE1(config-cmap)# match mpls experimental topmost 3
PE1(config-cmap)#class-map match-all MPLS-AF43
PE1(config-cmap)# match mpls experimental topmost 4
PE1(config-cmap)#class-map match-all MPLS-EF
PE1(config-cmap)# match mpls experimental topmost 5
PE1(config-cmap)# exit
*** Tạo các policy-map cho ngõ vào và ngõ ra.
PE1(config)#policy-map set-MPLS-PHB
PE1(config-pmap)# class IP-BE
PE1(config-pmap-c)# set mpls experimental imposition 0
PE1(config-pmap-c)# class IP-AF11
PE1(config-pmap-c)# set mpls experimental imposition 1
PE1(config-pmap-c)# class IP-AF22
PE1(config-pmap-c)# set mpls experimental imposition 2
PE1(config-pmap-c)# class IP-AF33
PE1(config-pmap-c)# set mpls experimental imposition 3
PE1(config-pmap-c)# class IP-AF43
PE1(config-pmap-c)# set mpls experimental imposition 4
PE1(config-pmap-c)# class IP-EF
PE1(config-pmap-c)# set mpls experimental imposition 5
PE1(config-pmap-c)# exit
PE1(config-pmap)# exit
PE1(config)#policy-map output-qos
PE1(config-pmap)# class MPLS-BE
PE1(config-pmap-c)# bandwidth percent 5
PE1(config-pmap-c)# random-detect
PE1(config-pmap-c)# class MPLS-AF11
PE1(config-pmap-c)# bandwidth percent 10
PE1(config-pmap-c)# random-detect
PE1(config-pmap-c)# class MPLS-AF22
PE1(config-pmap-c)# bandwidth percent 10
PE1(config-pmap-c)# random-detect
PE1(config-pmap-c)# class MPLS-AF33
PE1(config-pmap-c)# bandwidth percent 15
PE1(config-pmap-c)# random-detect
PE1(config-pmap-c)# class MPLS-AF43
PE1(config-pmap-c)# bandwidth percent 20
PE1(config-pmap-c)# random-detect
PE1(config-pmap-c)# class MPLS-EF
PE1(config-pmap-c)# bandwidth percent 30
PE1(config-pmap-c)# random-detect
PE1(config-pmap-c)# exit
PE1(config-pmap)# exit
*** Gán policy-map vào các cổng của PE1.
PE1(config)#interface FastEthernet0/0
PE1(config-if)# service-policy input set-MPLS-PHB
PE1(config-if)# exit
PE1(config)#interface FastEthernet0/1
PE1(config-if)# max-reserved-bandwidth 90
PE1(config-if)# service-policy output output-qos
PE1(config-if)# exit
2.3 Router P1
Tạo class-map để chỉ định lớp lưu lượng dựa vào trường EXP.
P1(config)#class-map match-all MPLS-BE
P1(config-cmap)# match mpls experimental topmost 0
P1(config-cmap)#class-map match-all MPLS-AF11
P1(config-cmap)# match mpls experimental topmost 1
P1(config-cmap)#class-map match-all MPLS-AF22
P1(config-cmap)# match mpls experimental topmost 2
P1(config-cmap)#class-map match-all MPLS-AF33
P1(config-cmap)# match mpls experimental topmost 3
P1(config-cmap)#class-map match-all MPLS-AF43
P1(config-cmap)# match mpls experimental topmost 4
P1(config-cmap)#class-map match-all MPLS-EF
P1(config-cmap)# match mpls experimental topmost 5
P1(config-cmap)#class-map match-all qos-group-BE
P1(config-cmap)# match qos-group 0
P1(config-cmap)#class-map match-all qos-group-AF11
P1(config-cmap)# match qos-group 1
P1(config-cmap)#class-map match-all qos-group-AF22
P1(config-cmap)# match qos-group 2
P1(config-cmap)#class-map match-all qos-group-AF33
P1(config-cmap)# match qos-group 3
P1(config-cmap)#class-map match-all qos-group-AF43
P1(config-cmap)# match qos-group 4
P1(config-cmap)#class-map match-all qos-group-EF
P1(config-cmap)# match qos-group 5
P1(config-cmap)# exit
*** Tạo các policy-map cho ngõ vào và ngõ ra.
P1(config)#policy-map qos-group-in
P1(config-pmap)# class MPLS-BE
P1(config-pmap-c)# set qos-group mpls experimental topmost
P1(config-pmap-c)# class MPLS-AF11
P1(config-pmap-c)# set qos-group mpls experimental topmost
P1(config-pmap-c)# class MPLS-AF22
P1(config-pmap-c)# set qos-group mpls experimental topmost
P1(config-pmap-c)# class MPLS-AF33
P1(config-pmap-c)# set qos-group mpls experimental topmost
P1(config-pmap-c)# class MPLS-AF43
P1(config-pmap-c)# set qos-group mpls experimental topmost
P1(config-pmap-c)# class MPLS-EF
P1(config-pmap-c)# set qos-group mpls experimental topmost
P1(config-pmap-c)# exit
P1(config-pmap)# exit
P1(config)#policy-map qos-group-out
P1(config-pmap)# class qos-group-BE
P1(config-pmap-c)# bandwidth percent 5
P1(config-pmap-c)# random-detect
P1(config-pmap-c)# set precedence qos-group
P1(config-pmap-c)# class qos-group-AF11
P1(config-pmap-c)# bandwidth percent 10
P1(config-pmap-c)# random-detect
P1(config-pmap-c)# set precedence qos-group
P1(config-pmap-c)# class qos-group-AF22
P1(config-pmap-c)# bandwidth percent 10
P1(config-pmap-c)# random-detect
P1(config-pmap-c)# set precedence qos-group
P1(config-pmap-c)# class qos-group-AF33
P1(config-pmap-c)# bandwidth percent 15
P1(config-pmap-c)# random-detect
P1(config-pmap-c)# set precedence qos-group
P1(config-pmap-c)# class qos-group-AF43
P1(config-pmap-c)# bandwidth percent 20
P1(config-pmap-c)# random-detect
P1(config-pmap-c)# set precedence qos-group
P1(config-pmap-c)# class qos-group-EF
P1(config-pmap-c)# bandwidth percent 30
P1(config-pmap-c)# random-detect
P1(config-pmap-c)# set precedence qos-group
P1(config-pmap-c)# exit
P1(config-pmap)# exit
*** Gán policy-map vào các cổng của P1.
P1(config)#interface FastEthernet0/0
P1(config-if)# service-policy input qos-group-in
P1(config-if)# exit
P1(config)#interface FastEthernet0/1
P1(config-if)# max-reserved-bandwidth 90
P1(config-if)# service-policy output qos-group-out
P1(config-if)# exit
2.4 Router PE2
Tạo class-map để chỉ định lớp lưu lượng dựa vào trường EXP.
PE2(config)#class-map match-all MPLS-BE
PE2(config-cmap)# match mpls experimental topmost 0
PE2(config-cmap)#class-map match-all MPLS-AF11
PE2(config-cmap)# match mpls experimental topmost 1
PE2(config-cmap)#class-map match-all MPLS-AF22
PE2(config-cmap)# match mpls experimental topmost 2
PE2(config-cmap)#class-map match-all MPLS-AF33
PE2(config-cmap)# match mpls experimental topmost 3
PE2(config-cmap)#class-map match-all MPLS-AF43
PE2(config-cmap)# match mpls experimental topmost 4
PE2(config-cmap)#class-map match-all MPLS-EF
PE2(config-cmap)# match mpls experimental topmost 5
PE2(config-cmap)#class-map match-all qos-group-BE
PE2(config-cmap)# match qos-group 0
PE2(config-cmap)#class-map match-all qos-group-AF11
PE2(config-cmap)# match qos-group 1
PE2(config-cmap)#class-map match-all qos-group-AF22
PE2(config-cmap)# match qos-group 2
PE2(config-cmap)#class-map match-all qos-group-AF33
PE2(config-cmap)# match qos-group 3
PE2(config-cmap)#class-map match-all qos-group-AF43
PE2(config-cmap)# match qos-group 4
PE2(config-cmap)#class-map match-all qos-group-EF
PE2(config-cmap)# match qos-group 5
PE2(config-cmap)# exit
*** Tạo các policy-map cho ngõ vào và ngõ ra
PE2(config)#policy-map qos-group-in
PE2(config-pmap)# class MPLS-BE
PE2(config-pmap-c)# set qos-group mpls experimental topmost
PE2(config-pmap-c)# class MPLS-AF11
PE2(config-pmap-c)# set qos-group mpls experimental topmost
PE2(config-pmap-c)# class MPLS-AF22
PE2(config-pmap-c)# set qos-group mpls experimental topmost
PE2(config-pmap-c)# class MPLS-AF33
PE2(config-pmap-c)# set qos-group mpls experimental topmost
PE2(config-pmap-c)# class MPLS-AF43
PE2(config-pmap-c)# set qos-group mpls experimental topmost
PE2(config-pmap-c)# class MPLS-EF
PE2(config-pmap-c)# set qos-group mpls experimental topmost
PE2(config-pmap-c)# exit
PE2(config-pmap)# exit
PE2(config)#policy-map qos-group-out
PE2(config-pmap)# class qos-group-BE
PE2(config-pmap-c)# bandwidth percent 5
PE2(config-pmap-c)# random-detect
PE2(config-pmap-c)# set precedence qos-group
PE2(config-pmap-c)# class qos-group-AF11
PE2(config-pmap-c)# bandwidth percent 10
PE2(config-pmap-c)# random-detect
PE2(config-pmap-c)# set precedence qos-group
PE2(config-pmap-c)# class qos-group-AF22
PE2(config-pmap-c)# bandwidth percent 10
PE2(config-pmap-c)# random-detect
PE2(config-pmap-c)# set precedence qos-group
PE2(config-pmap-c)# class qos-group-AF33
PE2(config-pmap-c)# bandwidth percent 15
PE2(config-pmap-c)# random-detect
PE2(config-pmap-c)# set precedence qos-group
PE2(config-pmap-c)# class qos-group-AF43
PE2(config-pmap-c)# bandwidth percent 20
PE2(config-pmap-c)# random-detect
PE2(config-pmap-c)# set precedence qos-group
PE2(config-pmap-c)# class qos-group-EF
PE2(config-pmap-c)# bandwidth percent 30
PE2(config-pmap-c)# random-detect
PE2(config-pmap-c)# set precedence qos-group
PE2(config-pmap-c)# exit
PE2(config-pmap)# exit
Gán policy-map vào các cổng của PE2
PE2(config)#interface FastEthernet0/0
PE2(config-if)# service-policy input qos-group-in
PE2(config-if)# exit
PE2(config)#interface FastEthernet0/1
PE2(config-if)# max-reserved-bandwidth 90
PE2(config-if)# service-policy output qos-group-out
PE2(config-if)# exit
Hà Phạm Minh Đức – VnPro