cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
1510
Views
10
Helpful
11
Replies

EIGRP network command Q

clagos
Level 1
Level 1

Please shed light on my confusion.

I am confused about network x.x.x.x. Does it include networks in eigrp routing tables, specify which interfaces to look for neighbors on, or BOTH?

I have a small network with all serial interfaces on 192.x.x.x. Each router is directly connected to a data LAN at each site with the address 172.x.x.x.

If I create an EIGRP process with network 172.x.x.x, it will only look for neighbors on the LANs and thus not find any neighbors.

If I create an EIGRP process with network 192.x.x.x, it will communicate on the WAN links but only share information about the 192 network.

If I add both network statements, will it will look for neighbors on all interfaces and share routing information about both networks? I'm confused from the standpoint that I don't necessarily want EIGRP broadcasts on the LANs. I can use the passive interface command but want to be sure I understand the purpose of network x.x.xx.

Currently, the configuration uses network 0.0.0.0. Can I add network 172 and network 192 and then use no network 0.0.0.0 without any service interruption?

Thanks.

1 Accepted Solution

Accepted Solutions

I believe that Georg's first answer is quite correct. The purpose of the network statement in EIGRP (and generally in IGPs) is to identify what interfaces to run on.

If we look a bit deeper into what that means I believe we can clear up your confusion. When we configure EIGRP with one or more network statements, EIGRP looks through all the interfaces on the router looking for interfaces that match the network statement and optional mask.

- When it finds an interface that matches EIGRP starts to run on that interface.

- When EIGRP initializes on the interface it adds the subnet of that interface to the topology table (unless that interface is configured as passive in EIGRP). If the subnet is in the topology table it will be advertised to neighbors.

- When EIGRP initializes on the interface it starts to send hello messages and to listen for hello messages.

- When EIGRP receives hello messages from another router it establishes a neighbor relationship and sends routing information from the topology table.

So in this case we can understand that if you put only network statements for the 172.x.x.x EIGRP will start to run on the LAN interfaces. It will not find any neighbors on the LAN intefaces and so it will not advertise anything (and not learn anything). If you put only network statements for 192.x.x.x EIGRP will start to run on the serial interfaces. It will discover neighbors but it will not advertise the LAN subnets because they are not in the topology table. If you put network statements for both 172.x.x.x and for 192.x.x.x then EIGRP will run on the LAN interfaces and will not discover any neighbors there. EIGRP will also run on the serial interfaces. It will discover neighbors. And since the topology table now includes the subnets of the LAN interfaces, they will be advertised to neighbors.

Since the behavior seems to be that if you put a network statement for a network, then the network gets advertised, it is easy to be confused and think that the network statement causes the advertisement. But that is not really correct. The network statement really functions to identify interfaces. The advertisement is a result of the protocol running on the interface.

HTH

Rick

HTH

Rick

View solution in original post

11 Replies 11

Hello,

all the network command does is looking for interfaces that fall into the range defined by the network command, and then enable EIGRP on those interfaces If you want to be sure to only advertise the interfaces that are actually configured on your router, use the 'network x.x.x.x 0.0.0.0', that is, a mask that matches only the IP address of the interface.

If you advertise all the necessary networks and the remove the 0.0.0.0 network, the neighbors will stay up, and there will be no service interruption...

HTH,

GP

Hello,

in addition to what Ankur is saying, and just to avoid confusion: the IGP (EIGRP in this case) network statement does not specify what networks uou advertise, it specifies what interface the routing protocol is running on. The wildcard mask used in the 'network' statement is completely independent of the subnet mask on the interface...

Regards,

GP

Hi GP - Thanks for your response. This is where my confusion stems from. You (and all documentation I can find), says the network command doesn't specify what to advertise, only what interfaces to run the routing protocol on.

However, if I configure EIGRP with network 192.x.x.x, it correctly finds the neighbors as I would expect but does not share information about any other networks - which seems to go against the logic "network does not specify what networks to advertise".

Thanks.

Hi Clagos,

Untill and unless you add different network which you also want to advertise on the established neighbors it will not advertise.

Check my first port it may give some more inputs.

As GP said once you put the network command it will check which all interfaces comes under that network and will start advertising those interfaces across the established neighbors.

HTH

Ankur

I believe that Georg's first answer is quite correct. The purpose of the network statement in EIGRP (and generally in IGPs) is to identify what interfaces to run on.

