HPlogo HP-UX Reference Volume 5 of 5 > r

routing(7)

» 

Technical documentation

Complete book in PDF

 » Table of Contents

 » Index

NAME

routing — system support for local network packet routing

DESCRIPTION

The network facilities for HP-UX provide general packet routing support. Routing table maintenance is handled by application processes.

A routing table consists of a set of data structures used by the network facilities to select the appropriate remote host or gateway when transmitting packets. The table contains a single entry for each route to a specific network or host, as displayed by the netstat command with the -r or -rn options (see netstat(1)). Routes that are not valid are not displayed.

# netstat -r
Routing tables
Destination Gateway Flags Refs Use Interface Pmtu
hpindwr.cup.hp.com
localhost UH 1 39 lo0 4608
localhost localhost UH 0 68 lo0 4608
147.253.56.195 localhost UH 0 0 lo0 4608
147.253.144.66 localhost UH 0 0 lo0 4608
default hpinsmh.cup.hp.com
UG 1 21 lan0 1500
15.13.136 hpindwr.cup.hp.com
U 1 92 lan0 1500
147.253.56 147.253.56.195 U 0 7 lan2 1500
147.253.144.64 147.253.144.66 U 0 7 lan1 1500
# netstat -rn
Routing tables
Destination Gateway Flags Refs Use Interface Pmtu
15.13.136.66 127.0.0.1 UH 1 39 lo0 4608
127.0.0.1 127.0.0.1 UH 0 68 lo0 4608
147.253.56.195 127.0.0.1 UH 0 0 lo0 4608
147.253.144.66 127.0.0.1 UH 0 0 lo0 4608
default 15.13.136.11 UG 2 30 lan0 1500
15.13.136.0 15.13.136.66 U 1 113 lan0 1500
147.253.56.0 147.253.56.195 U 0 7 lan2 1500
147.253.144.64 147.253.144.66 U 0 7 lan1 1500
# netstat -rv
Routing tables
Dest/Netmask Gateway Flags Refs Use Interface Pmtu
hpindwr.cup.hp.com/0xffffffff
localhost UH 1 39 lo0 4608
localhost/0xffffffff
localhost UH 0 68 lo0 4608
147.253.56.195/0xffffffff
localhost UH 0 0 lo0 4608
147.253.144.66/0xffffffff
localhost UH 0 0 lo0 4608
default/0x00000000
hpinsmh.cup.hp.com
UG 2 31 lan0 1500
15.13.136/0xfffff800
hpindwr.cup.hp.com
U 1 129 lan0 1500
147.253.56/0xfffffe00
147.253.56.195 U 0 7 lan2 1500
147.253.144.64/0xfffffff0
147.253.144.66 U 0 7 lan1 1500
# netstat -rnv
Routing tables
Dest/Netmask Gateway Flags Refs Use Interface Pmtu
15.13.136.66/255.255.255.255
127.0.0.1 UH 1 39 lo0 4608
127.0.0.1/255.255.255.255
127.0.0.1 UH 0 68 lo0 4608
147.253.56.195/255.255.255.255
127.0.0.1 UH 0 0 lo0 4608
147.253.144.66/255.255.255.255
127.0.0.1 UH 0 0 lo0 4608
default/0.0.0.0 15.13.136.11 UG 3 40 lan0 1500
15.13.136.0/255.255.248.0
15.13.136.66 U 1 153 lan0 1500
147.253.56.0/255.255.254.0
147.253.56.195 U 0 8 lan2 1500
147.253.144.64/255.255.255.240
147.253.144.66 U 0 8 lan1 1500

The following columns are of particular interest:

Destination

The destination Internet address: host name, network name, or default. The default keyword indicates a wildcard route, used as a last resort if no route is specified for a particular remote host or network. See Flags.

Netmask

The netmask and the destination Internet address together define a range of IP addresses that may be reached by the route's gateway. A host route by default has a netmask of all 1's. A default route by default has a netmask of all 0's. The netmask is also used in selecting a route to forward an IP packet. (see Routing Algorithm.)

Gateway

The gateway to use to get to the destination: remote gateway or the local host. See Flags.

Flags

The type of route:

U

The route is "up" or available (see ifconfig(1M)).

G

The route uses a remote host as a gateway; otherwise, the local host is shown as the gateway (see route(1M)).

H

The destination is a host; otherwise, the destination is a network (see route(1M)).

Interface

The interface connections:

lo0

The local loopback after system boot-up.

lan0, lan1,...

The interface cards installed on the local host after the ifconfig command is executed at boot time (see ifconfig(1M)).

The values of the count and destination type fields in the route command determine the presence of the G and H flags in the netstat -r display and thus the route type, as shown in the following table.

CountDestination TypeFlagsRoute Type
=0networkURoute to a network directly from the local host
>0networkUGRoute to a network through a remote host gateway
=0hostUHRoute to a remote host directly from the local host
>0hostUGHRoute to a remote host through a remote host gateway
=0defaultUWildcard route directly from the local host
>0defaultUGWildcard route through a remote host gateway

Subnets

