What is purpose of Null0?

Unanswered Question
Nov 8th, 2007
User Badges:

Hi guys.

Please see below output,

What is the exact purpose of null0? is it something like dead-end?

Any specific purpose in routing decision?



RTR>sh ip ro 128.x.108.249

Routing entry for 128.x.0.0/16

Known via "eigrp 2x55", distance 5, metric 28160, type internal

Redistributing via eigrp 2x55

Routing Descriptor Blocks:

* directly connected, via Null0

Route metric is 28160, traffic share count is 1

Total delay is 100 microseconds, minimum bandwidth is 100000 Kbit

Reliability 255/255, minimum MTU 1500 bytes

Loading 1/255, Hops 0


RTR>sh int Null0

Null0 is up, line protocol is up

Hardware is Unknown

MTU 1500 bytes, BW 10000000 Kbit, DLY 0 usec,

reliability 0/255, txload 0/255, rxload 0/255

Encapsulation ARPA, loopback not set

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

5 minute input rate 0 bits/sec, 0 packets/sec

5 minute output rate 0 bits/sec, 0 packets/sec

0 packets input, 0 bytes, 0 no buffer

Received 0 broadcasts, 0 runts, 0 giants, 0 throttles

0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort

19637604 packets output, 1396931714 bytes, 0 underruns

0 output errors, 0 collisions, 0 interface resets

0 output buffer failures, 0 output buffers swapped out

RTR>




Thanks in advance.


  • 1
  • 2
  • 3
  • 4
  • 5
Overall Rating: 5 (1 ratings)
Loading.
Jon Marshall Thu, 11/08/2007 - 04:43
User Badges:
  • Super Blue, 32500 points or more
  • Hall of Fame,

    Founding Member

  • Cisco Designated VIP,

    2017 LAN, WAN

Hi


This entry is created by having an EIGRP summary route on your router


Routing entry for 128.x.0.0/16

Known via "eigrp 2x55", distance 5, metric 28160, type internal

Redistributing via eigrp 2x55

Routing Descriptor Blocks:

* directly connected, via Null0


So under an interface on your router you should see something along the lines of


ip summary-address eigrp "AS number" 128.x.0.0 255.255.0.0


This will create a Null0 entry in the routing table. This is to ensure that there are no routing loops created. This summary route is advertised out to other routers.

Any traffic destined for a subnet within the 128.x.0.0/16 network will end up at this router.


This router should then have more specific routes to individual subnets with the summary range 128.x.0.0/16.


If the router does not have a route to the more specific subnet then the packet is directed to Null0 ie the traffic is blackholed on this router and not forwarded on which is what you want.


HTH


Jon

chuckholley Wed, 12/12/2007 - 08:18
User Badges:

Hi, I would like to open this back up if I could. I am a little confused in my enviorment. let me show you some configs, and then if you could, please let me know if I need this route, because it is causing me some issues.


I have two WAN routers, one routing MPLS on and one is my frame router. The routing protocols setup is as follows:



WANRTR-2 (MPLS router)

router ospf 123

router-id 2.2.2.2

log-adjacency-changes

auto-cost reference-bandwidth 10000

redistribute bgp 65100 subnets route-map bgp_filter

network 10.0.0.0 0.255.255.255 area 0

!

router bgp 65100

no synchronization

bgp log-neighbor-changes

network 10.0.0.0

redistribute connected

redistribute static

neighbor 68.138.68.117 remote-as 65000

no auto-summary

!

ip classless

ip route 10.0.0.0 255.0.0.0 Null0 name BGP




WANRTR-1 (Frame and OSPF ABR)

router ospf 123

router-id 1.1.1.1

log-adjacency-changes

auto-cost reference-bandwidth 10000

area 5 stub no-summary

area 5 range 10.74.0.0 255.255.0.0

area 6 stub no-summary

area 6 range 10.80.0.0 255.255.0.0

area 7 stub no-summary

area 7 range 10.81.0.0 255.255.0.0

area 8 stub no-summary

area 8 range 10.82.0.0 255.254.0.0

redistribute static subnets

network 10.74.0.0 0.0.255.255 area 5

network 10.80.0.0 0.0.255.255 area 6

network 10.81.0.0 0.0.255.255 area 7

