contents
Next: Ethernet Interfaces Up: Interface Configuration for IP Previous: Interface Configuration for IP

The Loopback Interface

The very first interface to be activated is the loopback interface:
           # ifconfig lo 127.0.0.1

Occasionally, you will also see the dummy hostname localhost being used instead of the IP-address. ifconfig will look up the name in the hosts file where an entry should declare it as the hostname for 127.0.0.1:
           # Sample /etc/hosts entry for localhost
           localhost     127.0.0.1

To view the configuration of an interface, you invoke ifconfig giving it the interface name as argument:
           $ ifconfig lo
           lo        Link encap Local Loopback
                     inet addr 127.0.0.1  Bcast [NONE SET]  Mask 255.0.0.0
                     UP BROADCAST LOOPBACK RUNNING  MTU 2000  Metric 1
                     RX packets 0 errors 0 dropped 0 overrun 0
                     TX packets 0 errors 0 dropped 0 overrun 0

As you can see, the loopback interface has been assigned a netmask of 255.0.0.0, since 127.0.0.1 is a class-A address. As you can see, the interface doesn't have a broadcast address set, which isn't normally very useful for the loopback anyway. However, if you run the rwhod daemon on your host, you may have to set the loopback device's broadcast address in order for rwho to function properly. Setting the broadcast is explained in section ``All about ifconfig'' below.

Now, you can almost start playing with your mini-``network.'' What is still missing is an entry in the routing table that tells IP that it may use this interface as route to destination 127.0.0.1. This is accomplished by typing

           # route add 127.0.0.1

Again, you can use localhost instead of the IP-address.

Next, you should check that everything works fine, for example by using ping. ping is the networking equivalent of a sonar devicegif and is used to verify that a given address is actually reachable, and to measure the delay that occurs when sending a datagram to it and back again. The time required for this is often referred to as the round-trip time.

           # ping localhost
           PING localhost (127.0.0.1): 56 data bytes
           64 bytes from 127.0.0.1: icmp seq=0 ttl=32 time=1 ms
           64 bytes from 127.0.0.1: icmp seq=1 ttl=32 time=0 ms
           64 bytes from 127.0.0.1: icmp seq=2 ttl=32 time=0 ms
           ^C

           --- localhost ping statistics ---
           3 packets transmitted, 3 packets received, 0% packet loss
           round-trip min/avg/max = 0/0/1 ms

When invoking ping as shown here, it will go on emitting packets forever unless interrupted by the user. The ^C above marks the place where we pressed Ctrl-C.

The above example shows that packets for 127.0.0.1 are properly delivered and a reply is returned to ping almost instantaneously. This shows you have succeeded in setting up your first network interface.

If the output you get from ping does not resemble that shown above, you are in trouble. Check any error if they indicate some file hasn't been installed properly. Check that the ifconfig and route binaries you use are compatible with the kernel release you run, and, above all, that the kernel has been compiled with networking enabled (you see this from the presence of the /proc/net directory). If you get an error message saying ``Network unreachable,'' then you probably have got the route command wrong. Make sure you use the same address as you gave to ifconfig.

The steps described above are enough to use networking applications on a standalone host. After adding the above lines to rc.inet1 and making sure both rc.inet scripts are executed from /etc/rc, you may reboot your machine and try out various applications. For instance, ``telnet localhost'' should establish a telnet connection to your host, giving you a login prompt.

However, the loopback interface is useful not only as an example in networking books, or as a test-bed during development, but is actually used by some applications during normal operation.gif Therefore, you always have to configure it, regardless of whether your machine is attached to a network or not.


contents
Next: Ethernet Interfaces Up: Interface Configuration for IP Previous: Interface Configuration for IP

Andrew Anderson
Thu Mar 7 23:22:06 EST 1996