As per Relevance of the word autonomous, we have this rfc below:





RFC 827
























EXTERIOR GATEWAY PROTOCOL (EGP


Eric C.


Bolt Beranek and Newman Inc


October 1982












It is proposed to establish a standard for Gateway to Gateway
that allow the Gateways to be mutually suspicious. This document is
DRAFT for that standard. Your comments are strongly encouraged








RFC 827 Bolt Beranek and Newman Inc
Eric C.



Table of




1 INTRODUCTION.......................................... 1
2 NEIGHBOR ACQUISITION.................................. 8
3 NEIGHBOR REACHABILITY PROTOCOL....................... 11
4 NETWORK REACHABILITY (NR) MESSAGE.................... 15
5 POLLING FOR NR MESSAGES.............................. 22
6 SENDING NR MESSAGES.................................. 25
7 INDIRECT NEIGHBORS................................... 27
8 HOW TO BE A STUB GATEWAY............................. 28
9 LIMITATIONS.......................................... 32


































- i -




RFC 827 Bolt Beranek and Newman Inc
Eric C.



1


The DARPA Catenet is expected to be a continuously

system, with more and more hosts on more and more

participating in it. Of course, this will require more and

gateways. In the past, such expansion has taken place in

relatively unstructured manner. New gateways, often

radically different software than the existing gateways, would

added and would immediately begin participating in the

routing algorithm via the GGP protocol. However, as the

grows larger and larger, this simple method of expansion

less and less feasible. There are a number of reasons for this


- the overhead of the routing algorithm becomes

large


- the proliferation of radically different

participating in a single common routing algorithm

maintenance and fault isolation nearly impossible,

it becomes impossible to regard the internet as

integrated communications system


- the gateway software and algorithms, especially

routing algorithm, become too rigid and inflexible,

any proposed change must be made in too many

places and by too many different people



- 1 -


RFC 827 Bolt Beranek and Newman Inc
Eric C.



In the future, the internet is expected to evolve into a

of separate domains or "autonomous systems", each of

consists of a set of one or more relatively homogeneous gateways

The protocols, and in particular the routing algorithm

these gateways use among themselves, will be a private matter

and need never be implemented in gateways outside the

domain or system


In the simplest case, an autonomous system might consist

just a single gateway connecting, for example, a local network

the ARPANET. Such a gateway might be called a "stub gateway",

since its only purpose is to interface the local network to

rest of the internet, and it is not intended to be used

handling any traffic which neither originated in nor is

for that particular local network. In the near-term future,

will begin to think of the internet as a set of

systems, one of which consists of the DARPA gateways on

and SATNET, and the others of which are stub gateways to

networks. The former system, which we shall call the "core

system, will be used as a transport or "long-haul" system by

latter systems


Ultimately, however, the internet may consist of a number

co-equal autonomous systems, any of which may be used (

certain restrictions which will be discussed later) as



- 2 -


RFC 827 Bolt Beranek and Newman Inc
Eric C.



transport medium for traffic originating in any system

destined for any system. When this more complex

comes into being, it will be inappropriate to regard any

autonomous system as a "core" system. For the sake

concreteness, however, and because the initial implementations

the Exterior Gateway Protocol are expected to focus on the

case of connecting "stub gateways" to the DARPA gateways

ARPANET and SATNET, we will often use the term "core" gateways

our examples and discussion


The purpose of the Exterior Gateway Protocol (EGP) is

enable one or more autonomous systems to be used as

media for traffic originating in some other autonomous system

destined for yet another, while allowing the end-user to see

composite of all the autonomous systems as a single internet

with a flat, uniform address space. The route which a

takes through the internet, and the number of autonomous

which it traverses, are to be transparent to the end-

(unless, of course, the end-user makes use of the IP "

route" option).


In describing the Exterior Gateway Protocol, we

deliberately left a great deal of latitude to the designers

implementers of particular autonomous systems, particularly

regard to timer values. We have done this because we expect



- 3 -


RFC 827 Bolt Beranek and Newman Inc
Eric C.



different gateway implementations and different

environments may just have different requirements and goals,

that no single strict implementation specification could apply

all. However, this does NOT mean that ANY implementation

conforms to the specification will work well, or that the

in which we have left latitude are not crucial to performance

The fact that some time-out value, for example, is not

here does not mean that everything will work no matter what

is assigned


Autonomous systems will be assigned 16-bit

numbers (in much the same ways as network and protocol

are now assigned), and every EGP message header contains one

for this number. Zero will not be assigned to any

system; rather, the presence of a zero in this field

indicate that no number is present


We need to introduce the concept of one gateway being

NEIGHBOR of another. In the simplest and most common case,

call two gateways "neighbors" if there is a network to which

has an interface. However, we will need a somewhat more

notion of "neighbor" to allow the following two cases


a) Two gateways may be regarded as neighbors if they

directly connected not by a network (in the usual




- 4 -


RFC 827 Bolt Beranek and Newman Inc
Eric C.



of the term), but by a simple wire, or HDLC line, or

similar means of "direct connection".


b) Two gateways may be regarded as neighbors if they

