CS 4396 Computer Networks Lab IP Multicast - Fundamentals.
-
Upload
colin-kelley -
Category
Documents
-
view
215 -
download
0
Transcript of CS 4396 Computer Networks Lab IP Multicast - Fundamentals.
![Page 1: CS 4396 Computer Networks Lab IP Multicast - Fundamentals.](https://reader036.fdocuments.us/reader036/viewer/2022082711/56649f135503460f94c27b7e/html5/thumbnails/1.jpg)
CS 4396Computer Networks Lab
IP Multicast - Fundamentals
![Page 2: CS 4396 Computer Networks Lab IP Multicast - Fundamentals.](https://reader036.fdocuments.us/reader036/viewer/2022082711/56649f135503460f94c27b7e/html5/thumbnails/2.jpg)
Motivation Original IP service model: one-to-one data
delivery One sender sending its data to one receiver at a time
Recently, new apps with multi-receiver semantics Audio/video conferencing, news dissemination, Internet
TV, etc. Unicast not designed to efficiently support multi-
receiver apps Solution
Multicast support for IP
![Page 3: CS 4396 Computer Networks Lab IP Multicast - Fundamentals.](https://reader036.fdocuments.us/reader036/viewer/2022082711/56649f135503460f94c27b7e/html5/thumbnails/3.jpg)
Multicast semantics Open group semantic
Zero or more receivers form a multicast group – host group Hosts can join/leave at will – no registration/synchronization
A group is represented by a class D IP address (more later) Anyone knowing group address can send to it (open group) IP based best effort delivery semantics
Multicast supports UDP only – no TCP !
Advs Sources do not need to know individual receivers Receivers simply join the group and receive data
Disadvs Difficult to protect from unauthorized senders/receivers
![Page 4: CS 4396 Computer Networks Lab IP Multicast - Fundamentals.](https://reader036.fdocuments.us/reader036/viewer/2022082711/56649f135503460f94c27b7e/html5/thumbnails/4.jpg)
Fundamentals Basic host model
Hosts Send and receive multicast data with no/minimum extra effort
When sending data, normal IP-Send operation When receiving data, tell your router what group you are
interested in join/leave a multicast group (start/stop receiving data from all
sources sending to the group) Basic router model
Routers Have the task of connecting multicast sources to multicast
receivers Prepared to receive data from all multicast group addresses Know when to forward or drop packets Keep track of interfaces leading to receivers
![Page 5: CS 4396 Computer Networks Lab IP Multicast - Fundamentals.](https://reader036.fdocuments.us/reader036/viewer/2022082711/56649f135503460f94c27b7e/html5/thumbnails/5.jpg)
Fundamentals Multicast group addresses
Class D IP addresses (224.0.0.0 – 239.255.255.255) Implicit scoping
224.0.0.0 – 224.0.0.255: link scoped 244.0.1.0 – 238.255.255.255: global scoped 239.0.0.0 – 239.255.255.255: admin scoped
Explicit scoping Use TTL value for scoping Use TTL thresholds at routers for scoping
How to do actual delivery to a receiver host? Map IP multicast address to an Ethernet multicast
address Receiver NIC is configured to receive packets destined
to this Ethernet address
![Page 6: CS 4396 Computer Networks Lab IP Multicast - Fundamentals.](https://reader036.fdocuments.us/reader036/viewer/2022082711/56649f135503460f94c27b7e/html5/thumbnails/6.jpg)
Fundamentals Mapping an IP address to an Ethernet address
Class D IP address 1110
5 bitsnot used
Low-order 23 bits of multicastGroup address copied to Ethernet address
48-bit Ethernet address
0000000100000000 01011110 0
![Page 7: CS 4396 Computer Networks Lab IP Multicast - Fundamentals.](https://reader036.fdocuments.us/reader036/viewer/2022082711/56649f135503460f94c27b7e/html5/thumbnails/7.jpg)
Fundamentals Multicast packet format
Source IP is unicast IP address corr to source of the packet
Destination IP is multicast group address In general, we show this (Source IP, Dest IP) couple as
(S,G) where S is source IP, G is dest. IP (multicast group addr)
How data is forwarded to multiple receivers? Routers in the network build forwarding trees connecting
sources and receivers On-tree routers keep multicast forwarding states for each
group Source data propagates on this tree toward the
receivers
![Page 8: CS 4396 Computer Networks Lab IP Multicast - Fundamentals.](https://reader036.fdocuments.us/reader036/viewer/2022082711/56649f135503460f94c27b7e/html5/thumbnails/8.jpg)
Fundamentals Multicast forwarding states
Used to determine how a multicast packet will be forwarded
Consists of several elements: source address - S group address - G incoming interface - iif outgoing interface list – oif list various timers (needed to deal with aging entries out of the
forwarding table) flags (needed later for PIM-SM)
Created, modified, and deleted dynamically Created when receivers join a multicast group and when
sources send packets addressed to the group. Deleted after receivers leave a multicast group or senders
stop sending packets addressed to the group. Every forwarding state has a fixed lifetime – needs refreshing
![Page 9: CS 4396 Computer Networks Lab IP Multicast - Fundamentals.](https://reader036.fdocuments.us/reader036/viewer/2022082711/56649f135503460f94c27b7e/html5/thumbnails/9.jpg)
Fundamentals oif list maintenance
Every forwarding state has a fixed lifetime When lifetime expires for an interface, it is removed from oif When oif is empty, the overall forwarding state (may) expire
and removed from the forwarding table Certain events can reset the timer
Big picture Create multicast forwarding trees connecting sources and
receivers so that receivers get source data sent to the multicast group
Three components Host to router communication Intra-domain routing Inter-domain routing
![Page 10: CS 4396 Computer Networks Lab IP Multicast - Fundamentals.](https://reader036.fdocuments.us/reader036/viewer/2022082711/56649f135503460f94c27b7e/html5/thumbnails/10.jpg)
Reverse Path Forwarding When a multicast packet with source address S
is received by a router, the packet will be forwarded only if it arrived on the interface to which the router would forward a (unicast) packet with destination address S. Otherwise, the packet is dropped.
We refer to this as the RPF test. Plays a role in preventing forwarding loops.
![Page 11: CS 4396 Computer Networks Lab IP Multicast - Fundamentals.](https://reader036.fdocuments.us/reader036/viewer/2022082711/56649f135503460f94c27b7e/html5/thumbnails/11.jpg)
IP Multicast Architecture
application API
host-to-router (IGMP)
intra-domain routing
inter-domain routing
hosts
routers
Domain A
Domain B
![Page 12: CS 4396 Computer Networks Lab IP Multicast - Fundamentals.](https://reader036.fdocuments.us/reader036/viewer/2022082711/56649f135503460f94c27b7e/html5/thumbnails/12.jpg)
Application API
routersIntra-domain
Inter-domain
Host-to-router
At multicast receiver:Application API has socket options:
IP_ADD_MEMBERSHIPIP_DROP_MEMBERSHIP
At multicast source: ???
Application
OS
![Page 13: CS 4396 Computer Networks Lab IP Multicast - Fundamentals.](https://reader036.fdocuments.us/reader036/viewer/2022082711/56649f135503460f94c27b7e/html5/thumbnails/13.jpg)
Host-to-Router
hosts
routersIntra-domain
Inter-domain
Host-to-router
Internet Group Management Protocol
Kernel informs router that an application wants to join a specificgroup G
![Page 14: CS 4396 Computer Networks Lab IP Multicast - Fundamentals.](https://reader036.fdocuments.us/reader036/viewer/2022082711/56649f135503460f94c27b7e/html5/thumbnails/14.jpg)
IGMP Used by hosts to indicate their interest in receiving
packets addressed to a particular multicast group G.
IGMPv1 (RFC 1112) Routers
General Membership Query Hosts
Membership Reports Unsolicited Group Membership Reports
IGMPv2 (RFC 2236) Added explicit Leave Group and Group Specific Membership
Query messages IGMPv3 (RFC 3376)
Added source filtering capabilities IGMP messages aren’t forwarded by routers
This is for the ones defined in above RFCs
![Page 15: CS 4396 Computer Networks Lab IP Multicast - Fundamentals.](https://reader036.fdocuments.us/reader036/viewer/2022082711/56649f135503460f94c27b7e/html5/thumbnails/15.jpg)
Multicast Routing Building forwarding trees between sources and
receivers Hard due to the open service model
Sources do not know who/where the receivers Receivers may not know (in advance) who/where the
sources
![Page 16: CS 4396 Computer Networks Lab IP Multicast - Fundamentals.](https://reader036.fdocuments.us/reader036/viewer/2022082711/56649f135503460f94c27b7e/html5/thumbnails/16.jpg)
Routing approaches Flood and prune
Begin by flooding traffic to entire network Prune branches with no receivers Examples: DVMRP, PIM-DM Disadv: unwanted state where there are no receivers
Link-state multicast protocols Routers advertise groups for-which-they-have-receivers
to entire network Compute trees on demand Example: MOSPF Disadv: unwanted state where there are no senders
![Page 17: CS 4396 Computer Networks Lab IP Multicast - Fundamentals.](https://reader036.fdocuments.us/reader036/viewer/2022082711/56649f135503460f94c27b7e/html5/thumbnails/17.jpg)
Routing approaches Core based protocols
Specify a meeting place or core Sources send their packets to core Receivers join group at core Requires mapping between group addresses and cores Examples: CBT, PIM-SM
![Page 18: CS 4396 Computer Networks Lab IP Multicast - Fundamentals.](https://reader036.fdocuments.us/reader036/viewer/2022082711/56649f135503460f94c27b7e/html5/thumbnails/18.jpg)
Types of forwarding trees Shared trees
Single tree shared by all members (sources) Data flows on the same tree regardless of the sender Example: CBT, PIM-SM +s: less states at routers -s: higher delay, traffic concentration at core
Source based trees Separate shortest path tree for each sender Example: DVMRP, MOSPF, PIM-DM, PIM-SM +s: Low delay, better load distribution -s: more state at routers (per source state)
![Page 19: CS 4396 Computer Networks Lab IP Multicast - Fundamentals.](https://reader036.fdocuments.us/reader036/viewer/2022082711/56649f135503460f94c27b7e/html5/thumbnails/19.jpg)
Intra-Domain Routing
hosts
routersIntra-domain
Inter-domain
Building a forwarding tree amongsession sources and receivers
Dense Mode Protocols• DVMRP, MOSPF, PIM-DM
Sparse Mode Protocols• PIM-SM, SSM
Domain A
Domain B