Multicast Addresses
Transcript of Multicast Addresses
-
8/12/2019 Multicast Addresses
1/52
Multicast Addresses
-
8/12/2019 Multicast Addresses
2/52
Overview
Multicast is grossly defined as sending a single packetto multiple selected destinations.
1. One-to-many
Radio station broadcast Transmitting news, stock-price
Software updates to multiple hosts
2. Many-to-many Multimedia teleconferencing Online multi-player games
Distributed simulations
-
8/12/2019 Multicast Addresses
3/52
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
To support many-to-many and one-to-many IP
provides an IP-level multicast
-
8/12/2019 Multicast Addresses
4/52
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 groups multicast
address
A host can be in multiple groups A host can join and leave groups
-
8/12/2019 Multicast Addresses
5/52
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 groups 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 thepacket
-
8/12/2019 Multicast Addresses
6/52
Overview
IPs original many-to-many multicast has been
enhanced with support for a form of one-to-many
multicast
One-to-many multicast Called Source specific multicast (SSM)
A receiving host specifies both a multicast group and a
specific sending host
e.g., radio broadcasts
Many-to-many model
Called Any source multicast (ASM)
-
8/12/2019 Multicast Addresses
7/52
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 ManagementProtocol (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
-
8/12/2019 Multicast Addresses
8/52
Multicast Routing
Multicast via unicast
A routers unicast forwarding table indicates the links to beused to forward the unicast packets
To support multicast, a router must additionally havemulticast forwarding tables that indicate, based on multicastaddress, 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
-
8/12/2019 Multicast Addresses
9/52
Multicast Routing
For 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 or, the process by
which the multicast forwarding tables are built.
-
8/12/2019 Multicast Addresses
10/52
Distance-Vector Multicast Routing Protocol (DVMRP)
Distance-vector routing for unicast can be extended to support multicast.
The resulting protocol is called Distance Vector Multicast Routing Protocol In the distance-vector algorithm, each router maintains a table of
, and exchanges a list of
pairs with its directly connected neighbors.
Extending this algorithm to support multi-cast is a two-stage process.
First, we create a broadcast mechanism that allows a packet to be
forwarded to all the networks on the internet.
Second, we need to refine the networks that donot have hosts that
belong to the multicast group.
DVMRP is one of several multicast routing protocols described as flood-
and-prune protocols.
-
8/12/2019 Multicast Addresses
11/52
From the unicast routing table, each router already knows
that shortest path to source S goes through NextHop router N.
When multicast packets are received from S, forward on all
outgoing links (except the one on which the packet arrived),
iff packet is arrived from the link on the shortest path.
Eliminate duplicate broadcast packets by designating one
router as the parent router (relative to S) for each link,
where only the parent router is allowed to forward multicast
packets from that source over the LAN
parent selected as
router that has the shortest path to source S
smallest address to break ties
-
8/12/2019 Multicast Addresses
12/52
Reverse Path Broadcast (RPB) or reverse path forwarding (RPF)
Goal: Prune networks that have no hosts in group G
Step 1: Determine a leaf networkwith no members in G
leaf if the parent router is the only router in the network
each host that is a member of group G periodically announce this fact
over the network Step 2: Propagate no members of G here information up the
shortest-path tree by
The routers augment update sent to
neighbors with set of groups for which this network is interested in
receiving multicast packets.
This is propagated from router to router, so that a given router knows
for what groups it should forward multicast packets
Distance-Vector Multicast
-
8/12/2019 Multicast Addresses
13/52
Protocol Independent Multicast (PIM)
PIM was developed in response to the scaling problems of
earlier multicast routing protocols
Two modes
Sparse mode: PIM-SM
Dense mode: PIM-DM (similar to RPM)
Sparse and dense refer to the proportion of routers that will
want the multicast.
PIM dense mode (PIM-DM) uses a flood-and-prune algorithmlike DVMRP, and suffers from the same scalability problem.
PIM does not depend on any particular unicast routingit can
be used with any unicast routing protocol
-
8/12/2019 Multicast Addresses
14/52
PIM-SM Routers join the multicast distribution tree using PIM protocol
messages known as Join messages.
PIM-SM assigns to each group a special router known as the
rendezvous point (RP)
Acts as the central relay between source and group
A multicast forwarding tree is built as a result of routers sendingJoin messages to the RP.
Two types of tree are constructed:
a shared tree, which may be used by all senders,
a source-specific tree, which may be used only by a specific sending host.
The normal mode of operation creates the shared tree first,
followed by one or more source-specific trees.
The default is to have only one tree for a group.
-
8/12/2019 Multicast Addresses
15/52
PIM-SMRP
R3 R2 R4
R1 R5
Join
R4 sends Join to RP and
joins shared tree
RP
R3 R2 R4
R1 R5
Join
R5 sends Join to RP and joins sharedtree: R2 does not forward Join to RP
since it knows link (RP, R2) has been apart of the shared tree
Rendezvous pointRP =
Shared tree
Source-specific tree for source R1
A Join message must pass through some sequence of routers before reaching the RP (e.g., R2).
Each router along the path looks at the Join and creates a forwarding table entry for the shared
tree, called a (*, G) entry (* meaning all senders).
To create the forwarding table entry, it looks at the interface on which the Join arrived and marks
that interface as one on which it should forward data packets for this group. It then determines which interface it will use to forward the Join toward the RP.
This will be the only acceptable interface for incoming packets sent to this group.
It then forwards the Join toward the RP.
Eventually, the message arrives at the RP, completing the construction of the tree branch.
-
8/12/2019 Multicast Addresses
16/52
Source R1 tunnels the multicast packetto RP, which forwards it along theshared tree to R4 and R5
suppose a host wishes to send a message to the
group.
So, it constructs a packet with the appropriatemulticast group address as its destination and sends it
to a router on its local network known as the
designated router (DR).
Suppose the DR is R1 in Figure.
Instead of simply forwarding the multicast packet, R1
tunnels it to the RP.
That is, R1 encapsulates the multicast packet inside a
PIM Register message and sends to the unicast IP
address of the RP.
RP finds an IP packet inside, addressed to the
multicast address of this group.
The RP sends it out onto the shared tree of which the
RP is the root.
-
8/12/2019 Multicast Addresses
17/52
PIM-SM: optimization
(e.g., when there is a lot of data traffic to the group)
1. Avoid overhead incurred by tunneling from source
to RP
Join message sent by the RP to the sending host is specific to that sender.
Thus, the effect of the new Join is to create a sender-specific state in the
routers between the identified source and the RP. This is referred to as (S, G) state, since it applies to one sender to one
group, and contrasts with the (*, G) state that was installed between the
receivers and the RP that applies to all senders.
RP
R3 R2 R4
R1 R5
JoinRP builds source-specific tree to R1 bysending Join to R1
-
8/12/2019 Multicast Addresses
18/52
2. Avoid the increased path length (or tree depth) dueto transmission relay via RP
The next possible optimization is to replace the entire shared tree with asource-specific tree.
This is desirable because the path from sender to receiver via the RP mightbe significantly longer than the shortest possible path.
The router at the down-stream end of the tree (eg: R4) sends a source-
specific Join toward the source. Since it is the shortest path toward the source, the routers along the way
create (S, G) state for this tree, and the result is a tree that has its root atthe source, rather than the RP.
RP
R3 R2 R4
R1 R5
JoinJoin
R4 and R5 build source-specific tree to R1 bysending Joins to R1
-
8/12/2019 Multicast Addresses
19/52
Note on PIM
PIM is protocol independent in terms of unicast
routing protocol independent
All of its mechanisms for building and maintaining trees
take advantage of unicast routing without depending onany particular unicast routing protocol.
The formation of trees is entirely determined by the paths
that Join messages follow, which is determined by thechoice of shortest paths made by unicast routing.
-
8/12/2019 Multicast Addresses
20/52
Inter-domain Multicast
The PIM-SM protocol is typically not used across domains,
only within a domain.
To extend multicast across domains using PIM-SM, Multicast
Source Discovery Protocol (MSDP) was created.
MSDP is used to connect different domainseach running
PIM-SM internally, with its own RPsby connecting the RPs of
the different domains.
-
8/12/2019 Multicast Addresses
21/52
MSDP (Multicast source discovery protocol)
Each RP has one or more MSDP
peer RPs in other domains. Each pair of MSDP peers is
connected by a TCP connection
over which the MSDP protocol
runs.
All the MSDP peers for a givenmulticast group form a loose
mesh that is used as a broadcast
network.
MSDP messages are broadcast
through the mesh of peer RPsusing the reverse path broadcast
algorithm.
-
8/12/2019 Multicast Addresses
22/52
Each RP knows the sources in its own domain
because it receives a Register message whenever a
new source arises.
Each RP periodically uses MSDP to broadcast Source
Active messages to its peers, giving the IP address of
the source, the multicast group address, and the IP
address of the originating RP.
When an RP receives a multicast from the source,the RP uses its shared tree to forward the multicast
to the receivers in its domain.
-
8/12/2019 Multicast Addresses
23/52
MSDP operation:
(a) The source SR sends a Register to its domains RP, RP1; then RP1 sends a source-specific Join to
SR, and an MSDP Source Active to its MSDP peer in Domain B, RP2; then RP2 sends a source-
specific Join to SR.
(b) As a result, RP1 and RP2 are in the source-specific tree for source SR.
-
8/12/2019 Multicast Addresses
24/52
Multiprotocol Label Switching
MPLS
-
8/12/2019 Multicast Addresses
25/52
MPLS Used to improve the performance of the Internet.
Multiprotocol label switching (MPLS), combines some of the
properties of virtual circuits with the flexibility and robustness
of datagrams.
It relies on IP addresses and IP routing protocols to do its job.
Forwards packets using short, fixed length labels with local
scope
MPLS - Capabilities:
To enable IP capabilities on devices that do not have the capability to
forward IP datagrams in the normal manner;
To forward IP packets along explicit routes: routes precalculatedseparate to IP protocol
To support certain types of virtual private network services.
-
8/12/2019 Multicast Addresses
26/52
Three applications of MPLS
Destination-Based Forwarding
Explicit Routing
Virtual Private Networks and Tunnels
-
8/12/2019 Multicast Addresses
27/52
1. Destination-Based Forwarding
Routers R3 and R4 has one connected network, with prefixes 18.1.1/24 and18.3.3/24.
R1 and R2 have routing tables that indicate which outgoing interface each router
would use when forwarding packets to one of those two networks.
When MPLS is enabled on a router, the router allocates a label for each prefix in
its routing table, and advertises both the label and the prefix that it represents to
its neighboring routers.
This advertisement is carried in the Label Distribution Protocol.
-
8/12/2019 Multicast Addresses
28/52
Destination Based Forwarding
MPLS attaching labels with IP datagrams
Router allocates a label for each prefix in its
routing table
-
8/12/2019 Multicast Addresses
29/52
Destination Based Forwarding
Advertisement of label and prefixes to neighbors via Label
Distribution Protocol (LDP)
Attach corresponding label to all packets sent to that router for that
prefix
R2 allocates labels and advertises bindings to R1.
-
8/12/2019 Multicast Addresses
30/52
Destination Based Forwarding
Other routers store these labels as remote
labels in their routing table along with prefixes
R1 stores the received labels in a table.
-
8/12/2019 Multicast Addresses
31/52
Destination Based Forwarding
Other routers store these labels as remote labels intheir routing table along with prefixes
R3 advertises another binding, and R2 stores the received label in a table.
-
8/12/2019 Multicast Addresses
32/52
Destination Based Forwarding Example
Suppose a packet destined to 10.1.1.5 arrives at R1
R1 matches the prefix 10.1.1, attaches label 15 to packet, send to R2 R1 acts as Label Edge Router (LER)
an LER performs a complete IP lookup on arriving IP packets, and thenapplies labels to them
-
8/12/2019 Multicast Addresses
33/52
-
8/12/2019 Multicast Addresses
34/52
MPLS Achievements
Fixed-length label lookup instead of variablelength IP prefix lookup Simpler to implement exact match instead of longest
match algorithm
Only forwarding algorithm is changed Any standard routing algorithm may still be used
Packets will follow the path selected by IP route
-
8/12/2019 Multicast Addresses
35/52
How to Attach Labels to Packets ?
Depends upon type of link carrying packets When IP packets carried as complete frames
Label is inserted as a shim between layer 2 header and layer 3
header
Like on most link types: Ethernet, Token Ring, PPP When the switch function is an MPLS LSR
Label need to be in a place where switch can use it
label switching routers (LSRs)devices that run IP control
protocols but use the label-switching forwarding algorithm.
In ATM, labels are inserted in ATM cell header (combination of VPI
and VCI).
-
8/12/2019 Multicast Addresses
36/52
-
8/12/2019 Multicast Addresses
37/52
An MPLS Network
Mixture of conventional IP routers, label edgerouters (LER) and ATM switches (as LSRs)
All are using the same routing protocols
Reduction in number of adjacencies that each
router must maintain Greatly reduce amount of work of each router
Edge routers have a full view of completetopology of the network
Edge routers pick a new path in case of node failure
-
8/12/2019 Multicast Addresses
38/52
MPLS Example of MPLS Network
Conventional Network Overlay of virtual circuits
Each router connect to other by a virtual circuit
-
8/12/2019 Multicast Addresses
39/52
MPLS Example of MPLS Network
MPLS Network
Routers peer directly with LSRs
No virtual circuits interconnecting routers
Each router has only one adjacency
-
8/12/2019 Multicast Addresses
40/52
2. Explicit Routing
MPLS provides a convenient way to add capabilities similarto source routing to IP networks Explicit routing
It is not the real source of the packet that picks the routedifferent from source routing.
One of the routers inside the service providers networkdoes this
Application
Traffic Engineering: refers to the task of ensuring that
sufficient resources are available in a network to meetthe demands placed on it.
Example Explicit Routing
-
8/12/2019 Multicast Addresses
41/52
Example Explicit Routing Often called a fish network because of its shape
The routers R1 and R2 form the tail; R7 is at the head
Suppose the route for traffic from R1 to R7 follows the path R1-R3-R6-R7
Route for traffic from R2 to R7 is through R2-R3-R4-R5-R7
This is to make good use of capacity available along two distinct paths
R1-to-R7 traffic has one forwarding equivalence class, and the R2-to-R7
traffic constitutes a second FEC (a group of IP packets which are forwardedin the same manner).
This is difficult in normal IP routing
-
8/12/2019 Multicast Addresses
42/52
-
8/12/2019 Multicast Addresses
43/52
Explicit Routing
Has a capability called fast reroute Fast reroute a capability to make networks more resilient in the
case of failure
Possible to precalculate a path (backup path) betweenrouter A to router B that explicitly avoids a certain link L
Can significantly reduce the time taken to reroute packetsaround a point of failure
There are a range of algorithms that routers can use tocalculate explicit routes automatically.
CSPF (Constrained Shortest Path First): Most commonalgorithm to calculate explicit routes, which is like the link-state algorithms
3 Virtual Private Networks
-
8/12/2019 Multicast Addresses
44/52
44
3. Virtual Private Networks
Virtual Private Network
A group of connected networks
Connections may be over multiple networks not belonging to the group
(e.g. over the Internet)
E.g., joining the networks of several branches of a company into a
private internetwork
C
A B
MK L
C
A BM
K L
-
8/12/2019 Multicast Addresses
45/52
45
Tunneling
IP Tunnel
Virtual point-to-point link between an arbitrarily
connected pair of nodes
10.0.0.1
Network
1
Network
2Internetwork
R1 R2
IP Tunnel
IP Dest = 2.xIP Payload
IP Dest = 10.0.0.1IP Dest = 2.xIP Payload
IP Dest = 2.xIP Payload
-
8/12/2019 Multicast Addresses
46/52
46
Tunneling
Advantages of tunneling Transparent transmission of packets over heterogeneous
networks The data carried may not even be IP messages!
Only need to change relevant routers (end points) Coupled with encryption, gives you a secure private
internetwork. End-points of tunnels may have features not available inother Internet routers.
Multicast Local Addresses
Disadvantages Increases packet size Processing time needed to encapsulate and decapsulate
packets Management at tunnel-aware routers
-
8/12/2019 Multicast Addresses
47/52
-
8/12/2019 Multicast Addresses
48/52
The router at the entrance of the tunnel wraps the data to be tunneled in an IP
header (the tunnel header), which represents the address of the router at the
far end of the tunnel, and sends the data like any other IP packet.
The receiving router receives the packet with its own address in the header,
strips the tunnel header, and finds the data that was tunneled, which is thenprocessed.
Exactly what it does with that data depends on what it is.
For example, if it is another IP packet, it would then be forwarded on like a
normal IP packet.
Figure : An ATM circuit is emulated by a tunnel.
Forwarding ATM Cells in MPLS VPN
-
8/12/2019 Multicast Addresses
49/52
An MPLS tunnel is similar to IP tunnel, except that the tunnel
header consists of an MPLS header rather than an IP header.
Assume we want to tunnel ATM cells from one router to anotheracross a network of MPLS-enabled routers.
The goal is to emulate an ATM virtual circuit, ie,
Cells arrive at the entrance, or head, of the tunnel on a certain input port
with a certain VCI Cells should leave the tail end of the tunnel on a certain output port and
a different VCI.
This can be accomplished by configuring the head and tail
routers as follows:
The head router needs to be configured with the incoming port, the
incoming VCI, the demultiplexing label for this emulated circuit, and the
address of the tunnel end router;
The tail end router needs to be configured with the outgoing port, the
outgoing VCI, and the demultiplexing label.
Forwarding ATM Cells in MPLS VPN
Forwarding ATM Cells in MPLS VPN
-
8/12/2019 Multicast Addresses
50/52
Forwarding ATM Cells in MPLS VPN
1. An ATM cell arrives on the
designated input port with the its
VCI value (101 in this eg.)
2. The head router attaches the de-multiplexing label to inform the
end-point router what to do with
the packet.
3. The head router then attaches a
second label, which is the tunnel
label that will get the packet to thetail router.
4. Routers between the head and tail
forward the packet using only the
tunnel label.
5. The tail router removes the tunnel
label, finds the demultiplexinglabel, and recognizes the emulated
circuit.
6. The tail router modifies the ATM
VCI to the correct value (202 in this
case) and sends it out the correct
port.
Layer 3 VPNs
-
8/12/2019 Multicast Addresses
51/52
The previous example has a stack of two labels
You can have larger stacks of labels in the header.
MPLS is also used to support layer 3 VPNs. The packet being carried is an IP packet
Hence the name layer 3 VPNs
A common service provider (see picture next ..)
Has many customers
Each customer has many sites
These sites are linked with tunnels to appear to be one large
Internetwork
Each customer can only reach its own sites The customer is isolated from the rest of the Internet and from other
customers
Customer A cant sent packets directly to customer B, and vice versa.
Customer A can even use IP addresses that have also been used by customer B.
Layer 3 VPN s
-
8/12/2019 Multicast Addresses
52/52