[ih] Exterior Gateway Protocol

Jack Haverty jack at 3kitty.org
Fri Sep 4 13:03:45 PDT 2020


On 9/4/20 9:19 AM, Grant Taylor via Internet-history wrote:
> On 9/2/20 3:33 PM, Guy Almes via Internet-history wrote:
>> BGP's use of TCP was quite controversial.
>
> This floors me.  It also shows just how little I know about some of
> the history.
>
> What communications mechanism did other routing protocols, e.g. EGP, use?
>

FYI, I can relate some of the earliest history of such communications
mechanisms.

There was a great discussion of the choices for implementing internal
control mechanisms in the Internet, at the time we were rearranging the
Internet architecture to split IP apart from TCP to become V4.  With
such a dramatic change on the table, all sorts of issues were
considered.  One of those was how to provide the internal control
mechanisms of the new Internet, i.e., mechanisms such as the routing
algorithm and protocols used to pass information around among the
routers, i.e., the GGP and its successors.

There had been more than 10 years of experience by then with the
ARPANET, and lots of sometimes unplanned experiments, especially with
routing.    Many people don't know much about the internal mechanisms of
the ARPANET.   For example, although from the user (host) perspective it
was a "datagram/packet" network, internally there were a lot of
mechanisms to provide a "virtual circuit" behavior.   Packets were
reordered, retransmitted, error-checked, and flow-controlled as needed
to make the users' see a virtual circuit, and to keep the network stable
and functional.  In a sense, there was a "TCP connection" acting between
each pair of IMPs that had any active traffic flow.

The ARPANET routing protocol also used internal mechanisms to pass
information between IMPS.  In particular, the routing traffic was not
handled by the same mechanisms that handled user traffic.   It was kept
separate, so that it would not necessarily be affected by any problems
that were impacting users' traffic. 

That design was termed "out-of-band-signalling", where control
mechanisms utilize communications outside of those used for standard
user traffic.   The alternative was "in-band signalling", where all
traffic is handled in the same way.

There was a great debate about which approach to use in creating V4 of
the Internet protocols.  This impacted both the design of the routing
mechanism in the gateways, and the design of the ICMP protocol for
communicating "control information" between hosts and gateways, and to
some extent TCP as well (the design of the "Urgent" mechanism).

There were many reasons to prefer out-of-band signalling, both from the
ARPANET experience and other communications systems such as the
traditional telephone network.  However, such an approach is necessarily
more complex.

At the end of the debate, in-band signalling was selected.  Partly this
was because it was much simpler.  But another important reason was that
the Internet was officially an Experiment.

So, in-band-signalling became an Experiment.  After some operational
experience, we could always change it in the next version of TCP/IP (how
naive we were..).

Subsequent evolution to do things like run routing over TCP seem to have
increased the in-band nature, by making the internal mechanism (routing)
depend even more strongly on the mechanisms it supported.   E.g., if TCP
stopped working for whatever reason, routing that used TCP would also fail.

GGP was defined as an in-band protocol, using IP datagrams to
communicate, while also being part of the mechanism to transport those
datagrams.   An alternative, out-of-band, mechanism might have been to
define such messages separately purely using the facilities of each kind
of network that provided the paths between pairs of gateways, so that
GGP messages could be exchanged even if the IP mechanisms were failing
(e.g., due to a routing problem).

ARPA's charter was to perform Advanced Research, so trying the unproven
was part of its mission.  Effectively, the Internet made a major design
decision to abandon the "out-of-band" mechanisms proven in the ARPANET,
and ask the question "Is it possible to create a large-scale network
that uses in-band
internal communications?"   The design was selected not because we knew
it would work, but because we didn't know it wouldn't work.

I haven't followed all of the subsequent routing ideas and
implementations, but I assume they continue to use "in-band" designs. 
So if you can read this message, the answer to that experimental
question is apparently "Yes, it works!"

/Jack





More information about the Internet-history mailing list