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#
