FutureNet

NXR,WXRシリーズ

QoS編

2. 優先制御設定

2-2. 帯域制御と優先制御の併用

この設定例では帯域制御機能で作成した特定のクラスのキューイング方式をプライオリティキューイングとすることでクラス内で優先制御を行います。

 

【 構成図 】

  • 出力インタフェース(Ethernet1インタフェース)の帯域幅を契約帯域に合わせて20Mbpsに設定します。
  • クラスをクラス10とデフォルトクラスの2つに分け、それぞれの帯域幅を出力インタフェースの帯域幅の30%と70%に設定します。
  • Ethernet0インタフェースで受信する全てのUDPパケットにマーク値10を、ICMPパケットにマーク値20を設定します。
  • マーク値10,20のパケットをクラス10に割り当てます。またそれ以外のパケットはデフォルトクラスに割り当てます。
  • クラス10のキューイング方式をプライオリティ キューイングとします。そしてマーク値10のパケットはHighクラスに、マーク値20のパケットはLowクラスに格納します。

 

【 設定データ 】

設定項目 設定内容
LAN側インタフェース ethernet0のIPアドレス 192.168.10.1/24
classify input qos_routemap
WAN側インタフェース ethernet1のIPアドレス 10.10.10.1/30
QoS キューイング クラスポリシ
クラスポリシ名 eth1qos
帯域幅 20Mbps(20000kbps)
ifg-pa-fcs 有効
スタティックルート 宛先IPアドレス 0.0.0.0
ゲートウェイ(IPアドレス) 10.10.10.2
クラスアクセスリスト アクセスリスト名 class_acl1
class_acl1 送信元IPアドレス any
宛先IPアドレス any
プロトコル UDP
アクセスリスト名 class_acl2
class_acl2 送信元IPアドレス any
宛先IPアドレス any
プロトコル ICMP
ルートマップ ルートマップ名 qos_routemap
qos_routemap No.1 マッチIPアドレス class_acl1
セット(mark) 10
No.2 マッチIPアドレス class_acl2
セット(mark) 20
クラスフィルタ クラスナンバ 10
クラス10 マッチ条件 10(mark)
マッチ条件 20(mark)
プライオリティマップ ナンバ 1
プライオリティマップ1 No.1 クラス High
マッチ条件 10(mark)
No.2 クラス Low
マッチ条件 20(mark)
クラスポリシ ポリシ名 eth1qos
eth1qos No.1 クラス 10
帯域幅 30%
キューイング方式 プライオリティ キューイング
プライオリティマップ 1
No.2 クラス デフォルト
帯域幅 70%
FastFowarding 有効

【 設定例 】

nxr230#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
nxr230(config)#class access-list class_acl1 ip any any udp
nxr230(config)#class access-list class_acl2 ip any any icmp
nxr230(config)#route-map qos_routemap permit 1
nxr230(config-route-map)#match ip address class_acl1
nxr230(config-route-map)#set mark 10
nxr230(config-route-map)#exit
nxr230(config)#route-map qos_routemap permit 2
nxr230(config-route-map)#match ip address class_acl2
nxr230(config-route-map)#set mark 20
nxr230(config-route-map)#exit
nxr230(config)#class filter 10
nxr230(config-class-filter)#match ip mark 10
nxr230(config-class-filter)#match ip mark 20
nxr230(config-class-filter)#exit
nxr230(config)#priority-map 1 high ip mark 10
nxr230(config)#priority-map 1 low ip mark 20
nxr230(config)#class policy eth1qos
nxr230(config-class-policy)#class 10 bandwidth percent 30 queue priority-group 1
nxr230(config-class-policy)#class default bandwidth percent 70
nxr230(config-class-policy)#exit
nxr230(config)#interface ethernet 0
nxr230(config-if)#ip address 192.168.10.1/24
nxr230(config-if)#classify input route-map qos_routemap
nxr230(config-if)#exit
nxr230(config)#interface ethernet 1
nxr230(config-if)#ip address 10.10.10.1/30
nxr230(config-if)#queue policy eth1qos bandwidth 20000 ifg-pa-fcs
nxr230(config-if)#exit
nxr230(config)#ip route 0.0.0.0/0 10.10.10.2
nxr230(config)#fast-forwarding enable
nxr230(config)#exit
nxr230#save config

