Multicast architecture in Linux

Download Report

Transcript Multicast architecture in Linux

Multicast architecture in Linux
Laurentiu Barza
Feb. 22, 2001
Conformance levels
• Level 0: no support for multicast
• Level 1: sending, but not receiving
• Level 2: full support for IP multicasting
Linux multicast routing & forwarding
(4)
Linux
kernel
Forwarding
(3)
(1)
Multicast
routing
algorithm
(2)
Multicast
routing
table
Linux 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
Linux 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
Linux 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
• IP_UNBLOCK_SOURCE
mute a specific source
un-mute the source
• IP_ADD_SOURCE_MEMBERSHIP
• IP_DROP_SOURCE_MEMBERSHIP
• IP_DROP_MEMBERSHIP
add a specific source
drop a specific souce
drop all sources
• IP_MULTICAST_FILTER
set multicast filter
MGEN 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
MGEN test scenarios
• Unicast: source -> 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
SSM 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
Future 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
Future work
• Utilize multicast (SSM) in CDN networks
user
Main site
(source)
cache