Jump to content

Hop (networking)

From Wikipedia, the free encyclopedia
(Redirected from Network hop)
An illustration of hops in a wired network (assuming a 0-origin hop count [1]). The hop count between the computers in this case is 2.

In wired computer networking a hop occurs when a packet is passed from one network segment to the next. Data packets pass through routers as they travel between source and destination. The hop count refers to the number of network devices through which data passes from source to destination (depending on routing protocol, this may include the source/destination, that is, the first hop is counted as hop 0 or hop 1[1]).

Since store and forward and other latencies are incurred through each hop, a large number of hops between source and destination implies lower real-time performance.

Hop count

[edit]

In wired networks, the hop count refers to the number of networks or network devices through which data passes between source and destination (depending on routing protocol, this may include the source/destination, that is, the first hop is counted as hop 0 or hop 1[1]). Thus, hop count is a rough measure of distance between two hosts. For a routing protocol using 1-origin hop counts[1] (such as RIP), a hop count of n means that n networks separate the source host from the destination host.[1][2] Other protocols such as DHCP use the term "hop" to refer to the number of times a message has been forwarded.[3]

On a layer 3 network such as Internet Protocol (IP), each router along the data path constitutes a hop. By itself, this metric is, however, not useful for determining the optimum network path, as it does not take into consideration the speed, load, reliability, or latency of any particular hop, but merely the total count. Nevertheless, some routing protocols, such as Routing Information Protocol (RIP), use hop count as their sole metric.[4]

Each time a router receives a packet, it modifies the packet, decrementing the time to live (TTL). The router discards any packets received with a zero TTL value. This prevents packets from endlessly bouncing around the network in the event of routing errors. Routers are capable of managing hop counts, but other types of network devices (e.g. Ethernet hubs and bridges) are not.

Hop limit

[edit]

Known as time to live (TTL) in IPv4, and hop limit in IPv6, this field specifies a limit on the number of hops a packet is allowed before being discarded. Routers modify IP packets as they are forwarded, decrementing the respective TTL or hop limit fields. Routers do not forward packets with a resultant field of 0 or less. This prevents packets from following a loop forever.

Next hop

[edit]

When configuring network devices the hop may refer to next hop.[5] When a hop forwards network traffic the next hop is what the local hop considers to be the next element towards the final destination. A routing table usually consists of a list of possible destination networks or IP addresses for which the next hop is known. By only storing next-hop information, next-hop routing or next-hop forwarding reduces the size of routing tables. A given gateway only knows one step along the path, not the complete path to a destination. If no next hop is known a hop may silently discard a packet or return an error depending on the type of network. Devices in consumer networks are often only provided with routes for the local network as well as a default gateway as the traffic can only ever reach the local network or be forwarded to the internet service provider.[6] Routers require multiple routes to be able to forward traffic between different networks.[7] In practice routes are configured either implicitly with address assignment by means of a netmask, by manual assignment using tools such as route, or dynamically using configuration protocols like DHCP or routing protocols.

In TCP/IP networks using Ethernet as the link layer the destination is always an IP address, however the next hop is not technically required to be of the same address family. As the packet needs to be forwarded on the link layer the next hop needs only to resolve to a link layer address such as a MAC address. On Linux for instance the next hop is required to be either an IP address or an interface. The address families of the destination address and the next hop need not match, therefore it is possible to forward IPv4 traffic on an IPv6 network and vice versa. If no address is provided the destination is assumed to be present on the local link, otherwise the next hop is used. Either address is then passed to NDP or ARP for IPv6 and IPv4 respectively to be resolved to the link layer address required to pass the packet along on the network stack. In other scenarios link layer resolution may require different methods such as a virtual private network which needs to determine the peer to send the packet to. What is common to forwarding is that the next hop needs to be logically connected to the current hop, thereby building an uninterrupted chain between source and destination. A logical connection does not necessitate a physical connection as the packet may be passed on to a virtual tunnel.[citation needed]

Source routing describes networks in which data is encoded in the packet that allows a hop (such as the source of the packet) to influence routing decisions on intermediary hops.[8] This allows for advanced teletraffic engineering used to improve network delay, decrease network congestion, or meet other requirements.

Diagnostics

[edit]

The traceroute command can be used to measure the number of router hops from one host to another. Hop counts are often useful to find faults in a network or to discover if routing is indeed correct.

Wireless ad hoc networking

[edit]

In a wireless ad hoc network, commonly, every participating node is also acting as a router. This means that the terms "hop" and "hop count" are often the subject of confusion. Often, the sending node is simply counted as the first hop, thus yielding the same number for "hops" for both interpretations of "hop" as "traversed routers" and "jumps from node to node". For example, RFC 6130 defines a "1-hop neighbor" as any other node that is directly reachable via the wireless interface.

See also

[edit]

References

[edit]
  1. ^ a b c d e Comer, Douglas (2014). Internetworking with TCP/IP. Volume one (Sixth ed.). Harlow. p. 294 (footnotes). ISBN 978-1-292-05623-4. OCLC 971612806.{{cite book}}: CS1 maint: location missing publisher (link)
  2. ^ Comer, Douglas (2014). Internetworking with TCP/IP (Sixth ed.). Upper Saddle River, New Jersey. pp. 293, 655. ISBN 978-0-13-608530-0. OCLC 855671923.{{cite book}}: CS1 maint: location missing publisher (link)
  3. ^ Comer, Douglas (2014). Internetworking with TCP/IP. Volume one (Sixth ed.). Harlow. p. 466. ISBN 978-1-292-05623-4. OCLC 971612806.{{cite book}}: CS1 maint: location missing publisher (link)
  4. ^ RFC 1058, Routing Information Protocol, C. Hendrik, The Internet Society (June 1988)
  5. ^ "CCNP Practical Studies: Layer 3 Switching > Introduction to Layer 3 Switching". www.ciscopress.com. Retrieved 2019-07-05.
  6. ^ Salter, Jim (2016-04-17). "The Ars guide to building a Linux router from scratch". Ars Technica. Retrieved 2024-12-18.
  7. ^ Beijnum, Iljitsch van (2008-01-17). "Internet routing shows growing pains?again". Ars Technica. Retrieved 2024-12-18.
  8. ^ "2.2.10. Disable Source Routing | Red Hat Product Documentation". docs.redhat.com. Retrieved 2024-12-18.