PDA

View Full Version : Quản lý traffic trên switch như thế nào?



duydq
04-05-2003, 11:43 PM
Trên switch 3550 không có traffic shaping và rate limit thì mình quản lý traffic các port như thế nào?
Em đã có dùng QoS nhưng lại bị hạn chế ở phần access_list (không dùng được). Hiện thời em chỉ có thể dùng dscp để match traffic.
Các anh chị có cách nào không? Chỉ mình với.
Thân chào.

dangquangminh
05-05-2003, 12:40 AM
Duy,

bạn có thể thực hiện rate-limit trên các port của switch Cat3550 nếu bạn turn-off switchport.

ví dụ;
int f0/1
no switch-port

khi này port f0/1 sẽ hoạt động như routed-port, và vì vậy bạn có thể apply CAR trên port này.

bạn cũng có thể dùng VLAN access-list trên 3550 để filering traffic. Đây là đặc điểm mới của Cat3550.

Mong được trao đổi thêm,
Mến,

duydq
05-05-2003, 11:43 AM
Anh Minh,

Đối với traffic đi ra khỏi port thì hình như mình không dùng access list được. Theo em biết là chỉ dùng được duy nhất 1 cái là dscp để filter traffic thôi.

Vậy anh Minh có cách nào để apply CAR đối với traffic đi ra khỏi port không? ( :D Catalyst 3550).

Cám ơn anh nhiều,
Thân chào.

dangquangminh
05-05-2003, 02:11 PM
Hi Duy,

bạn có thể dùng lệnh police để giới hạn traffic giống như trên router. Lệnh này được đặt trong policy-map configuration mode. Ví dụ, nếu bạn muốn giới hạn traffic về mức bình quân 5Mb với tốc độ burst-rate khi cần là 2Mb, bạn có thể dùng lệnh

#police 5000000 2000000 exceed-action drop

dĩ nhiên là trước đó bạn phải xác định loại traffic và bạn muốn apply chính sách này. dùng class và access-list...

Switch(config)# class-map ipclass1
config-cmap)# match access-group 1
Switch(config-cmap)#
Switch(config-cmap)# exit
Switch(config)# class-map ipclass2
Switch(config-cmap)# match access-group 2
Switch(config-cmap)# exit

Định nghĩa policy:

Switch(config)# policy-map aggflow1
Switch(config-pmap)# class ipclass1
Switch(config-pmap-c)# trust dscp
Switch(config-pmap-c)# police 5000000 2000000 exceed-action drop
Switch(config-pmap-c)# exit
Switch(config-pmap)# class ipclass2
Switch(config-pmap-c)# set ip dscp 56
Switch(config-pmap-c)# police aggregate transmit1
Switch(config-pmap-c)# exit
Switch(config-pmap)# exit

sau đó apply vào interface:

Switch(config)# interface gigabitethernet0/1
Switch(config-if)# service-policy output aggflow1
Switch(config-if)# exit

Thân mến,

duydq
05-05-2003, 06:49 PM
Anh Minh,

Cám ơn anh Minh nhiều. Em đã thử rồi, nó chỉ hiệu quả đối với traffic input thôi.
Em có một thông tin như vầy từ site cisco.com. Em gởi cho anh một đoạn, anh kiểm tra thử xem.

"The following table gives a summary of the policing and marking related features supported by the Catalyst 3550, brokendown by direction:


* One match statement is supported per class-map. The following are valid match statements for the ingress policy:

match access-group

match ip dscp

match ip precedence

* The following is the valid match statement for the egress policy:

match ip dscp

* The following are valid policy actions for the ingress policy:

police

set ip dscp (marking)

set ip precedence (marking)

trust dscp

trust ip-precedence

trust cos

Source: http://www.cisco.com/en/US/customer/products/hw/switches/ps646/products_tech_note09186a00800feff5.shtml

Thân chào.

dangquangminh
06-05-2003, 12:54 AM
Duy,

Duy đã gửi một "excellent link". Tuy nhiên theo link đó, egress traffic vẫn có thể apply lệnh police. Và có một chi tiết Duy rất chính xác, đó là chỉ có thể match dscp đ/v egress traffic trên 3550.

Duy có thể cho biết Duy đã test như thế nào không?

Thân mến,

duydq
06-05-2003, 09:45 AM
Anh Minh,

