The Exterior Gateway Protocol (EGP)

The Exterior Gateway Protocol (EGP) is an exterior 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. them.

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_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 statments 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 explicitly 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 group clause 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 autonomoussystem statement. 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 overriden by import policy.
preference2 preference
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 gendefault option 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 sessionwill 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 network 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 1994/03/15 19:40:34.

gated@gated.cornell.edu