Title: Multicast architecture in Linux
1Multicast architecture in Linux
Laurentiu Barza
Feb. 22, 2001
2Conformance levels
- Level 0 no support for multicast
- Level 1 sending, but not receiving
- Level 2 full support for IP multicasting
3Linux multicast routing forwarding
(4)
Linux kernel
Forwarding
(3)
(1)
(2)
Multicast routing algorithm
Multicast routing table
4Linux multicast programming
int setsockopt (int s, int level, int optname,
const void optval, int optlen) int getsockopt
(int s, int level, int optname, void optval,
int optlen) s the socket the system call
applies to level layer which handle the
option optname identifies the option we are
setting/getting optval the value taken by the
option optlen the size of data structure
optval
5Linux multicast programming
- The optname values involved in multicast
programming - IP_MULTICAST_IF set/get IP multicast
interface. - IP_MULTICAST_TTL set/get IP multicast ttl
- IP_MULTICAST_LOOP set/get IP multicast
loopback - IP_ADD_MEMBERSHIP add an IP group membership
- IP_DROP_MEMBERSHIP drop an IP group membership
6Linux multicast programming- IGMPv3 specific
options -
- For some applications all the sources are
accepted, for others only souces in a given list
are allowed. - IP_BLOCK_SOURCE mute a specific source
- IP_UNBLOCK_SOURCE un-mute the source
- IP_ADD_SOURCE_MEMBERSHIP add a specific
source - IP_DROP_SOURCE_MEMBERSHIP drop a specific
souce - IP_DROP_MEMBERSHIP drop all sources
- IP_MULTICAST_FILTER set multicast filter
7MGEN test tool
- IP network performance measurements using UDP/IP
unicast and multicast traffic - generate real traffic patterns periodic, poisson
- possibility to control packet size and
transmission rate, RSVP, TOS settings - fixed-parameter mode, script mode
- distributed with utility programs parses log
files and outputs statistics
8MGEN test scenarios
- Unicast source -gt receiver
- Multicast one-to-one
- Multicast one-to-many all the receivers in the
same network - Multicast one to many the receivers are in
different networks
9SSM current developments
- IGMPv3 by Sprint
- IGMPv3 lite by Cisco
- solution for application developers to
immediately start programming SSM applications - URD host signaling
- allows existing IP multicast receiver
applications to be used with SSM without the need
to modify the application
10Future work
- Context the Internet is changing
- Content Distribution Networks (CDN) an overlay
for the Internet - performance lower latency
- bandwidth arbitrage push the content where the
bandwidth is cheaper - flash crowd control load balancing
- bandwidth multiplication
11Future work
- Utilize multicast (SSM) in CDN networks
user
Main site (source)
cache