The HELLO protocol provides an IGP example. The routing metric is based on network latency rather than the number of hops. Although HELLO is no longer used now, it is of extraordinary significance in the history of Internet because it was adopted as IGP by fuzzball in the early NSFNET backbone network. HELLO is important to us because it provides an example of a vector distance algorithm without the number of hops.
HELLO provides two functions: Synchronize the clock of many machines and enable each machine to calculate the shortest path to the target station. Therefore, a HELLO message carries a timestamp while carrying routing information. The basic principle of HELLO is very simple: for every machine that participates in the HELLO exchange, we provide a table of the best value for the clock of the neighboring station. Before transmitting a group, the machine copies the current clock value to the Group as its timestamp. After the group arrives, the receiver calculates the current latency of the link. To do this, it estimates the current clock value of the neighboring station machine, and then subtract the timestamp value that arrives at the group. The machine periodically polls neighboring machines to re-estimate the clock value.
HELLO packets allow participating machines to calculate new routes. This algorithm is similar to RIP, except latency rather than hop count. Each machine periodically sends an estimated latency to all other machines on its neighboring machines. Assume that machine A sends A routing table to machine B, indicating the destination site and latency. B. Check the items in the table. If the current latency from B to A known destination station D is greater than the sum of the latency from A to D and the latency from B to A, B changes its route, and send the traffic to D through. That is, as long as the latency of the route that passes through A is small, B will make the communication traffic pass through.
Like other routing algorithms, HELLO cannot change the route too frequently. Otherwise, it is unstable. The instability of the routing algorithm will produce the "two-phase oscillation" two-stage oscillation) effect, that is, communication traffic switches back and forth between two different routes. In the first stage, the machine suddenly switches the traffic to a light load path, but unexpectedly finds that the path is seriously overloaded. In the second stage, the machine switches the communication traffic from this overload path, and the result shows that this is the least load path. In this way, an oscillation is formed. To avoid this problem, the HELLO policy is to switch only when the delay difference between the routes is large.
HELLO Message format. This Protocol is more complex than its message format, because it separates connections through the routing network from those with many hops, so that the obsolete items in the routing table no longer work, it uses a local identifier instead of a complete IP address to identify the host.
0 |
16 |
24 |
31 |
|
Checksum |
Date |
Time |
|
Timestamp |
Local Project |
Number of hosts |
|
Latency 1 |
Offset 1 |
|
Latency 2 |
Offset 2 |
|
|
|
Latency n |
Latency n |
|
|
|
|
|
|
|
|
|
|
The format of the HELLO message. Each packet carries a date, time, and timestamp so that the protocol can be used to estimate the network time.
CHECKSUM) the field records the CHECKSUM of the entire message. The DATE field is the sender's local DATE, and the TIME field is based on the local TIME recorded by the sender's clock, TIMESTAMP) the field is used to calculate the round-trip latency.
The field marked with # HOSTS indicates the number of projects in the host list, and the LOCAL project local entry) indicates the project blocks used by the LOCAL network. Each item includes the DELAY (latency) field and OFFSET) field, which respectively shows the latency of the target host and the current valuation of the sender's deviation from the host and its clock.