This subject is not as clear as it ought to be.  If you look at 
the subject of loopbacks generically, there are two RFCs that 
come to mind.  The first deals with RFC 1122 "Requirements for 
Internet Hosts".  The second deals with RFC 1122 "Requirements 
for IPv4 Routers". 

For starters, both RFCs do define the address as:

RFC1122                      INTERNET LAYER                 
October 1989

            (g)  { 127, :any: }

                 Internal host loopback address.  Addresses of 
this form MUST NOT appear outside a host.


Baker                       Standards Track                    
[Page 47]

RFC 1812         Requirements for IP Version 4 Routers         
June 1995

    (e) { 127, :any: }

         Internal host loopback address.  Addresses of this 
form MUST NOT appear outside a host.

Now the issue becomes how have Internet hosts adopted this 
practice.  When you approach it from a host perspective, the 
answer is as always, "it depends".  In the case of Windows 
hosts, they have taken a traditonal view of using 127.0.0.1.  
You can see that first by examing the routing table(I hope this 
comes out okay):

E:\>route print
================================================================
===========
Interface List
0x1 ........................... MS TCP Loopback interface
0x2 ...00 c0 f0 12 ae 56 ...... Novell 2000 Adapter.
================================================================
===========
================================================================
===========
Active Routes:
Network Destination        Netmask          Gateway       
Interface  Metric
          0.0.0.0          0.0.0.0      192.168.1.1    
192.168.1.69       1
        127.0.0.0        255.0.0.0        127.0.0.1       
127.0.0.1       1
      192.168.1.0    255.255.255.0     192.168.1.69    
192.168.1.69       1
     192.168.1.69  255.255.255.255        127.0.0.1       
127.0.0.1       1
    192.168.1.255  255.255.255.255     192.168.1.69    
192.168.1.69       1
        224.0.0.0        224.0.0.0     192.168.1.69    
192.168.1.69       1
  255.255.255.255  255.255.255.255     192.168.1.69    
192.168.1.69       1
================================================================
===========

You will note that any packet with an address destination of 
127.x.x.x will be sent to the loopback interface address (which 
is defined as 127.0.0.1).  Interestingly enough, when you ping 
a non-127.0.0.1 IP address on the 127.0.0.0 network, it will 
return the same address:

E:\>ping  127.23.45.61

Pinging 127.23.45.61 with 32 bytes of data:

Reply from 127.23.45.61: bytes=32 time 10ms TTL=128
Reply from 127.23.45.61: bytes=32 time 10ms TTL=128
Reply from 127.23.45.61: bytes=32 time 10ms TTL=128
Reply from 127.23.45.61: bytes=32 time 10ms TTL=128

You may be asking why did vendors seem to settle on 127.0.0.1 
as the magical address?  I don't know.  My best answer to that 
would be to use a Tim Brown expression and say, "original sin". 
More important is why the entire 127.0.0.0 network is used for 
loopback and testing.  That is a clear and obvious waste of 
address space.  This gets fixed in IPv6, whereby a single host 
address is used for a loopback.

Another point about host loopbacks is key here.  This traffic 
does not go out on the wire, rather it is kept internal to the 
host.  You cannot even capture it with sniffer software.  The 
best way to see the logic diagramm for this and how it works is 
to go to the definitive reference on TCP/IP, namely TCP/IP 
Illustrated, by W. Richard Stevens.  You may want to take a 
peek at Figure 2.4 on page 28.  If you don't have a copy of 
this book, get one.

Next is the issue of Internet gateways (routers).  Here, the 
lines get a little bit muddied.  The reason for this is that 
Cisco seems to have adopted a software loopback interface that 
goes beyond the definition of a generic loopback interface on 
an Internet host.  Software loopbacks on the router are not 
limited to one (as they typically might be on an Internet 
host).  The limits on a router are typically those found for 
IDBs (interface descriptor blocks).  See my previous post in 
the archives for the links on the limits of IDBs per platform.  

The loopback interfaces on the routers tend to take an 
exclusionary view of IP addressing.  What I mean by this is 
that unless a particular IP address or address range is 
prohibited, it can be assigned.  For example, see output below:

werner-gateway(config)#int lo 100
werner-gateway(config-if)#ip add 0.2.2.2 255.0.0.0
Not a valid host address - 0.2.2.2
werner-gateway(config-if)#ip add 127.2.2.2 255.0.0.0
Not a valid host address - 127.2.2.2
werner-gateway(config-if)#ip add 127.0.0.1 255.0.0.0
Not a valid host address - 127.0.0.1
werner-gateway(config-if)#ip add 223.0.0.1 255.0.0.0
werner-gateway(config-if)#ip add 224.0.0.1 255.0.0.0
Not a valid host address - 224.0.0.1
werner-gateway(config-if)#ip add 255.0.0.1 255.0.0.0
Not a valid host address - 255.0.0.1   

Now the final point you may be wondering is whether 127.0.0.1 
is recognized as a valid address on the router for a ping 
return to internally check the IP stack on itself. As is usual, 
the answer is, "it depends".  For example, here is the output 
from one of my 2500 routers:

Router#ping 127.0.0.1

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 127.0.0.1, timeout is 2 
seconds:
.....
Success rate is 0 percent (0/5)

Now look at the output from my 1601:

werner-gateway#ping 127.0.0.2

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 127.0.0.2, timeout is 2 
seconds:
....
Success rate is 0 percent (0/4)
werner-gateway#ping 127.0.0.1

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 127.0.0.1, timeout is 2 
seconds:
!!!!!  

werner-gateway>sh ip int brie
Interface       IP-Address      OK? Method Status   Protocol
Ethernet0       192.168.1.1     YES NVRAM  up       up

Loopback100     223.0.0.1       YES manual up       up

Serial0         209.244.214.43  YES IPCP   up       up

I hope this clears things up a little bit better.

v/r,

Paul Werner

> >there was a question regarding 127.0.0.1. I understand that 
the actual
> >TCP/IP "software" actually uses this address for self 
testing.
> >when ping localhost {or computer  {netbios} name} the actual 
ip address
> of
> >127.0.0.1 shows up on the screen.
> >
> >In doing some research one book explains that 127.0.0.1 is 
not useable
> but
> >the rest of the addresses in the 127 network can be used.
> >I went to my trusty 2500 and try to plug in 127.12.12.25 and 
the router
> >would not allow me config the interface with that address.
> >
> >Is entire 127 network off limits or just 127.0.0.1. is this 
a cisco
> thing.
> >any explaination is appreicated..
> 
> 
> See RFC 1812. It's only defined to be the one address, but 
most 
> implementations block the 127 network.


________________________________________________
Get your own "800" number
Voicemail, fax, email, and a lot more
http://www.ureach.com/reg/tag




Message Posted at:
http://www.groupstudy.com/form/read.php?f=7&i=17392&t=17343
--------------------------------------------------
FAQ, list archives, and subscription info: http://www.groupstudy.com/list/cisco.html
Report misconduct and Nondisclosure violations to [EMAIL PROTECTED]

Reply via email to