6.2.3 Inter-Domain Routing Protocols
6.2.3.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