CS 457 Networking and the Internet Fall 2016 The Global Internet - - PDF document
CS 457 Networking and the Internet Fall 2016 The Global Internet - - PDF document
10/4/16 CS 457 Networking and the Internet Fall 2016 The Global Internet (Then) The tree structure of the Internet in 1990 The Global Internet (And Now) A simple multi-provider Internet 1 10/4/16 The Global Internet Some large
10/4/16 2
The Global Internet
- Some large corporations connect directly to one or
more of the backbone, while others connect to smaller, non-backbone service providers.
- Many service providers exist mainly to provide
service to “consumers” (individuals with PCs in their homes), and these providers must connect to the backbone providers
- Often many providers arrange to interconnect with
each other at a single “peering point”
Autonomous Systems
- Internet is organized as autonomous systems (AS)
each of which is under the control of a single administrative entity
- Autonomous System (AS)
- corresponds to an administrative domain
- examples: University, company, backbone network
- A corporation’s internal network might be a single AS,
as may the network of a single Internet service provider
Autonomous Systems
A network with two autonomous system
10/4/16 3
Route Propagation
- Idea: Provide an additional way to hierarchically aggregate
routing information in a large internet.
– Improves scalability
- Divide the routing problem in two parts:
– Routing within a single autonomous system – Routing between autonomous systems
- Another name for autonomous systems in the Internet is
routing domains
– Two-level route propagation hierarchy
- Inter-domain routing protocol (Internet-wide standard)
- Intra-domain routing protocol (each AS selects its own)
Routing by AS
- Uses an interior gateway protocol (IGP) and
common metrics to route packets within the AS (Intra-AS)
- Uses an exterior gateway protocol (EGP) to
route packets to other AS’s (Inter-AS)
- AS may use multiple IGPs and metrics, but
appears as single AS to other AS’s
IGP and EGP Example
10/4/16 4
Why Different Intra- and Inter- AS routing ?
Policy:
- Inter-AS: admin wants control over how its traffic routed,
who routes through its net.
- Intra-AS: single admin, so no policy decisions needed
Scale:
- Hierarchical routing saves table size, reduced update traffic
Performance:
- Intra-AS: can focus on performance
- Inter-AS: policy may dominate over performance
Inter-AS Routing - EGP and BGP
- Exterior Gateway Protocol (EGP)
– Forced a tree-like topology onto the Internet – Did not allow for the topology to become general
- Tree like structure: there is a single backbone and
autonomous systems are connected only as parents and children and not as peers
- Border Gateway Protocol (BGP)
– Assumes that the Internet is an arbitrarily interconnected set
- f ASs.
– Today’s Internet consists of an interconnection of multiple backbone networks (they are usually called service provider networks, and they are operated by private companies rather than the government)
- Sites are connected to each other in arbitrary ways
- The goal of Inter-domain routing is to find
any path to the intended destination that is loop free
– We are concerned with reachability than
- ptimality
– Finding path anywhere close to optimal is considered to be a great achievement
- Why?
BGP
10/4/16 5
Path Vectors
- Each routing update carries the entire path
- Loops are detected as follows:
– When AS gets route check if AS already in path
- If yes, reject route
- If no, add self and (possibly) advertise route further
- Advantage:
– metrics are local - AS chooses path, protocol ensures no loops
- Scalability: An Internet backbone router must be able to
forward any packet destined anywhere in the Internet
– Having a routing table that will provide a match for any valid IP address
- Autonomous nature of the domains
– It is impossible to calculate meaningful path costs for a path that crosses multiple ASs – A cost of 1000 across one provider might imply a great path but it might mean an unacceptable bad one from another provider
- Issues of trust
– Provider A might be unwilling to believe certain advertisements from provider B
BGP Philosophy
- BGP does not belong to either of the two
main classes of routing protocols (distance vectors and link-state protocols)
- BGP advertises complete paths as an
enumerated lists of ASs to reach a particular network
BGP
10/4/16 6
BGP-4: Border Gateway Protocol
- Assumes the Internet is an arbitrarily interconnected set of
AS's.
- Define local traffic as traffic that originates at or
terminates on nodes within an AS, and transit traffic as traffic that passes through an AS.
- We can classify AS's into three types:
- Stub AS: an AS that has only a single connection to one other AS;
such an AS will only carry local traffic
- Multihomed AS: an AS that has connections to more than one other AS,
but refuses to carry transit traffic
- Transit AS: an AS that has connections to more than one other AS, and is
designed to carry both transit and local traffic
BGP
Stub AS Multihomed AS Transit AS
BGP Example
Example of a network running BGP
10/4/16 7
Each AS has:
- One BGP speaker that advertises:
– local networks – other reachable networks (transit AS only) – gives path information
- In addition to the BGP speakers, the AS has one or more
border “gateways” which need not be the same as the speakers
- The border gateways are the routers through which packets
enter and leave the AS
BGP BGP Example
- Speaker for AS 2
advertises reachability to P and Q
- Network 128.96,
192.4.153, 192.4.32, and 192.4.3, can be reached directly from AS 2.
- Speaker for backbone
network then advertises
- Networks 128.96,
192.4.153, 192.4.32, and 192.4.3 can be reached along the path <AS 1, AS 2>.
- Speaker can also cancel
previously advertised paths
BGP Issues
- It should be apparent that the AS numbers
carried in BGP need to be unique
- For example, AS 2 can only recognize itself
in the AS path in the example if no other AS identifies itself in the same way
- AS numbers are 16-bit numbers assigned by a
central authority
10/4/16 8
Policy With BGP
- BGP provides capability for enforcing
various policies
- Policies are not part of BGP: they are
provided to BGP as configuration information
- BGP enforces policies by choosing paths
from multiple alternatives and controlling advertisement to other AS’s
Examples of BGP Policies
- A multi-homed AS refuses to act as transit
– limit path advertisement
- A multi-homed AS can become transit for some
AS’s
– only advertise paths to those AS’s
- An AS can favor or disfavor certain AS’s for
traffic transit from itself
– Pick appropriate routes by examining path vectors
BGP Is NOT Needed If:
- Single homed network
(stub)
- AS does not provide
downstream routing
- AS uses a default
route
10/4/16 9
Routing Information Bases (RIB)
- Routes are stored in RIBs
- Adj-RIBs-In: routing info that has been
learned from other routers (unprocessed routing info)
- Loc-RIB: local routing information selected
from Adj-RIBs-In (routes selected locally)
- Adj-RIBs-Out: info to be advertised to
peers (routes to be advertised)
BGP Messages
- Open
– Opens a BGP connection (establishes a TCP connection)
- Update
– Withdrawn routes – New routes that include path attributes e.g., origin, path
- Notification
– Used for error notification - TCP connection is closed immediately after notification
- Keep alive
– Sent periodically to peers to ensure connectivity – sent in place of an update message
BGP: Controlling Who Routes To You
Figure 4.5-BGPnew: a simple BGP scenario
A B C W X Y
legend: customer network: provider network
❒ A,B,C are provider networks ❒ X,W,Y are customer (of provider networks) ❒ X is dual-homed: attached to two networks ❍ X does not want to route from B via X to C ❍ .. so X will not advertise to B a route to C
10/4/16 10
Internet Inter-AS routing: BGP
Suppose: gateway X sends its path to peer gateway W
- W may or may not select path offered by X
– cost, policy (don’t route via competitors AS), loop prevention reasons.
- If W selects path advertised by X, then:
Path (W,Z) = w, Path (X,Z)
- Note: X can control incoming traffic by controlling it route
advertisements to peers:
– e.g., don’t want to route traffic to Z -> don’t advertise any routes to Z
BGP: Controlling Who Routes To You
Figure 4.5-BGPnew: a simple BGP scenario
A B C W X Y
legend: customer network: provider network
❒ A advertises to B the path AW ❒ B advertises to X the path BAW ❒ Should B advertise to C the path BAW?
❍ No way! B gets no “revenue” for routing CBAW since neither
W nor C are B’s customers
❍ B wants to force C to route to w via A ❍ B wants to route only to/from its customers!
BGP Operation
Q: What does a BGP router do?
- Receiving and filtering route advertisements from directly
attached neighbor(s).
- Route selection.
– To route to destination X, which path (of several advertised) will be taken?
- Sending route advertisements to neighbors.
10/4/16 11
Integrating Interdomain and Intradomain Routing
All routers run iBGP and an intradomain routing
- protocol. Border routers (A, D, E) also run eBGP to other
ASs
Internal v.s. External BGP
R3 R4 R1 R2 BGP
- BGP can be used by R3 and R4 to learn routes.
- How do R1 and R2 learn routes?
- Option 1: Inject routes in IGP
- only works for small routing tables
- Option 2: Use I-BGP
Internal BGP (I-BGP)
- Same messages as E-BGP
- Different rules about re-advertising
prefixes:
– prefix learned from E-BGP can be advertised to I-BGP neighbor and vice-versa, but – prefix learned from one I-BGP neighbor cannot be advertised to another I-BGP neighbor – reason: no AS PATH within the same AS and thus danger of looping
10/4/16 12
Internal BGP (I-BGP)
R3 R4 R1 R2 E-BGP I-BGP
- R3 can tell R1 and R2 prefixes from R4
- R3 can tell R4 prefixes from R1 and R2
- R3 cannot tell R2 prefixes from R1
R2 can only find these prefixes through a direct connection to R1 Result: I-BGP routers must be fully connected (via TCP)!
- contrast with E-BGP sessions that map to physical links