RSVP (Resource reSerVation Protocol)は、2台のホスト間で帯域を予約するプロトコルで、IntServ側のQoS実装のひとつです。
概要
RSVP(Resource reSerVation Protocol)は、2台のホスト間で帯域を予約するプロトコルで、IntServ側のQoS実装のひとつです。
コマンド一覧
このシナリオで重要なコマンド一覧は以下の通りです。
Router(config)# interface <interface> Router(config-if)# fair-queue Router(config-if)# ip rsvp bandwidth <total_kbps> <single_flow_kbps> Router(config-if)# ip rsvp resource-provider wfq { pvc | interface } Router(config)# ip rsvp sender-host <session_addr> <sender_addr> { tcp | udp } <src_port> <dst_port> <total_kbps> <single_flow_kbps> Router(config)# ip rsvp reservation-host <session_addr> <sender_addr> { tcp | udp } <src_port> <dst_port> { ff | wf | se } { rate | load } <total_kbps> <single_flow_kbps> Router(config)# ip rsvp pq-profile <Bps> <burst_byte> { <excess_percent> | ignore-peak-value }
構成図
以下構成にて動作確認を行います。なお、Dynamipsのframe relay機能では検証がうまくいなかったため、routerをframe relay switch代わりとして実装しております。
+--------+ ┌------+ R3 | s0/0 s0/1│ .3+--------+ +--------+ s0/0+--------+ s0/0+-----+--+ s0/0 | R1 +------+ R2 +------+ FRSW | +--------+ +--------+ +-----+--+ s0/0 192.168.12.0/24 s0/2│ .4+--------+ └------+ R4 | +--------+ 192.168.234.0/24 R1 Loopback0 R2 Loopback0 R3 Loopback0 R4 Loopback0 10.1.1.1/32 10.2.2.2/32 10.3.3.3/32 10.4.4.4/32
[FRSW] interface Serial0/0 encapsulation frame-relay frame-relay intf-type dce frame-relay route 203 interface Serial0/1 302 frame-relay route 204 interface Serial0/2 402 ! interface Serial0/1 encapsulation frame-relay frame-relay intf-type dce frame-relay route 302 interface Serial0/0 203 ! interface Serial0/2 encapsulation frame-relay frame-relay intf-type dce frame-relay route 402 interface Serial0/0 204
設定全文は下記ファイルです。詳細設定は下記を参照ください。
仕様説明
fair queue, RSVP
RSVPはfair queueのひとつの帯域を予約する機能です。したがって、RSVPを使用するには、interfaceに対してfair queueとrsvpを有効にする必要があります。
Router(config)# interface <interface> Router(config-if)# fair-queue Router(config-if)# ip rsvp bandwidth <total_kbps> <single_flow_kbps>
RSVP resource-provider
frame relay環境でRSVPを使用する場合には注意が必要です。RSVPが使用するfair queueをinterface単位で制御するのかPVC単位で制御するのかを指定する事ができます。
Router(config)# interface <interface> Router(config-if)# ip rsvp resource-provider wfq { pvc | interface }
rsvp signale
ciscoルータはテスト用途としてRSVPのsignaleを送信する事ができます。
以下の”ip rsvp sender-host”コマンドを投入すると、upstreamに向かってRSVP PATH messageを送信するようになります。オンラインドキュメントを見るとsession addressとの見慣れない標記がありますが、session addressは宛先アドレスの意味と考えてほぼ間違えありません。
Router(config)# ip rsvp sender-host <session_addr> <sender_addr> { tcp | udp } <src_port> <dst_port> <total_kbps> <single_flow_kbps>
以下の”ip rsvp reservation-host”コマンドを投入すると、downstreamに向かってRSVP RECV messageを送信するようになります。なお、帯域確保の方法Reservation styleは以下3通りから選ぶ事ができます。
設定 | 説明 |
---|---|
FF (Fixed Filter) | 1対1の通信に対して帯域を確保 |
FW (Wildcard Filter) | 複数の送信元に対して帯域を確保。 コールセンター全体に対して帯域を確保したい場合などに使用 |
SE (Shared Explicit) | 複数の送信元が1つのrecieverに対して行う通信に対して帯域を確保 |
Router(config)# ip rsvp reservation-host <session_addr> <sender_addr> { tcp | udp } <src_port> <dst_port> { ff | wf | se } { rate | load } <total_kbps> <single_flow_kbps>
LLQ
pq-profileコマンドを使用すると、RSVPによって転送されるパケットがpriority queueに格納されるようになります。
Router(config)# ip rsvp pq-profile <Bps> <burst_byte> { <excess_percent> | ignore-peak-value }
fair queue, RSVP
設定投入
全てのinterfaceをfair queueに変更し、RSVP用の帯域を設定します。RSVP用途として最大8Kbpsまでを確保し、1つのフローの上限を2Kbpsとします。
[R1] interface Serial0/0 fair-queue ip rsvp bandwidth 64 8 [R2] interface Serial0/0 fair-queue ip rsvp bandwidth 64 8 interface Serial0/1 fair-queue ip rsvp bandwidth 64 8 [R3] interface Serial0/0 fair-queue ip rsvp bandwidth 64 8 [R4] interface Serial0/0 fair-queue ip rsvp bandwidth 64 8
動作確認
RSVP用途の帯域が確保されている事を確認します。
[R2] R2#show ip rsvp interface interface allocated i/f max flow max sub max Se0/1 0 64K 8K 0 Se0/0 0 64K 8K 0 R2#
RSVP resource-provider
設定投入
R2のRSVP用途のfair queueについて、interface単位の制御からPVC単位の制御に変更します。
[R2] interface Serial0/0 ip rsvp resource-provider wfq pvc
動作確認
PVS単位の制御を行っている事を確認します。
[R2] R2#show ip rsvp interface detail Serial 0/0 Se0/0: Interface State: Up Bandwidth: Curr allocated: 0 bits/sec Max. allowed (total): 64K bits/sec Max. allowed (per flow): 8K bits/sec Max. allowed for LSP tunnels using sub-pools: 0 bits/sec Set aside by policy (total): 0 bits/sec Admission Control: Header Compression methods supported: rtp (36 bytes-saved), udp (20 bytes-saved) Traffic Control: RSVP Data Packet Classification is ON via CEF callbacks RSVP resource provider is: wfq pvc Signalling: DSCP value used in RSVP msgs: 0x3F Number of refresh intervals to enforce blockade state: 4 Number of missed refresh messages: 4 Refresh interval: 30 Authentication: disabled R2#
rsvp signale
RSVP PATH message 設定投入
R1/R3間, R1/R4間で帯域を確保します。R3, R4に以下のコマンドを投入し、R1にRSVP PATH messageを送信します。
[R3] ip rsvp sender-host 10.1.1.1 10.3.3.3 UDP 7013 7031 4 1 [R4] ip rsvp sender-host 10.1.1.1 10.4.4.4 udp 7014 7041 4 1
RSVP PATH message 動作確認
R1/R3間, R1/R4間の通信経路について、RSVP PATH messageが届いている事を確認します。
[R4] R4#show ip rsvp *Mar 1 00:05:30.411: %SYS-5-CONFIG_I: Configured from console by consolese R4#show ip rsvp sender To From Pro DPort Sport Prev Hop I/F BPS 10.1.1.1 10.4.4.4 UDP 7014 7041 10.4.4.4 4K R4# [R3] R3#show ip rsvp sender To From Pro DPort Sport Prev Hop I/F BPS 10.1.1.1 10.3.3.3 UDP 7013 7031 10.3.3.3 4K R3# [R2] R2#show ip rsvp sender To From Pro DPort Sport Prev Hop I/F BPS 10.1.1.1 10.3.3.3 UDP 7013 7031 192.168.234.3 Se0/0 4K 10.1.1.1 10.4.4.4 UDP 7014 7041 192.168.234.4 Se0/0 4K R2# [R1] R1#show ip rsvp *Mar 1 00:13:34.291: %SYS-5-CONFIG_I: Configured from console by consolese R1#show ip rsvp sender To From Pro DPort Sport Prev Hop I/F BPS 10.1.1.1 10.3.3.3 UDP 7013 7031 192.168.12.2 Se0/0 4K 10.1.1.1 10.4.4.4 UDP 7014 7041 192.168.12.2 Se0/0 4K R1#
RSVP RECV message 設定投入
R1/R3間, R1/R4間で帯域を確保します。R3, R4に以下のコマンドを投入し、R1にRSVP RECV messageを送信します。
[R1] ip rsvp reservation-host 10.1.1.1 10.3.3.3 udp 7013 7031 ff rate 4 1 ip rsvp reservation-host 10.1.1.1 10.4.4.4 udp 7014 7041 ff rate 4 1
RSVP RECV message 動作確認
R1/R3間, R1/R4間の通信経路について、RSVP RECV messageが届いている事を確認します。
[R2] R2#show ip rsvp reservation To From Pro DPort Sport Next Hop I/F Fi Serv BPS 10.1.1.1 10.3.3.3 UDP 7013 7031 192.168.12.1 Se0/1 FF RATE 4K 10.1.1.1 10.4.4.4 UDP 7014 7041 192.168.12.1 Se0/1 FF RATE 4K R2# [R3] R3#show ip rsvp reservation To From Pro DPort Sport Next Hop I/F Fi Serv BPS 10.1.1.1 10.3.3.3 UDP 7013 7031 192.168.234.2 Se0/0 FF RATE 4K R3# [R4] R4#show ip rsvp reservation To From Pro DPort Sport Next Hop I/F Fi Serv BPS 10.1.1.1 10.4.4.4 UDP 7014 7041 192.168.234.2 Se0/0 FF RATE 4K R4#
帯域確保 動作確認
end-to-endで帯域が確保されているかどうかを確認するには”show ip rsvp installed”, “show ip rsvp interface”などのコマンドを使用します。
[R2] R2#show ip rsvp installed RSVP: Serial0/1 BPS To From Protoc DPort Sport Weight Conversation 4K 10.1.1.1 10.3.3.3 UDP 7013 7031 6 265 4K 10.1.1.1 10.4.4.4 UDP 7014 7041 6 266 RSVP: Serial0/0 has no installed reservations R2# R2# R2#show ip rsvp interface interface allocated i/f max flow max sub max Se0/1 8K 64K 8K 0 Se0/0 0 64K 8K 0 R2#
LLQ
設定投入
RSVPで処理されるパケットのうち8000Byte/sをpriority queueに格納します。以下のコマンドをR1, R2, R3(R4以外)に投入します。
[R1, R2, R3] ip rsvp pq-profile 8000 1000 ignore-peak-value
設定をすばやく反映されるために、RSVPの設定を再投入します。
[R3] no ip rsvp sender-host 10.1.1.1 10.3.3.3 UDP 7013 7031 4 1 ip rsvp sender-host 10.1.1.1 10.3.3.3 UDP 7013 7031 4 1
動作確認
R1/R3間はpriority queueによって処理されますが、R1/R4間は通常のfair queueに基づいて処理される事を確認します。若干わかりづらいですが、weight 0との標記がpriority queueによって処理されるという意味です。R1/R3間のみweight 0になっている事が読み取れます。
[R2] R2#show ip rsvp installed RSVP: Serial0/1 BPS To From Protoc DPort Sport Weight Conversation 4K 10.1.1.1 10.3.3.3 UDP 7013 7031 0 264 4K 10.1.1.1 10.4.4.4 UDP 7014 7041 6 266 RSVP: Serial0/0 has no installed reservations R2# R2# R2#show ip rsvp installed detail RSVP: Serial0/1 has the following installed reservations RSVP Reservation. Destination is 10.1.1.1. Source is 10.3.3.3, Protocol is UDP, Destination port is 7013, Source port is 7031 Traffic Control ID handle: 05000406 Created: 00:26:16 UTC Fri Mar 1 2002 Admitted flowspec: Reserved bandwidth: 4K bits/sec, Maximum burst: 1K bytes, Peak rate: 4K bits/sec Min Policed Unit: 0 bytes, Max Pkt Size: 0 bytes Resource provider for this flow: WFQ on hw idb Se0/1: PRIORITY queue 264. Weight: 0, BW 4 kbps Conversation supports 1 reservations [0x9000405] Data given reserved service: 0 packets (0 bytes) Data given best-effort service: 0 packets (0 bytes) Reserved traffic classified for 67 seconds Long-term average bitrate (bits/sec): 0 reserved, 0 best-effort Policy: INSTALL. Policy source(s): Default RSVP Reservation. Destination is 10.1.1.1. Source is 10.4.4.4, Protocol is UDP, Destination port is 7014, Source port is 7041 Traffic Control ID handle: 01000409 Created: 00:18:23 UTC Fri Mar 1 2002 Admitted flowspec: Reserved bandwidth: 4K bits/sec, Maximum burst: 1K bytes, Peak rate: 4K bits/sec Min Policed Unit: 0 bytes, Max Pkt Size: 0 bytes Resource provider for this flow: WFQ on hw idb Se0/1: RESERVED queue 266. Weight: 6, BW 4 kbps Conversation supports 1 reservations [0x2000408] Data given reserved service: 0 packets (0 bytes) Data given best-effort service: 0 packets (0 bytes) Reserved traffic classified for 541 seconds Long-term average bitrate (bits/sec): 0 reserved, 0 best-effort Policy: INSTALL. Policy source(s): Default RSVP: Serial0/0 has no installed reservations R2#