network 10.82.0.0 0.1.255.255 area 8

network 10.88.0.0 0.1.255.255 area 9

network 10.0.0.0 0.255.255.255 area 0


As you can see I have that default route to NULL0. And I have a network statement for 10/8 for both routers. All of my WAN sites are 10. addressing on the LAN sides of course.


If additional info is needed please let me know.


Thanks

Kevin Dorrell Wed, 12/12/2007 - 08:25
User Badges:
  • Green, 3000 points or more

The static route should not cause you any problems because the routes you are getting from your OSPF are more specific, and therefore they take precedence.


That is, your OSPF tells you how to route 10.74.0.0/16, 10.80.0.0/16 etc.etc. The static route then says "any traffic for any other 10 network that is not specified should be discarded."


Kevin Dorrell

Luxembourg


chuckholley Wed, 12/12/2007 - 08:41
User Badges:

Thanks for the response, and I agree!


The issue that I have had is that legitimate routes have been advertised to my downstream core router(directly connected to WAN-1 and WAN-2 and also in OSPF area 0)going to NULL0.


So my question is, do I even need that route there since I am redistributing BGP into OSPF so all the 10. addressing should be in the downstream routers table going to the respective WAN router?


long sentence :)


Thanks again!

Richard Burts Wed, 12/12/2007 - 10:38
User Badges:
  • Super Silver, 17500 points or more
  • Hall of Fame,

    Founding Member

  • Cisco Designated VIP,

    2017 LAN, WAN

Chuck


Here are a couple of points about your question:

- your post says: As you can see I have that default route to NULL0.

but I do not see anything in your post about default route. Did you mean your static route for 10.0.0.0?

- you also comment that all the 10. addressing should be in the downstream routers table, but that really has little to do with the static route on your MPLS router.


There are 2 things that the static route for 10.0.0.0 to null0 is doing for you:

- the static route for 10.0.0.0 is making sure that there is always a route for 10.0.0.0/8 in the routing table. This will assure that your BGP process will always see that network and will advertise it (assuming that this is the desired behavior).

- the static route for 10.0.0.0 will assure that you do not forward packets to your external peer for network 10.0.0.0 unknown addresses. I see that the neighbor in the BGP process is an external peer and I would assume that it might be advertising a default route to you. Lets assume that some device in your network generates a packet with destination address 10.51.99.62 and lets assume that subnet 10.51.99.0 does not exist in your network. The default route will have that packet forwarded to your MPLS router. At the MPLS router it looks in the routing table and realizes that the subnet does not exist. Since the router does have a default route should it forward the packet using the default route (to your external peer)? It should not - because the 10 network is internal to your network and the external peer can not get to it. The static route to null0 will assure that the MPLS router discards the packet rather than forwarding to the external peer.


So I suggest that you should leave the static route to null 0 on the MPLS router.


HTH


Rick

chuckholley Wed, 12/12/2007 - 11:23
User Badges:

Thanks very much! One more question for sanity sake. The network statement in BGP for 10.0.0.0, is that necessary?


I am not completely sure if I need that.

Richard Burts Wed, 12/12/2007 - 12:02
User Badges:
  • Super Silver, 17500 points or more
  • Hall of Fame,

    Founding Member

  • Cisco Designated VIP,

    2017 LAN, WAN

Chuck


Without knowing more about your network, about your environment, and about your requirements it is difficult for us to know whether you need that statement or not.


Lets review what it does and then perhaps you can decide better whether you need the network statement or not. The network statement in BGP tells the BGP process to look in the local routing table and if it finds that network in the routing table then it should advertise that network to its BGP neighbors. So if you have the statement network 10.0.0.0 then your BGP process will look in the local routing table and if it finds an entry for 10.0.0.0 then it will advertise the network to its BGP peers.


So do you want to advertise 10.0.0.0 to your BGP peer? If so then you need the network statement. If not then you do not need the network statement.


Note: I can not tell whether the values in your post are the actual values (network addresses, AS numbers, etc) or are disguised. If your BGP neighbor is really an external BGP peer and if the network is really network 10.0.0.0 then I would comment that it is unusual to advertise "private" addresses like 10. to external peers.


HTH


Rick

Actions

This Discussion