11 cs716 advanced computer networks by dr. amir qayyum
TRANSCRIPT
4
Internetworking
• Basics of internetworking (heterogeneity)– IP protocol, address resolution, control messages …
• Routing• Global internets (scale)
– Virtual geography and addresses– Hierarchical routing
• Future internetworking: IPv6• Multicast traffic• MPLS
5
Internet Multicast Outline• Motivation and challenges
• Support strategy
• IP multicast service model
• Multicast in the Internet
• Routing
– Review of ELAN techniques
– Multicast routing
• Limitations
6
Multicast• Unicast: one destination• Broadcast: all destinations• Multicast: subset of destinations• When is multicast useful ?
– Send data to multiple receivers at once• Videoconferencing, video-on-demand, telecollaboration• Software update to group of customers
– Limited broadcast/self-defined multicast• Send question to unknown receiver• Resource discovery; Distributed database
7
Multicast• Why not just use broadcast/unicast ?
– Broadcast not supported outside of LAN– Unicast sends multiple copies across common links
• Multicast support– Often supported by hardware in LAN’s (as broadcast, if
not multicast)– But difficult to extend in scalable manner
• Multicast challenges– Efficient distribution on an internetwork– Specification of recipient group (abstraction must
support self-definition)
8
Multicast Support Strategy• IPv4 used as basis for experimental solutions
– Use class D addresses (1110 <28 bits>)– Demonstrated with MBone– Uses tunneling
• Multicast integrated into IPv6• Internet Group Management Protocol (IGMP)• Several routing/forwarding schemes:
– Distance-vector– Link-state– Protocol-independent
9
IP Multicast Service Model• Each group uses a single address
– Class D addresses (1110 <28 bits>)– Some are well-known, some are dynamically assigned
• Group membership– Members located anywhere in the Internet– Number of receivers is arbitrary– Members can join/leave dynamically– Hosts can belong to more than one group
10
IP Multicast Service Model
• Senders simply use group address as destination– Sender need not be in group– LAN loopback needed for sender in group
• Multicast scope– LAN (local scope)– Administrative scope (e.g. campus), may overlap, can assign
group addresses dynamically– TTL scope (no more than N hops)
• Scope is exposed to protocols and applications (by exposing IP TTL)
11
IP Multicast Service Model• Multicast reception requires membership in group
– Internet Group Management Protocol (IGMP), RFC 1112
– New operations to join and leave group– LAN routers track local membership– Forwarding depends on routing scheme– Last hop typically uses LAN broadcast
• Packet reception same as IP unicast
12
Internet Multicast Backbone - MBone
• Existing infrastructure for multicast in the Internet• Multicast route propagation using DVMRP• Problem: most IP routers do not support multicast• Solution: tunneling by multicast-capable routers
– Encapsulate multicast traffic in IP packets– Send to other multicast-capable routers– Recipients unpack & forward original multicast packet
• Passes through multicast-incapable areas of Internet
13
ELAN Multicast Techniques• Direct support (Ethernet)
– Application subscribes to group– IP layer notifies Ethernet card to listen to
packets with group address• Support through broadcast (LANE)• Flooding in ELANs
– Each packet sent on all but incoming link– Switches must remember each packet!
• Spanning tree: every host gets one copy
14
ELAN Multicast Techniques• Spanning tree selection
– Elect a leader; spanning tree is shortest path to leader (Perlman)
– Distribute topology everywhere, compute in parallel (link-state)
• Problems with spanning trees– Bandwidth wasted for groups with few receivers; Solution:
prune LAN’s with no receivers from tree– For very large ELAN’s, no single tree is efficient; Solution:
define tree per group or tree per source
• The same solutions are used in the Internet!
15
Spanning Tree Tradeoffs
• Tree per group or tree per source ?
• Per group advantage– One routing entry per group
• Per source advantages– More efficient distribution
– Spreads load better across links
– Leverage unicast routing tables
16
Multicast Routing in the Internet
• Multicast Open Shortest Path First (MOSPF)
• Distance-Vector Multicast Routing Protocol (DVMRP, used in MBONE)
• Protocol-Independent Multicast (PIM)– Deals with scalability issues of above protocols
– Dense Mode (PIM-DM)
– Sparse Mode (PIM-SM)
17
Multicast Routing in the Internet• How do senders find receivers?
– Receivers inform all senders of interest (MOSPF)– Send to all receivers; uninterested receivers prune
(DVMRP, PIM-DM)– Agree on set of rendezvous points (PIM-SM)
• Types of distribution trees– Separate tree from each sender (DVMRP, MOSPF,
PIM-DM, PIM-SM)– Tree rooted at rendezvous point (PIM-SM)
18
Link State Multicast (MOSPF)
• Each host on a LAN– Periodically announces its group memberships, via
Internet Group Management Protocol (IGMP)
• Extend LSP to include set of groups with members on a given LAN
• MOSPF routing extends OSPF– Uses Dijkstra’s algorithm– Computes shortest-path spanning tree for source-group
pairs– Forward packet on local portion of tree
19
Link State Multicast (MOSPF)• Tree computation
– Can’t precompute for all source-group pairs– Compute on demand when first packet from a source S
to a group G arrives– Cache trees for active source-group pairs– Recompute when link-state changes
• Scalability limitations– Reasonable intra-AS scalability– But meaningless for inter-AS– Source-group pairs scale with sources (needs to be
hierarchical)
20
Distance Vector Multicast (DVMRP)• Idea
– Graph of directed next-hop edges to a destination S form a tree
– Use reverse edges to broadcast from S• Implementation (Reverse Path Broadcast, or RPB)
– Forward multicast packet on all links– If and only if packet came from next hop for packet source
• Avoid repetition on LAN’s– Assign parent router for each LAN– Has shortest path to source, ties broken by ID– Track parenthood via vector exchanges
21
RPB and RPM
MM MM
MM
MMMember of multicast group G Unicast route to S
RPB from S
RPM from S to G
Pruned
GG
SS
22
RPB to RPM (reverse path multicast)• Identify leaf networks
– Only one router on network– Thus no distance packets received on interface
• Prune leaf networks– Without hosts in a group– Hosts must self-identify using IGMP
• Forward pruning information– Extend distance vector with group information– Forward packets only to interested parties– Only when multicast source active
23
Distance Vector MulticastRPM Implementation
• Assume that everyone is interested
• Respond to unwanted packets with prune requests
• Prune requests– Canceled by graft request
– Time out periodically
• Need ARQ for prune or graft ?
24
Distance Vector Multicast - Scalability• Packets are periodically broadcast (thus
guaranteed to reach all interested members)• High overhead for sparse groups, consider:
– Multicast group of 10 members– Scattered around the world– Packets periodically reach all routers in Internet
• High overhead for routers– All off-tree routers maintain pruning state– And periodically retransmit
25
Protocol Independent Multicast (PIM)
• Approach– Define rendezvous points (RP) for each group– Need multiple RP’s to handle failures
• Two versions– Dense mode
• Explicit prune messages• Shared tree
– Sparse mode• Explicit join messages• Shared or source-specific tree
26
Protocol Independent Multicast (PIM)
• Rendezvous points (RP) for each multicast group
SS
RPRP RPRPRPRP
Specific multicast
tree
27
Protocol Independent Multicast
• Joins– Receiver: send packet to one RP
– Source: send to all RP’s
• Tree selection– Rooted at rendezvous points
– Shared for infrequent traffic
– Source-specific if merited by traffic level
28
Limitations on Multicast
• Scalability (addressed to some extent by PIM)– Explosive growth of the Internet population– Explosive growth of multicast, multimedia
applications
• Control of network resources– Applications have different performance needs– Different resource commitments by clients and/or
organizations– Different ASs provide different QoS …