connected by an "internet" which is transparent to them

That is, we would like to be able to say that

gateways are neighbors even if they are connected by

internet, as long as the gateways utilize no knowledge

the internal structure of that internet in their

packet-forwarding algorithms


In order to handle all these cases, let us say that two

are NEIGHBORS if they are connected by some communications

whose internal structure is transparent to them. (See IEN 184

for a more general discussion of this notion of neighbor.)


If two neighbors are part of the same autonomous system,

call them INTERIOR NEIGHBORS; if two neighbors are not part

the same autonomous system, we call them EXTERIOR NEIGHBORS.

order for one system to use another as a transport medium

gateways which are exterior neighbors of each other must be

to find out which networks can be reached through the other.

Exterior Gateway Protocol enables this information to be

between exterior neighbors. Since it is a polling protocol,

also enables each gateway to control the rate at which it




- 5 -


RFC 827 Bolt Beranek and Newman Inc
Eric C.



and receives network reachability information, allowing

system to control its own overhead. It also enables each

to have an independent routing algorithm whose operation

be disrupted by failures of other systems


It must be clearly understood that any autonomous system

which routing needs to be performed among gateways within

system must implement its own routing algorithm. (A

algorithm is not generally necessary for a simple

system which consists of a single stub gateway.) The

Gateway Protocol is NOT a routing algorithm. It enables

neighbors to exchange information which is likely to be needed

any routing algorithm, but it does NOT specify what the

are to do with this information. The "routing updates" of

autonomous system's interior routing algorithm may or may not

similar in format to the messages of the exterior

protocol. The gateways in the DARPA "core" system will

use the GGP protocol (the old Gateway-Gateway protocol) as

routing algorithm, but this will be subject to change.

in other autonomous systems may use their own Interior

Protocols (IGPs), which may or may not be similar to the IGP

any other autonomous system. They may, of course, use GGP,

will not be permitted to exchange GGP messages with gateways

other autonomous systems




- 6 -


RFC 827 Bolt Beranek and Newman Inc
Eric C.



It must also be clearly understood that the Exterior

Protocol is NOT intended to provide information which could

used as input to a completely general area or

routing algorithm. It is intended for a set of

systems which are connected in a tree, with no cycles. It

not enable the passing of sufficient information to

routing loops if cycles in the topology do exist


The Exterior Gateway Protocol has three parts: (a)

