BBS Hierarchical Routing Addresses
From Ohio Packet
When personal packet messages are sent from BBS to BBS, each system in the delivery "chain" has to have an indication as to which direction to send a given message. Before the advent of Internet based links or utilization of HF forwarding, the only option of moving messages long distances were by leveraging VHF and UHF links.
The answer to this requirement is what is known as the hierarchical routing addresses. This varies slightly from state to state and country to country, but the basic breakout is:
For a BBS system located in Central Ohio (Columbus area), the address would be
The breakout is:
CALLSIGN - This is the callsign of the BBS system itself
#CMH - The region within the state where the BBS resides
OH - The state which the BBS resides
USA - The country which the state resides
NOAM - The continent which the country resides
From what I can recall and find, the 5 major cities within Ohio each had their own regional designators:
For the areas which did not fall within the areas, there are more general designators.
#EOH.OH.USA.NOAM (East Ohio)
#NOH.OH.USA.NOAM (North Ohio)
#SOH.OH.USA.NOAM (South Ohio)
#WOH.OH.USA.NOAM (West Ohio)
#NEOH.OH.USA.NOAM (Northeast Ohio)
#NWOH.OH.USA.NOAM (Northwest Ohio)
#SEOH.OH.USA.NOAM (Southeast Ohio)
#SWOH.OH.USA.NOAM (Southwest Ohio)
Similarly to email, the actual packet mail address is simply the target recipients callsign@BBS.#REGION.STATE.COUNTRY.CONTINENT. For myself, this is
The idea behind the hierarchical routing is being able to look at the full address and knowing how to route it. You could use everything right of the callsign to route the message. The system operator would not need to know all BBSes everywhere, simply know who is the next "hop" to get it there.
In our first example, we will have a hypothetical BBS system located in Cleveland, Ohio under the callsign of KD8CLE. The full hierarchical address is
The originating BBS will start in Columbus, under the callsign of KB8UVN. The full hierarchical address is
When the message arrives at KB8UVN.#CMH.OH.USA.NOAM (either entered directly by a local user or forwarded by a neighboring BBS system), it will inspect the full address. In this example, the message is intended for our theoretical BBS system operator, KD8CLE.#CLE.OH.USA.NOAM. The full "to" address is:
On inspection of the content to the right of the "@" symbol, we know the BBS is within the same continent (NOAM), same country (USA), same state (OH), but in a different region (#CLE). A properly configured system will not necessarily know how to get directly to KD8CLE.#CLE.OH.USA.NOAM, but it will know which "neighbor" is the next logical hop. The KB8UVN.#CMH.OH.USA.NOAM system looks at it's list of forwarding partners and determines the next best "hop" to get up to Cleveland is located in Ashland, Ohio. The KB8UVN BBS establishes a packet link up into Ashland (W3YXS.#NEOH.OH.USA.NOAM) and delivers the message destined for the KD8CLE.#CLE.OH.USA.NOAM. At this point, the KB8UVN BBS has done it's part and the responsibility of passing the message falls on the system operator of W3YXS.#NEOH.OH.USA.NOAM. In this example, the W3YXS.#NEOH.OH.USA.NOAM is a forwarding partner with KD8CLE.#CLE.OH.USA.NOAM. On the next forwarding cycle, the W3YXS BBS system establishes an outbound packet connection, likely leveraging a few node "hops", probably crossing multiple frequencies and possibly baudrates to ultimately deliver the message destined for KD8CLE@KD8CLE.#CLE.OH.USA.NOAM.
In the next example, we will have a message originating in Central Ohio, but destined for a theoretical user (AA5XX) at the KC5EIV BBS system located in the Dallas/Fort Worth area in Texas. When the message is sent, the target full address is:
Looking at the address to the right of the "@" symbol, the originating BBS system in Central Ohio knows the message must go south and/or west to land in Texas. Depending on the available neighbors, this would likely result in a connection to Springfield, Dayton or Cincinnati or other #SWOH, #SOH or #WOH BBS system. The current infrastructure does not have a neighboring BBS system to take this message. It just so happens that a 30m WINMOR link exists a local packet node on the north side of Columbus (CMHSW2:KB8UVN-5) down to the N5MDT BBS system in Eastgate, Texas (N5MDT.#SETX.TX.USA.NOAM). In the interest of getting the message delivered, a BBS forwarding session is establish and the message is passed. The next routing decision falls into the hands of the system operator of N5MDT. Since Eastgate, Texas is in southeast Texas, the N5MDT BBS will then try to utilize VHF and UHF links to head the needed north and west direction to land in the Dallas/Fort Worth area.
There are a few key points to keep in mind:
- The further away from the ultimate destination, the further right of the @ is used. (Continent, Country and State)
- Each state can have it's own unique regional breakout, the only system operators within that state must know all regional breakouts.
- A BBS system in a given state does not need to know all other BBSes within the same state, only paths to each regional designator
- A BBS system should have a route to all other BBS systems within the same regional designator (ie; KB8UVN.#CMH.OH.USA.NOAM should know how to get to all other BBS systems which match *.#CMH.OH.USA.NOAM)
- An intermediate BBS system does not need to know how to get directly to the destination BBS, only the next "hop".
- In some instances, there may not be a state designator (Oregon's population is low enough that they do not use them). In some other countries, there are numeric regions that break apart a given country.
- It is possible to have a "directory" which can map callsigns to full hierarchical addresses using what is called a white pages or "WP" lookup. An example WP index can be found at http://ohiopacket.org/files/bbs/AA4RE/HLOOKUP.BB