If we look a bit deeper into what that means I believe we can clear up your confusion. When we configure EIGRP with one or more network statements, EIGRP looks through all the interfaces on the router looking for interfaces that match the network statement and optional mask.

- When it finds an interface that matches EIGRP starts to run on that interface.

- When EIGRP initializes on the interface it adds the subnet of that interface to the topology table (unless that interface is configured as passive in EIGRP). If the subnet is in the topology table it will be advertised to neighbors.

- When EIGRP initializes on the interface it starts to send hello messages and to listen for hello messages.

- When EIGRP receives hello messages from another router it establishes a neighbor relationship and sends routing information from the topology table.

So in this case we can understand that if you put only network statements for the 172.x.x.x EIGRP will start to run on the LAN interfaces. It will not find any neighbors on the LAN intefaces and so it will not advertise anything (and not learn anything). If you put only network statements for 192.x.x.x EIGRP will start to run on the serial interfaces. It will discover neighbors but it will not advertise the LAN subnets because they are not in the topology table. If you put network statements for both 172.x.x.x and for 192.x.x.x then EIGRP will run on the LAN interfaces and will not discover any neighbors there. EIGRP will also run on the serial interfaces. It will discover neighbors. And since the topology table now includes the subnets of the LAN interfaces, they will be advertised to neighbors.

Since the behavior seems to be that if you put a network statement for a network, then the network gets advertised, it is easy to be confused and think that the network statement causes the advertisement. But that is not really correct. The network statement really functions to identify interfaces. The advertisement is a result of the protocol running on the interface.

HTH

Rick

HTH

Rick

Rick - This is exactly what I was looking for! I now understand "The advertisement is a result of the protocol running on the interface."

One more question...from my experience with the passive interface command, it disables EIGRP communication in/out of the interface but does NOT remove it from the topology.

Will issuing passive interface on my LAN interfaces keep EIGRP from advertising these routes on the serial interfaces? All I'm trying to do is have EIGRP advertise how to get to each LAN subnet but not run EIGRP in the LAN itself.

Christopher

If I understand you correctly then passive-interface for the LAN interfaces is exactly what you want. If you configure passive-interface for the LAN interfaces, then EIGRP will not send hellos out that interface, will not form any neighbor relationships on that interface, WILL put that subnet into the topology table, and WILL advertise that subnet to neighbor(s) on the serial interface(s).

HTH

Rick

HTH

Rick

That was a great explanation Rick !

Cheers

Hello,

I think I can see where the confusion comes from. Let's say you router has two interfaces:

interface FastEthernet0/0

ip address 172.16.1.1 255.255.255.0

interface Serial0

ip address 192.168.1.1 255.255.255.252

Now, when you advertise 192.168.1.0/24 (or 192.168.1.1/32) in EIGRP, using the network command,

all that does is telling EIGRP to run the protocol on all interfaces that fall within the range specified. I guess the confusion comes from the fact that when you say:

network 192.168.0.0 0.0.255.255

you do not actually say:

this network is reachable on this router, and to get to 192.168.0.0, send your packets here. The network that is actually advertised as reachable on your router depends solely on the subnet mask configured on the IP address of your router.

To extend this concept to your FastEthernet0/0 interface, by adding the network statement 'network 172.16.1.1 0.0.0.0, you enable EIGRP on the interface. The subnet configured on that interface, 172.16.1.0/24, will be 'advertised', or seen, as reachable on your router...

Does that make sense ?

Regards,

GP

Thanks a lot GP - this makes sense.

ankurbhasin
Level 9
Level 9

Hi Clagos,

As my understanding goes for EIGRP it forms a neighbor adjancency (do not confuse with adjancency which you have in OSPF) with them and then start advertising network between the neighbors.

Now once you add both the networks with network command it will form neighbor adjacency with 192.x.x.x network with remote router on serial link and will start advertising 172.x.x.x network to the other router and that is the only way the remote router will get to know about 172.x.x.x network.

You can make the lan interface passive so that it does not even try to throw any EIGRP hello packets on lan but will surely advertise 172.x.x.x network over the wan to the remote side.

Now your lan if want to talk to anybody on remote side will send the request to their gateway that is on lan interface on router and according to the routing table entry on router will move its path ahead.

Once you add both the network and remove network 0.0.0.0 it will start advertising 172.x.x.x to the remote side. I am sure currently 172 network is not advertise to the remote side so its like service not working fully so better to change and it will take few seconds for eigrp to establish neighbor agjancency and will start working.

HTH

Ankur