Đối với traffic input mình test tương đối dễ dàng, còn đối với traffic output cách làm của em rất là thủ công ( :( ) nhưng chặn rất hiệu quả (không hiệu quả sao được, match hết rồi).

mls qos
!
class-map match-all class1
match ip dscp 0 1 2 3 4 5 6 7
match ip dscp 8 9 10 11 12 13 14 15
match ip dscp 16 17 18 19 20 21 22 23
match ip dscp 24 25 26 27 28 29 30 31
match ip dscp 32 33 34 35 36 37 38 39
match ip dscp 40 41 42 43 44 45 46 47
match ip dscp 48 49 50 51 52 53 54 55
match ip dscp 56 57 58 59 60 61 62 63
!
!
policy-map flow1
class class1
police 128000 16000 exceed-action drop
!
interface FastEthernet0/46
service-policy input flow1
service-policy output flow1
!

Cách này chỉ chặn được traffic tổng thôi.
Còn nếu như nó là port gateway của một VLAN layer 2 (không có QoS) thì sao?
Có cách nào để quản lý traffic của một customer trong đó?

Anh Minh giúp em một giải pháp nhé.

Cám ơn anh nhiều.
Thân chào.

dangquangminh
07-05-2003, 09:50 AM
Duy,

Mình chưa hiểu chính xác lắm "port gateway" của bạn nghĩa là gì. Tuy nhiên, trong trường hợp của bạn, tại sao bạn không apply ingress policy và match access-group.

Ví dụ: bạn muốn chặn băng thông của một một host gắn vào f0/7 của vlan 2. Host đó có đia chỉ 192.168.1.1

#access-list 101 permit ip host 192.168.1.1
#class ipclass1
#match accss-group 101

Ngoài ra, Duy có thể giải thích ý tưởnng tại sao L2 port không apply Q0S được?

Mến,

duydq
07-05-2003, 11:02 AM
Anh Minh,

L2 port không apply được QoS đơn giản là vì switch đó không hỗ trợ (không phải switch Cisco).
Mình lấy một port routing trên switch 3550 nối tới 1 switch khác (không có hỗ trợ QoS). Do đó muốn control traffic trên từng port mình chỉ có thể đứng từ port của 3550. Muốn vậy mình phải biết traffic đó xuất phát từ port nào bằng cách dựa vào header của packet (IP, MAC) nhưng em lại không apply nó vào QoS đựơc.

Còn vấn đề tại sao mình cần phải control traffic egress?
Nếu chỉ có ingress anh chỉ quản lý được phần upload của customer thôi. Cái mình cần quan tâm hơn là phần download của customer.

Mong được học hỏi thêm,
Thân chào.

dangquangminh
07-05-2003, 12:01 PM
Duy,

Duy có thể viết một extended access-list match ftp traffic xuất phát từ host 192.168.1.1. Sau đó vẫn apply như đã nó ở trên.

police được apply cho ftp traffic từ một host nào đó. Trong trường hợp này, chỉ ingress traffic traffic là đủ.

Mến,

duydq
16-05-2003, 12:14 AM
Chào anh Minh,

Hôm nay mới xem ý kiến của anh.
Em vẫn thấy nó không ổn. Chặn ingress thì đâu liên quan gì tới traffic outgress.
Anh có thể cho em biết rõ hơn không.

Thân chào.

dangquangminh
20-05-2003, 05:50 PM
Hi Duy,

Ingress hay outgress là để chỉ chiều của traffic. Với hệ qui chiếu là Cat3550 của Duy.

Như vậy, có phải Duy muốn giới hạn băng thông dành cho download của customer phải không?

Vậy thì Duy hoàn toàn có thể chặn "ingress traffic" trên interface của Catalyst mà Interface đó đấu nối ra Internet. Nói cách khác, Duy sẽ thay đổi vị trí để đặt policy.


(Local LAN)---------F0/0-cat 3550-F0/1---------Internet

trong hình trên, Duy có thể apply chio ingress traffic trên cổng f0/1.

Duy có một kiến thức rất tốt trong lĩnh vực này. thật ra tất cả ý kiến của Duy đều hoàn hảo. Very good.

Thanks Duy,

duydq
21-05-2003, 02:03 PM
Anh Minh,

Em hiểu ý của anh rồi. Cám ơn anh nhiều.

Thân chào.

sinhvienngheo
16-06-2003, 01:27 AM
xin chào,

Mình post đây bảng chuyển đổi giữa IP precedence và giá trị dscp cho mọi người tham khảo.

Table 4: IP Precedence to DSCP Mapping

IP_Precedence IP_Precedence_Bit_Value DSCP_Bits DSCP_Class

5 101 101000 Expedited Forwarding

4 100 100000 Assured Forwarding 4

3 011 011000 Assured Forwarding 3

2 010 010000 Assured Forwarding 2

1 001 001000 Assured Forwarding 1

0 000 000000 Best Effort


Lý do mà trong cấu hình của Duy phải dùng dscp là do Cat3550 không hổ trợ IP precedence?

cám ơn,
ML

duydq
16-06-2003, 12:45 PM
Hi SVN,

Đúng vậy, quản lý traffic egress chỉ có thể match với ip dscp mà thôi. Duy có trình bày ở trên đó. Xem link đó bạn sẽ biết được mình có thể dùng thông số nào để bắt traffic.
SVN đang nghiên cứu về QoS à. Có gì trao đổi với mình nhé, mình cũng đang quan tâm.
Mà cho hỏi chút xíu: SVN là nam hay nữ vậy hay là còn chưa xác định được (ihihi).

Thân chào.

annpb
24-07-2003, 11:52 AM
Chào các bạn, chào anh Minh
Tôi cũng rất quan tâm đến các vấn đề về giới hạn lưu lượng trên các switch của Cisco. Theo một số tài liệu tôi đã đọc được về vấn đề này thì trên các router và multilayer switch của Cisco, người ta có thể thực hiện bằng một trong 2 cách, đó là: dùng đặc tính CAR và QoS policy. Tuy nhiên, việc nên dùng cách nào dường như phụ thuộc rất nhiều vào platform của thiết bị (phần cứng và cả OS của nó) cũng như tình huống cài đặt cụ thể trên thiết bị. Tôi xin nêu ra một trường hợp cụ thể như sau:
Một cơ quan có cài đặt một Catalyst 6509 chạy IOS 12.1. Trên switch này người ta đã cấu hình một số VLAN cho một số văn phòng. Lưu thông từ tất cả các host trong các VLAN này phải được routing qua một giao tiếp VLAN mặc định trước khi ra ngoài Internet. Nhà quản trị mạng được yêu cầu cấu hình tất cả các giao tiếp VLAN thành viên sao cho có thể hạn định lưu lượng dữ liệu từ Internet về đến mỗi VLAN thành viên (mỗi văn phòng thành viên), tức là mỗi VLAN thành viên chỉ có thể sử dụng một tỷ lệ băng thông nhất định từ băng thông tổng cộng mà công ty đó đã thuê từ một ISP.
Vấn đề ở chỗ: anh ta không thể dùng CAR trên 6509 vì CAR chỉ có trên các router như 72xx (lệnh rate limit vẫn có thể gõ vào trên console nhưng nó không có hiệu lực !)! Nhưng nếu dùng QoS policy thì chính sách này chỉ hỗ trợ inbound traffic trên các giao tiếp !
Như vậy thì anh ta phải giải quyết trường hợp này như thế nào ! Tất nhiên là không tính đến trường hợp thuê thêm băng thông Internet

sinhvienngheo
26-07-2003, 01:08 AM
chào anh,

CAR chỉ có trên router 72xx?

Em sẽ kiểm tra lại thông tin này. Tuy nhiên, thật ra CAR có hỗ trợ trên cả những router 2600/3600 series;

Nếu Anh không thể dùng CAR, anh vẫn có thể dùng QoS policy như anh đã đề nghị.

Các bước tiến hành như sau:

1. Định nghĩa các class of traffic cho các traffic xuất phát từ các vlan
ví dụ:d đây là định nghĩa cho traffic từ vlan 1 có địa chỉ là 10.0.0.0/24

# access-list 1 permit 10.0.0.0 0.0.0.255
#class class1
#match ip address 1

2. Định nghĩa policy

#policy-map mypolicy
#class-map class1
#bandwidth 64
#class-map class2
#bandwidth 128
.....

3. Vấn đề cuối cùng, anh sẽ apply policy này ở đâu:

Trả lời: Áp dụng polcicy trên vào inbound interface của router gateway, là router cuối cùng trước khi traffic ra Internet.

Hy vọng sẽ tiếp tục trao đổi với anh,

annpb
26-07-2003, 07:42 AM
Lệnh bandwith này có ý nghĩa gì ? Tôi thực sự chưa thấy tài liệu nào nói đến ?
Thật ra thì cho dù áp dụng QoS policy hay gõ lệnh rate limit (CAR) thì người ta phải định nghĩa các normal rate, burst rate và action tương ứng với các rate đó ?
có vẻ như bandwith chỉ có ý nghĩa trong traffic shaping nhưng mà Cat6509 thì không có đặc tính này. CAR chỉ có trên các card VIP trên 7200...
Trân trọng

duydq
28-07-2003, 11:35 AM
Hi,

to svn: command bandwidth chỉ là bandwidth information thôi. Hình như là không có tác dụng đâu. Nên dùng thêm command này max-reserved-bandwidth xx.

to annpb: Mình dùng router 2600 series cũng đã có CAR rồi. Bạn xem lại đi.
Áp dụng QoS policy trên inbound hay outbound đều được cả. Chỉ có hạn chế là đối với outbound traffic thì các policy ít hơn thôi. Hồi trước mình có đưa một link về các policy mà bạn có thể áp dụng cho inbound, outbound traffic trong bài này. Bạn xem lại coi có giúp được gì không.

Thân chào,
dqd.

PhungHai
28-07-2003, 02:58 PM
Dưới đây là Topology của một hệ thống mạng tôi đang hỗ trợ:

Clients LAN)---------CAT2950------Fx/x-CAT4506 -F0/1--------F0/1-R7204-s0/0---Internet

