Integrated Routing and Bridging or IRB
Concurrent Routing and Bridging (CRB) was the original form which allowed either Routing or Bridging on the same interface but not on both. This has been since been replaced with Integrated Routing and Bridging (IRB). IRB adds some additional features such as Routing and Bridging on the same interface.
IRB uses a Bridged Virtual Interface also know as a BVI. This is somewhat similar to a Switched Virtual Interface (SVI).
A SVI is configured as follows:
config t
int vlan 20
ip address 10.0.0.20 255.255.255.0
and a BVI is configured as follows:
config t
int bvi 20
ip address 10.0.0.30 255.255.255.0
The big difference is that the SVI # is associated to the VLAN. The BVI # is associated to the Bridge Group.
So the above BVI interface would be part of Bridge Group 20.
Scenario
R1 must be configured to allow the routers and hosts in the vlans 20 and 30 above to communicate with each other. Use IRB to accomplish this tasks. You only have access to R1, R2, and R3.
The configurations of IRB on a router would contain some of the following steps:
config t
bridge irb
(this enables bridging utilizing IRB)
bridge 4 protocol ieee
(this enables bridging on the Router and tells the bridge group what spanning type to use, for this case it is ieee which is 802.1D Spanning Tree).
(Also 4 in this command represents bridge group 1, if we wanted to use bridge group 10 it would be “bridge 10 protocol ieee“)
bridge 4 route ip
(This command enables routing for the Bridge Group. Again the 1 is the
(Next we will configure the sub interfaces that will be part of the IRB configuration. We will use Ethernet 0/0 which has a trunk to the switch. We will use the sub interface nomenclature 0/0.x where x is the VLAN.)
interface ethernet 0/0.20
encapsulation dot1q 20
bridge-group 4
interface ethernet 0/0.30
encapsulation dot1q30
bridge-group 4
Next we can configure the BVI interface if required
interface bvi 4
ip address 10.1.4.1 255.255.255.0
Putting it all together would look like this:
R1#config t
R1(config)#bridge irb
R1(config)#bridge 4 protocol ieee
R1(config)#bridge 4 route ip
R1(config)#interface ethernet 0/0.20
R1(config-subif)#encapsulation dot1q 20
R1(config-subif)#bridge-group 4
R1(config-subif)#interface ethernet 0/0.30
R1(config-subif)#encapsulation dot1q 30
R1(config-subif)#bridge-group 4
R1(config-subif)#interface bvi 4
R1(config-if)#ip address 10.1.4.1 255.255.255
You can verify the configuration with the following commands
show bridge
R1#show bridge
Total of 300 station blocks, 299 free
Codes: P – permanent, S – self
Bridge Group 4:
Address Action Interface Age RX count TX count
aabb.cc00.0400 forward Et0/0.30 1 10 9
show spanning-tree
R1#show spanning-tree
Bridge group 4 is executing the ieee compatible Spanning Tree protocol
Bridge Identifier has priority 32768, address aabb.cc00.0100
Configured hello time 2, max age 20, forward delay 15
We are the root of the spanning tree
Topology change flag not set, detected flag not set
Number of topology changes 1 last change occurred 00:02:04 ago
from Ethernet0/0.20
Times: hold 1, topology change 35, notification 2
hello 2, max age 20, forward delay 15
Timers: hello 0, topology change 0, notification 0, aging 300
Port 10 (Ethernet0/0.20) of Bridge group 4 is forwarding
Port path cost 100, Port priority 128, Port Identifier 128.10.
Designated root has priority 32768, address aabb.cc00.0100
Designated bridge has priority 32768, address aabb.cc00.0100
Designated port id is 128.10, designated path cost 0
Timers: message age 0, forward delay 0, hold 0
Number of transitions to forwarding state: 1
BPDU: sent 68, received 1
Port 11 (Ethernet0/0.30) of Bridge group 4 is forwarding
Port path cost 100, Port priority 128, Port Identifier 128.11.
Designated root has priority 32768, address aabb.cc00.0100
Designated bridge has priority 32768, address aabb.cc00.0100
Designated port id is 128.11, designated path cost 0
Timers: message age 0, forward delay 0, hold 0
Number of transitions to forwarding state: 1
BPDU: sent 68, received 1
show interface bvi 4
R1#show interface bvi 4
BVI4 is up, line protocol is up
Hardware is BVI, address is aabb.cc00.0100 (bia 0000.0000.0000)
Internet address is 10.1.4.1/24
MTU 1500 bytes, BW 10000 Kbit/sec, DLY 5000 usec,
reliability 255/255, txload 1/255, rxload 1/255
Encapsulation ARPA, loopback not set
Keepalive set (10 sec)
ARP type: ARPA, ARP Timeout 04:00:00
Last input never, output never, output hang never
Last clearing of “show interface” counters never
Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0
Queueing strategy: fifo
Output queue: 0/0 (size/max)
5 minute input rate 0 bits/sec, 0 packets/sec
5 minute output rate 0 bits/sec, 0 packets/sec
12 packets input, 1152 bytes, 0 no buffer
Received 0 broadcasts (0 IP multicasts)
0 runts, 0 giants, 0 throttles
0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort
13 packets output, 1212 bytes, 0 underruns
0 output errors, 0 collisions, 0 interface resets
0 unknown protocol drops
0 output buffer failures, 0 output buffers swapped out
From R3 Ping R2
R3#ping 10.1.4.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.1.4.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms
R3#
R1#show interface ethernet 0/0 irb
Ethernet0/0
Not bridging this sub-interface.
Ethernet0/0.20
Routed protocols on Ethernet0/0.20:
ip
Bridged protocols on Ethernet0/0.20:
clns decnet ip ipv6
Software MAC address filter on Ethernet0/0.20
Hash Len Address Matches Act Type
0x00: 0 ffff.ffff.ffff 10 RCV Physical broadcast
0x2A: 0 0900.2b01.0001 0 RCV DEC spanning tree
0xC0: 0 0100.0ccc.cccc 0 RCV CDP
0xC1: 0 0100.0ccc.cccd 5 RCV SSTP MAC address
0xC2: 0 0180.c200.0000 0 RCV IEEE spanning tree
0xC2: 1 0180.c200.0000 0 RCV IBM spanning tree
0xC2: 2 0100.0ccd.cdce 0 RCV VLAN Bridge STP
0xCC: 0 aabb.cc00.0600 12 RCV Interface MAC address
0xCC: 1 aabb.cc00.0600 0 RCV Bridge-group Virtual Interface
Ethernet0/0.30
Routed protocols on Ethernet0/0.30:
ip
Bridged protocols on Ethernet0/0.30:
clns decnet ip ipv6
Software MAC address filter on Ethernet0/0.30
Hash Len Address Matches Act Type
0x00: 0 ffff.ffff.ffff 5 RCV Physical broadcast
0x2A: 0 0900.2b01.0001 0 RCV DEC spanning tree
0xC0: 0 0100.0ccc.cccc 0 RCV CDP
0xC1: 0 0100.0ccc.cccd 1 RCV SSTP MAC address
0xC2: 0 0180.c200.0000 0 RCV IEEE spanning tree
0xC2: 1 0180.c200.0000 0 RCV IBM spanning tree
0xC2: 2 0100.0ccd.cdce 0 RCV VLAN Bridge STP
0xCC: 0 aabb.cc00.0600 10 RCV Interface MAC address
0xCC: 1 aabb.cc00.0600 0 RCV Bridge-group Virtual Interface
R1#
R1#show bridge 4 verbose
Total of 300 station blocks, 299 free
Codes: P – permanent, S – self
BG Hash Address Action Interface VC Age RX count TX count
4 08/0 aabb.cc00.0800 forward Et0/0.20 – 0 1 0
Flood ports (BG 4) RX count TX count
Ethernet0/0.20 2 1
Ethernet0/0.30 1 2
R1#show arp
Protocol Address Age (min) Hardware Addr Type Interface
Internet 10.1.4.1 – aabb.cc00.0600 ARPA BVI4
Internet 10.1.4.2 14 aabb.cc00.0800 ARPA BVI4
Internet 10.1.4.3 13 aabb.cc00.0900 ARPA BVI4
Some other resources can be found here:
Cisco documentation:
And some other blogs here:
http://cauew.blogspot.com/2008/07/integrated-routing-and-bridging-example.html
https://itknowledgeexchange.techtarget.com/network-engineering-journey/how-bridging-works-in-cisco-routers/
Daniels blog has a comment from someone that actually had two real world scenarios for IRB so I found that interesting.