【 設定例解説 】

1. <クラスアクセスリスト設定>
nxr230(config)#class access-list class_acl1 ip any any udp

クラスアクセスリスト名をclass_acl1とし、UDPパケット全てが対象となるように設定します。

nxr230(config)#class access-list class_acl2 ip any any icmp

クラスアクセスリスト名をclass_acl2とし、ICMPパケット全てが対象となるように設定します。

 

2. <ルートマップ設定>
nxr230(config)#route-map qos_routemap permit 1

ルートマップ名をqos_routemapとし、No.1のルールを作成します。

nxr230(config-route-map)#match ip address class_acl1

マッチ条件としてクラスアクセスリストで設定したclass_acl1を設定します。

nxr230(config-route-map)#set mark 10

該当条件にマッチした場合、マーク値10を設定します。
(☞) markはルータ内でのみ利用可能なマーキング値です。
(☞) ルートマップ設定を設定しただけではパケット分類は適切に機能しません。パケット分類を行うインタフェースでルートマップの登録が必要になります。

nxr230(config)#route-map qos_routemap permit 2
nxr230(config-route-map)#match ip address class_acl2
nxr230(config-route-map)#set mark 20

次にルートマップ名qos_routemapにNo.2のルールを作成します。
マッチ条件としてクラスアクセスリストで設定したclass_acl2を、該当条件にマッチした場合マーク値20を設定します。

 

3. <クラスフィルタ設定>
nxr230(config)#class filter 10
nxr230(config-class-filter)#match ip mark 10
nxr230(config-class-filter)#match ip mark 20

マーク値10,20のパケットをクラス10に割り当てるように設定します。

 

4. <プライオリティマップ設定>
nxr230(config)#priority-map 1 high ip mark 10
nxr230(config)#priority-map 1 low ip mark 20

プライオリティマップ1を作成し、マーク値10のパケットをHighクラスに、マーク値20のパケットをLowクラスに格納するように設定します。

 

5. <クラスポリシ設定>
nxr230(config)#class policy eth1qos

クラスポリシ名としてeth1qosを設定します。

nxr230(config-class-policy)#class 10 bandwidth percent 30 queue priority-group 1

クラス10の帯域幅を設定します。またこのクラスのキューイング方式としてPQを利用するため、プライオリティグループを設定します。
(☞) パーセンテージはインタフェースで設定する帯域幅に対する絶対比となります。

nxr230(config-class-policy)#class default bandwidth percent 70

デフォルトクラスの帯域幅を設定します。

 

6. <LAN側(ethernet0)インタフェース設定>
nxr230(config)#interface ethernet 0
nxr230(config-if)#ip address 192.168.10.1/24

ethernet0インタフェースのIPアドレスを設定します。

nxr230(config-if)#classify input route-map qos_routemap

パケット受信時にルートマップによるパケット分類を行うように設定します。

 

7. <WAN側(ethernet1)インタフェース設定>
nxr230(config)#interface ethernet 1
nxr230(config-if)#ip address 10.10.10.1/30

ethernet1インタフェースのIPアドレスを設定します。

nxr230(config-if)#queue policy eth1qos bandwidth 20000 ifg-pa-fcs

出力インタフェースのキューイング方式、クラスポリシおよび帯域幅を設定します。またシェーピングレートの計算時にIFG,プリアンブル,FCSをフレームサイズに加えるように設定します。
(☞) 帯域幅の単位はkbpsになります。

 

8. <スタティックルート設定>
nxr230(config)#ip route 0.0.0.0/0 10.10.10.2

デフォルトルートを設定します。

 

9. <ファストフォワーディングの有効化>
nxr230(config)#fast-forwarding enable

ファストフォワーディングを有効にします。ファストフォワーディングを設定することによりパケット転送の高速化を行うことができます。
(☞) ファストフォワーディングの詳細および利用時の制約については、NXR,WXRシリーズのユーザーズガイド(CLI版)に記載されているファストフォワーディングの解説をご参照ください。

 

【 端末の設定例 】

IPアドレス 192.168.10.100
サブネットマスク 255.255.255.0
デフォルトゲートウェイ 192.168.10.1