Multicast architecture in Linux Laurentiu Barza Sujet Après une évolution lente de l’Internet, nous assistont à sa croissance exponentielle, générée par l’utilisation des réseaux dans le commerce électronique, domaine mondial qui ne cesse de croître. Mais quel est le rôle exact joué par l’Internet dans le développement des autoroutes de l’Information ? Des exemples de services d’informations ainsi que les nouveaux outils logiciels nécessaires (évolution des protocoles, intermédiation, télé-paiement,...) illustrent cette présentation. Feb. 22, 2001 1
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) (2) Multicast routing algorithm 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 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
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 cache Main site (source) cache