|
|
|
|
|
|
| Advice is what we ask for when we already know the answer but wish that we didn't. |
|
| We have written about the theory of routing, as it applies to the FLYWAY® system on the page titled "Optimization of travel routes". As you have noted (if you have read that webpage), we presented a simplified, 2-dimensional routing table, that only used the travel time as basis for routing decisions. in reality, other factors than travel time have to be considered as well, such as those mentioned in Chapter 5 on that page. | ![]() |
List of contents:
|
|---|
|
FLYWAY uses the OSPF-protocol to gain access to 7 useful selection criteria for its own, specific use. OSPF is short for "Open Shortest Path First" and is ordinarily used by servers on the Internet. It should be emphasized here, to avoid confusion with the reader, that FLYWAY will use the OSPF-protocol such as it is formed, but for its own, specific purposes. These purposes are determined solely by how the sending and receiving applications choose to act upon the information which is sent by using this protocol. Thus, notwithstanding that the intended purpose of OSPF is to regulate data traffic, FLYWAY will use this same information to regulate beamcar traffic.
![]() So, how is FLYWAY going to implement its version of OSPF? |
|
|
|
FLYWAY uses the OSPF-protocol in its communications to give priority to some routes (and some vehicles) when deciding upon routing directions. These evaluations would be added to the nodes' routing tables, both manually and dynamically, as the occassions arise. Figure 2:1 illustrates different communications protocols that could be used to provide both static and dynamic routing information. Those interested in this can read more under the heading "For the Curious", below. In the case of dynamic updates, the altered evaluations would reflect changes in the network, and hese would be propagated from one node to the next by way of LSA-packets (LSA = Link State Advertisement, the data packet types used by OSPF). Let's see examples of how they could be used. | ![]() Figure 2:1 |
|---|
Chapter 16 of RFC 1583 explains how the routing table on an OSPF router is constructed and maintained. There are 7 parameters that could be derived from the OSPF procedure that we are interested in:
OSPF uses the destination address and Type of Service (TOS) information in an IP datagram header to determine the route for the package. The method used to find the optimum route is called cost metrics.
Understanding Cost Metrics
![]() Figure 2:3
Table 2:1
OSPF supports two types of external metrics. Type 1 external metrics are equivalent to the link state metric. Type 2 external metrics are greater than the cost of any path internal to the AS (AS = Autonomous System). Use of Type 2 external metrics assumes that routing between AS'es is the major cost of routing a packet, and eliminates the need for conversion of external costs to internal link state metrics. As an example of Type 1 external metric processing, suppose that the Routers RT7 and RT5 in figure 2:2 are advertising Type 1 external metrics. For each external route, the distance from Router RT6 is calculated as the sum of the external route's cost and the distance from Router RT6 to the advertising router. For every external destination, the router advertising the shortest route is discovered, and the next hop to the advertising router becomes the next hop to the destination. Both Router RT5 and RT7 are advertising an external route to destination Network N12. Router RT7 is preferred since it is advertising N12 at a distance of 10 (8+2) to Router RT6, which is better than Router RT5's 14 (6+8). The table below shows the entries that are added to the routing table when external routes are examined: Table 2:2
Using OSPF to route FLYWAY TrafficTable 2:3
|
|
![]() |
|---|
As can be seen in figure 2:1 above, the routing table can be kept updated from different sources, using different communication protocols, and depending on whether the update information is static or dynamic. The static information would in most cases be added by way of human intervention, as the beam network is altered and expanded. But it is the task of the sources of dynamic information to keep a complex data network functioning satisfactorily. One of the protocols suited to provide dynamic information from different sources is OSPF.
The OSPF-protocol was developed by the Internet Engineering Task Force, with the aim of enabling servers to route messages the "best" way through the Internet. The term "shortest path" is actually an inaccurate description of how this protocol works. It´s rarely the "shortest path" which is the "best" path for routing a message. Other factors are more important. A better term would be "optimum path". A quite exhaustive explanation of the OSPF protocol can be found in RFC 1583.
Figure 2 from RFC 1583 is reproduced here, for your convenience (figure 2.2 below). It shows an example of how various TCP/IP-based networks (Indicated by Nxx) are tied together by OSPF-routers. H1 indicates a host, which has a SLIP connection to router RT12. Router RT12 is therefore advertising a host route. Lines between routers indicate physical point-to-point networks. The only point-to-point network that has been assigned interface addresses is the one joining routers RT6 and RT10. Routers RT5 and RT7 have EGP connections to other Autonomous Systems. A set of EGP-learned routes have been included for both of these routers. Refer to RFC 1583. for further details.

