HOME

TheInfoList



OR:

In computer networking, localhost is a hostname that refers to the current computer used to access it. The name ''localhost'' is reserved for loopback purposes. It is used to access the network services that are running on the host via the loopback network interface. Using the loopback interface bypasses any local network interface hardware.


Loopback

The local loopback mechanism may be used to run a network service on a host without requiring a physical network interface, or without making the service accessible from the networks the computer may be connected to. For example, a locally installed
website A website (also written as a web site) is any web page whose content is identified by a common domain name and is published on at least one web server. Websites are typically dedicated to a particular topic or purpose, such as news, educatio ...
may be accessed from a Web browser by the URL ''http://localhost'' to display its home page.
IPv4 Internet Protocol version 4 (IPv4) is the first version of the Internet Protocol (IP) as a standalone specification. It is one of the core protocols of standards-based internetworking methods in the Internet and other packet-switched networks. ...
network standards reserve the entire address block (more than 16 million addresses) for loopback purposes. That means any packet sent to any of those addresses is looped back. The address is the standard address for IPv4 loopback traffic; the rest are not supported by all operating systems. However, they can be used to set up multiple server applications on the host, all listening on the same port number. In the IPv6 addressing architecture there is only a single address assigned for loopback: . The standard precludes the assignment of that address to any physical interface, as well as its use as the source or destination address in any packet sent to remote hosts.


Name resolution

The name ''localhost'' normally resolves to the
IPv4 Internet Protocol version 4 (IPv4) is the first version of the Internet Protocol (IP) as a standalone specification. It is one of the core protocols of standards-based internetworking methods in the Internet and other packet-switched networks. ...
loopback
address An address is a collection of information, presented in a mostly fixed format, used to give the location of a building, apartment, or other structure or a plot of land, generally using border, political boundaries and street names as references, ...
, and to the
IPv6 Internet Protocol version 6 (IPv6) is the most recent version of the Internet Protocol (IP), the communication protocol, communications protocol that provides an identification and location system for computers on networks and routes traffic ...
loopback address . This resolution is normally configured by the following lines in the operating system's hosts file:
127.0.0.1    localhost
::1          localhost
The name may also be resolved by Domain Name System (DNS) servers, but there are special considerations governing the use of this name: * An
IPv4 Internet Protocol version 4 (IPv4) is the first version of the Internet Protocol (IP) as a standalone specification. It is one of the core protocols of standards-based internetworking methods in the Internet and other packet-switched networks. ...
or
IPv6 Internet Protocol version 6 (IPv6) is the most recent version of the Internet Protocol (IP), the communication protocol, communications protocol that provides an identification and location system for computers on networks and routes traffic ...
address query for the name localhost must always resolve to the respective loopback address. * Applications may resolve the name to a loopback address themselves, or pass it to the local name resolver mechanisms. * When a name resolver receives an address (A or AAAA) query for ''localhost'', it should return the appropriate loopback addresses, and negative responses for any other requested record types. Queries for ''localhost'' should not be sent to caching name servers. * To avoid burdening the Domain Name System root servers with traffic, caching name servers should never request name server records for ''localhost'', or forward resolution to authoritative name servers. * When authoritative name servers receive queries for 'localhost' in spite of the provisions mentioned above, they should resolve them appropriately. In addition to the mapping of ''localhost'' to the loopback addresses ( and ), ''localhost'' may also be mapped to other IPv4 (loopback) addresses and it is also possible to assign other, or additional, names to any loopback address. The mapping of ''localhost'' to addresses other than the designated loopback address range in the hosts file or in DNS is not guaranteed to have the desired effect, as applications may map the name internally. In the Domain Name System, the name '' .localhost'' is reserved as a top-level domain name, originally set aside to avoid confusion with the hostname ''localhost''. Domain name registrars are precluded from delegating domain names in the top-level ''.localhost'' domain.


Historical notes

In 1981, the block got a 'reserved' status, as not to assign it as a general purpose class A IP network. This block was officially assigned for loopback purposes in 1986. Its purpose as a ''Special Use IPv4 Address'' block was confirmed in 1994,, 2002, 2010,, and last in 2013. From the outset, in 1995, the single IPv6 loopback address was defined. Its purpose and definition was unchanged in 1998,, 2003,, and up to the current definition, in 2006.


Packet processing

The processing of any packet sent to a loopback address, is implemented in the link layer of the TCP/IP stack. Such packets are never passed to any
network interface controller A network interface controller (NIC, also known as a network interface card, network adapter, LAN adapter and physical network interface) is a computer hardware component that connects a computer to a computer network. Early network interface ...
(NIC) or hardware device driver and must not appear outside of a computing system, or be routed by any router. This permits software testing and local services, even in the absence of any hardware network interfaces. Looped-back packets are distinguished from any other packets traversing the TCP/IP stack only by the special IP address they were addressed to. Thus, the services that ultimately receive them respond according to the specified destination. For example, an HTTP service could route packets addressed to and to different Web servers, or to a single server that returns different web pages. To simplify such testing, the hosts file may be configured to provide appropriate names for each address. Packets received on a non-loopback interface with a loopback source or destination address must be dropped. Such packets are sometimes referred to as
Martian packet A Martian packet is an IP packet seen on the public Internet that contains a source or destination address that is reserved for special use by the Internet Assigned Numbers Authority (IANA) as defined in , Appendix B Glossary (Martian Address F ...
s. As with any other bogus packets, they may be malicious and any problems they might cause can be avoided by applying
bogon filtering Bogon filtering is the practice of blocking packets known as bogons, which are ones sent to a computer network claiming to originate from invalid or bogus IP addresses, known as bogon addresses. Etymology The term ''bogon'' stems from hacker jarg ...
.


Special cases

The releases of the
MySQL MySQL () is an Open-source software, open-source relational database management system (RDBMS). Its name is a combination of "My", the name of co-founder Michael Widenius's daughter My, and "SQL", the acronym for Structured Query Language. A rel ...
database differentiate between the use of the hostname ''localhost'' and the use of the addresses and . When using ''localhost'' as the destination in a client connector interface of an application, the MySQL application programming interface connects to the database using a Unix domain socket, while a TCP connection via the loopback interface requires the direct use of the explicit address. One notable exception to the use of the addresses is their use in
Multiprotocol Label Switching Multiprotocol Label Switching (MPLS) is a routing technique in telecommunications networks that directs data from one node to the next based on labels rather than network addresses. Whereas network addresses identify endpoints, the labels iden ...
(MPLS) traceroute error detection, in which their property of not being routable provides a convenient means to avoid delivery of faulty packets to end users.


See also

* Private network * Reserved IP addresses * 0.0.0.0


References

{{Authority control Internet architecture IP addresses