FutureNet

NXR,WXRシリーズ

QoS編

1. 帯域制御設定

1-6. 帯域制御の利用(PPPインタフェースでの利用)

この設定例ではPPPoE接続などで利用するPPPインタフェースで帯域制御を行います。

 

【 構成図 】

  • 出力インタフェース(ppp0インタフェース)の帯域幅を50Mbpsに設定します。
  • クラス10,クラス20およびデフォルトクラスを作成し、それぞれの帯域幅を出力インタフェースの帯域幅の10%,30%,60%に設定します。
    (☞) パーセンテージはインタフェースで設定する帯域幅に対する絶対比となります。
  • Ethernet0インタフェースで受信する全てのICMPパケットをクラス10に、全てのUDPパケットをクラス20に割り当てます。またそれ以外のパケットはデフォルトクラスに割り当てます。

 

【 設定データ 】

設定項目 設定内容
LAN側インタフェース ethernet0のIPアドレス 192.168.10.1/24
classify input qos_routemap
WAN側インタフェース PPPoEクライアント(ethernet1) ppp0
ppp0のIPアドレス 動的IPアドレス
IPマスカレード 有効
SPIフィルタ 有効
TCP MSS自動調整 オート
ISP接続用ユーザID test1@example.jp
ISP接続用パスワード test1pass
QoS キューイング クラスポリシ
クラスポリシ名 ppp0qos
帯域幅 50Mbps(50000kbps)
スタティックルート 宛先IPアドレス 0.0.0.0/0
ゲートウェイ(IPアドレス) ppp0
クラスアクセスリスト アクセスリスト名 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) 10
No.2 マッチIPアドレス class_acl2
セット(mark) 20
クラスフィルタ クラスナンバ 10
クラス10 マッチ条件 10(mark)
クラスナンバ 20
クラス20 マッチ条件 20(mark)
クラスポリシ ポリシ名 ppp0qos
ppp0qos No.1 クラス 10
帯域幅 10%
No.2 クラス 20
帯域幅 30%
No.3 クラス デフォルト
帯域幅 60%
DNS サービス 有効
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 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)#exit
nxr230(config)#class filter 20
nxr230(config-class-filter)#match ip mark 20
nxr230(config-class-filter)#exit
nxr230(config)#class policy ppp0qos
nxr230(config-class-policy)#class 10 bandwidth percent 10
nxr230(config-class-policy)#class 20 bandwidth percent 30
nxr230(config-class-policy)#class default bandwidth percent 60
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)#ppp account username test1@example.jp password test1pass
nxr230(config)#interface ppp 0
nxr230(config-ppp)#ip address negotiated
nxr230(config-ppp)#ip masquerade
nxr230(config-ppp)#ip spi-filter
nxr230(config-ppp)#ip tcp adjust-mss auto
nxr230(config-ppp)#ppp username test1@example.jp
nxr230(config-ppp)#queue policy ppp0qos bandwidth 50000
nxr230(config-ppp)#exit
nxr230(config)#interface ethernet 1
nxr230(config-if)#no ip address
nxr230(config-if)#pppoe-client ppp 0
nxr230(config-if)#exit
nxr230(config)#ip route 0.0.0.0/0 ppp 0
nxr230(config)#dns
nxr230(config-dns)#service enable
nxr230(config-dns)#exit
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 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

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

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

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

 

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

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

nxr230(config-class-policy)#class 10 bandwidth percent 10

クラス10の帯域幅を設定します。
(☞) パーセンテージはインタフェースで設定する帯域幅に対する絶対比となります。

nxr230(config-class-policy)#class 20 bandwidth percent 30

クラス20の帯域幅を設定します。

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

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

 

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. <PPPアカウント設定>
nxr230(config)#ppp account username test1@example.jp password test1pass

ppp0インタフェースで使用するISP接続用ユーザID,パスワードを設定します。
(☞) ここで設定したアカウントはppp0インタフェースの設定で利用します。

 

7. <WAN側(ppp0)インタフェース設定>
nxr230(config)#interface ppp 0
nxr230(config-ppp)#ip address negotiated

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

nxr230(config-ppp)#ip masquerade
nxr230(config-ppp)#ip spi-filter
nxr230(config-ppp)#ip tcp adjust-mss auto

IPマスカレード、ステートフルパケットインスペクションを有効に設定します。またTCP MSSの調整機能をオートに設定します。

nxr230(config-ppp)#ppp username test1@example.jp

ISP接続用ユーザIDを設定します。

nxr230(config-ppp)#queue policy ppp0qos bandwidth 50000

出力インタフェースのキューイング方式としてクラスポリシを指定し、クラスポリシ名および帯域幅を設定します。
(☞) 帯域幅の単位はkbpsになります。

 

8. <ethernet1インタフェース設定>
nxr230(config)#interface ethernet 1
nxr230(config-if)#no ip address
nxr230(config-if)#pppoe-client ppp 0

PPPoEクライアントとしてppp0インタフェースを使用できるように設定します。

 

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

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

 

10. <DNS設定>
nxr230(config)#dns
nxr230(config-dns)#service enable

DNSサービスを有効にします。

 

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

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

 

【 端末の設定例 】

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