Yêu cầu đặt ra là hạn chế tốc độ từ các VLAN khách hàng đến Internet đúng theo tốc độ đăng ký trong hợp đồng.

1. Theo bạn SVN thì nên đặt một policy-map dùng lệnh bandwidth vào inbound interface của gateway router F0/1, phân loại traffic trên class-map dựa vào standard access-list kiểm tra source-address của client VLAN IP (traffic từ VLAN khách hàng ra Internet). Cách này sẽ không hoạt động vì lý do sau:

- Lệnh bandwidth chỉ có giá trị cam kết băng thông trong trường hợp có tắc nghẽn và thường được dùng cho output queue. Traffic giữa Cat trung tâm và border router chạy trên FE thuờng không bao giờ nghẽn cả (vì là point to point FE connection), do đó lệnh bandwith sẽ không có tác dụng và do đó không thể hạn chế hoặc cam kết bandwidth cho khách hàng.

2. Giả sử ta đặt policy map vào hướng output cho interface F0/1 từ border router vào CAT trung tâm và dùng extended access control list để định nghĩa traffic từ Internet vào clients VLAN. Nếu dùng lệnh bandwidth cũng sẽ không có tác dụng vì traffic từ Internet vào qua cổng serial nhỏ hơn tốc độ của FE và congestion không xảy ra. Nếu dùng CAR hoặc lệnh police thì có thể hạn chế được tốc độ tối đa từ Internet đến VLAN của khách hàng (CAR và Police hoạt động không phụ thuộc vào tình trạng congestion).

