OSPF Network Type Non-Broadcast

The non-broadcast network type is designed for non-broadcast multi-access (NBMA) networks where routers can reach each other directly but cannot communicate using multicast, such as Frame Relay or X.25 networks. This means OSPF will perform a DR/BDR election because it is a multi-access network, and since multicast is not possible, we must manually define neighbors. OSPF automatically detects network types based on the underlying media. However, we can manually configure different network types when needed.

Configuration

We are going to configure OSPF with non-broadcast network type over Ethernet. Here’s what we need to do:

  • Change the network type to non-broadcast on all Ethernet interfaces.
  • Manually configure OSPF neighbors.
  • Advertise networks.

Here’s the topology we’ll use:

Three Routers Switch Multi Access Topology

I use an Ethernet switch in the middle because it’s the simplest way to demonstrate this. We don’t have to configure a WAN or tunnels. I’ll show the OSPF packets so you can see that it uses unicast packets. I use Cisco IOS Software [Dublin], Linux Software (X86_64BI_LINUX-ADVENTERPRISEK9-M), Version 17.12.1, RELEASE SOFTWARE (fc5) for this example.

Configurations

Want to take a look for yourself? Here you will find the startup configuration of each device.

R1

hostname R1
!
interface Loopback0
 ip address 1.1.1.1 255.255.255.255
!
interface Ethernet0/1
 ip address 192.168.123.1 255.255.255.0
!
end

R2

hostname R2
!
interface Loopback0
 ip address 2.2.2.2 255.255.255.255
!
interface Ethernet0/1
 ip address 192.168.123.2 255.255.255.0
!
end

R3

hostname R3
!
interface Loopback0
 ip address 3.3.3.3 255.255.255.255
!
interface Ethernet0/1
 ip address 192.168.123.3 255.255.255.0
!
end

We start by changing the network type on all interfaces to non-broadcast:

R1(config)#interface Ethernet0/1
R1(config-if)#ip ospf network non-broadcast
R2(config)#interface Ethernet0/1
R2(config-if)#ip ospf network non-broadcast
R3(config)#interface Ethernet0/1
R3(config-if)#ip ospf network non-broadcast

Next, let’s configure basic OSPF to advertise the loopback interfaces and for the network we configured on the Ethernet0/1 interface:

R1(config)#router ospf 1
R1(config-router)#router-id 1.1.1.1
R1(config-router)#network 192.168.123.0 0.0.0.255 area 0
R1(config-router)#network 1.1.1.1 0.0.0.0 area 0
R2(config)#router ospf 1
R2(config-router)#router-id 2.2.2.2
R2(config-router)#network 192.168.123.0 0.0.0.255 area 0
R2(config-router)#network 2.2.2.2 0.0.0.0 area 0
R3(config)#router ospf 1
R3(config-router)#router-id 3.3.3.3  
R3(config-router)#network 192.168.123.0 0.0.0.255 area 0
R3(config-router)#network 3.3.3.3 0.0.0.0 area 0

Since non-broadcast networks don’t support multicast, we must manually configure neighbors. We need to specify each neighbor’s IP address under the OSPF process:

R1(config)#router ospf 1
R1(config-router)#neighbor 192.168.123.2
R1(config-router)#neighbor 192.168.123.3
R2(config)#router ospf 1
R2(config-router)#neighbor 192.168.123.1
R2(config-router)#neighbor 192.168.123.3
R3(config)#router ospf 1
R3(config-router)#neighbor 192.168.123.1
R3(config-router)#neighbor 192.168.123.2

That’s all we need to configure for a non-broadcast network type.

Verification

Let’s verify our configuration. First, let’s check the OSPF network type on R1:

R1#show ip ospf interface Ethernet0/1
Ethernet0/1 is up, line protocol is up 
  Internet Address 192.168.123.1/24, Interface ID 3, Area 0
  Attached via Network Statement
  Process ID 1, Router ID 1.1.1.1, Network Type NON_BROADCAST, Cost: 10
  Topology-MTID    Cost    Disabled    Shutdown      Topology Name
        0           10        no          no            Base
  Transmit Delay is 1 sec, State DROTHER, Priority 1
  Designated Router (ID) 3.3.3.3, Interface address 192.168.123.3
  Backup Designated router (ID) 2.2.2.2, Interface address 192.168.123.2
  Timer intervals configured, Hello 30, Dead 120, Wait 120, Retransmit 5
    oob-resync timeout 120
    Hello due in 00:00:19
  Supports Link-local Signaling (LLS)
  Cisco NSF helper support enabled
  IETF NSF helper support enabled
  Can be protected by per-prefix Loop-Free FastReroute
  Can be used for per-prefix Loop-Free FastReroute repair paths
  Not Protected by per-prefix TI-LFA
  Index 1/2/2, flood queue length 0
  Next 0x0(0)/0x0(0)/0x0(0)
  Last flood scan length is 1, maximum is 1
  Last flood scan time is 0 msec, maximum is 0 msec
  Neighbor Count is 2, Adjacent neighbor count is 2 
    Adjacent with neighbor 2.2.2.2  (Backup Designated Router)
    Adjacent with neighbor 3.3.3.3  (Designated Router)
  Suppress hello for 0 neighbor(s)

