Why do you sometimes see the following multipoint sub-interface command?
interface Serial1/0.10 multipoint
The reason is so that you can have multiple multi-point interfaces using only 1 physical interface. So say if you have 2 customers, and customer A has 5 sites and customer B also has 5 sites that need to be joined together using a multipoint network. You can configure 2 multi-point sub-interfaces and do your 5 frame-relay statements under each sub-interface. If you only had one customer requiring a multipoint network, then there is no reason to use a multi-point sub-interface, just configure your frame-relay statements under the physical interface.
Whats the difference between the two OSPF network types: point-to-multipoint & point-to-multipoint non-broadcast?
First, the non-broadcast keyword means the interface will not send broadcasts or multicasts.
Secondly, the non-broadcast network type means you must configure a neighbor statement under the OSPF process on at least one side of an adjacency (either the spoke or the hub: but the hub is the preferred location).
Thirdly, the point-to-multipoint non-broadcast network type was created to allows us to configure the ospf cost on a per neighbor basis, rather than per interface basis.
Why do we need a neighbor statement under the OSPF process for non-broadcast networks?
On non-broadcast networks, no broadcasts/multicasts are possible. So the only way to send hellos between routers is via unicast. The neighbor command allows the router to send unicast OSPF hellos to the IP address in the neighbor statement. We know how to get to the neighbor over the layer 2 frame-relay network because you will have used one of the commands below to relate the layer 2 address/DLCI with the layer 3 address of the neighbor. :
frame-relay map ip x.x.x.x [DLCI number]
frame-relay interface-dlci [DLCI]
In OSPF non-broadcast networks, why do we only need one of the routers to use the neighbor command under the OSPF process. Why dont we need to configure it on both routers?
The reason is because an OSPF hello is sent back to a router when a hello is received. So if we received a hello from a hub in a point-to-multipoint non-broadcast network, we would sent a hello back to the hub by default. I also found out some very useful information about hello processing on NBMA networks from Alex Zinins book Cisco IP Routing: Packet Forwarding and Intra-Domain Routing Protocols:
On NBMA networks, Hello packets are sent as follows.
If eligible to become the DR, the router starts sending Hello packets to all eligible neighbors: those with a specified priority greater than 0. Note that eligible routers are supposed to be configured with a full list of neighbors.
If it has been elected as the DR or the BDR for the segment, the router starts sending Hello packets to all configured neighbors, eligible or not. The reason is that the DR and the BDR must establish adjacencies with all reachable neighbors.
If it is not eligibleits associated priority is 0the router sends Hello packets only to the DR and the BDR. If the DR and the BDR are not yet known, the router does not send any Hello packets at all. The router also sends a Hello packet in reply to a Hello packet received from any eligible packet.
What does the frame-relay map x.x.x.x [DLCI] broadcast command mean?
To explain this Im going to use an example configuration.
#ip address 10.0.0.1 255.255.255.0
#no frame-relay inverse-arp
#frame-relay map ip 10.0.0.2 102 broadcast
#frame-relay map ip 10.0.0.3 103
If we were to send a layer 3 broadcast out s1/0 and this was Ethernet, the layer 3 destination IP would be 10.0.0.255 & the layer 2 destination MAC would be FFFF.FFFF.FFFF. However, in frame-relay we dont have a concept of a layer 2 source/destination MAC addresses. We only have the outgoing DLCI number. Because theres no such thing as a layer 2 broadcast DLCI, frame-relay cant send a layer 2 broadcast out s1/0. So this is why the (highlighted) broadcast keyword was created. What actually happens is that when a broadcast it needed to be sent, instead of sending an actual layer 2 broadcast, it sends multiple unicasts to any of the hosts configured with the broadcast key word in the frame-relay map statements. So if a layer 2 broadcast was needed to be sent out on the 10.0.0.0/24 network, the packet would be encapsulated into the 102 DLCI and unicast over to 10.0.0.2, but 10.0.0.3 would never receive this broadcast message because the broadcast key word was not included in that particular frame-relay map statement.