QoS Practice Labs
RSVP – Resource Reservation Protocol 1. Kiến iến thức thức cơ bản bản •
RSVP là giao thức của Internet Engineering Task Force (IETF).
•
Được dùng trong mô hình Integrated Services (IntServ). RSVP thiết lập phiên báo hiệu cho các thiết bị trên đường truyền giành tài nguyên cho những luồng ứng dụng cần được đảm bảo chất lượng dịch vụ theo1 chiều từ nguồn đến đích.
•
Là giao thức “soft state”, tự động cập nhật tình trạng và thay đổi đường truyền khi có lỗi xảy ra.
•
Được hỗ trợ trên router, phần mềm gọi điện thoại (Cisco phones, Microsoft NetMeeting) và ứng dụng trong kỹ thuật điều phối lưu lượng MPLS Traffic Engineering.
2. Mục đích - Mô phỏng quá trình thiết lập phiên giành băng thông của giao thức RSVP. - Xem và hiểu cách hoạt động của phiên thiết lập. - Sử dụng phần mềm Wireshark phân tích các loại gói tin RSVP. 3. Thiế Thiếtt bị và phần phần mềm mềm hỗ hỗ trợ trợ - Cài phần mềm Wireshark để phân ích gói tin. - Cài card Loopback trên PC tương ứng PC1. - Cài phần mềm GNS3 ( sử dụng bất kỳ thiết bị router).
QoS Practice Labs
+ Thông tin RSVP trên giao diện router.
Active reservation for traffic flowing in one direction : 10Kbps of bandwidth.
+ Xem thông tin lưu lượng ưu tiên tại R1 : TCP (172.32.0.2 - 192.168.1.2). Giá trị trọng số của RSVP tại giao diện sử dụng Weight Fair Queueing là 6.
QoS Practice Labs
+ Hiển thị thông tin của router RSVP-Sender, RSVP-Reservation.
+ Xem thông tin về chiều thiết lập từ RSVP-Sender đến RSVP-Reservation.
QoS Practice Labs
+ Thống kê số lượng gói tin RSVP đã được gửi cho đến thời điểm này.
QoS Practice Labs
Định dạng gói tin RSVP RSVP Message Header Fields
4
4
8
16
Version Flags Type Checksum
16
8
8
Length
Reserved
Send TTL
cur flags = 0
32
Message ID
15
1
16
Reserved
MF
Fragment offset
a label for all fragments of one message
the byte offset of the fragment in the message
MF flag is set on for all fragments of a message except the last fragment. Value
Message Type
Descriptions
1
Path
2
Reservation-request
3
Path-error Reservation-request error
Store the path state in each node and route reservation-request messages in the reverse direction Request for guarantee QoS for the session. Using Path state or Reservation state to specify Errors (Admission failure, Bandwidth unavailable, Service not supported, Bad flow specification, Ambiguous path).
4 5
Path-teardown
6
Reservation-teardown
Remove the reservation. Path-teardown messages delete the path state. Reservation-request teardown messages delete the reservation state
7
Reservation-request acknowledgment
Appears when reservation-confirmation object in a reservation-request message.
[email protected]
bits
QoS Practice Labs
16
RSVP Object Fields
8
8
Variable<=65528 bytes bits
Length Class-num C-Type Object class (name)
Objects Null Session RSVP Hop Time Value Style Flow Specification Filter Specification Sender Template Sender TSPEC Adspec
Error Specification Policy Data Scope Reservation Confirmation
Types of messages anywhere in a obj. sequence objects all RSVP messages all RSVP messages Path Reservation Reservation-request
Object contents
Object type
Contents Class-Num : 0, C-Type : ignored. The receiver will ignored this object contents Specify a session, contain IP destination address and possibly a destination port. IP address of the RSVP-capable node. The refresh period and the state TTL
Reservation-request
The reservation style and style-specific information. Specify flow that define desired QoS.
Reservation-request
Specify the sessions that should receive the desired QoS.
Path Path Path Path-error Reservation-request error Path Reservation-request Reservation-request Reservation-request Reservation-request ack
Identify a sender, contain sender IP address and perhaps some additional demultiplexing information. The traffic characteristics of a sender’s data stream. Advertising data. Specify an error. Information about local policy to decide permit an associated reservation. Specify the scope for forwarding a reservation-request message IP address of a receiver that requested a confirmation -7Rita2610
QoS Practice Labs
RSVP Header
Path message
Object Fields
-8Rita2610
QoS Practice Labs
RESV message
[email protected]
QoS Practice Labs
Path tear message
- 10
[email protected]
QoS Practice Labs
RESV tear message
- 11
[email protected]
QoS Practice Labs
First In First Out Queuing – Weight Fair Queuing 1. Kiến thức cơ bản Đặc điểm FIFO Queuing : •
Là hàng đợi cơ bản và được hỗ trợ trên tất cả các thiết bị cũng như trong tất cả các phiên bản hệ điều hành của router Cisco.
•
Là kỹ thuật hàng đợi mặc định trên những giao diện của router có băng thông >= 2Mbps.
•
Hoạt động theo cơ chế vào trước phục vụ trước, vào sau phục vụ sau.
•
Những gói tin của lưu lượng không được phân lớp trước khi vào hàng đợi và bị đánh rớt khi số lượng gói tin vượt quá kích thước hàng đợi.
Đặc điểm Weight Fair Queuing (WFQ) : •
Là một hệ thống bao gồm nhiều hàng đợi và được hỗ trợ trên tất cả các thiết bị cũng như trong tất cả các phiên bản hệ điều hành cùa router Cisco.
•
•
Là kỹ thuật hàng đợi mặc định trên những giao diện của router có băng thông <= 2Mbps. Những gói tin của lưu lượng được phân lớp tự động trước khi vào từng hàng đợi, những hàng đợi này có thể phân biệt dựa theo luồng lưu lượng. Mỗi luồng lưu lượng được xem là 1 conversation được nhận biết thông qua các tham số địa chỉ nguồn, địa chỉ đích, số cổng, số giao thức, giá trị TOS trong header của gói tin. Lưu lượng được ưu tiên dựa vào giá trị trọng số.
QoS Practice Labs
Router(config)#interface serial [interfacel-number] Router(config-if)# no fair-queue + Điều chỉnh số lượng tối đa gói tin chứa trong hàng đợi Router(config-if)# hold-queue
in | out in | out : Input / Output queue b. Cấu hình WFQ + Cho phép WFQ trên giao diện Fast/E. Router(config)# interface Fast/E [interface-number] Router(config-if)# fair-queue [threshold] [max-dynamic-queue][max-reservable-queue] * threshold : ngưỡng đánh rớt trước nghẽn, mặc định là
64
* max-dynamic-queue : số lượng tối đa hàng đợi trong hệ thống, thông số chọn lựa :
16, 32,
64, 128, 256, 512, 1024, mặc định là 256. * max-reservable-queue : số lượng tối đa
hàng đợi khai báo ưu tiên, thông số chọn lựa từ 0
đến 1000, mặc định 0. + Điều chỉnh số lượng tối đa gói tin chứa trong hàng đợi Router(config-if)# hold-queue in | out
.
in | out : Input / Output queue c. Kiểm tra cấu hình show running-config show interface interface
Xem lai các thông tin cấu hình. Hiển thị thông tin và thống kê của hàng đợi
QoS Practice Labs
W o rk place
R1
W o rk p l a c e Work place
.1 Fa2/0
R 1
190.168.0.0/16
.1 S1/0
100.0.0.0/8
R1
R 2
R2
.2 S1/0
W o rk p la c e
R2
W o rk p l a c e
.1
Work place
R3
R 3
R 1
R 2
R 3
Fa2/0
172.32.0.0/1 6
.2 W o rk plac e
.2
Weight Fair Queue
W o rk p l a c e
FIFO R 1
R 2
W o rk plac e
W o rk p l a c e
FIFO
R 3
PC1 - Loopback Note : Default Queuing : Interface FastEthernet - FIFO Queuing. Interface Serial - Weight Fair Queuing 6. Nhiệm vụ thực hành - Gán địa chỉ cho tất cả thiết bị dựa trên mô hình - Cấu hình giao thức RIP trên tất cả router. * Sử dụng lệnh Show để xem thông tin hàng đợi FIFO trên giao diện Fa2/0 của R1
R 1
R 2
R 3
PC2
QoS Practice Labs
- Điều chỉnh kích thước FIFO, mặc định là 40.
QoS Practice Labs
- Xem lại thông tin cấu hình bằng lệnh show running-config
QoS Practice Labs
- Điều chỉnh kích thước của hệ thống hàng đợi WFQ, mặc định là 1000.
QoS Practice Labs
+ Từ PC1 dùng lệnh ping để kiểm tra lưu lượng ping từ PC1 đến giao diện FastEthernet của R2. Tại R1 dùng lệnh show queueing interface s1/0 xem thông tin hàng đợi của lưu lượng ping, giá trị trọng số là 32384.
* Cấu hình FIFO trên giao diện S1/0
QoS Practice Labs
QoS Practice Labs
* Cấu hình WFQ trên giao diện Fa2/0
QoS Practice Labs
Priority Queuing 1. Kiến thức cơ bản Priority Queuing (PQ) được hỗ trợ hầu hết các thiết bị router và các phiên bản hệ điều hành
•
router 10.0 về sau. PQ bao gồm 4 hàng đợi với mức ưu tiên được giảm dần : Cao (High), Trung bình (Medium),
•
Vừa (Normal), Thấp (Low). •
Những gói tin được phân lớp vào trong 4 hàng đợi dựa vào mức độ ưu tiên của người dùng và bị đánh rớt khi số lượng gói tin vượt quá kích thước hàng đợi. Các hàng đợi có mức ưu tiên thấp hơn hàng đợi High, đặc biệt là Low sẽ rơi vào tình trạng
•
“Starvation”, có nghĩa là các gói tin ở những hàng đợi này sẽ không được phục vụ và có thể bị đánh rớt với số lượng lớn. 2. Mục đích - Thiết lập từng loại lưu lượng. - Cấu hình PQ cho các lưu lượng với mức độ ưu tiên. - Xem và hiểu cách hoạt động của PQ. 3. Thiết bị và phần mềm hỗ trợ - Sử dụng cáp chéo nối 2 PC. - PC1 :
Cài card loopback tương ứng PC1.
QoS Practice Labs
Router(config)# priority-list list-number interface intf { high | medium | normal | low}
Phân loại các lưu lượng còn lại vào hàng đợi mặc định Router(config)# priority-list list-number default { high | medium | normal | low}
b. Điều chỉnh kích thước của từng hàng đợi Router(config)#priority-list list-number queue-limit high medium normal low Giá trị mặc định : High ( 20 ), Medium ( 40 ), Normal ( 60 ), Low ( 80 ) c. Chỉ định PQ trên giao diện của router Router(config)# interface serial/fastethenet [interface-number ] Router(config-if)# priority-group list d. Kiểm tra cấu hình show interface interface
Hiển thị thông tin trên giao diện router.
show queueing [ priority | custom | fair | random-detect] interface
Hiển thị các thông số hàng đợi.
debug priority
Xem tình trạng hiện tại của PQ
5. Mô hình mạng Telnet+HTTP W o rk
W o rk
100.0.0.0/8
.2
W o rk
W o rk
QoS Practice Labs
a. Cấu hình từng lưu lượng với 4 mức độ ưu tiên HIGH : Telnet, Remote Desktop R1(config) # priority-list 1 protocol ip high tcp 3389 R1(config) # priority-list 1 protocol ip high tcp telnet MEDIUM : http R1(config) # priority-list 1 protocol ip medium tcp www NORMAL : ftp + other traffics R1(config) # priority-list 1 protocol ip normal tcp ftp R1(config) # priority-list 1 protocol ip normal tcp ftp-data R1(config) # priority-list 1 default normal (default) LOW : PING R1(config) # access-list 100 permit icmp any any echo R1(config) # priority-list 1 protocol ip low list 100 b. Chỉ định PQ trên giao diện S1/0 của R2 R1(config) # int S1/0 R1(config-if) # priority-group 1 c. Kiểm tra cấu hình + Kiểm tra chính sách đã cấu hình.
QoS Practice Labs
+ Xem tổng số lượng gói tin đã được phân lớp vào từng hàng đợi tại giao diện S1/0 của R2.
QoS Practice Labs
QoS Practice Labs
QoS Practice Labs
QoS Practice Labs
Custom Queuing 1. Kiến thức cơ bản Custom Queuing (CQ) được hỗ trợ hầu hết các thiết bị router và các phiên bản hệ điều hành
•
router 10.0 về sau. PQ bao gồm 17 hàng đợi với kích thước mặc định là 20. Hàng đợi 0 là hàng đợi hệ thống,
•
hàng đợi 1-16 được khai báo bởi người dùng và mức độ ưu tiên dựa vào thông số byte. •
Những gói tin được chỉ định vào trong 16 hàng đợi dựa vào mức độ ưu tiên của người dùng và bị đánh rớt khi số lượng gói tin vượt quá kích thước hàng đợi.
•
16 hàng đợi được phục vụ theo nguyên tắc xoay vòng theo thứ tự (Round-robin fashion).
2. Mục tiệu - Thiết lập từng loại lưu lượng. - Cấu hình CQ cho các lưu lượng với mức độ ưu tiên. - Xem và hiểu cách hoạt động của CQ. 3. Thiết bị và phần mềm hỗ trợ - Sử dụng cáp chéo nối 2 PC. - PC1 :
Cài card loopback tương ứng PC1. Cài phần mềm GNS3 ( sử dụng thiết bị router thích hợp).
QoS Practice Labs
Router(config)# queue-list list queue queue-number limit limit limit : số lượng tối đa gói tin chứa trong từng hàng đợi, mặc định 20 gói .
c. Chỉ định PQ trên giao diện của router Router(config)# interface serial/fastethenet [interface-number ] Router(config-if)# custom-queue list-number d. Kiểm tra cấu hình show interface interface show queueing [ priority | custom | fair | random-detect] interface debug custom-queue
Hiển thị thông tin trên giao diện router. Hiển thị các thông số hàng đợi. Xem tình trạng hiện tại của CQ
5. Mô hình mạng HTTP .1
W o rk place
W o rk place Work place
.1 S1/0
R1
R 1
10.0.0.0/8
R 2
R 3
.2
W o rk p la c e
W o rk p l a c e
.1
Work place
R2
S1/0 R3
R 1
R2
R 2
R 3
Fa2/0
W o rk plac e
p l a c e
R 2
PC1
R 3
20.0.0.0/8 .2
.2 W o rk
W o rk plac e
R 1
Fa2/0
R1
100.0.0.0/8
Custom Queuing Queue 1 (size = 10 ) : Remote Desktop
R 1
W o rk p l a c e
R 2
R 3
QoS Practice Labs
6. Nhiệm vụ thực hành - Gán địa chỉ cho tất cả thiết bị dựa trên mô hình - Cấu hình giao thức RIP trên tất cả router. - Cấu hình PQ trên giao diện S1/0 của R2 với chính sách ưu tiên như trên mô hình mạng. a. Cấu hình khai báo hàng đợi, phân lớp từng lưu lượng tương ứng với hàng đợi : Queue 1 : Remote Desktop (10000 bytes per cycle) R1(config) # queue-list 1 protocol ip 1 tcp 3389 R1(config) # queue-list 1 queue 1 byte-count 10000 Queue 2 : HTTP (5000 bytes per cycle) R1(config) # queue-list 1 protocol ip 2 tcp www R1(config) # queue-list 1 queue 2 byte-count 5000 Queue 3 : PING (1000 bytes per cycle) R1(config) # access-list 100 permit icmp any any echo R1(config) # queue-list 1 protocol ip 3 list 100 R1(config) # queue-list 1 queue 3 byte-count 500 Queue 16 : lưu lượng còn lại (1500 bytes per cycle) R1(config)# queue-list 1 default 16 b. Chỉ định PQ trên giao diện S1/0 của R2 R1(config) # int S1/0
QoS Practice Labs
QoS Practice Labs
QoS Practice Labs
QoS Practice Labs
Modular QoS CLI (MQC) Classification Class-based Marking Class-based Low-latency Queuing 1. Kiến thức cơ bản Kỹ thuật Modular QoS CLI ( Modular Quality of Service Command Line Interface ) chia thành 2 bước : * Phân lớp ( Classification ) : Tạo lớp tương ứng tứng lưu lượng. * Chính sách lưu lượng ( Traffic Policy ) : Áp dụng một hoặc những kỹ thuật QoS bao gồm : Class-based Weighted Fair Queuing, Class-based Low-latency Queuing, Class-based Policing,... Phiên bản hệ điều hành hỗ trợ + Class-based Marking : chính sách đánh dấu các gói tin dựa vào giá trị ở trường header của lớp 2,3,4. Các giá trị bao gồm : IP precedence, DSCP, QoS group, MPLS experimental bits, ATM CLP bit, Frame Relay DE bit, 802.1Q/ISL cos/priority. Kỹ thuật được chỉ định trên giao diện vào hoặc ra của gói tin. + Class-based Low-latency Queuing : lưu lượng được phân lớp vào hàng đợi. Hàng đợi ưu tiên dựa
QoS Practice Labs
Classification Options Access lists
DSCP
Commands Router (config-cmap)#match access-group [ ACL-ID] Router(config-cmap)# match ip precedence precedence [ prec [ prec [ prec]]] (4 IP Precedence values) Router(config-cmap)#match ip dscp dscp [dscp ...] (8 DSCP values)
Input interface
Router(config-cmap)# match input-interface intf
QoS group Source / Destination MAC address
Router(config-cmap)# match ip qos-group qos-group Router(config-cmap)# match source-address mac mac-address Router(config-cmap)# match destination-address mac mac-address Router(config-cmap)# match cos cos [cos [cos [cos ]]] (4 CoS/Priority values) Router(config-cmap)# match mpls experimental exp [exp ...] (8 MPLS experimental values) Router(config-cmap)# match fr-de (match all frames with the FR DE bit set )
IP precedence
IEEE 802.1Q/ISL CoS MPLS experimental bits Frame Relay DE bit
RTP port - a UDP Port Router(config-cmap)# match ip rtp starting-port port-range Range Router(config-cmap)# match not condition Another class map, ( The “not” keyword inverts the condition ) negation or any keyword router(config-cmap)# match class-map class-map router(config-cmap)# match any ( match all packets ) b. Cấu hình chính sách lưu lượng sử dụng lệnh policy-map Router(config)#policy-map [ policy-name]
QoS Practice Labs
Marking(config-pmap)#class [class-name] Marking(config-pmap-c)#set dscp [dscp]
Class-based Low-latency Queuing LLQ(config)#policy-map [ policy-name] LLQ(config-pmap)#class [class-name] LLQ(config-pmap-c)#priority percent [%] LLQ(config-pmap-c)#priority [kbits/s] LLQ(config-pmap)#class [class-name] LLQ(config-pmap-c)#bandwidth percent [%] LLQ(config-pmap-c)#bandwidth [kbits/s]
c. Chỉ định chính sách trên giao diện của router Router(config)#interface serial/fastethenet [interface-number] Router(config-if)#service-policy {input | output} [policy-map-name] d. Kiểm tra cấu hình show interface interface show queueing show queueing fair show queue interface
QoS Practice Labs
R1(config)# class-map telnet R1(config-cmap)# match access-group 100 * Class HTTP : R1(config)# class-map http R1(config-cmap)# match access-group 101 * Class Netflow : R1(config)# class-map netflow R1(config-cmap)# match access-group 102 * Class RIP : R1(config)# class-map ping R1(config-cmap)# match access-group 103
Chính sách lưu lượng Class-based Marking với tên Marking
+ Đánh dấu các gói tin với các giá trị DSCP như trên mô hình R1(config)# policy-map Marking-IN-1 * Class telnet ( dscp AF21) R1(config-pmap)# class telnet R1(config-pmap-c)# set dscp af21 * Class HTTP ( dscp AF31) R1(config-pmap)# class http R1(config-pmap-c)# set dscp af31
QoS Practice Labs
R2(config)# class-map telnet R2(config-cmap)# match ip dscp af21 * Class HTTP : R2(config)# class-map http R2(config-cmap)# match ip dscp af31 * Class RIP : R2(config)# class-map rip R2(config-cmap)# match ip dscp cs6 * Class Netflow : R2(config)# class-map netflow R2(config-cmap)# match ip dscp cs2 * Class Ping : R2(config)# class-map ping R2(config-cmap)# match ip dscp cs1
Chính sách lưu lượng Class-based Low-latency Queuing với tên LLQ-OUT-2
+ Chỉ định băng thông như trên mô hình R2(config)# policy-map LLQ-OUT-2 * Class HTTP R2(config-pmap)# class telnet R2(config-pmap-c)# priority percent 35
QoS Practice Labs
R2(config)#int S1/1 R2(config-if)# service-policy output LLQ-OUT-2 7. Kiểm tra cấu hình a. Class-based Marking •
Show policy-map Marking-IN-1 tại R1
QoS Practice Labs
Telnet : AF21
QoS Practice Labs
b. Class-based Low-latency Queuing.
Netflow: CS2
QoS Practice Labs
QoS Practice Labs
QoS Practice Labs
ÔN TẬP 1. Một số mô hình đề nghị. 2. Yêu cầu : Dựa vào mô hình, sinh viên sử dụng kỹ thuật Class-based Markig và Class-based Lowlatency Queuing để cấu hình trên thiết bị router.