Super Sparrow obtains BGP information that is used to determine which point of presence is closest to a client by accessing existing route servers. At this stage three route server types are supported, GNU Zebra, Gated and Cisco IOS. The current implementation obtains routing information by establishing a TCP/IP connection to the route server and issuing a query, in the same way that a user may manually query a route.
By using existing route servers Super Sparrow is able to leverage
existing BGP technologies. This has the added advantage that a number of
route server types can be supported maximising the flexibility of
Super Sparrow in fitting into existing infrastructure.
GNU Zebra is a routing daemon, released under the GNU General Public
Licence, available from www.zebra.org.
GNU Zebra is copyright
DML Networks, Inc.
GNU Zebra is able to manage many TCP/IP routing protocols including
BGP. GNU Zebra is configured interactively via telnet using an
interface similar to that of Cisco IOS.
Super Sparrow obtains information by making a TCP/IP connection
to the bgpd component of GNU Zebra, issuing a query,
and parsing the output. This can be done manually using telnet as
follows:
This indicates that there are two valid routes to 192.168.195.15 from
192.168.192.13 and that the second route listed is preferred. The
AS path for the preferred route is 64702. It is
the AS path of the preferred route that Super Sparrow uses to
determine if a point of presence in the Super Sparrow network is
closer to the address begin queried than the route server being queried.
More details of the topology being shown by this query are shown in the configuration section along with details of
how to configure GNU Zebra. A discussion of how the AS path can
be used to determine the best point of presence for a client is given in
the BGP section.
Gated is a routing daemon available from
www.gated.org.
Gated is copyright
Merit Network, Inc.
Gated is able
to speak many TCP/IP routing protocols including BGP. Gated has two
main releases, a public release which is freely downloadable, and
a private release which requires are licencing agreement. The public
version is supported by Super Sparrow. Gated is configured by
editing a configuration file and changed take effect by either restarting
or sending a SIGHUP to the daemon.
Status information is available by telneting to GII, the Gated
Interactive Interface. This is the method that Super Sparrow obtains
information from Gated by making a TCP/IP connection to GII. This can be
simulated manually using telnet as follows:
This shows that the preferred route to 192.168.192.10 from 192.168.193.11
has the AS path (64702) 64700. 192.168.192.10 is also covered by
a less specific static route as designated by Sta. The
AS number in brackets represents the AS number of 192.168.193.11
itself. Super Sparrow uses the AS path to determine the best
point of presence for a client to connect to. More information on
configuring Gated for the topology shown can be found in the configuration section. For a discussion on
how AS paths are used to determine the best point of presence for a
given IP address see the BGP section.
IOS is the operating system that runs on Cisco routers and is synonymous
with BGP and routing in general. Cisco and IOS are trademarks of Cisco Systems, Inc. IOS can be
configured and queried using a command line interface via telnet.
Super Sparrow is able to obtain information from cisco routers by
making a TCP/IP connection to the telnet port of the router.
This can be demonstrated using telnet:
This shows that the preferred route to 192.168.0.2 from 192.168.128.3 has
the AS path 64800. 192.168.0.2 is also covered by a route with
AGS path 64900 64800. Super Sparrow uses the AS path
to determine the best point of presence for a client to connect to. For a
discussion on how AS paths are used to determine the best point of
presence for a given IP address see the BGP section.
Copyright © 2000 HormsGNU Zebra
$ telnet 192.168.192.13 bgpd
Trying 192.168.192.13...
Connected to 192.168.192.13.
Escape character is '^]'.
Hello, this is zebra (version 0.89.horms.pre.2)
Copyright 1996-2000 Kunihiro Ishiguro
User Access Verification
Password:
jasmine> sho ip bgp 192.168.193.15
BGP routing table entry for 192.168.193.0/24
Paths: (2 available, best #2, table Default-IP-Routing-Table)
64600 64601 64602
192.168.192.12 from 192.168.192.12 (192.168.192.12)
Origin IGP, metric 1, localpref 100, valid, external
Last update: Fri Oct 6 15:47:28 2000
64702
192.168.193.11 from 192.168.193.11 (192.168.193.11)
Origin IGP, metric 1, localpref 100, valid, external, best
Last update: Fri Oct 6 15:44:05 2000
jasmine> exit
Connection closed by foreign host.
Gated
$ telnet 192.168.193.11 gii
Trying 192.168.193.11...
Connected to 192.168.193.11.
Escape character is '^]'.
Password?
100 Gated Interactive Interface. Version gated-public-3_6
GateD-roger> sho ip walkup 192.168.192.10
100 BGP 192.168.192/24 192.168.193.14 (64702) 64700 IGP (Id 29)
100 Sta 0.0.0.0/0 192.168.193.14 IGP (Id 1)
GateD-roger> quit
Connection closed by foreign host.
Cisco IOS
$ telnet 192.168.128.3
Trying 192.168.128.3...
Connected to 192.168.128.3.
Escape character is '^]'.
User Access Verification
Password:
cisco>sh ip bgp 192.168.0.2
BGP routing table entry for 192.168.0.0 255.255.255.0, version 36
Paths: (2 available, best #1, advertised over EBGP)
64800
192.168.128.1 from 192.168.128.1
Origin IGP, metric 1, valid, external, best
64900 64800
192.168.128.2 from 192.168.128.2
Origin IGP, valid, external
cisco>exit
Connection closed by foreign host.
Notes on Commands
Commands shown in paragraphs of preformated text are prefixed by the shell
prompt $ to avoid confusion between commands and their output. An
instruction to run the command echo flim is formated as:
$ echo flim
flim
Last Updated: Tue May 17 17:37:18 2005