6.2.3 Inter-Domain Routing Protocols
1. The Exterior Gateway Protocol (EGP)
The Exterior Gateway Protocol (EGP) is an exterior routing or Inter-Domain Routing protocol
used for exchanging routing information with gateways in other autonomous systems. Unlike
interior protocols, EGP propagates only reachability indications, not true metrics. EGP updates
contain metrics, called distances, which range from 0 to 255. GateD will only compare EGP
distances learned from the same AS.
Before EGP sends routing information to a remote router, it must establish an adjacency with that
router. This is accomplished by an exchange of Hello (not to be confused with the HELLO
protocol, or OSPF HELLO messages) and I Heard You (I-H-U) messages with that router.
Computers communicating via EGP are called EGP neighbors, and the exchange of HELLO and
I-H-U messages is referred to as acquiring a neighbor. Once the neighbor is acquired, the system
polls the neighbor for routing information. The neighbor responds by sending an update
containing routing information. If the system receives a poll from its neighbor, it responds with its
own update packet. When the system receives an update, it includes routes from the update into
its routing database. If the neighbor fails to respond to three consecutive polls, GateD assumes
that the neighbor is down and removes the neighbor's routes from its database.
The EGP Statement
egp yes | no | on | off
[ {
preference preference ;
defaultmetric metric ;
packetsize number ;
traceoptions trace_file_option trace_options;
group
[ peeras autonomous_system ]
[ localas autonomous_system ]
[ maxup number ]
{
neighbor host
[ metricout metric ]
[ preference preference ]
[ preference2 preference ]
[ ttl ttl ]
[ nogendefault ]
[ importdefault ]
[ exportdefault ]
[ gateway gateway ]
[ lcladdr local_address ]
[ sourcenet network ]
[ minhello | p1 time ]
[ minpoll | p2 time ]
[ traceoptions trace_options ]
;
} ;
} ] ;
- preference preference
- Sets the preference for routes learned from RIP. The default preference is 200. This
preference may be overridden by a preference specified on the group or neighbor
statements or by import policy.
- defaultmetric metric ;
- Defines the metric used when advertising routes via EGP. If not specified, the default
value is 255 which some systems may consider unreachable. This choice of values
requires you to specify a metric when exporting routes to EGP neighbors. This metric
may be overridden by a metric specified on the neighbor or group statements or in
export policy.
- packetsize maxpacketsize
- This defines the expected maximum size of a packet that EGP expects to receive from
this neighbor. If a packet larger than this value is received, it will be incomplete and
have to be discarded. The length of this packet will be noted and the expected size will
be increased to be able to receive a packet of this size. Specifying the parameter here
will prevent the first packet from being dropped. If not specified, the default size is 8192
bytes. All packet sizes are rounded up to a multiple of the system page size.
- traceoptions trace_options
- Specifies the tracing options for EGP. By default these are inherited from the global
trace options. These values may be overridden on a group or neighbor basis. (See
Trace Statements and the EGP specific tracing options below.)
- group
- EGP neighbors must be specified as members of a group. A group is usually used to
group all neighbors in one autonomous system. Parameters specified on the group
clause apply to all of the subsidiary neighbors unless explicitly overridden on a
neighbor clause. Any number of group clauses may specify any number of
neighbor clauses.
- Any parameters from the neighbor subclause may be specified on the groupclause
to provide defaults for the whole group (which may be overridden for individual
neighbors). In addition, the group clause is the only place to set the following
attributes:
- peeras
- Identifies the autonomous system number expected from peers in the group. If
not specified, it will be learned dynamically.
- localas
- Identifies the autonomous system which GateD is representing to the group. The
default is that which has been set globally in the
autonomoussystemstatement. This option is usually only used when
masquerading as another autonomous system and it's use is discouraged.
- maxup
- Specifies the number of neighbors GateD should acquire from this group. The
default is to acquire all of the neighbors in the group. GateD will attempt to
acquire the first maxup neighbors in the order listed. If one of the first neighbors
is not available, it will acquire one further down the list. If after start-up, GateD
does manage to acquire the more desirable neighbor, it will drop the less
desirable one.
- neighbor neighbor_address
- Each neighbor subclause defines one EGP neighbor within a group. The only part of
the subclause that is required is the neighbor_address argument which is the
symbolic host name or IP address of the neighbor. All other parameters are optional.
- preference preference
- Specifies the preference used for routes learned from these neighbors. This can
differ from the default EGP preference set in the egp statement, so that GateD
can prefer routes from one neighbor, or group of neighbors, over another. This
preference may be explicitly overridden by import policy.
- preference2preference
- In the case of a preference tie, the second preference, preference2, may
be used to break the tie. The default value is 0.
- metricout metric
- This defines a metric to be used for all routes sent to this neighbor. The value
overrides the default metric set in the egp statement and any metrics specified by
export policy, but only for this specific neighbor or group of neighbors.
- nogendefault
- Prevents GateD from generating a default route when EGP receives a valid
update from its neighbor. The default route is only generated when the
gendefaultoption is enabled.
- importdefault
- Enables GateD to accept the default route (0.0.0.0) if it is included in a received
EGP update. If not specified, the default route contained in an EGP update is
ignored. For efficiency, some networks have external routers announce a default
route to avoid sending large EGP update packets.
- exportdefault
- Enables GateD to include the default route (0.0.0.0) in EGP updates sent to this
EGP neighbor. This allows the system to advertise the default route via EGP.
Normally a default route is not included in EGP updates.
- gateway gateway
- If a network is not shared with a neighbor, gateway specifies a router on an
attached network to be used as the next hop router for routes received from this
neighbor. This option is only rarely used.
- lcladdr local_address
- Specifies the address to be used on the local end of the connection with the
neighbor. The local address must be on an interface which is shared with the
neighbor or with the neighbor's gateway when the gateway parameter is used.
A session will only be opened when an interface with the appropriate local
address (through which the neighbor or gateway address is directly reachable) is
operating.
- sourcenet network
- Specifies the network queried in the EGP Poll packets. By default this is the
network shared with neighbors address specified. If there is no network shared
with the neighbor, one of the networks that the neighbor is attached to should be
specified. This parameter can also be used to specify a network shared with the
neighbor, other than the one on which the EGP packets are sent. This parameter
is normally not needed.
- p1 time
- minhello time
- Sets the minimum acceptable interval between the transmission of EGP HELLO
packets. The default hello interval is 30 seconds. If the neighbor fails to respond
to three hello packets, GateD stops trying to acquire the neighbor. Setting a
larger interval gives the neighbor a better chance to respond. Minhello is an alias
for the P1 value defined in the EGP specification.
- p2 time
- minpoll time
- Sets the time interval between polls to the neighbor. The default is 120 seconds.
If three polls are sent without a response, the neighbor is declared "down" and all
routes learned from that neighbor are removed from the routing database. A
longer polling interval supports a more stable routing database, but is not as
responsive to routing changes. Minpoll is an alias for the P2 value defined in the
EGP specification.
- ttl ttl
- By default, GateD sets the IP TTL for local neighbors to one and the TTL for
non-local neighbors to 255. This option is provided when attempting to
communicate with improperly functioning routers that ignore packets sent with a
TTL of one.
- traceoptions trace_options
- Specifies the tracing options for this EGP neighbor. By default, these are
inherited from group or EGP global trace options. (See Trace Statements and the
EGP specific tracing options below.)
Tracing options
The state and policy options work with EGP.
Packet tracing options (which may be modified with detail, send and recv):
- packets
- All EGP packets
- hello
- EGP HELLO/I-HEARD-U packets which are used to determine neighbor
reachability.
- acquire
- EGP ACQUIRE/CEASE packets which are used to initiate and terminate EGP sessions.
- update
- EGP POLL/UPDATE packets which are used to request and receive reachability
updates.
Last updated April 26, 1997
gated@gated.merit.edu