差分

ナビゲーションに移動 検索に移動
1行目: 1行目:  +
タイトルは Catalyst3850 ですが、同じ系統の ASIC であるため Catalyst9000 でもほぼ同じ内容が通用します。
 +
 +
UADP 3.0 から変更がある機能もあるため、全く同じでは無いです。
    
== 目的 ==
 
== 目的 ==
44行目: 47行目:     
== サンプル要件 ==
 
== サンプル要件 ==
QoS で差別化するトラフィックを、以下の通り定義します。
+
QoS を正確に設計・検証・設定するには、設定対象のネットワークの使用状況を元にした要件定義が必要です。
 +
 
 +
ここでは QoS で差別化するトラフィックを、以下の通り定義します。
    
=== 通常ユーザ : NET ===
 
=== 通常ユーザ : NET ===
51行目: 56行目:  
* 優先度は最低とする
 
* 優先度は最低とする
 
* バッファリングを行い、TCP 再送が起きにくくする
 
* バッファリングを行い、TCP 再送が起きにくくする
 +
* IP セグメントは 10.0.0.0/8 を持つ
    
=== 管理トラフィック : MGMT ===
 
=== 管理トラフィック : MGMT ===
   −
* ルーティング プロトコルやプロビジョニング用プロトコルの DHCP ARP を優先する
+
* ルーティング プロトコルや、プロビジョニング用プロトコルの DHCP ARP を優先する
 
* Internetwork Control として、NET よりも優先して転送させる
 
* Internetwork Control として、NET よりも優先して転送させる
 
* NET でパケットが埋まっていても、優先して処理されること
 
* NET でパケットが埋まっていても、優先して処理されること
62行目: 68行目:  
* 音声を 200ms 以内の遅延で転送するため、絶対優先させる
 
* 音声を 200ms 以内の遅延で転送するため、絶対優先させる
 
* 他の ToS / DSCP で帯域幅が埋まっていても、パケットドロップが起きないこと
 
* 他の ToS / DSCP で帯域幅が埋まっていても、パケットドロップが起きないこと
 +
* IP セグメントは 192.168.0.0/16 を持つ
    
=== その他 : class-default ===
 
=== その他 : class-default ===
79行目: 86行目:  
!
 
!
 
ip access-list extended ACL_MGMT
 
ip access-list extended ACL_MGMT
  permit ip 172.16.0.0 0.15.255.255 any
+
  10 permit udp any eq bootpc any
 +
20 permit udp any eq bootps any
 +
30 permit udp any any eq bootpc
 +
40 permit udp any any eq bootps
 +
50 permit ospf any any
 +
!
 +
mac access-list extended ACL_L2MGMT
 +
permit any any 0x806 0x0
 
!
 
!
 
ip access-list extended ACL_VoIP
 
ip access-list extended ACL_VoIP
  permit ip 192.16.0.0 0.0.255.255 any
+
  permit ip 192.168.0.0 0.0.255.255 any
 
!
 
!
class-map CMAP_NET_MARKING
+
class-map match-any CMAP_NET_MARKING
 
  match access-group name ACL_NET
 
  match access-group name ACL_NET
 
!
 
!
class-map CMAP_MGMT_MARKING
+
class-map match-any CMAP_MGMT_MARKING
 
  match access-group name ACL_MGMT
 
  match access-group name ACL_MGMT
 +
match access-group name ACL_L2MGMT
 
!
 
!
class-map CMAP_VoIP_MARKING
+
class-map match-any CMAP_VoIP_MARKING
 
  match access-group name ACL_VoIP
 
  match access-group name ACL_VoIP
 
!
 
!
106行目: 121行目:  
end
 
end
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
 +
==== ARP ====
 +
ARP は L2 フレームで IP ヘッダが存在しないため、MAC ACL で定義する必要があります。
 +
 +
==== OSPF ====
 +
Cisco IOS ではデフォルトで OSPF に ToS がついているため、上記のようにあえてマーキングする必要はありません。
    
== トラフィック生成 ==
 
== トラフィック生成 ==
    +
色々な機器やアプリケーションが存在しますが、おすすめは以下です。
 +
 +
=== トラフィックジェネレータ ===
 +
 +
==== IXIA ====
 +
 +
* IxNetwork だと尚良し、4 ポートはほしい
 +
** 例) DSCP=0 でワイヤレートを双方向印加中に、DSCP=46 で PQ に双方向印加した時、DSCP=46 でドロップ無し・DSCP=0 でドロップが発生するか
 +
 +