In the output above, we see:

  • The network type is non-broadcast.
  • The hello interval is 30 seconds, and the dead interval is 120 seconds. This is different from the broadcast network type, which has a hello interval of 10 seconds and a dead interval of 40 seconds.
  • Priority of one, which is used in the DR/BDR election.

Let’s verify the network type on R2 and R3 as well:

R2#show ip ospf interface Ethernet0/1 | include Network Type
  Process ID 1, Router ID 2.2.2.2, Network Type NON_BROADCAST, Cost: 10
R3#show ip ospf interface Ethernet0/1 | include Network Type
  Process ID 1, Router ID 3.3.3.3, Network Type NON_BROADCAST, Cost: 10

This looks good and all show up as network type non-broadcast. Let’s check our manually configured neighbors:

R1#show ip ospf neighbor

Neighbor ID     Pri   State           Dead Time   Address         Interface
2.2.2.2           1   FULL/BDR        00:01:49    192.168.123.2   Ethernet0/1
3.3.3.3           1   FULL/DR         00:01:57    192.168.123.3   Ethernet0/1
R2#show ip ospf neighbor 

Neighbor ID     Pri   State           Dead Time   Address         Interface
1.1.1.1           1   FULL/DROTHER    00:01:33    192.168.123.1   Ethernet0/1
3.3.3.3           1   FULL/DR         00:01:44    192.168.123.3   Ethernet0/1
R3#show ip ospf neighbor 

Neighbor ID     Pri   State           Dead Time   Address         Interface
1.1.1.1           1   FULL/DROTHER    00:01:47    192.168.123.1   Ethernet0/1
2.2.2.2           1   FULL/BDR        00:01:51    192.168.123.2   Ethernet0/1

We see all neighbor adjacencies. R3 is the DR, and R2 is the BDR.

If you enable a debug, you can see the debugging output shows unicast communication instead of multicast:

R1#debug ip ospf hello 
OSPF-1 HELLO Et0/1: Send hello to 192.168.123.2 area 0 from 192.168.123.1
OSPF-1 HELLO Et0/1: Send hello to 192.168.123.3 area 0 from 192.168.123.1?

OSPF-1 HELLO Et0/1: Rcv hello from 2.2.2.2 area 0 192.168.123.2
OSPF-1 HELLO Et0/1: Rcv hello from 3.3.3.3 area 0 192.168.123.3

From this output, you can’t tell that it’s unicast, unless you have seen the hello packet debug for network type broadcast. In that case, it shows that it sends hello packets to the multicast address 224.0.0.5.

Here’s a capture of the hello packet:

Frame 1: 118 bytes on wire (944 bits), 118 bytes captured (944 bits) on interface eth1, id 0
Ethernet II, Src: aa:bb:cc:00:01:10 (aa:bb:cc:00:01:10), Dst: aa:bb:cc:00:02:10 (aa:bb:cc:00:02:10)
Internet Protocol Version 4, Src: 192.168.123.1, Dst: 192.168.123.2
Open Shortest Path First
    OSPF Header
        Version: 2
        Message Type: Hello Packet (1)
        Packet Length: 52
        Source OSPF Router: 1.1.1.1
        Area ID: 0.0.0.0 (Backbone)
        Checksum: 0x68cf [correct]
        Auth Type: Null (0)
        Auth Data (none): 0000000000000000
    OSPF Hello Packet
    OSPF LLS Data Block

Here you can see that this hello packet is destined to the unicast destination IP address 192.168.123.2 (R2). Here you can see all unicast packets between the routers:

Packet Capture: OSPF Network Type Non-Broadcast over Ethernet

Let’s verify full reachability:

Unlock This Lesson for Free - No Payment Required!

If you like to keep on reading, register now!

  • Learn CCNA, CCNP and CCIE R&S. Explained As Simple As Possible.
  • Get Instant Access to this Full Lesson, Completely for Free!
  • Unlock More to Read. More Lessons Added Every Week!
  • Content created by Rene Molenaar (CCIE #41726)
1422 Sign Ups in the last 30 days