OSPF uses the destination address and Type of Service (TOS) information in an IP datagram header to determine the route for the package. From a routing table, kept updated in every router, which contains the topology of the network, an OSPF router determines the "best" path by using cost metrics, which factor in relevant criteria for what constitutes the optimum path.
OSPF allows for the division of a large autonomous network into smaller areas, each with its own gateway and routing algorithms. Movement of messages between these areas take place over the backbone, which is usually a conduit that can handle huge amounts of data.
OSPF itself (as a communications protocol) functions by sending 4 general types of messages:
The update packets are called advertisements and are of 4 types:
OSPF allows sets of networks to be grouped together. Such a grouping is called an "area". The topology of an area is hidden from the rest of the Autonomous System. This information hiding enables a significant reduction in routing traffic, since all nodes don´t need to know all details of other areas. Also, routing within the area is determined only by the area's own topology, lending the area protection from bad routing data. An area is a generalization of an IP subnetted network.
OSPF enables the flexible configuration of IP subnets. Each route distributed by OSPF has a destination and mask. Two different subnets of the same IP network number may have different sizes (i.e., different masks). This is commonly referred to as variable length subnetting. A packet is routed to the "best" (i.e., longest or most specific) match. Those host routes whose masks are "all ones" are considered to be subnets (0xFFFFFFFF).
When interface costs vary, based on TOS, a separate shortest path tree is calculated for each TOS. In addition, external costs can vary based on TOS. For example, in figure 2:2, router RT7 could advertise a separate type 1 external metric for each TOS. Then, when calculating the TOS X distance to Network N15 ("X" refers to the TOS value in the first column of table 2:3), the cost of the shortest TOS X path to RT7 would be added to the TOS X cost advertised by RT7 for Network N15.
All OSPF implementations must be capable of calculating routes based on TOS. However, OSPF routers can be configured to route all packets on the TOS 0 path, eliminating the need to calculate non-zero TOS paths. This can be used to conserve routing table space and processing resources in the router. These "TOS-0-only" routers can be mixed with routers that do route based on TOS. TOS-0-only routers will be avoided as much as possible when forwarding traffic requesting a non-zero TOS.
|
How are the Type of Service values implemented? Well, for every path in the beam network (i.e. from one adjoining node to another) the path table would contain an alternative calculated cost for each TOS value that is set. If Nodes 4 and 5 in figure 2:4 have TOS 0 (mandatory), 2, 6 and 8 set, 4 cost-alternatives would thus be created between them. Other parameters would then determine which one of these alternatives should apply in each situation.
Figure 2:4
|
|
In addition to this, beamcars would have to be dynamically classified in such a manner that the nodes would take this into account and weigh it together with the information obtained through the parameters listed above. Thus, a beamcar doing ambulance service would be given highest priority during emergency transport, while, on the other end of the scale, empty cars returning to depots or going in for maintenance would be given lowest priority.
|
![]() |
The beamcars need routing tables in order to navigate to their destinations. The node computers need both path tables and routing tables. The path table is used to prepare data for the routing table. One could say that:
As stated in the foregoing chapter, several parameters have to be considered for each and every path. These have to be weighted according to importance, and added up for every path. This is done in the path table. The result is then placed in the routing table, which is then consulted by the beamcar in preparation for every trip. The path table could be viewed as a matrix, as illustrated above. The nodes are listed vertically and horizontally (A1 to A9 in our illustration), so that every node would be mapped against every other node. The layout is wellknown to everyone that has studied a distance table between various sites. |
Every place for data in the table corresponds to a path, and has an address in the form of Row:Column. This addressing method has 2 advantages:
|
The routing table would have to be implemented as a 3-dimensional matrix, where the car´s computer just fetches the calculated data when needed. Why 3-dimensional? Well, in a well-designed network, there would in most instances be at least two routes between every departing point and destination. In most cases, there would be more than 2 alternate routes to choose from. A route, as we define it, is a succession of paths. Thus, if one could travel from Node 1 to Node 5 either by way of Node 1 - Node 3 - Node 5 or by way of Node 1 - Node 2 - Node 4 - Node 5, these alternatives would then constitute 2 alternative routes that the car has to choose between. Preparing the routing table means, then;
|
![]() |
| Copyright © 2004, SwedeTrack System. | Last Updated: 2007-01-17 |
Webmaster |
This site is maintained by Johnson Consulting |
|---|