==== Ciscoi Trex ====
 +
 +
* 負荷を印加する分には困らない
 +
* 安定性やショートパケット時の送信間隔の精度などはいまいち
 +
 +
==== iperf ====
 +
 +
* PC が 2 台あればとりあえず動かせる気軽さが良き
 +
 +
=== ping 系 ===
 +
 +
==== Cisco IOS / IOS-XE ====
 +
 +
* ping でもそれなりの pps が出る
 +
* ToS を指定して連続実施できるのはレア
    
== TIPS ==
 
== TIPS ==
121行目: 166行目:  
end
 
end
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
 +
=== オーバーサブ (帯域超過) させるには ===
 +
LAG のメンバーを 2 -> 1 にするなど、帯域幅を減らしてトラフィックを印加しましょう。
 +
 +
=== ラクなマーキング方法ってある ? ===
 +
ACL よりも Vlan で match させるとラクな場合が多いです。
 +
 +
* IP アドレスを変更しても QoS 用 ACL のメンテナンスが必要ない
 +
* Catalyst3850 から対応、3750 / 4500 / 6500 系は対応しません
 +
 +
拠点ごとに Vlan が共通化されている場合は、特に効果が高いです。
 +
 +
dot1q タグが付いていないフレームでも、マーキングの対象になります。
 +
 +
* access ポートでも設定した Vlan に match できる
 +
 +
=== 絶対優先キューはポリシングとセットで設定する ===
 +
PQ は絶対優先されるため、L2 ループでトラフィックが溢れる、意図せず大量にパケットが流れる、といった事象が発生するとネットワークが完全に停止してしまいます。
 +
 +
使用する VoIP プロトコルの 1 ユーザあたりの帯域幅 x ユーザ数などからサイジングして、適切な帯域幅でポリシングを設定するのを推奨します。
    
== ハマりポイント ==
 
== ハマりポイント ==
    
=== QoS を設定したら、ToS=0 のパケットドロップが多くなったんだけど ? ===
 
=== QoS を設定したら、ToS=0 のパケットドロップが多くなったんだけど ? ===
 +
正常な動作です。QoS そのものはパケット ドロップを減らす機能ではありません。
 +
* ToS=0 のパケットは、重みが低いため他の ToS を持つパケットの犠牲になります
 +
* キューの数が 2 -> 8 つに増えるため、キューあたりのパケットバッファも割当量が減少します
 +
 +
=== Catalyst3850 に ToS=5 のトラフィックを転送しても、絶対優先されないぞ ? 3750 の頃はできたのに・・・ ===
 +
正常な動作です。
 +
* Catalyst3850 以降は DSCP ベースで動作するため、DSCP=46(EF) が絶対優先されます。
 +
** EF = Expedited Forwarding
   −
* 正常な動作です。ToS=0 のパケットは他の ToS を持つパケットの犠牲になります。
+
=== Windows の ping で ToS を指定しても反映されないんだけど・・・ ===
 +
仕様です。
   −
=== Catalyst3850 に ToS=5 のトラフィックを転送しても、絶対優先されないぞ ? ===
+
* Cisco IOS は指定できるので、ルータかスイッチを用意して ToS 指定 ping を打つのがおすすめです  ただし hex で指定する必要があります
   −
* 正常な動作です。Catalyst3850 以降は DSCP ベースで動作するため、DSCP=46(EF) が絶対優先されます。
+
==== Windows ping ====
* EF = Expedited Forwarding
+
<syntaxhighlight lang="diff">
 +
C:\Windows\System32>ping /?
 +
<snip>
 +
Options:
 +
    -v TOS        Type Of Service (IPv4-only. This setting has been deprecated
 +
                  and has no effect on the type of service field in the IP
 +
                  Header).
 +
</syntaxhighlight>
 +
 
 +
==== Cisco IOS ping ====
 +
<syntaxhighlight lang="diff">
 +
ping 1.1.1.1 tos ?
 +
  <1-255>  Type of
 +
</syntaxhighlight>
    
== 参考 URL ==
 
== 参考 URL ==
139行目: 226行目:     
[https://www.cisco.com/c/ja_jp/support/docs/switches/catalyst-3850-series-switches/118629-technote-qos-00.html QoSの3750 MLSから3850 MQCへの変換の設定]
 
[https://www.cisco.com/c/ja_jp/support/docs/switches/catalyst-3850-series-switches/118629-technote-qos-00.html QoSの3750 MLSから3850 MQCへの変換の設定]
 +
[[カテゴリ:Catalyst]]

案内メニュー