The routing process that occurs when a host (computer) on a network forwards a packet to a destination host on the network. This is different from router routing, which is what happens when a router receives a packet that needs to be forwarded to a destination host.
Host routing essentially involves a simple decision: Should the packet be forwarded directly to its destination host, or should it be forwarded to a router? The host makes this decision by comparing the packet’s destination address with entries in its internal routing table.
The host must first obtain the internetwork address of the destination host using some form of name resolution. For example, in order for a host to forward a packet to a remote host called northwind.Microsoft.com, it could first use the Domain Name System (DNS) to obtain the IP address of the remote host. The host then compares this address with entries in its internal routing table to determine whether the destination has a local or remote network address. If the address is a local network address, the host forwards the packet directly to its destination using the physical layer or physical address of the remote host. This process is known as direct delivery. On TCP/IP networks, the physical address of a host is its MAC address, which is obtained by using the Address Resolution Protocol (ARP).
If, however, the host determines that the destination host has a remote network address (that is, the destination host is on a different network than the sending host), the host forwards the packet to a nearby router after first obtaining the physical address of the near-side interface of the router. This process is known as indirect delivery. It is the responsibility of the router to ensure that the packet is forwarded toward its destination, although in a typical internetwork the destination might be several hops away, in which case the router’s responsibility extends only to the next hop on the path.