3. Hiện tại, với topology trên, tôi sử dụng CAR tại Interface S0/0 đến Internet và apply theo hướng input và output để hạn chế tốc độ đến và đi Internet của VLAN khách hàng theo tốc độ cam kết trong hợp đồng. Tuy nhiên có một số nhược điểm sau:

a. CAR và Police giới hạn tốc độ truy cập Internet của khách hàng và không cho phép khách hàng vuợt tốc độ ngay cả trong trường hợp đường Internet s0/0 còn trống. Ví dụ tôi có 10 khách hàng dùng 64K, nếu tại một thời điểm nào đó 9 khách hàng không dùng Internet thì khách hàng còn lại cũng chỉ được dùng 64K và đường truyền không được sử dụng hết. Trong trường hợp đường truyền Internet được sử dụng hết, sẽ không có traffic nào được cam kết băng thông và băng thông sẽ được chia sẻ theo dạng fair queing từ phía ISP router (default là WFQ trên serial interface))

b. CAR và Police drop packets và không dùng queing nên các ứng dụng dùng TCP hay bị trường hợp đứt quãng về tốc độ (jerky), do đó tốc độ burst cần được điều chỉnh dựa trên packet size.

c. Không có priority queing cho VOICE traffic nên chất luợng gọi VOIP qua Internet rất tồi.

4. Nếu cần cam kết tốc độ từ Internet đến một khách hàng trong trường hợp nghẽn mạch, chỉ có thể hợp tác với ISP và cấu hình policy map output trên serial interface của ISP router đi đến border router, dùng lệnh bandwidth để cam kết tốc độ.

sinhvienngheo
29-07-2003, 01:42 AM
Hi,