Acquisition Protocol, (b) Neighbor Reachability Protocol, and (c

Network Reachability determination. Note that all

defined by EGP are intended to travel only a single "hop".

is, they originate at one gateway and are sent to a

gateway without the mediation of any intervening gateway

Therefore, the time-to-live field should be set to a very

value. Gateways which encounter EGP messages in their

streams which are not addressed to them may discard them


















- 7 -


RFC 827 Bolt Beranek and Newman Inc
Eric C.



2 NEIGHBOR


Before it is possible to obtain routing information from

exterior gateway, it is necessary to acquire that gateway as

direct neighbor. (The distinction between direct and

neighbors will be made in a later section.) In order for

gateways to become direct neighbors, they must be neighbors,

the sense defined above, and they must execute the

ACQUISITION PROTOCOL, which is simply a standard three-

handshake


A gateway that wishes to initiate neighbor acquisition

another sends it a Neighbor Acquisition Request. This

should be repeatedly transmitted (at a reasonable rate,

once every 30 seconds or so) until a Neighbor Acquisition

is received. The Request will contain an identification

which is copied into the reply so that request and reply can

matched up


A gateway receiving a Neighbor Acquisition Request

determine whether it wishes to become a direct neighbor of

source of the Request. If not, it may, at its option,

with a Neighbor Acquisition Refusal message,

specifying the reason for refusal. Otherwise, it should send

Neighbor Acquisition Reply message. It must also send a




- 8 -


RFC 827 Bolt Beranek and Newman Inc
Eric C.



Acquisition Request message, unless it has done so already


Two gateways become direct neighbors when each has sent

Neighbor Acquisition Message to, and received the

Neighbor Acquisition Reply from, the other


Unmatched Replies or Refusals should be discarded after

reasonable period of time. However, information about any

unmatched messages may be useful for diagnostic purposes


A Neighbor Acquisition Message from a gateway which

already a direct neighbor should be responded to with a Reply

a Neighbor Acquisition Message


If a Neighbor Acquisition Reply is received from

prospective neighbor, but a period of time passes during which

Neighbor Acquisition Message is received from that

neighbor, the neighbor acquisition protocol shall be

incomplete. A Neighbor Cease message (see below) should then

sent. If one gateway still desires to acquire the other as

neighbor, the protocol must be repeated from the beginning


If a gateway wishes to cease being a neighbor of

particular exterior gateway, it sends a Neighbor Cease message

A gateway receiving a Neighbor Cease message should

respond with a Neighbor Cease Acknowledgment. It should cease




- 9 -


RFC 827 Bolt Beranek and Newman Inc
Eric C.



treat the sender of the message as a neighbor in any way.

there is a significant amount of protocol run between

neighbors (see below), if some gateway no longer needs to be

direct neighbor of some other, it is "polite" to indicate

fact with a Neighbor Cease Message. The Neighbor Cease

should be retransmitted (up to some number of times) until

acknowledgment for it is received


Once a Neighbor Cease message has been received,

Neighbor Reachability Protocol (below) should cease to

executed


NOTE THAT WE HAVE NOT SPECIFIED THE WAY IN WHICH ONE

INITIALLY DECIDES THAT IT WANTS TO BECOME A NEIGHBOR OF ANOTHER

While this is hardly a trivial problem, it is not part of

External Gateway Protocol





















- 10 -


RFC 827 Bolt Beranek and Newman Inc
Eric C.



3 NEIGHBOR REACHABILITY


It is important for a gateway to keep real-time

as to the reachability of its neighbors. If a gateway

that a particular neighbor cannot be reached, it should

forwarding traffic to that gateway. To make that determination

a NEIGHBOR REACHABILITY protocol is needed. The EGP

provides two messages types for this purpose -- a "Hello"

and an "I Heard You" message


When a "Hello" message is received from a direct neighbor

an "I Heard You" must be returned to that neighbor "immediately".

The delay between receiving a "Hello" and returning an "I

You" should never be more than a few seconds


At the current time, the reachability

algorithm is left to the designers of a particular gateway.

have in mind algorithms like the following


A reachable neighbor shall be declared unreachable if

during the time in which we sent our last n "Hello"s, we

fewer than k "I Heard You"s in return. An unreachable

shall be declared reachable if, during the time in which we

our last m "Hello"s, we received at least j "I Heard You"s

return





- 11 -


RFC 827 Bolt Beranek and Newman Inc
Eric C.



However, the frequency with which the "Hello"s are sent,

the values of the parameters k, n, j, and m cannot be

here. For best results, this will depend on the

of the neighbor and of the network which the neighbors have

common. THIS IMPLIES THAT THE PROPER PARAMETERS MAY NEED TO

DETERMINED JOINTLY BY THE DESIGNERS AND IMPLEMENTERS OF THE

NEIGHBORING GATEWAYS; choosing algorithms and parameters

isolation, without considering the characteristics of

neighbor and the connecting network, would not be expected

result in optimum reachability determinations


The "Hello" and "I Heard You" messages have a status

which the sending gateway uses to indicate whether it thinks

receiving gateway is reachable or not. This information can

useful for diagnostic purposes. It also allows one gateway

make its reachability determination parasitic on the other:

one gateway actually needs to send "Hello" messages, and

other can declare it up or down based on the status field in

"Hello". That is, the "passive" gateway (which sends only "

Heard You"s) declares the "active" one (which sends

"Hello"s) to be reachable when the "Hello"s from the active

indicate that it has declared the passive one to be reachable

Of course, this can only work if there is prior agreement as

which neighbor is to be the active one. (Ways of coming to




- 12 -


RFC 827 Bolt Beranek and Newman Inc
Eric C.



"prior agreement" are not part of the Exterior Gateway Protocol.)


A direct neighbor gateway should also be

unreachable if the network connecting it supplies lower

protocol information from which this can be deduced. Thus,

example, if a gateway receives an 1822 Destination Dead

from the ARPANET which indicates that a direct neighbor is dead

it should declare that neighbor unreachable. The neighbor

not be declared reachable again until the requisite number

Hello/I-Heard-You packets have been exchanged


A direct neighbor which has become unreachable does

thereby cease to be a direct neighbor. The neighbor can

declared reachable again without any need to go through

neighbor acquisition protocol again. However, if the

remains unreachable for an extremely long period of time, such

an hour, the gateway should cease to treat it as a neighbor

i.e., should cease sending Hello messages to it. The

acquisition protocol would then need to be repeated before

could become a direct neighbor again


"Hello" and "I Heard You" messages from gateway G to

G' also carry the identification number of the NR poll

(see below) which G has most recently received from G'.






- 13 -


RFC 827 Bolt Beranek and Newman Inc
Eric C.



"Hello" and "I Heard You" messages from gateway G to

G' also carry the minimum interval in minutes with which G

willing to be polled by G' for NR messages (see below).


"Hello" messages from sources other than direct

should simply be ignored. However, logging the presence of

such messages might provide useful diagnostic information


A gateway which is going down, or whose interface to

network which connects it to a particular neighbor is going down

should send a Gateway Going Down message to all direct

which will no longer be able to reach it. It should

that message (up to some number of times) until it receives

Gateway Going Down Acknowledgment. This provides the

with an advance warning of an outage, and enables them to

for it in a way which will minimize disruption to

traffic



















- 14 -


RFC 827 Bolt Beranek and Newman Inc
Eric C.



4 NETWORK REACHABILITY (NR)


Terminology: Let gateway G have an interface to network N

We say that G is AN APPROPRIATE FIRST HOP to network M

to network N (where M and N are distinct networks) if and only

the following condition holds


Traffic which is destined for network M, and which

at gateway G over its network N interface, will be

to M by G over a path which does not include any

gateway with an interface to network N


In short, G is an appropriate first hop for network

relative to network N just in case there is no better gateway

network N through which to route traffic which is destined

network M. For optimal routing, traffic in network N which

destined for network M ought always to be forwarded to a

which is an appropriate first hop


In order for exterior neighbors G and G' (which

neighbors over network N) to be able to use each other as