The network facilities support variable-length subnetting. An Internet address is made up of a network address portion, and a host address portion of an address of the form:

192.34.17.0

Subnet addresses are defined as a portion of the network's Internet address. This scheme provides for:

  • Network addresses that identify physically distinct networks.

  • Subnet addresses that identify physically distinct subnetworks of the same network.

A network manager can subdivide the Internet address of the local network into subnets using the host number space. This facility allows several physical networks to share a single Internet address.

To allow for this, three Internet classes are defined, each accommodating a different amount of network and host addresses. The address classes are defined by the most significant bit of the binary form of the address.

The following table lists the number of networks, nodes, and the address ranges for each address class:

  Nodes per 
ClassNetworksNetworkAddress Range
A127167772150.0.0.1 - 127.225.225.254
B1638365535128.0.0.1 - 191.255.255.254
C2097151255192.0.0.1 - 223.244.244.243
Reserved224.0.0.0 - 255.255.255.255

The first 8 bits of a Class A network has network space for only 127, while accommodating the largest number of nodes possible among the classes defined. A single class B network has the network address limitation of 16 bits, and 16 bits to define the nodes.

For example, a Class C address space is as follows:

Indicates Class C
Class C subnet
networks portion
| |
___ ___
10000000.00000110.00000001.11100001
__________________________ ________
| |
Network Address Host
= 192.6.1 Address
= 1

A subnet for a given host is specified with the ifconfig command (see ifconfig(1M)), using the netmask parameter with a 32-bit subnet mask.

The default masks for the three classes of Internet addresses are as follows:

Class A: 255.0.0.0 Class B: 255.255.0.0 Class C: 255.255.255.0

An example Class C network number is 192.34.17.0. The last field specifies the host number. Thus, all hosts with the prefix 192.34.17 are recognized as being on the same logical and physical network.

If subnets are not in use, the default mask used is 255.255.255.0.

If subnets are used and the 8-bit host field is partitioned into 3 bits of subnet and 5 bits of host as in the above example, then the subnet mask would be 255.255.255.192.

If a host has multiple interfaces, then it can belong to different subnets. Unlike the past releases, the subnets can have different sizes even if they may have the same network address. This is accomplished by using a different netmask on each of the host interfaces. For example, the lan1 and lan2 interface shown in the netstat tables above are connected to two distinct subnets of the same network, 147.253. The subnet that lan1 belongs to can have at most 14 hosts, because its netmask is 255.255.255.240. Note, the host portion of those IP addresses in the subnet cannot be all 1's or all 0's, therefore this subnet cannot support 16 hosts, but only 14 hosts instead. The subnet that lan2 belongs to can have up to 510 hosts, because its netmask is 255.255.254.0.

Supernets

A supernet is a collection of smaller networks. Supernetting is a technique of using the netmask to aggregate a collection of smaller networks into a supernet. This technique is particularly useful for class C networks. A Class C network can only have 254 hosts. This can be too restrictive for some companies. For these companies, a netmask that only contains a portion of the network part can be applied to the hosts in these class C networks to form a supernet. This supernet netmask should be applied to those interfaces that connect to the supernet using the ifconfig command (see ifconfig(1M)). For example, a host can configure its interface to connect to a class C supernet, 192.6, by configuring an IP address of 192.6.1.1 and a netmask of 255.255.0.0 to its interface.

Routing Algorithm

The routing table entries are of three types:

  • Entries for a specific host.

  • Entries for all hosts on a specific network.

  • Wildcard entries for any destination not matched by entries of the first two types.

To select a route for forwarding an IP packet, the network facilities select the complete set of "matching" routing table entries from the routing table. A routing table entry is considered a match, if the result of the bit-wise AND operation between the netmask in the routing entry and the IP packet's destination address equals to the destination address in the routing entry.

The network facilities then select from the set the routing entries that have the longest netmask. The length of a netmask is defined as the number of contiguous 1 bits starting from the leftmost bit position in the 32-bit netmask field. In other words, the network facilities select the routing entry that specifies the narrowest range of IP addresses. For example, the host route entry that has a destination/netmask pair of (147.253.56.1, 0xffffffff), is more specific than the network route entry that has a destination/netmask pair of (147.253.56.0, 0xfffffe00), therefore the network facilities select the host route entry. The default route by default has a destination/netmask pair of (0,0). Therefore the default route matches all destinations but it is also the least specific. The default route will be selected only if there is not a more specific route.

There may still be multiple routing entries remaining. In that case the IP packet is routed over the first entry displayed by netstat -r. Such multiple routes include:

  • Two or more routes to a host via different gateways.

  • Two or more routes to a network via different gateways.

  • Two default routes.

A superuser can change entries in the table by using the route command (see route(1M), or by information received in Internet Control Message Protocol (ICMP) redirect messages.

WARNINGS

Reciprocal route commands must be executed on the local host and the destination host, as well as all intermediate hosts, if routing is to succeed in the cases of virtual circuit connections or bidirectional datagram transfers.

AUTHOR

routing was developed by the University of California, Berkeley.

FILES

/etc/hosts /etc/networks

© Hewlett-Packard Development Company, L.P.