to svn: command bandwidth chỉ là bandwidth information thôi. Hình như là không có tác dụng đâu. Nên dùng thêm command này max-reserved-bandwidth xx.

to annpb: Mình dùng router 2600 series cũng đã có CAR rồi. Bạn xem lại đi.
Áp dụng QoS policy trên inbound hay outbound đều được cả. Chỉ có hạn chế là đối với outbound traffic thì các policy ít hơn thôi. Hồi trước mình có đưa một link về các policy mà bạn có thể áp dụng cho inbound, outbound traffic trong bài này. Bạn xem lại coi có giúp được gì không.

Thân chào,
dqd.

Xin chào Duy,

Lệnh max-reserver-bandwidth có ý nghĩa là dành toàn bộ băng thông của interface cho chính sách Qos của bạn. Ở trạng thái mặc định, IOS chỉ dành 75% băng thông cho các policy do bạn định nghĩa. Nói cách khác, tất cả các traffic chia sẽ nhau 75% BW. 25% còn lại là dành cho hệ thống; nghĩa là các routing update, system queue....

Khi bạn set max-reserve-bandwidth 100, bạn sẽ dành toàn bộ băng thông cho policy của bạn.

Lệnh bandwidth trong QuoS policy khác hoàn toàn với lệnh bandwidth trong interface mode. Lệnh bandwidth trong interface mode được các routing protocols dùng để tính metric (ví dụ như ospf, eigrp, igrp...). Ngược lại, bandwidth trong policy mà bạn định nghĩa được dùng để chỉ ra băng thông tối đa mà class đó có thể dùng.

Linh sẽ tiếp tục trao đổi với mọi người về chủ đề này.

Mỹ Linh

hoachuoi
29-07-2003, 04:38 PM
Chào các bạn,

Cat 6500 với SUP1/SUP2 với MSFC2, IOS IP/IPX/Service Provider... đã có hỗ trợ CAR nhưng mình chưa rõ tới mức độ nào. CAR đúng là đã có trên các router từ 2600 trở lên như nhiều bạn đã gặp.
Không biết Catalyst của bạn annpb có cấu hình phần cứng và mềm như thế nào nhỉ? Mình nghĩ là bạn đang chạy Cat OS thì không nhìn thấy CAR, có thể xem trong MSFC hoặc chuyển sang dùng Native IOS được không? Nhờ bạn thử nghiệm và chỉ lại kinh nghiệm cho mọi người nhé.

Chúc thành công,

duydq
30-07-2003, 03:01 AM
To svn, lệnh bandwidth mình có thử nhiều lần rồi đó nhưng đến khi test thì không có hiệu quả!!! Mình cũng nghĩ là như anh Hải nói. SVN có test thử chưa.
To anh Hải, với topology của anh, chỉ sử dụng CAR tại interface s0/0 em có thể giải quyết được nhược điểm 3a mà anh nói đó, tức là bảo đảm được tốc độ cho từng customers trong trường hợp có nghẽn đồng thời có thể lấn qua lấn lại khi không nghẽn (hihi cái này hôm bữa yuna nó cũng chịu thua em).
Còn nhược điểm 3b, em nghĩ dùng traffic shapping thì tránh được. Anh thấy thế nào?
Còn đối với voice thì chịu, phải dùng priority queing thôi.

Thân chào,
dqd.

PhungHai
30-07-2003, 12:04 PM
DuyDQ,

Sử dụng CAR tại interface s0/0 không giải quyết được nhược điểm 3a: "cho phép khách hàng sử dụng tốc độ cao hơn trong trường hợp băng thông còn trống". Lệnh rate-limit giới hạn tốc độ maximum của flow và không phụ thuộc vào tình trạng nghẽn mạch hay băng thông trống của đường truyền.

Nhược điểm 3b thì đúng là có thể dùng traffic shaping để tránh được bằng cách dùng shaping output cho interface f0/1 của border router đi vào central switch.

kokichi81
22-10-2004, 12:02 PM
Cho mình hỏi cái burst rate là sao?
Mình không hiểu cái này.

kimlong
22-10-2004, 01:44 PM
burst rate chỉ khả năng vượt quá một mức giới hạn băng thông nào đó.

Ví dụ trong công nghệ đã nêu ở trên, giả sử phần băng thông giới hạn là 16K. Nếu anh muốn cho khách hàng du di vượt quá con số 16K một phần mà không DROP traffic đó thì phần vượt quá gọi là burst rate.