switches for forwarding traffic to remote networks, each needs

know the list of networks for which the other is an

first hop. The Exterior Gateway Protocol defines a message

called the Network Reachability Message (or NR message),

transferring this information



- 15 -


RFC 827 Bolt Beranek and Newman Inc
Eric C.



Let G be a gateway on network N. Then the NR message

G sends about network N must contain the following information


A list of all the networks for which G is an

first hop relative to network N


If G' can obtain this information from exterior neighbor G,

it knows that no traffic destined for networks which are NOT

that list should be forwarded to G. (It cannot simply conclude

however, that all traffic for any networks in that list ought

be forwarded via G, since G' may also have other neighbors

are also appropriate first hops to network N. For example, G

G'' might each be neighbors of G', but might be "equidistant

from some network M. Then each could be an appropriate

hop.)


For each network in the list, the NR message also contains

byte which specifies the "distance" (according to some

whose definition is left to the designers of the

system of which gateway G is a member) from G to that network

This information might (or might not) be useful in the

routing algorithm of gateway G', or for diagnostic purposes


The maximum value of distance (255.) shall be taken to

that the network is UNREACHABLE. ALL OTHER VALUES WILL BE

TO MEAN THAT THE NETWORK IS REACHABLE



- 16 -


RFC 827 Bolt Beranek and Newman Inc
Eric C.



If an NR message from some gateway G fails to mention

network N which was mentioned in the previous NR message from G

it shall be assumed that N is still reachable from G. HOWEVER

IF N IS NOT MENTIONED IN TWO SUCCESSIVE NR MESSAGES FROM G,

SHALL BE TAKEN TO MEAN THAT N IS NO LONGER REACHABLE FROM G

This procedure is necessary to ensure that networks which can

longer be reached, but which are never explicitly

unreachable, are timed out and removed from the list of

networks


It may often be the case that where G and G' are

neighbors on network N, G knows of many more gateway neighbors

network N, and knows for which networks those other neighbors

the appropriate first hop. Since G' may not know about all

other neighbors, it is convenient and often more efficient for

to be able to obtain this information from G. Therefore, the

NR message also contains fields which allow G to specify

following information


a) A list of all neighbors (both interior and exterior) of

(on network N) which G has reliably determined to

reachable. Gateways should be included in this list

if G is actively running its neighbor

protocol with them





- 17 -


RFC 827 Bolt Beranek and Newman Inc
Eric C.



b) For each of those neighbors, the list of networks

which that neighbor is an appropriate first hop (

to network N).


c) For each such <neighbor, network> pair, the "distance

from that neighbor to that network


Thus the NR message provides a means of allowing a

to "discover" new neighbors by seeing whether a neighbor that

already knows of has any additional neighbors on the

network. This information also makes possible the

of the INDIRECT NEIGHBOR strategy defined below


A more precise description of the NR message is

following


The data portion of the message will consist largely

blocks of data. Each block will be headed by a gateway address

which will be the address either of the gateway sending

message or of one of that gateway's neighbors. Each

address will be followed by a list of the networks for which

gateway is an appropriate first hop, and the distance from

gateway to each network


Preceding the list of data blocks is

a) The address of the network which this message is about




- 18 -


RFC 827 Bolt Beranek and Newman Inc
Eric C.



If G and G' are neighbors on network N, then in the

message going from G to G', this is the address

network N. For convenience, four bytes have

allocated for this address -- the trailing one, two,

three bytes should be zero


b) The count (one byte) of the number of interior

of G for which this message contains data blocks.

convention, this count will include the data block for

itself, which should be the first one to appear


c) The count (one byte) of the number of exterior

of G for which this message contains data blocks


Then follow the data blocks themselves, first the block

