FutureNet

NXR,VXRシリーズ

QoS編

1. 帯域制御設定

1-3. 帯域制御の利用(階層型)

この設定例では帯域制御機能で作成するクラスを階層型にすることでより細かく設定を行います。

 

【 構成図 】

  • 出力インタフェース(Ethernet1インタフェース)の帯域幅を契約帯域に合わせて20Mbpsに設定します。
  • まずクラス10とデフォルトクラスを作成し、それぞれの帯域幅を出力インタフェースの帯域幅の40%と60%に設定します。次にクラス10の子クラスを2つ(クラス110とクラス120)作成し、それぞれの帯域幅を10%と30%に設定します。
    (☞) パーセンテージはインタフェースで設定する帯域幅に対する絶対比となります。
  • Ethernet0インタフェースで受信する全てのICMPパケットをクラス110に、全てのUDPパケットをクラス120に割り当てます。またそれ以外のパケットはデフォルトクラスに割り当てます。

 

【 設定データ 】

設定項目 設定内容
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/0
ゲートウェイ(IPアドレス) 10.10.10.2
クラスアクセスリスト アクセスリスト名 class_acl1
class_acl1 送信元IPアドレス any
宛先IPアドレス any
プロトコル ICMP
アクセスリスト名 class_acl2
class_acl2 送信元IPアドレス any
宛先IPアドレス any
プロトコル UDP
ルートマップ ルートマップ名 qos_routemap
qos_routemap No.1 マッチIPアドレス class_acl1
セット(mark) 110
No.2 マッチIPアドレス class_acl2
セット(mark) 120
クラスフィルタ クラスナンバ 110
クラス110 マッチ条件 110(mark)
クラスナンバ 120
クラス120 マッチ条件 120(mark)
クラスポリシ ポリシ名 eth1qos
eth1qos No.1 クラス 10
帯域幅 40%
キューイング方式 クラスポリシ(child)
No.2 クラス デフォルト
帯域幅 60%
ポリシ名 child
child No.1 クラス 110
帯域幅 10%
No.2 クラス 120
帯域幅 30%
FastFowarding 有効

【 設定例 】

nxr230#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
nxr230(config)#class access-list class_acl1 ip any any icmp
nxr230(config)#class access-list class_acl2 ip any any udp
nxr230(config)#route-map qos_routemap permit 1
nxr230(config-route-map)#match ip address class_acl1
nxr230(config-route-map)#set mark 110
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 120
nxr230(config-route-map)#exit
nxr230(config)#class filter 110
nxr230(config-class-filter)#match ip mark 110
nxr230(config-class-filter)#exit
nxr230(config)#class filter 120
nxr230(config-class-filter)#match ip mark 120
nxr230(config-class-filter)#exit
nxr230(config)#class policy eth1qos
nxr230(config-class-policy)#class 10 bandwidth percent 40 queue policy child
nxr230(config-class-policy)#class default bandwidth percent 60
nxr230(config-class-policy)#exit
nxr230(config)#class policy child
nxr230(config-class-policy)#class 110 bandwidth percent 10
nxr230(config-class-policy)#class 120 bandwidth percent 30
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 icmp

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

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

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

 

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 110

該当条件にマッチした場合、マーク値110を設定します。
(☞) markはルータ内でのみ利用可能なマーキング値です。

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

次にルートマップ名qos_routemapにNo.2のルールを作成します。
マッチ条件としてクラスアクセスリストで設定したclass_acl2を、該当条件にマッチした場合マーク値120を設定します。
(☞) ルートマップ設定を設定しただけではパケット分類は適切に機能しません。パケット分類を行うインタフェースでルートマップの登録が必要になります。

 

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

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

nxr230(config)#class filter 120
nxr230(config-class-filter)#match ip mark 120

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

 

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

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

nxr230(config-class-policy)#class 10 bandwidth percent 40 queue policy child

クラス10の帯域幅を設定します。またこのクラスのキューイング方式としてクラスポリシを指定し、クラスポリシ名childを設定します。
(☞) パーセンテージはインタフェースで設定する帯域幅に対する絶対比となります。

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

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

nxr230(config)#class policy child
nxr230(config-class-policy)#class 110 bandwidth percent 10
nxr230(config-class-policy)#class 120 bandwidth percent 30

クラスポリシ名childを設定します。またクラス110,120の帯域幅をそれぞれ設定します。

 

5. <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

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

 

6. <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になります。

 

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

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

 

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

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

 

【 端末の設定例 】

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