Cisco IOS QoS – RSVP(Resource reSerVation Protocol)の設定

スポンサーリンク

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

設定全文は下記ファイルです。詳細設定は下記を参照ください。

R1
!
version 12.4
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname R1
!
boot-start-marker
boot-end-marker
!
!
no aaa new-model
memory-size iomem 5
!
!
ip cef
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
interface Loopback0
 ip address 10.1.1.1 255.255.255.255
!
interface Serial0/0
 ip address 192.168.12.1 255.255.255.0
 serial restart-delay 0
!
interface Serial0/1
 no ip address
 shutdown
 serial restart-delay 0
!
interface Serial0/2
 no ip address
 shutdown
 serial restart-delay 0
!
interface Serial0/3
 no ip address
 shutdown
 serial restart-delay 0
!
!
router ospf 1
 log-adjacency-changes
 network 0.0.0.0 255.255.255.255 area 0
!
ip http server
ip forward-protocol nd
!
!
!
!
!
!
control-plane
!
!
!
!
mgcp behavior g729-variants static-pt
!
!
!
!
!
line con 0
line aux 0
line vty 0 4
 login
!
!
end
R2
!
version 12.4
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname R2
!
boot-start-marker
boot-end-marker
!
!
no aaa new-model
memory-size iomem 5
!
!
ip cef
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
interface Loopback0
 ip address 10.2.2.2 255.255.255.255
!
interface Serial0/0
 ip address 192.168.234.2 255.255.255.0
 encapsulation frame-relay
 ip ospf network broadcast
 serial restart-delay 0
 frame-relay map ip 192.168.234.2 203
 frame-relay map ip 192.168.234.3 203 broadcast
 frame-relay map ip 192.168.234.4 204 broadcast
 no frame-relay inverse-arp
!
interface Serial0/1
 ip address 192.168.12.2 255.255.255.0
 serial restart-delay 0
!
interface Serial0/2
 no ip address
 shutdown
 serial restart-delay 0
!
interface Serial0/3
 no ip address
 shutdown
 serial restart-delay 0
!
!
router ospf 1
 log-adjacency-changes
 network 0.0.0.0 255.255.255.255 area 0
!
ip http server
ip forward-protocol nd
!
!
!
!
!
!
control-plane
!
!
!
!
mgcp behavior g729-variants static-pt
!
!
!
!
!
line con 0
line aux 0
line vty 0 4
 login
!
!
end
R3
!
version 12.4
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname R3
!
boot-start-marker
boot-end-marker
!
!
no aaa new-model
memory-size iomem 5
!
!
ip cef
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
interface Loopback0
 ip address 10.3.3.3 255.255.255.255
!
interface Serial0/0
 ip address 192.168.234.3 255.255.255.0
 encapsulation frame-relay
 ip ospf network broadcast
 ip ospf priority 0
 serial restart-delay 0
 frame-relay map ip 192.168.234.2 302 broadcast
 frame-relay map ip 192.168.234.3 302
 frame-relay map ip 192.168.234.4 302
 no frame-relay inverse-arp
!
interface Serial0/1
 no ip address
 shutdown
 serial restart-delay 0
!
interface Serial0/2
 no ip address
 shutdown
 serial restart-delay 0
!
interface Serial0/3
 no ip address
 shutdown
 serial restart-delay 0
!
!
router ospf 1
 log-adjacency-changes
 network 0.0.0.0 255.255.255.255 area 0
!
ip http server
ip forward-protocol nd
!
!
!
!
!
!
control-plane
!
!
!
!
mgcp behavior g729-variants static-pt
!
!
!
!
!
line con 0
line aux 0
line vty 0 4
 login
!
!
end
R4
!
version 12.4
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname R4
!
boot-start-marker
boot-end-marker
!
!
no aaa new-model
memory-size iomem 5
!
!
ip cef
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
interface Loopback0
 ip address 10.4.4.4 255.255.255.255
!
interface Serial0/0
 ip address 192.168.234.4 255.255.255.0
 encapsulation frame-relay
 ip ospf network broadcast
 ip ospf priority 0
 serial restart-delay 0
 frame-relay map ip 192.168.234.2 402 broadcast
 frame-relay map ip 192.168.234.3 402
 frame-relay map ip 192.168.234.4 402
 no frame-relay inverse-arp
!
interface Serial0/1
 no ip address
 shutdown
 serial restart-delay 0
!
interface Serial0/2
 no ip address
 shutdown
 serial restart-delay 0
!
interface Serial0/3
 no ip address
 shutdown
 serial restart-delay 0
!
!
router ospf 1
 log-adjacency-changes
 network 0.0.0.0 255.255.255.255 area 0
!
ip http server
ip forward-protocol nd
!
!
!
!
!
!
control-plane
!
!
!
!
mgcp behavior g729-variants static-pt
!
!
!
!
!
line con 0
line aux 0
line vty 0 4
 login
!
!
end
FRSW
!
version 12.4
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname FRSW
!
boot-start-marker
boot-end-marker
!
!
no aaa new-model
memory-size iomem 5
!
!
ip cef
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
interface Serial0/0
 no ip address
 encapsulation frame-relay
 serial restart-delay 0
 frame-relay intf-type dce
 frame-relay route 203 interface Serial0/1 302
 frame-relay route 204 interface Serial0/2 402
!
interface Serial0/1
 no ip address
 encapsulation frame-relay
 serial restart-delay 0
 frame-relay intf-type dce
 frame-relay route 302 interface Serial0/0 203
!
interface Serial0/2
 no ip address
 encapsulation frame-relay
 serial restart-delay 0
 frame-relay intf-type dce
 frame-relay route 402 interface Serial0/0 204
!
interface Serial0/3
 no ip address
 shutdown
 serial restart-delay 0
!
!
ip http server
ip forward-protocol nd
!
!
!
!
!
!
control-plane
!
!
!
!
mgcp behavior g729-variants static-pt
!
!
!
!
!
line con 0
line aux 0
line vty 0 4
 login
!
!
end

仕様説明

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#
タイトルとURLをコピーしました