G itself, then the blocks for all the interior neighbors of G (

any), then the blocks for the exterior neighbors. Since

gateways mentioned are on the same network, whose address

already been given, the gateway addresses are given with

network address part (one, two, or three bytes) omitted, to

space


Each block includes a one-byte count of the number

networks for which that gateway is the appropriate first hop.

the list of networks, each network address is either one, two,

three bytes, depending on whether it is a class A, class B,



- 19 -


RFC 827 Bolt Beranek and Newman Inc
Eric C.



class C network. No trailing bytes are used


It may sometimes be necessary to fragment the NR message

The NR message contains a byte indicating the number of

fragment (fragments will be numbered from zero), and a

containing the number of the last fragment (NOT the number

fragments). If fragmentation is not used, these bytes must

be zero. EACH FRAGMENT MUST BE A FULLY SELF-CONTAINED

MESSAGE. That is, each fragment will begin with a count

interior and exterior neighbors, and will have some

number of gateway data blocks. The number of data blocks in

fragment must correspond to the neighbor counts at the

of that fragment. However, only the first fragment should

with a data block describing the sending gateway


This scheme enables each fragment to be

independently, and requires no complex reassembly mechanisms.

also enables processing of a message all of whose fragments

not been received. If, after some amount of time and some

of retransmissions of a poll, not all fragments have

received, the fragments which are present shall be processed

if they constituted the complete NR message. (This means

networks mentioned only in the missing fragment will retain

"distance" values they had in the previous NR message from

gateway. However, if no new value for a particular network



- 20 -


RFC 827 Bolt Beranek and Newman Inc
Eric C.



received in the next NR message from that gateway, the

will be declared unreachable.)















































- 21 -


RFC 827 Bolt Beranek and Newman Inc
Eric C.



5 POLLING FOR NR


No gateway is required to send NR messages to any

gateway, except as a response to an NR Poll from a

neighbor. However, a gateway is required to respond to an

Poll from a direct neighbor within several seconds (subject

the qualification two paragraphs hence), even if the

believes that neighbor to be down


The EGP NR Poll message is defined for this purpose.

gateway may poll another for an NR message more often than

per minute. A gateway receiving more than one poll per

may simply ignore the excess polls, or may return an

message. The Hello and I Heard You messages which gateway

sends to gateway G' indicate the minimum interval which G

accept as the polling interval from G'. That is, G' will

guarantee to respond to polls from G that arrive less than

interval apart


Polls must only be sent to direct neighbors which

declared reachable by the neighbor reachability protocol


An NR Poll message contains an identification number

by the polling gateway. The polled gateway will return

number in the NR message it sends in response to the poll,

enable the polling gateway to match up received NR messages



- 22 -


RFC 827 Bolt Beranek and Newman Inc
Eric C.



polls. It will be the responsibility of the polling gateway

choose an identification number which is sufficiently "unique"

allow detection of out-of-date NR messages which may still

floating around the network. Since polls are

infrequent, this is not expected to be much of a problem

However, to aid in choosing an identification number, the

and I Heard You messages carry the identification number of

last NR poll received from the neighbor to which they are

sent


In general, a poll should be retransmitted some number

times (with a reasonable interval between retransmissions)

an NR message is received. IF NO NR MESSAGE IS RECEIVED

THE MAXIMUM NUMBER OF RETRANSMISSIONS, THE POLLING GATEWAY

ASSUME THAT THE POLLED GATEWAY IS NOT AN APPROPRIATE FIRST

FOR ANY NETWORK WHATSOEVER. The optimum parameters for

polling/retransmission algorithm will be dependent on

characteristics of the two neighbors and of the

connecting them


If only some fragments of an NR message are received

the maximum number of retransmissions, the fragments that

present shall be treated as constituting the whole of the

message





- 23 -


RFC 827 Bolt Beranek and Newman Inc
Eric C.



Received NR messages whose identification numbers do

match the identification number of the most recently sent

shall be ignored. There is no provision for multiple

polls to the same neighbor











































- 24 -


RFC 827 Bolt Beranek and Newman Inc
Eric C.



6 SENDING NR


In general, NR messages are to be sent only in response to

poll. However, between two successive polls from an

neighbor, a gateway may send one and only one unsolicited

message to that neighbor. This gives it limited ability

quickly announce network reachability changes that may

occurred in the interval since the last poll. Excess

NR messages may be ignored, or an error message may be returned


An NR message should be sent within several seconds

receipt of a poll. Failure to respond in a timely manner to

NR poll may result in the polling gateway's deciding that

polled gateway is not an appropriate first hop to any network


NR messages sent in response to polls carry

identification number of the poll message in

"identification number" fields. Unsolicited NR messages

the identification number of the last poll received, and have

"unsolicited" bit set. (Note that this allows for only a

unsolicited NR message per polling period.)


