The University of Adelaide, School of Computer Science 4 March 2014 Chapter 2 — Instructions: Language of the Computer 1 1 Chapter 4 Advanced Computer Networks Module 6 BGP, IPV6, Multicast Routing Protocols Department of Computer Engineering, DTU Divyashikha Sethia ([email protected]) Problems • How do we build a routing system that can handle hundreds of thousands of networks and billions of end nodes? • How to handle address space exhaustion of IPV4? • How to enhance the functionalities of Internet? Chapter Goal • Understanding the scalability of routing in the Internet • Discussing IPv6 • Understanding the concept of multicasting • Discussing Mobile IP The Global Internet The tree structure of the Internet in 1990 •“end user” sites (e.g., Stanford University) that connect to “service provider” networks (e.g., BARRNET •regional networks were, in turn, connected by a nationwide backbone • Provider – administratively independent entity (autonomous system (AS) )
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
The University of Adelaide, School of Computer Science 4 March 2014
Chapter 2 — Instructions: Language of the Computer 1
• Intra-domain routing protocol (each AS selects its own)
Interdomain Routing
• Each AS can run whatever intradomain routing protocols it
chooses - static routes or multiple protocols if desired.
• Interdomain routing: different ASs share reachability
information descriptions of the set of IP addresses that can be
reached via a given AS with each other.
EGP and BGP
• Inter-domain Routing Protocols
– 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
The tree structure of the Internet in 1990
EGP and BGP • Inter-domain Routing Protocols
– Border Gateway Protocol (BGP)
• Assumes that the Internet is an arbitrarily interconnected set of 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 University of Adelaide, School of Computer Science 4 March 2014
Chapter 2 — Instructions: Language of the Computer 10
The Global Internet
A simple multi-provider Internet
- today’s Internet: interconnection of multiple backbone networks ( called
service provider networks, operated by private companies)
- many providers arrange to interconnect with each other at a single “peering
point.”
BGP
• 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”
BGP-4: Border Gateway Protocol
• Assumes the Internet is an arbitrarily interconnected set of AS's.
• Local traffic: traffic that originates at/ terminates on nodes within AS • Transit traffic: traffic that passes through an AS.
• Classification of AS:
– Stub AS: an AS that has only a single connection to one other AS; carries only local traffic (small corporation ).
– Multihomed AS: an AS that has connections to more than one other AS, but refuses to carry transit traffic (large corporation )
– Transit AS: an AS that has connections to more than one other AS, and is designed to carry both transit and local traffic (backbone providers).
BGP
• 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 optimality
– Finding path anywhere close to optimal is considered to be a great
achievement
• Intradomain focuses on finding the best, non looping, policy-
compliant path—a much more complex optimization problem
The University of Adelaide, School of Computer Science 4 March 2014
Chapter 2 — Instructions: Language of the Computer 11
BGP
• 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
– Each domain may run its own interior routing protocols
– 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
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 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 - enables policy decisions, avoid loops
BGP
• Border gateway:R2, R4
The University of Adelaide, School of Computer Science 4 March 2014
Chapter 2 — Instructions: Language of the Computer 12
BGP Example
Example of a network running BGP
•Speaker for AS 2 advertises reachability to P and Q
Network 128.96, 192.4.153, 192.4.32, and 192.4.3, reachable from AS 2.
•Speaker for backbone network then advertises
Networks 128.96, 192.4.153, 192.4.32, and 192.4.3 reachable along path
<AS 1, AS 2>.
•Speaker can also cancel previously advertised paths
BGP Example
•Avoiding Loops
- AS2 connected to 10.0.1
-AS1 learns reachability of 10.01 via AS2
-- AS1 Advertise to AS3
-- AS3 advertise to AS2
-- AS2 advertises to AS3
-AS2-AS1-AS3-AS2
• AS1 AS2 AS3
|
10.0.1
BGP Issues
• 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
AS advertising
• Only advertise routes that it considers good enough for itself
• BGP speaker has a choice of several different routes to a destination, it
will choose the best one according to its own local policies, and then
that will be the route it advertises under no obligation to advertise any
route to a destination, even if it has one
• Withdrawn route
- BGP speakers need to be able to cancel previously advertised paths if
a critical link or node on a path goes down
The University of Adelaide, School of Computer Science 4 March 2014
Chapter 2 — Instructions: Language of the Computer 13
BGP-4 update packet
• Designed for classless addresses
• Updates contain both prefix itself and its length in bits
• CIDR prefix that begins 192.4.16 and is 20 bits long: 192.4.16/20
BGP-4
• On reliable TCP
• as long as nothing has changed, a BGP speaker can simply send an
occasional “keep alive” message that says, in effect “I’m still here and
nothing has changed.”
• If that router were to crash, it would stop sending the keep alives, and
the other routers that had learned routes from it would know that those
routes were no longer valid.
• BGP speakers exchange loop-free routes to all reachable networks, but
how they choose the “best” routes is largely left to the policies of the
AS
Integrating Interdomain and Intradomain Routing
• For stub AS that only connects to other ASs at a single point, the border router is the choice for all routes that are outside the AS (default routes to external world)
• How border routers inject specific routes they have learned from outside the AS
Provider AS ----> Customer AS (192.4.54/24)
• (inject a route to that prefix into the routing protocol running inside the provider AS)
• Problem: backbone networks, learns too much information from BGP - costly to inject it into the intradomain protocol
• inject 10,000 prefixes that it learned about from another AS, it will have to send very big link-state packets to the other routers in that AS, and their shortest-path calculations are going to become very complex
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 •interior BGP (iBGP) to effectively redistribute the information
that is learned by the BGP speakers at the edges of the AS to all
the other routers in the AS
- enables router in AS to learn best border router to use for
sending packet to any address
- A,D,E – eBGP A,D,E,B,C - iBGP
The University of Adelaide, School of Computer Science 4 March 2014
Chapter 2 — Instructions: Language of the Computer 14
Integrating Interdomain and Intradomain Routing
BGP routing table, IGP routing table, and combined table at router B
if a prefix like 18.0/16 is reachable via border router E, and the best interior path to
E is via C, then it follows that any packet destined for 18.0/16 should be forwarded
toward C. In this way, any router in the AS can build up a complete routing table
for any prefix that is reachable via some border router of the AS.
Next Generation IP
(IPv6)
IPV6
• Subnetting and CIDR help:
- contain rate at which Internet address space is being
consumed (the address depletion problem)
- control growth of routing table information needed in
Internet’s routers (the routing information problem).
• 100% efficiency not feasible
• Bigger address space than that provided by 32 bits will
eventually be needed
Major Features
• 128-bit addresses
• Multicast
• Real-time service
• Authentication and security
• Auto-configuration
• End-to-end fragmentation
• Enhanced routing functionality, including support for mobile
hosts
The University of Adelaide, School of Computer Science 4 March 2014
Chapter 2 — Instructions: Language of the Computer 15
– contiguous 0s are compressed: 47CD::A456:0124 (omitting zeros::)
– IPv6 compatible IPv4 address: ::128.42.1.87
• Address assignment
– provider-based
– geographic
IPV6 address prefix assignment
IPv6 Header • 40-byte “base” header
• Version : 6
• Traffic class and flow label: QoS
• PayloadLen (length of packet excluding header)
• NextHeader replaces IP options and the Protocol field of IPv4.
• If options are required, then they are carried in one or more special headers following the IP header, and this is indicated by the value of the NextHeader field.
• If there are no special headers, the NextHeader field is the demux key identifying the higher-level protocol running over IP (e.g., TCP or UDP)
The University of Adelaide, School of Computer Science 4 March 2014
Chapter 2 — Instructions: Language of the Computer 16
IPv6 Header
• New formatting of options as extension headers means that they can
be of arbitrary length, whereas in IPv4 they were limited to 44 bytes
at most
• Each option has its own type of extension header type of each
extension header is identified by the value of the NextHeader field in
the header that precedes it, and each extension header contains a
NextHeader field to identify the header following it.
• Last extension header will be followed by a transport-layer header
(e.g., TCP) and in this case the value of the NextHeader field is the
same as the value of the Protocol field would be in an IPv4 header
IPV6 QoS
TrafficClass (4bit priority)
Two categories:
1. Congestion controlled
2. Non congestion controlled
Congestion controlled:
• No specific traffic: 0 no priority assigned
• Background data: data delivered in background (eg: news)
• Unattended data traffic: user is not waiting for data to be received (eg e-mail)
• Attended bulk data: User is waiting for data to be received (eg ftp, http)
• Interactive traffic: user interaction (eg TELNET)
• Control Traffic ( highest priority eg: OSP, RIP, SNMP)
IPV6 QoS
Non congestion control – traffic that expects minimal delay
(discarding no desirable, retransmission is expensive)
• Priority 8-15
• Data with less redundancy (low fidelity audio/video): higher
priority 15
• Data with more redundancy ( high fidelity audio/video): lower
priority 8
IPV6 QoS
• Flow Label: Special handling
• Flow of packets: sequence of packets sent from a specific source to a particular destination that needs special handling by routers
• It is defined by combination of source address and the value of the flow label
• Router supporting flow labels has a flow label table
• Flow label used to speed up of the packet processing
• Real time data requiring high resource usage eg: bandwidth, buffers
• Process can make reservations for resources
The University of Adelaide, School of Computer Science 4 March 2014
Chapter 2 — Instructions: Language of the Computer 17
IPV6 QoS
• Rules for flow labels:
1.Flow label is assigned to a packet by the source host
(random between 1 and 224); should not reuse flow label for
new flow till existing flow is active
2.If not flow label is support field is set to 0, router also
ignores it if it does not support flow label
3.All packet belonging to same flow have the same source ,
destination , priority and options
Auto configuration
• Connection to the Internet requires fair amount of system
administration expertise
• Information, such as a valid IP address, a subnet mask for the link to
which it attaches, and the address of a name server
• Auto configuration: “plug-and-play”
• IPV4: Depends on server that can hand out addresses to DHCP clients
• IPv6 helps provide a useful, new form of auto configuration called
stateless auto configuration, which does not require a server
Auto configuration
• IPV6 hierarchical unicast address
• Auto configuration problem into two parts:
1.Obtain an interface ID that is unique on the link to which the host is attached;
2. Obtain the correct address prefix for this subnet.
• Address prefix assignment for IPV6
• Use prefix 1111 1110 10 with 0’s along with
unique 48 bit MAC address
• Some devices—for example, printers or hosts on a small routerless network that do not connect to any other networks—this address may be perfectly adequate.
Auto configuration
• Globally valid address depend on a router on the same link to
periodically advertise the appropriate prefix for the link.
• Requires router be configured with correct address prefix, and
that this prefix be chosen in such a way that there is enough
space at the end (e.g., 48 bits) to attach an appropriate link-
level address
The University of Adelaide, School of Computer Science 4 March 2014
Chapter 2 — Instructions: Language of the Computer 18
Extension Headers
Extension Headers
• Hop by Hop option: used when source needs to pass
information to all router visited by data gram Pad1, PadN:
alignment options, jumbo payload: define payload longer than
65,535 bytes
• Source routing: Strict source routing and loose source route
options similar in IPV4
• Fragmentation: IPV6 only original source can fragment
unlike IPV4. source must use path MTU discovery technique
to find the smallest MTU supported by any network on the
path. (fragments using this knowledge)
Extension Headers
• Authentication: Validates the message sender and ensures the
• Destination Option: source needs to pass information to the
destination only (intermediate routers are not permitted to access
this information)
Transition from IPV4 to IPV6
The University of Adelaide, School of Computer Science 4 March 2014
Chapter 2 — Instructions: Language of the Computer 19
Dual Stack
Tunneling
Header Translation
Internet Multicast
The University of Adelaide, School of Computer Science 4 March 2014
Chapter 2 — Instructions: Language of the Computer 20
Overview
• IPv4
– class D addresses
– uses tunneling
• Integral part of IPv6
– problem is making it scale
Overview
• One-to-many
– Radio station broadcast
– Transmitting news, stock-price
– Software updates to multiple hosts
• Many-to-many
– Multimedia teleconferencing
– Online multi-player games
– Distributed simulations
Overview
• Without support for multicast
– A source needs to send a separate packet with the identical data to each member of the group
• This redundancy consumes more bandwidth
• Redundant traffic is not evenly distributed, concentrated near the sending host
– Source needs to keep track of the IP address of each member in the group
• Group may be dynamic (as listeners tune into an Internet radio station)
• To support many-to-many and one-to-many IP provides an IP-level multicast
Overview
• Basic IP multicast model is many-to-many based on multicast
groups
– Each group has its own IP multicast address
– Hosts that are members of a group receive copies of any
packets sent to that group’s multicast address
– A host can be in multiple groups
– A host can join and leave groups
The University of Adelaide, School of Computer Science 4 March 2014
Chapter 2 — Instructions: Language of the Computer 21
Overview
• Using IP multicast to send the identical packet to each member
of the group
– A host sends a single copy of the packet addressed to the
group’s multicast address
– The sending host does not need to know the individual
unicast IP address of each member
– Sending host does not send multiple copies of the packet
Overview
• IP’s original many-to-many multicast has been supplemented
with support for a form of one-to-many multicast
• One-to-many multicast
– Source specific multicast (SSM)
– A receiving host specifies both a multicast group and a
specific sending host
• Many-to-many model
– Any source multicast (ASM)
Overview
• A host signals its desire to join or leave a multicast
group by communicating with its local router using a
special protocol
– In IPv4, the protocol is Internet Group Management
Protocol (IGMP)
– In IPv6, the protocol is Multicast Listener Discovery
(MLD)
• The router has the responsibility for making multicast
behave correctly with regard to the host
Multicast addresses
• IPV4: Class D most significant four bits of Class D addresses are set to "1110". The 28-bit number following these four bits is called "multicast group ID".
• Like unicast IP packets, there should be a MAC-layer address to which the IP multicast address maps.
• Internet Assigned Numbers Authority (IANA) has reserved a set of the IEEE-802 MAC-layer addresses for multicast packets, 01:00:5E:00:00:00 to 01:00:5E:7F:FF:FF (hex).
• An IP multicast address can be mapped to an IEEE-802 address by placing the least-significant 23 bits of the IP multicast address into the least-significant 23 bits of the MAC-layer multicast address.
The University of Adelaide, School of Computer Science 4 March 2014
Chapter 2 — Instructions: Language of the Computer 22
Mapping of a IP multicast address to a IEEE-802
MAC-layer address
Mapping procedure there will be 32 different multicast addresses
mapped to the same IEEE-802 address.
Multicast Routing
• A router’s unicast forwarding tables indicate for any IP address, which link to use to forward the unicast packet
• To support multicast, a router must additionally have multicast forwarding tables that indicate, based on multicast address, which links to use to forward the multicast packet
• Unicast forwarding tables collectively specify a set of paths
• Multicast forwarding tables collectively specify a set of trees – Multicast distribution trees
Multicast Routing
• To support source specific multicast, the multicast forwarding
tables must indicate which links to use based on the
combination of multicast address and the unicast IP address of
the source
• Multicast routing is the process by which multicast distribution
trees are determined
Internet Group Management Protocol (
IGMP) • IGMP: Hosts willing to receive multicast messages (packets) need to
inform their immediately-neighboring routers that they are nterested in receiving multicast messages sent to certain multicast groups
• Routers periodically check whether the known group members are still active.
• In case of more than one multicast router on a (LAN) , one of the routers is elected as the "querier" and assumes responsibility of keeping track of membership state of the multicast groups which have active members on its subnetwork.
• Based on the information from IGMP router can decide whether to forward multicast messages it receives to its subnetwork(s) or not.
• After receiving a multicast packet sent to a certain multicast group, the router will check and see if there is at least one member of that particular group on its subnetwork. If that is the case the router will forward the message to that subnetwork. Otherwise, it will discard the multicast packet.
The University of Adelaide, School of Computer Science 4 March 2014
Chapter 2 — Instructions: Language of the Computer 23
Multicast Routing Algorithms
1. Flooding : If this is the first time, the router will forward the
packet on all interfaces, except the one from which the packet
has been received. Otherwise, the router will simply discard
the packet.
• Advantage: Simplicity
• Disadvantage:
- Large duplicated packets
- Entry for each packet seen (large router resources used up)
Multicast Routing Algorithms
2. Spanning Trees:
• A subset of internetwork links are selected to define a tree
structure (loop-less graph) such that there is only one active
path between any two routers. Since this tree spans to all nodes
in the internetwork it is called spanning tree.
• router receives a multicast packet, it forwards the packet on all
the links which belong to the spanning tree except the one on
which the packet has arrived, guaranteeing that the multicast
packet reaches all the routers in the internetwork
Multicast Routing Algorithms
• Spanning Trees Drawbacks
- Centralized traffic on small set of links
- Does not consider group membership
Multicast Routing Algorithms
Reverse Path Broadcasting (RPB)
• Modification of the Spanning Tree algorithm.
• No network-wide spanning tree
• Implicit spanning tree is constructed for each source.
• Whenever router receives a multicast packet on link "L" and
from source "S", the router will check and see if the link L
belongs to the shortest path toward S. If this is the case the
packet is forwarded on all links except L. Otherwise, the
packet is discarded.
The University of Adelaide, School of Computer Science 4 March 2014
Chapter 2 — Instructions: Language of the Computer 24
Multicast Routing Algorithms
RPB Advantages:
• easy to implement.
• Packets are forwarded through the shortest path from the source to the destination nodes, it is very fast.
• Does not need any mechanism to stop the forwarding process.
• The routers do not need to know about the entire spanning tree and since the packets are delivered through different spanning trees (and not a unique spanning tree) traffic is distributed over multiple tress and network is better utilized.
RPB Disadvantage:
• Does not take into account the information about multicast group membership for constructing the distribution trees.
Multicast Routing Algorithms
Truncated Reverse Path Broadcasting (TRPB)
• With IGMP protocol, router can determine whether members of a
given multicast group are present on the router subnetwork or not.
• If this subnetwork is a leaf subnetwork (it doesn't have any other
router connected to it) the router will truncate the spanning tree.
• TRPB similar to RPB won't forward the message to a neighbor
router if the local router is not on the shortest path from the neighbor
router to the source node.
• Multicast group membership is used in the TRPB algorithm and the
leaf subnets are truncated from the spanning trees
• Disadvantage: does not eliminate unnecessary traffics on non-leaf
subnetworks which do not have group member.
Multicast Routing Algorithms
Reverse Path Multicasting (RPM)
• Called RPB with prunes is an enhancement to the RPB and
TRPB algorithms.
• RPM constructs a delivery tree that spans only:
1) subnetworks with group members, and
2) routers and subnetworks along the shortest path to
subnetworks with group members.
• RPM tree can be pruned such that the multicast packets are
forwarded along links which lead to members of the
destination group.
Multicast Routing Algorithms
• Routers which do not have any downstream router in the TRPB tree
are called leaf routers.
• If a leaf router receives a multicast packet for a (source, group) pair
and it does not have any group member on its subnetworks, it will
send a "prune" message to the router from which it has received the
multicast packet.
• The prune message indicates that the multicast packets of that
particular (source, group) pair should not be forwarded on the link
from which the prune message has been received.
• Prune messages are only sent one hop back towards the source.
• Upstream router records the prune information in its memory.
The University of Adelaide, School of Computer Science 4 March 2014
Chapter 2 — Instructions: Language of the Computer 25
Multicast Routing Algorithms
• If the upstream router does not have any local recipient and receives prune
messages from all of its children in the TRPB tree, the upstream router will
send a prune message itself to its parent in the TRPB tree indicating that the
multicast packets for the (source, group) pair need not be forwarded to it.
• Cascaded prune messages will truncate the original TRPB tree such that the
multicast packets will be forwarded only on those links that will lead to a
destination node(multicast group member).
RPM Tree
• Group membership and network topology can dynamically change
and the prune state of delivery trees should be refreshes at regular
intervals.
• Relatively big memory space required for maintaining state
information for all (source, group) pairs is another drawback which
makes this algorithm not scalable (and therefore, not suitable for very
large internetworks).
Distance-Vector Multicast (DVMRP)
• Each router already knows that shortest path to source
S goes through router N.
• When receive multicast packet from S, forward on all
outgoing links (except the one on which the packet
arrived), iff packet arrived from N.
• Eliminate duplicate broadcast packets by only letting