I am new in learning about Cisco Frame Relay. And I am having trouble in understanding the difference between using physical interface or multipoint subinterface, because it looks the same to me. Example in the topology below:
All routers are in the same subnet and there are two PVCs. In order for Router0 to communicate with Router1 and Router2, there are two options.
The first is to use the physical interface s0/0/0 of Router0 like this:
interface Serial0/0/0
ip address 10.1.1.1 255.255.255.0
encapsulation frame-relay
frame-relay map ip 10.1.1.2 102
frame-relay map ip 10.1.1.3 103
And the second option is by using the multipoint subinterface on s0/0/0 of Router0 like this:
interface Serial0/0/0
no ip address
encapsulation frame-relay
!
interface Serial0/0/0.123 multipoint
ip address 10.1.1.1 255.255.255.0
frame-relay map ip 10.1.1.2 102
frame-relay map ip 10.1.1.3 103
Both configuration are working fine, tested on Cisco Packet Tracer and GNS3.
And now my question is why creating a subinterface if you can use the physical interface directly?
Are there any advantages or disadvantages on each configuration?
I really need an explanation, please help me.
Thanks in advance!
PS: I am not including the point-to-point case, because it already make sense to me (in the point-to-point case, subinterface is needed because the PVCs are in different subnet)
Best Answer
Sub-interfaces allow for things like split-horizon or multicast reverse path forwarding to work without special configuration.
If you only used the one interface then split-horizon would kick in and not send updates from A to B to C (if you have a hub and spoke) also multicast packets coming from A to B would not go back out to C due to it being the incoming interface.
In your case, both configs do the same thing but in the event that you had MORE config to do on the same interface then configuring a subinterface would be idea. It's better to put config on the subinterface than the actual interface as the actual interface config could conflict with subinterface config.