To facilitate the sending of unsolicited NR messages, the

poll message has a byte indicating the polling interval

minutes





- 25 -


RFC 827 Bolt Beranek and Newman Inc
Eric C.



Polls from non-neighbors, from neighbors which are

declared reachable, or with bad IP source network fields,

be responded to with an EGP error message with the

"reason" field. If G sends an NR poll to G' with IP

network N, and G' is not a neighbor of G on its interface

network N (or G' does not have an interface to network N),

the source network field is considered "bad".


Duplicated polls (successive polls with the

identification number) should be responded to with duplicates

the same NR message. If that message is fragmented, the

fragments shall be sent each time. Note that there is

provision for handling multiple outstanding polls from a

neighbor. NOTE THAT IF THE SAME FRAGMENTS ARE NOT SENT

RESPONSE TO DUPLICATED POLLS, INCORRECT REASSEMBLY WILL BE

PROBABLE RESULT. If fragmentation is not being used, however

then no harm should result from responding to a duplicate

with a different (presumably more recent) NR message
















- 26 -


RFC 827 Bolt Beranek and Newman Inc
Eric C.



7 INDIRECT


Becoming a "direct neighbor" of an exterior gateway

three steps: (a) neighbor acquisition, (b) running a

reachability protocol, and (c) polling the neighbor

for NR messages. Suppose, however, that gateway G receives an

message from G', in which G' indicates the presence of

neighbors G1, ..., Gn, each of which is an appropriate first

for some set of networks to which G' itself is not an

first hop. Then G should be allowed to forward traffic for

networks directly to the appropriate one of G1, ..., Gn,

having to send it to G' first. In this case, G may be

an INDIRECT NEIGHBOR of G1, ..., Gn, since it is a neighbor

these other gateways for the purpose of forwarding traffic,

does not perform neighbor acquisition, neighbor reachability,

exchange of NR messages with them. Neighbor and

reachability information is obtained indirectly via G', hence

designation "indirect neighbor". We say that G is an

neighbor of G1, ..., Gn VIA G'.


If G is an indirect neighbor of G' via G'', and then

receives an NR message from G'' which does not mention G',

should treat G' as having become unreachable







- 27 -


RFC 827 Bolt Beranek and Newman Inc
Eric C.



8 HOW TO BE A STUB


The most common application of EGP will probably be its

to enable a stub gateway to communicate with one of the

core gateways, so as to enable data flow between

accessible only via the stub and networks accessible only via

system of core gateways. As discussed previously, a stub

can be considered to be a one-gateway internet system with

interior neighbors. It is probably used to interface a

network or networks to a long range transport network (such

ARPANET or SATNET) on which there is a core gateway. In

case, the stub will not want the core gateways to forward it

traffic other than traffic which is destined for the network

networks which can be reached only via the stub. In general,

stub will not want to perform any services for the

transport system which are not needed in order to be able to

traffic to and from the networks that cannot be

reached


The stub should have tables configured in with the

of a small number of the core gateways (no more than two

three) with which it has a common network. It will be

responsibility of the stub to initiate neighbor acquisition

these gateways. When a stub and a core gateway become

neighbors, the core gateway will begin sending Hello messages



- 28 -


RFC 827 Bolt Beranek and Newman Inc
Eric C.



When the stub declares the core gateways which are

neighbors to be reachable, it should poll those gateways for

messages at a rate not to exceed once per minute (or as

in the Hello messages from the core gateways). The core

will also poll the stub for NR messages


The NR message sent by the stub should be the

allowable. That is, it should have only a single data block

headed by its own address (on the network it has in common

the neighboring core gateway), listing just the networks to

it is an appropriate first hop. These will be just the

that can be reached no other way, in general


The core gateways will send complete NR messages,

information about all other gateways on the common networks,

core gateways (which shall be listed as interior neighbors)

other gateways (which shall be listed as exterior neighbors,

may include the stub itself). This information will enable

stub to become an indirect neighbor of all these other gateways

That is, the stub shall forward traffic directly to these

gateways as appropriate, but shall not become direct

with them


The core gateways will report distances less than 128 if

network can be reached without leaving the core system (i.e.,




- 29 -


RFC 827 Bolt Beranek and Newman Inc
Eric C.



without traversing any gateway other than a core gateway),

greater than or equal to 128 otherwise


The stub should NEVER forward to any (directly

indirectly) neighboring core gateway any traffic for which

gateway is not an appropriate first hop, as indicated in an

message. Of course, this does not apply to datagrams which

using the source route option; any such datagrams should

be forwarded as indicated in the source route option field,

if that requires forwarding to a gateway which is not

appropriate first hop


If the direct neighbors of a stub should all fail, it

be the responsibility of the stub to acquire at least one

direct neighbor. It can do so by choosing one of the

gateways which it has had as an indirect neighbor, and

the neighbor acquisition protocol with it. (It is possible

no more than one core gateway will ever agree to become a

neighbor with any given stub gateway at any one time.)


If the stub gateway does not respond in a timely manner

Hello messages from the core gateway, it may be

unreachable. If it does not respond to NR poll messages in

timely manner, its networks may be declared unreachable. In

these cases, the core gateways may discard traffic destined




- 30 -


RFC 827 Bolt Beranek and Newman Inc
Eric C.



those networks, returning ICMP "destination network unreachable

to the source hosts


The stub gateway is expected to fully execute the

protocol, as well as the EGP protocol. In particular, it

respond to ICMP echo requests, and must send ICMP

dead messages as appropriate. It is also required to send

Redirect messages as appropriate




































- 31 -


RFC 827 Bolt Beranek and Newman Inc
Eric C.



9


It must be clearly understood that the Exterior

Protocol does not in itself constitute a network

algorithm. In addition, it does not provide all the

needed to implement a general area routing algorithm. If

topology of the set of autonomous systems is not tree-

(i.e., if it has cycles), the Exterior Gateway Protocol does

provide enough topological information to prevent loops


If any gateway sends an NR message with false information

claiming to be an appropriate first hop to a network which it

fact cannot even reach, traffic destined to that network

never be delivered. Implementers must bear this in mind

























- 32 -


RFC 827 Bolt Beranek and Newman Inc
Eric C.



NEIGHBOR ACQUISITION




0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! EGP Version # ! Type ! Code ! Info !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! Checksum ! Autonomous System # !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! Identification # !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Description

The Neighbor Acquisition messages are used by interior
exterior gateways to become neighbors of each other

EGP Version #

1



3



Code = 0 Neighbor Acquisition
Code = 1 Neighbor Acquisition
Code = 2 Neighbor Acquisition Refusal (see Info field
Code = 3 Neighbor Cease Message (see Info field
Code = 4 Neighbor Cease



The EGP checksum is the 16-bit one's complement of the one'
complement sum of the EGP message starting with the
version number field. For computing the checksum,
checksum field should be zero

Autonomous System #

This 16-bit number identifies the autonomous
containing the gateway which is the source of this message



- 33 -


RFC 827 Bolt Beranek and Newman Inc
Eric C.





For Refusal message, gives reason for refusal

0
1 Out of table
2 Administrative

For Cease message, gives reason for ceasing to be neighbor

0
1 Going
2 No longer

Otherwise, this field MUST be zero

Identification

An identification number to aid in matching requests
replies






























- 34 -


RFC 827 Bolt Beranek and Newman Inc
Eric C.



NEIGHBOR HELLO/I HEARD YOU


0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! EGP Version # ! Type ! Code ! Status !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! Checksum ! Autonomous System # !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! Sequence # !Min Poll Intvl ! Zero !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! Last Poll Id # !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Description

Exterior neighbors use EGP Neighbor Hello and I Heard
Messages to determine neighbor connectivity. When a
receives an EGP Neighbor Hello message from a neighbor
should respond with an EGP I Heard You message

EGP Version #

1



5



Code = 0 for
Code = 1 for I Heard



The EGP checksum is the 16-bit one's complement of the one'
complement sum of the EGP message starting with the
version number field. For computing the checksum,
checksum field should be zero

Autonomous System #

This 16-bit number identifies the autonomous
containing the gateway which is the source of this message




- 35 -


RFC 827 Bolt Beranek and Newman Inc
Eric C.



Sequence

A sequence number to aid in matching requests and replies



0 No status
1 You appear reachable to
2 You appear unreachable to me due to
reachability
3 You appear unreachable to me due to
reachability information (such as 1822 "
dead" messages from ARPANET
4 You appear unreachable to me due to
with my network

Last Poll Id

The identification number of the most recently
NR poll message from the neighbor to which this
is being sent

Minimum Polling

This gateway should not be polled for NR messages
often than once in this number of minutes
























- 36 -


RFC 827 Bolt Beranek and Newman Inc
Eric C.



NR POLL



0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! EGP Version # ! Type ! Code ! Unused !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! Checksum ! Autonomous System # !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! IP Source Network ! Interval !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! Identification # !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Description

A gateway that wants to receive an NR message from
Exterior Gateway will send an NR Poll message. Each
mentioned in the NR message will have an interface on
network that is in the IP source network field

EGP Version #

1



2



0



The EGP checksum is the 16-bit one's complement of the one'
complement sum of the EGP message starting with the
version number field. For computing the checksum,
checksum field should be zero

Autonomous System #

This 16-bit number identifies the autonomous
containing the gateway which is the source of this message




- 37 -


RFC 827 Bolt Beranek and Newman Inc
Eric C.



Identification

An identification number to aid in matching requests
replies

IP Source

Each gateway mentioned in the NR message will have
interface on the network that is in the IP source
field. The IP source network is coded as one byte
network number followed by two bytes of zero for class
networks, two bytes of network number followed by one
of zero for class B networks, and three bytes of
number for class C networks



The polling interval in minutes
































- 38 -


RFC 827 Bolt Beranek and Newman Inc
Eric C.



NETWORK REACHABILITY


0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! EGP Version # ! Type ! Code !U! Zeroes !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! Checksum ! Autonomous System # !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! Fragment # !# of last frg. ! Identification # !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! IP Source Network !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! # of Int Gwys ! # of Ext Gwys !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! # of Nets ! ; # of nets
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Gateway 1
! Gateway 1 IP address (without network #) ! ; 1, 2 or 3
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! net 1,1 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ; 1, 2 or 3
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! distance !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! net 1,2 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ; 1, 2 or 3
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! distance !
+-+-+-+-+-+-+-+-+
.
.

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! net 1,m !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ; m nets
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ; via Gateway 1
.
.
+-+-+-+-+-+-+-+-+
! # of nets ! ;number of nets for Gateway
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! Gateway n IP address (without network #) !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! net n,1 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ; 1, 2 or 3
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! distance !
+-+-+-+-+-+-+-+-+





- 39 -


RFC 827 Bolt Beranek and Newman Inc
Eric C.



+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! net n,2 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ; 1, 2 or 3
+-+-+-+-+-+-+-+-++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! distance ! .
+-+-+-+-+-+-+-+-+ .

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! net n,m !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ; m nets
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ; via Gateway
! distance !
+-+-+-+-+-+-+-+-+







































- 40 -


RFC 827 Bolt Beranek and Newman Inc
Eric C.



Description

The Network Reachability message (NR) is used to
which networks may be reached through Exterior Gateways. The
message is sent in response to an NR Poll message

EGP Version #

1



1



0



The EGP checksum is the 16-bit one's complement of the one'
complement sum of the EGP message starting with the
version number field. For computing the checksum,
checksum field should be zero

Autonomous System #

This 16-bit number identifies the autonomous
containing the gateway which is the source of this message

U (Unsolicited)

This bit is set if the NR message is being sent unsolicited


Identification

The identification number of the last NR poll
received from the neighbor to whom this NR message is
sent. This number is used to aid in matching polls
replies

Fragment

Which Fragment this is in the NR Message. Zero,
fragmentation is not used




- 41 -


RFC 827 Bolt Beranek and Newman Inc
Eric C.



Number of Last

Number of the last fragment in the NR Message. Zero,
fragmentation is not used

IP Source

Each gateway mentioned in the NR message will have
interface on the network that is in the IP source
field

# of Interior

The number of interior gateways that are mentioned in
message

# of Exterior

The number of exterior gateways that are mentioned in
message

# of

The number of networks for which the gateway whose
address immediately follows is the appropriate first hop

Gateway IP

1, 2 or 3 bytes of Gateway IP address (without network #).

Network

1, 2, or 3 bytes of network address of network which can
reached via the preceding gateway



1 byte of distance in # of hops












- 42 -


RFC 827 Bolt Beranek and Newman Inc
Eric C.



EGP ERROR

0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! EGP Version # ! Type ! Code ! Unused !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! Checksum ! Autonomous System # !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! Error Type ! Error Code ! Id. # of Erroneous Msg. !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! Sequence # !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Description

An EGP Error Message is sent in response to an EGP
that has a bad checksum or has an incorrect value in one
its fields

EGP Version #

1



8



0



The EGP checksum is the 16-bit one's complement of the one'
complement sum of the EGP message starting with the
version number field. For computing the checksum,
checksum field should be zero

Autonomous System #

This 16-bit number identifies the autonomous
containing the gateway which is the source of this message







- 43 -


RFC 827 Bolt Beranek and Newman Inc
Eric C.



Sequence

A sequence number assigned by the gateway sending the
message

Error

The Type of the EGP message that was in error

Error

The Code of the EGP message that was in error

Identification number of erroneous

The Sequence number of the EGP message that was in error



The reason that the EGP message was in error. The following
are defined

0 -
1 - Bad EGP
2 - Bad IP Source address in NR Poll or
3 - Undefined EGP Type or
4 - Received poll from non-
5 - Received excess unsolicted NR
6 - Received excess
7 - Erroneous counts in received NR
8 - No response received to NR
9 - Not all fragments of NR message


















- 44 -









if you see any problems within the linking, don't worry be happy,
this is version 0.1 of the Relevance System and you gotta expect some crappy subroutines sometimes,
just be content we did not write this in Java, which would have made this "bigger and better" HAHAHHA.




RFC documents can be found at I.E.T.F.



Relevance System Copyright © 2002 Spectrum WorldResearch
other technical nosh by ServerMasters Corporation
collaboration of BobX







Spectrum