RSVP DSBM (Designated Subnetwork Bandwidth Manager)
January
03
, 2018
RSVP will work fine when you need to make a reservation on the link between two routers, but what if you have a shared segment? An example could be a couple of routers that is connected to the same half-duplex Ethernet network. These routers will share the bandwidth so when multiple routers make an RSVP reservation it’s possible that we oversubscribe.
The routers should know about all RSVP reservations that are made on this shared segment and that’s exactly why we have the DSBM (Designated Subnetwork Bandwidth Manager).
One of the routers on the shared segment will be elected as the DSBM and all other RSVP routers will proxy their RSVP PATH and RESV messages through the DSBM. This way we will have centralized admission control and we won’t risk oversubscribing the shared segment.
Besides being in charge of admission control, the DSBM can also distribute other information to RSVP routers, for example the amount of non-reservable traffic that is allowed in the shared segment or the average/peak rate and burst size for non-RSVP traffic.
The election to become the RSVP DSBM uses the following rules:
- The router with the highest priority becomes the DSBM.
- In case the priority is the same, the highest IP address is the tie-breaker.
Multiple DSBMs can be configured for a shared segment but DSBM is non-preemptive. This means that once the election is over, the router that was elected will stay as the DSBM even if you configure another router later with a higher priority.
Configuration-wise it’s easy to implement DSBM, let’s use the following topology to see how it works:
Just 3 routers connected to the same switch. First we will enable RSVP on all interfaces:
TERMINAL
- R1(config)#interface FastEthernet 0/0
- R1(config-if)#ip rsvp bandwidth
- R2(config)#interface FastEthernet 0/0
- R2(config-if)#ip rsvp bandwidth
- R3(config)#interface FastEthernet 0/0
- R3(config-if)#ip rsvp bandwidth
- !
- !Now we'll configure R3 as the DSBM for this segment:
- !
- R3(config)#interface FastEthernet 0/0
- R3(config-if)#ip rsvp dsbm candidate
If you want, you can configure the DSBM to tell other RSVP routers to limit the reservations:
TERMINAL
- R3(config-if)#ip rsvp bandwidth 2048
I'll set the maximum bandwidth to 2048 kbit. We can also set a number of parameters for non-RSVP traffic:
TERMINAL
- R3(config-if)#ip rsvp dsbm non-resv-send-limit ?
- burst Maximum burst (Kbytes)
- max-unit Maximum packet size (bytes)
- min-unit Minimum policed unit (bytes)
- peak Peak rate (Kbytes/sec)
- rate Average rate (Kbytes/sec)
- ! Let's verify if R3 has won the election:
- R1#show ip rsvp sbm detail
- !
- Interface: FastEthernet0/0
- Local Configuration Current DSBM
- IP Address: 192.168.123.1 IP Address: 192.168.123.3
- DSBM candidate: no I Am DSBM: no
- Priority: 64 Priority: 64
- Non Resv Send Limit Non Resv Send Limit
- Rate: unlimited Rate: 2147483 Kbytes/sec
- Burst: unlimited Burst: 536870 Kbytes
- Peak: unlimited Peak: unlimited
- Min Unit: unlimited Min Unit: unlimited
- Max Unit: unlimited Max Unit: unlimited
- R2#show ip rsvp sbm detail
-
- Interface: FastEthernet0/0
- Local Configuration Current DSBM
- IP Address: 192.168.123.2 IP Address: 192.168.123.3
- DSBM candidate: no I Am DSBM: no
- Priority: 64 Priority: 64
- Non Resv Send Limit Non Resv Send Limit
- Rate: unlimited Rate: 2147483 Kbytes/sec
- Burst: unlimited Burst: 536870 Kbytes
- Peak: unlimited Peak: unlimited
- Min Unit: unlimited Min Unit: unlimited
- Max Unit: unlimited Max Unit: unlimited
- R3#show ip rsvp sbm detail
-
- Interface: FastEthernet0/0
- Local Configuration Current DSBM
- IP Address: 192.168.123.3 IP Address: 192.168.123.3
- DSBM candidate: yes I Am DSBM: yes
- Priority: 64 Priority: 64
- Non Resv Send Limit Non Resv Send Limit
- Rate: unlimited Rate: 2147483 Kbytes/sec
- Burst: unlimited Burst: 536870 Kbytes
- Peak: unlimited Peak: unlimited
- Min Unit: unlimited Min Unit: unlimited
- Max Unit: unlimited Max Unit: unlimited
With R3 as the DSBM it will be in the middle of all RSVP messages. We can test this by configuring a reservation between R1 and R2:
TERMINAL
- R1(config)#ip rsvp sender-host 192.168.123.2 192.168.123.1 tcp 23 0 128 64
- R2(config)#reservation-host 192.168.123.2 192.168.123.1 tcp 23 0 ff rate 128 64
When we check R3 you can see that it knows about the reservation that we just configured:
TERMINAL
- R3#show ip rsvp installed
- RSVP: FastEthernet0/0
- BPS To From Protoc DPort Sport
- 128K 192.168.123.2 192.168.123.1 TCP 23 0 >