Post on 24-Dec-2015
IP Datagram MessagingUnicast: datagram from one
source device to one recipient device
Broadcast: datagram from one source to all recipients on a network
Multicast: datagram from one source to a collection of recipient devices
3
Functions NeededMulticast addressing
◦Class D of IPv4 addressesMulticast group management
◦IGMP—Internet Group Management Protocol
Multicast datagram routing◦Multicast routing protocols are
employed
4
Multicast addressingARP is designed for unicast onlyARP for multicast would be very
inefficientDirect mapping to data link layer
multicast groups is used23 of the 28 bits in the multicast
group address in Ethernet are used
6
RoutingRouting is complicated!Must create multiple copies of
the datagram for multicastingRouters need special algorithms
to handle these multiple copies with efficiency
Routers must be able to handle datagrams to a multicast group even if the source is not a group member
7
IP MulticastGroup address—each group has a
unique class D address, permanent or temporary
Number of groups—addresses for up to 228 simultaneous multicast groups
Dynamic group membership—host can join, leave a group any time
Hardware—can use hardware multicast
Internetwork forwarding—multicast routers needed to forward multicast between networks
Transmission—any host can send to any group
8
Building BlocksMulticast addressing schemeEffective notification and delivery
mechanismsInternetwork forwarding facility
9
The ConceptMulticast addresses
◦ One IP multicast address per group◦ Addresses useful worldwide
Notification and delivery mechanism◦ Inform routers about groups◦ Transfer multicast packets to hosts
Internetwork forwarding◦ Efficient routing along shortest paths◦ Don’t route to networks with no group
members
10
Multicast SemanticsMulticast address only a
destination addressNo ICMP error messages
generated about multicast datagrams
TTL field in an multicast datagram is honored
Question: what happens when I ping a multicast address? Why?
14
Multicast RoutingNot all routers are multicast routersHost does not know which are
multicastHost sends packet using local network
multicast addressMulticast routers listen for all
multicast datagrams, route them appropriately
Host does not have to address multicast datagram to a multicast router
Multicast capability is provided by routers, not hosts
15
Multicast ScopeScope of a multicast group—range of
group members◦ All on same network: scope is restricted to
one network◦ All in same organization: scope limited to
one organization Methods of controlling scope:
◦ TTL controls the range◦ Administrative scoping: routers forbidden
to forward to the restricted space
16
Host Participation
17
Possible levels of participation of a host in multicasting:
For an application to multicast, host must have an API for application to declare intent to join or leave a multicast group. Host must track application participation in groups, remember that it leaves a group when all applications leave.
IGMP—Internet Group Management Protocol IGMP carries group membership informationThought of as a part of IP, like ICMP IGMP is required for all machines that
receive IP multicastPhase 1: host joins a group, sends IGMP
message to multicast address declaring membership
Phase 2: multicast routers poll hosts to determine whether any are still members of each group, stops advertising to other routers after no response to several polls
18
IGMP ImplementationAll communications between hosts and
multicast routers use IGMPEvery 125 seconds, multicast routers poll all
groups for membership information, not just one
Multicast routers on a single network choose just one to do all polling
Hosts don’t all respond to a query at the same time
Each host listens for responses from other hosts in the group, suppresses unnecessary response traffic
Question: Why are hosts listening? What would they not send?
19
Special Properties of Multicast Routing1. Multicast routes can change simply
because an application decides to leave or join a group
2. Multicast forwarding requires a router to examine more than the destination address
3. A multicast datagram may originate on a host that is not part of the group, and may be routed across networks with no group members attached
22
Multicast Routing ParadigmsRPF—reverse path forwarding
◦ Router looks up interface that leads to source address (interface I)
◦ Forwards datagram over all interfaces other than I◦ If datagram arrived other than through I, discard it◦ RPF sends datagrams to networks with no members
TRPF—truncated reverse path forwarding◦ Uses list of multicast groups reachable through
each interface◦ First, RPF is applied◦ Then, interfaces that do not lead to members of the
group are skipped
Multicast routing is based on the datagram’s source and destination addresses
24
Consequences of TRPF
25
Consider the case where a multicast datagram headed for host B is sent by host A
Multicast RoutingTRPF doesn’t forward to network
if it has no members of the groupThus router must know about
group membershipMembership information must be
communicated across the Internet
Multicast design a tradeoff of routing traffic overhead and inefficient data transmission
27
Reverse Path Multicasting Basis:
◦ First priority given to reach all group members rather than avoid retransmission
◦ Presume that multicast routers have a routing table that is correct
◦ Routing should improve performance where possible
Use RPF to send across all networks Use RPM to identify routers that don’t reach
members Cease forwarding to routers that don’t reach
members RPM is called broadcast and prune strategy
28
Where It’s UsedMulticasting is widely used within
organizations for video and audio distribution
Use on the Internet has begun with Internet radio and television
29
SummaryIP multicasting an abstraction of
hardware multicastingIP multicasting uses class D addressesHosts communicate group
membership to multicast routers using IGMP
IGMP introduces periodic message from a multicast router and a reply for each group
Several protocols have been designed for multicast routing
30
Disadvantages of Table RoutingTakes log2 n probes to find an
address in forwarding table of n entries
Array index can be performed in one step
Switching methods use a label from a packet as in index to a table that gives action to take
32
Multi-Protocol Label SwitchingData packets are assigned labelsPacket-forwarding decisions made based
on the label, no need to examine the packet
Can create end-to-end circuits across any transport medium with any protocol
Can carry many types of packetsTraffic management is improvedLoss of visibility to IT departmentsPath labels identify virtual links between
distant nodes, not necessarily endpoints
33
MPLS RoutersRouters that carry MPLS traffic
are called label switch routers (LSRs)
Entry and exit point routers are called label edge routers (LERs), which push an MPLS label onto a packet and pop it off an outgoing packet
34
Label Switch RouterRouters inside an MPLS network
perform routing based only on the label
When an LSR receives a packet, it uses the label included in the packet header as an index to determine the next hop on the label-switched path and a corresponding label for the packet from a lookup table.
The old label is removed and replaced with the new label before the packet is routed 35
Label Distribution ProtocolLDP used to distribute labels between
LERs and LSRsLSRs exchange reachability and label
information to build a complete diagram of the MPLS network
Label switch paths are used to create virtual paths through MPLS networks
LER determines forwarding class of a packet, pushes label into MPLS header
LSR looks at topmost label, does a label swap, push or pop to label stack
36
Understanding MPLSInstead of focusing on
destinations, focus on packet flows
Instead of thinking about forwarding tables that are relatively static, think about a system that can change forwarding tables quickly
Switching technologies like MPLS use the flow abstraction and create forwarding for flows rather than for destinations
38
How It WorksEach packet is prefixed by an MPLS
header, called a label stack with some number of these:◦20-bit label value◦3-bit traffic class field for QoS◦1-bit bottom of stack flag◦8-bit TTL field
Label edge router pushes label, pops at other edge of MPLS network
Label switch router routes based on the label only
39
Use of the Label StackLabel swap
◦ Label is swapped with a new label◦ Packet is forwarded along path of new label
Label push◦ New label pushed on top of existing label◦ Encapsulates packet in another layer of MPLS◦ Commonly used for MPLS VPNs
Label pop◦ Label is removed from packet◦ May reveal an inner label◦ If label is last one, packet leaves MPLS tunnel
At egress router, only original payload remains, so that router must be able to process it
40
Traffic EngineeringCan use MPLS to define full mesh
between two ISPs, can monitor traffic to other ISPs
Can use MPLS to use fastest routes for most critical traffic
43
SummaryIndexing can be used instead of table
lookup to determine routing, saving router time
Paths can be defined and engineeredMPLS prepends a header onto each
messageLSRs along the route use labels to forward
the datagram without lookupsMPLS was defined to save router time, is
less important today because of faster routers
MPLS is mostly used today to provide VPNs 44