From rgnet-owner Fri May  7 15:49:30 1993
Received: by fido.wps.com (5.67/1.34)
	id AA10958; Fri, 7 May 93 15:46:55 -0700
From: matthew@klinzhai.echo.com (matthew kaufman)
To: rgnet@fido.wps.com
Date: Fri, 7 May 93 15:47:23 PDT
Subject: LONG description of routing. hope this is helpful.
Message-Id: <9305072247.AA12965@klinzhai.echo.com>
X-L2L: wps.com
Status: OR


disclaimer: this is my understanding of how routing works
    and i've simplified descriptions of how routing tables get
    made, because i don't want to write a whole paper about routing
    protocols.

Routing

An IP router is a device with two (or more) INTERFACES (physical
data communications connections)
Upon receiving an IP packet, the router examines the (network portion
of the) DESTINATION address and determines which interface to retransmit
(FORWARD) the packet on.
The list that relates destination network addresses to which interface
to use to forward that packet is the ROUTING TABLE. If there is not
a corresponding entry, and there is a DEFAULT ROUTE (the default interface
to send packets whose addresses which are not recognized to) it
is forwarded to the default interface. If there is no default route,
a Network Unreachable ICMP message is sent back to the source address
contained in the packet. If there is more than one way to reach a
destination, the PREFERRED ROUTE is used.
It is important to remember that routing decisions are made by each
router, all each router can do is pick which interface to forward the
packet on, and that there are no "circuits"... your next packet
might take a different route, and return packets probably donUt
come back the same way. When everything is working properly, routes
are relatively stable, so if your packet takes one path today, it
is likely to take the same path tomorrow.
Inter-Network routing tables are generated through a process that
involves one router ADVERTISING (ANNOUNCING) networks that it knows 
that it can reach, and the cooperating routing LEARNING those routes.
For instance, when TLG was connected to AlterNet, AlterNet began
advertising that TLG's network number was reachable by sending
packets to AlterNet. These advertisements were sent to the ANS
network and to the CIX router. ANS and CIX learned these routes and
then began advertising them appropriately. Advertising and learning
of routes is a SELECTIVE process, however. For various reasons
(policy, technical) a network may choose to not advertise certain
destination networks to some of the routers it is connected to,
and the routers it does advertise routes to have the option of
learning or ignoring those routes. Selective advertising of routes
is the primary way that long-term routing LOOPS are avoided. Routing
preferences are typically determined on a policy basis, depending
on whether the destination address is a "Commercial" or "Research &
Education" network. Note that most commercial sites are actually
classified for policy reasons as "Research", their actual use
notwithstanding.
In the IP Internet today, the following major networks interact
in the following ways:

the following physical paths exist:
ANS is directly connected to BARRN, NEARN, CERF, PSI, Alternet, CIX and
	other "ANS-only" networks
BARRN is directly connected to ANS, Alternet
NEARN is directly connected to ANS, Alternet
CIX is directly connected to ANS, CERF, PSI, Alternet, Sprint and other
	"CIX-only" networks
Alternet is directly connected to ANS, BARRN, NEARN, CIX
CERF is directly connected to ANS, CIX
PSI is directly connected to ANS, CIX
other ANS-only networks are connected to ANS
other CIX-only networks are connected to CIX

Here are the announce/learn/prefer policies of each:
(this is of course subject to change, but reflects how things
are configured in April of 1993)
(from the CIX-ANS routing plan of 1992 and personal communication
with Jordan Becker of ANS)

CERF:
Learn CIX routes from the CIX
Learn ANS routes from ANS, including NEARN/BARRN
DEFAULT route unknown destinations to the ANS network
Announce all member networks to CIX
Announce all research&education member networks to ANS
Prefer ANS as the route to NEARN/BARRN research&education nets
Prefer CIX as the route for CIX-attached networks and NEARN/BARRN
	"commercial" networks
In all other cases, prefer ANS.

PSI:
Learn CIX routes from the CIX
Learn ANS routes from ANS, including NEARN/BARRN
DEFAULT route unknown destinations to the ANS network
Announce all member networks to CIX
Announce all research&education member networks to ANS
SHOULD Prefer ANS as the route to NEARN/BARRN research&education nets,
	but doesn't do this! (thus causing ANS to change their policy, see
	later) so ends up using CIX as the route
Prefer CIX as the route for CIX-attached networks and NEARN/BARRN
	"commercial" networks
In all other cases, prefer ANS.

NEARN & BARRN:
Learn all Alternet routes from Alternet
Learn all ANS routes from ANS
Learn all CIX routes from ANS
DEFAULT route to ANS
Announce all member networks to Alternet
Announce all member networks to ANS
Prefer Alternet for Alternet networks
In all other cases, prefer ANS.

Alternet:
Learn all CIX routes from CIX
Learn all BARRN and NEARN routes directly from BARRN and NEARN
Learn all ANS routes, including BARRN and NEARN, from ANS
DEFAULT route to ANS
Announce all member networks to CIX
Announce all member networks to NEARN, BARRN
Announce research&education member nets to ANS
Prefer BARRN direct for BARRN
Prefer NEARN direct for NEARN
Prefer CIX for CIX-attached networks
In all other cases, prefer ANS

other CIX-only networks:
Learn all CIX routes from CIX (including NEARN and BARRN)
Announce all member networks to CIX
Prefer CIX routes for all destinations

other ANS-only networks:
Learn all ANS routes from ANS, including NEARN and BARRN
DEFAULT route to ANS
Announce all research&education member networks to ANS
Prefer ANS routes for all destinations

ANS:
Learn all research&education net routes from CERF
Learn all research&education net routes from PSI
Learn all research&education net routes from Alternet
Learn all CIX routes from CIX
Announce all ANS nets to NEARN and BARRN
Announce all CIX nets to NEARN and BARRN
Announce all BARRN member networks to CIX
Announce all "Commercial" NEARN member networks to CIX
(DOES NOT announce R&E NEARN networks to CIX because if
	they did, the PSI preference problem would cause unwanted
	routing asymmetry)
Announce all ANS nets to CERF, PSI, Alternet, and other ANS-only
Prefer direct routes to CERF, PSI, Alternet, BARRN, NEARN
Prefer CIX routes for all other destinations

CIX:
Learn all CERF routes from CERF
Learn all PSI routes from PSI
Learn all Alternet routes from Alternet
Learn all RCIX-onlyS routes from those networks
Learn all BARRN routes from ANS
Learn all NEARN routes from ANS (BUT CANNOT learn NEARN R&E nets because
	ANS has stopped announcing them to CIX because of the PSI problem)
Announce all nets to CERF, PSI, Alternet, ANS
Prefer direct routes to CERF, PSI, Alternet and other CIX-only networks
Prefer ANS routes for NEARN and BARRN
For all other destinations, discard packet. No default route available.


Because CIX announces all member networks to CERF, PSI, Alternet AND
ANS, and ANS properly learns that it can reach CIX member networks via
the ANS-CIX interconnection, packets flowing TO any CIX member network
will get through.
But, packets sent from a CIX member network TO the CIX router with
destinations other than [CERF,PSI,Alternet,BARRN,NEARN-commerical-only]
will be discarded as undeliverable by the CIX router. Thus the
need for an additional outbound path (or a change in CIX routing policies)
for full connectivity to the Internet.


-Matthew Kaufman  (5/7/1993)

