Routing Protocols: (1) Introduction
Routing Protocols: (1) Introduction
Routing Protocols
(1) Introduction
Original Internet and the problem if the core routers are allowed to have default routes.
Multiple backbones
At beginning, NSFNET attached to the ARPANET backbone through a single router in
Pittsburgh, routing is easy: routers inside NSFNET send all non-NSFNET traffic to
ARPANET via the Pittsburgh router
Multiple connections were added later, and routing becomes complicated
Example: From host 3 to host 2, there are many possible routes, which one to choose?
What We Need:
• Have a set of core routers know routes to all locations
• Devise a mechanism that allows other routers to contact the core to learn routes (spread
necessary routing information automatically)
• Continually update routing information
The Idea:
BGP Setup
BGP speaker: a router running the BGP protocol is known as a BGP speaker. Each AS
designates a border router to speak on its behalf. Some large ASs have several speakers.
BGP peering:
BGP speakers communicate across TCP and become peers or neighbors. BGP uses
TCP port 179 for establishing its connections.
Providers typically try to peer at multiple places. Either by peering with the same AS
multiple times, or because some ASs are multi-homed, a typical network will have
many candidate paths to a given prefix.
BGP peers are often directly connected at the IP layer; that is, there are no intermediate
nodes between them. This is not necessary for operation, as peers can form a multi-hop
session, where an intermediate router that does not run BGP passes protocol messages
to the peer (this is a less commonly seen configuration).
BGP Aggregation
Routes can be aggregated
For example, a BGP speaker at the border of an autonomous system (or group of
autonomous systems) must be able to generate an aggregated route for a whole set of
destination IP addresses over which it has administrative control (including those addresses
it has delegated), even when not all of them are reachable at the same time.
BGP statistics in the BGP table of AS4637 (Reach) on November 30, 2005
AS4637 is a large AS.
20946: Number of ASes in routing system
173244: Number of network prefixes
8700: Number of ASes annonuncing only one prefix
1458: Largest number of prefixes announced by an AS: AS7018 (AT &T WorldNet
Services)
91316736: Largest address span announced by an AS: AS721 (DoD Network Information
Center).
BGP routing
Each AS originates one or more prefixes representing the addresses assigned to hosts and
devices within its network.
CIDR representation: prefix / (# most significant bits). For example, 192.68.0.0/16.
BGP peers constantly exchange the set of known prefixes and paths for all destinations in
the Internet via UPDATE messages.
Each AS advertises the prefixes it is originating to its peers.
All ASes update their routing tables based on their neighbors’ reachability information, and
forward the received information to each of their other neighbors.
AS_path
ASes establish a AS path for each advertised prefix
The paths are vectors of ASes that packets must traverse to reach the originating AS.
Path vectors are stored in a routing table and shared with neighbors via BGP.
As a BGP route travels from AS to AS, the AS number of each AS is stamped on it when it
leaves that AS.
An example:
AS3561
204.70.0.0/15 AS701
192.67.95.0/24
G
F
AS3847 D
207.240.0.0/16 AS1673
C 140.222.0.0/16
A
192.67.95.0/24 3847 701 i
140.222.0.0 3847 1673 i
AS6201
204.70.0.0/15 3847 3561 i
207.240.0.0/16 3847 i
Withdrawn Routes---Contains a list of IP address prefixes for routes being withdrawn from
service.
Path Attributes---Describes the characteristics of the advertised path. The following are
possible attributes for a path:
Origin: Mandatory attribute that defines the origin of the path information
AS Path: Mandatory attribute composed of a sequence of autonomous system path
segments
Next Hop: Mandatory attribute that defines the IP address of the border router that
should be used as the next hop to destinations listed in the network layer reachability
information field
Multi-Exit Discriminator: Optional attribute used to discriminate between multiple exit
points to a neighboring autonomous system
Local Preference: Discretionary attribute used to specify the degree of preference for an
advertised route
Atomic Aggregate: Discretionary attribute used to disclose information about route
selections
Aggregator: Optional attribute that contains information about aggregate routes
Network Layer Reachability Information---Contains a list of IP address prefixes for the
advertised routes
Routing Policy
BGP enforces routing policies, such as the ability to forward data only for paying
customers through a number of protocol features.
Routing policies are related to political, security, or economic considerations.
A multihomed AS can refuse to act as a transit AS for other AS's. (It does so by only
advertising routes to destinations internal to the AS.)
A multihomed AS can become a transit AS for a restricted set of adjacent AS's, i.e.,
some, but not all, AS's can use the multihomed AS as a transit AS. (It does so by
advertising its routing information to this set of AS's.)
An AS can favor or disfavor the use of certain AS's for carrying transit traffic from
itself.
BGP uses the attribute values in UPDATE messages to help enforce policies.
Policies configured in a BGP router allow it to do the following:
Filter the routes received from each of its peers
Filter the routes advertises to its peers
Select routes based on desired criteria
Forward traffic based on those routes
Setting policy often involves techniques to bias BGP’s route selection algorithm.
Multiple Path
BGP could possibly receive multiple advertisements for the same route from multiple
sources.
BGP selects only one path as the best path.
When the path is selected, BGP puts the selected path in the IP routing table and propagates
the path to its neighbors.
Lowest origin type: A path learned entirely from BGP (i.e., whose endpoint is internal
to the last AS on the path) is generally better than one for which part of the path was
learned via EGP or some other means.
Policy considerations
Presence or absence of a certain AS or AS’s in the path
Link dynamics: Stable paths should be preferred over unstable ones.
AS11872:
SYRACUSE-UNIVERSITY
-
Syracuse
University
Prefix
(AS
Path)
128.230.0.0/16
4637
6395
11872
149.119.0.0/16
4637
6395
11872
192.155.14.0/24
4637
6395
11872
192.155.16.0/24
4637
6395
11872
Note:
AS6395
is
BROADWING
-
Broadwing
Communications
Services,
Inc.
AS4637
is
REACH Reach Network Border AS
Address Space
AS11872 (Syracuse University)
Originate Address Space: 131584/14.99
Transit Address Space: 0 (i.e., AS11872 does not provide transit service).
AS6395 (Broadwing, a Tier-I ISP)
Originate Address Space: 1365504/11.62
Transit Address Space: 7683584/9.13 (i.e., it does provide transit service)
AS4637 (Reach)
Originate Address Space: 314880/13.74
Transit Address Space 1713352013/1.33 (the transit coverage is larger than AS6395)
NYSERNet buys the Internet service from Broadwing, a Tier-I ISP (and maybe others).
Therefore, commercial traffic goes to those backbone.
NYSERNet connects to the Abilene (AS11537). The Abilene Network is an Internet2 high-
performance backbone network that enables the development of advanced Internet
applications and the deployment of leading-edge network services to Internet2 universities
and research labs across the country. The network has become the most advanced native IP
backbone network available to universities participating in Internet2.
If we traceroute to an Internet2 universities, most likely the traffic goes through the
Abilene backbone (abilene.ucaid.edu).
If we traceroute to a company (e.g., yahoo.com), most likely the traffic goes through
the Broadwing backbone.
Misconfigurations
Misconfigurations are quite common in practice, and they can cause the same problems that
an attack could cause.
April 25 1997: AS7007 flooded the Internet with incorrect advertisements, announcing
AS7007 as the origin of the best path to essentially the entire Internet.
April 7 1998: AS8584 announced about 10,000 prefixes it did not own.
April 6 2001: AS15412 announced about 5,000 prefixes it did not own.
Attacking assumptions
Attackers have already compromised and taken complete control of one or more BGP
speakers.
Objectives of an attacker
Blackholing: occurs when a prefix is unreachable from a large portion of the Internet.
Intentional blackhole routing is used to enforce private and non-allocated IP ranges.
Malicious blackholing refers to false route advertisements that aim to attract traffic to a
particular router and then drop it.
Redirection: occurs when traffic flowing to a particular network is forced to take a different
path and to reach an incorrect, potentially also compromised, destination.
Subversion: is a special case of redirection in which the attacker forces the traffic to pass
through a certain link with the objective of eavesdropping or modifying the data.
Instability: can be caused by successive advertisements and withdrawals for the same
network.
For example, if the prefixes 12.0.0.0/8 and 12.0.0.0/16 are advertised, the latter prefix,
which corresponds to a more specific portion of the address block, will be chosen.
If an AS falsely claims to be the origin of a prefix and the update has a longer prefix
than others currently in the global routing table, it will have fully hijacked that prefix.
The false updates will eventually be propagated throughout the Internet.
Attacking Scenarios:
Router B wants to subvert traffic destined to AS2:
It could announce a fake route, announcing that it has a direct connection to AS2.
It could also claim ownership of the address blocks originated by AS2. Routers A and
R would then forward traffic destined to AS2 to B.
B can de-aggregate the prefix announced by AS2 to two prefixes that are longer by one bit,
while keeping the AS-PATH to AS2 the same. In that case, traffic originating anywhere in
the Internet, except in AS2, and destined to AS2 would be forwarded towards router B.
If AS2 owned a prefix that was aggregated with other prefixes by the provider AS2, then B
could simply announce the original AS2 prefix.
Note that a compromised BGP speaker can use de-aggregation to blackhole a victim
network anywhere in the Internet, regardless of the proximity between the two.
Redirect traffic:
Normally, B should announce the AS1 route that goes through {AS1, AS3, AS4}.
Instead, B can propagate that route only to A indicating that it should not be announced
any further, and announce the padded route that goes through AS5 to R.
Update modifications
Suppose that AS3 uses the link V-N only for backup purposes because it is cheaper to
use link B-M instead. To achieve this, router N can pad the UPDATEs going to V,
making the corresponding AS-PATH longer.
Assume that R is compromised, and that it wants to redirect traffic to AS3 through the
more expensive link V-N.
R can drop the padding in the route that includes the {AS5, AS3} link, and instead pad
the route that includes the {AS4, AS3} link (or simply not announce it). This would
force traffic for AS3 to take the more costly V-N route.
Limitations of S-BGP
Require the presence of a hierarchical PKI infrastructure and distribution system, trusted by
all participating ISPs.
S-BGP is quite cryptographically intensive
Routers may need a large memory space (about 20MB per peer) to store the public keys.
The space requirement can be significant for a speaker with tens of peers
Aggregation is an additional problem for S-BGP
S-BGP cannot prevent “collusion attacks” (or the wormhole attack). Such attacks are
possible when two compromised routers fake the presence of a direct link between them.
For the rest of the Internet, it then appears as if those two ASes are connected.
IGP Protocols
There is no single standard for IGP.
Examples of IGP: RIP, HELLO, OSPF
Distance-Vector Routing
Each entry in the table identifies a destination network and gives the distance to that
network, usually measured in hops
Initially, a router initializes its routing table to contain an entry for each directly connected
network.
Periodically, each router sends a copy of its routing table to any other router it can reach
directly. When a report arrives at router K from router J, K replaces its table entry under
the following conditions:
If J knows a shorter way to reach a destination
If J lists a destination that K does not have
If K currently routers to a destination through J and J’s distance to that destination
changes.
OSPF authentication
Simple Authentication
A password (key) is configured on each router and is included in plaintext in each
OSPF packet originated by that router.
It is not secure.
MD5 Authentication
It is based on shared secret keys that are configured in all routers in the area.
Each router computes an MD5 hash for each packet based on the content of the packet
and the configured secret key. Then it includes the resulting hash value in the OSPF
packet.
The receiving router, using the pre-configured secret key, will compute an MD5 hash
of the packet and compare it with the hash value that the packet carries thus verifying
its authenticity.
Sequence numbers are also employed with MD5 authentication to protect against
replay attacks.
(7) References