• Keine Ergebnisse gefunden

Internet Group Communication:

N/A
N/A
Protected

Academic year: 2022

Aktie "Internet Group Communication: "

Copied!
47
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

haw-hamburg.de

Internet Group Communication:

IP Multicasting

• Introduction

• Why to Talk in Groups?

• Aspects of Group Communication

• IP-Multicasting

• Addressing

• The Internet Group Protocol

(2)

haw-hamburg.de

Motivation

Current Situation: Use of the Internet penetrates new areas:

• Multimedia Information Services

• Infotainment

• Gaming (MMORPGs)

• Synchronous Network Information Services

• Group Communication Tools

A Transport Infrastructur is needed for

Group Communication Services

(3)

haw-hamburg.de

Requirements

• Must fit into current IP Infrastructure

• Location Transparancy

• Efficiency in Data Distribution

• Utmost Independence of Specific Hardware

• Independent Open Standards

• Interoperability

(4)

haw-hamburg.de

Example:

Video Streaming

• High Requirements of Bandwidth and Server Performance

• Continuous Data Streams

• Real-Time Synchronisation

• Global Distribution (Web-TV, IPTV, Video-

Conferencing)

(5)

haw-hamburg.de

Issues:

¾ Internet Group Communication Fundaments

Group Communication, Multicasting, Adressing, IGMP/MLD

¾ Layer 2 Multicasting

Local Networks, Adress-Mapping, Framing, Discovery, ATM

¾ Multicast Routing

Specialities, Algorithms, Protocols

¾ New Developments

IPng, SSM, Multicast Mobility

(6)

haw-hamburg.de

Why to Talk in Groups?

Internet based communication steadily gains importance, quantitatively as well as qualitatively. New communication forms arise, old services spread rapidly:

• Multimedia Distribution

• ‚Broadcasting‘ - Offers

• Telecommunication Services

Scalable Communication Paths needed to

Distribute Data in Parallel

(7)

haw-hamburg.de

Ineffective Group Communication

E m p f ä n g e r 3

E m p f ä n g e r 2

E m p f ä n g e r 1 S e n d e r

E m p f ä n g e r 3

E m p f ä n g e r 2

E m p f ä n g e r 1 S e n d e r

Unicast Broadcast

(8)

haw-hamburg.de

Effective Group Communication

E m p f ä n g e r 3

E m p f ä n g e r 2

E m p f ä n g e r 1 S e n d e r

Multicast

(9)

haw-hamburg.de

Group Communication Differs

Classical TCP/IP Communication Model:

• Client/Server Principle

• Individual Communication Channels – Initiated by client

– Server answers individually

– Server speaks on many point-to-point channels

• Exception for unspecific message distribution:

Broadcasts

(10)

haw-hamburg.de

Examples

IRC – Client-to-Client Communication via Server NTP – many Clients ask one Server

Routing (RIPv1) – Broadcast of Routing Tables Multisource Webpage – Client asks many Server Internet Server Farm – one Client asks one of

many Servers

(11)

haw-hamburg.de

Group Communication Modes

Broadcast – one Sender to all Members of the Subnet Concast – one Receiver of a Group of Senders

Multicast – one Sender Addresses a Group of Receivers Multipeer – a Group of Senders to a Group of Receivers

Anycast – Communication Partner selected from a Group of

potential Partners (Unicast)

(12)

haw-hamburg.de

Aspects of Group Communication

• Openness: Support of open and closed groups

• Dynamic: Change of group membership

• Reliability: Securing of data transport

• Flow Control: Adapting data streams to buffers

• Group Management: Mechanisms of addressing

and membership control

(13)

haw-hamburg.de

Openness & Dynamic

Relevant Mechanisms

• Identification/Announcement in a group/ with the sender

• Authorisation in closed Groups

• Management of send/receive allowances

• Registration & deregistration, definition of group composition

• Definition of group lifetime

(14)

haw-hamburg.de

Reliability

A securing layer requests for some acknowledgements

ACK:

• Group members need to register with sender

• results in ACK-‘Implosion‘

NACK:

• Retransmission for one may disturb the entire group

• Last loss may be unseen

Dateneinheit 1 Dateneinheit 2 Dateneinheit 3 Dateneinheit 4 Dateneinheit 5 Dateneinheit 6 Dateneinheit 3

Sender Empfänger

NACK

Dateneinheit 7

X

X Verlust wird

nicht erkannt

(15)

haw-hamburg.de

Ack Implosion

Sender

(16)

haw-hamburg.de

Flow Control

Window based:

• uses positive acknowledgements for sliding the window

⇒ unsuitable Rate based:

• Adjust source intensity (Burst Rate)

• May be announced by receiver with membership registration

Burst

Zeitraum T Zeitraum T

Minimaler Abstand t

Dateneinheit

Zeit

(17)

haw-hamburg.de

Group Management

Addressing

• Address scheme for a group

• Address allocation (centralised or decentralised) Signaling

• Registration/Deregistration

• Member management (centralised or decentralised)

(18)

haw-hamburg.de

IP Multicasting

Method for Transfering IP Datagrams to Host-Groups

• Initially: RFC 1112 (S. Deering et.al., 1989)

• Addresses a host group by one group address

• Two kinds of multicast:

– Any Source Multicast (ASM) – Source Specific Multicast (SSM)

• Client Protocol for registration (IGMP/MLD)

• Routing throughout the Internet (Multicast Routing)

• Address translation into Layer 2

(19)

haw-hamburg.de

IP Multicasting

• Omits redundant network traffic

• Reduces network and server load

Example: 8 Kbps Audio Streaming

0 0.2 0.4 0.6 0.8 Traffic

Mbps

1 20 40 60 80 100 # Clients

Multicast

Unicast

(20)

haw-hamburg.de

IP Multicasting

• Offers to sender a data delivery service to a distributed unknown group of receivers (multipoint access)

• UDP-based

• Best Effort Transport

• Securing and flow control left to application

• No closed groups

• No restriction on senders

• Applications may react source address sensitive

(21)

haw-hamburg.de

Multicast Network

(22)

haw-hamburg.de

IP Multicasting

• Multimedia

– Streaming video and audio (broadcasting) – Teleteaching

– Conferencing

• Financial information services (stock price ticker,...)

• Netzwork information services

• Arbitrary data distribution services (Pusch Apps)

(23)

haw-hamburg.de

MBONE

(24)

haw-hamburg.de

Example:

Mbone-Tools

SDR

(25)

haw-hamburg.de

(26)

haw-hamburg.de

Multicast Addressing

• Denote delocalized addresses

• IPv4 Multicast Group addresses – 224.0.0.0–239.255.255.255 – Class “D” Address Space – Special SSM block: 232.*.*.*

• IPv6: scoped multicast addresses – FF00::/8

– Special SSM block: FF3x::/32

• Permanent Addresses assigned by IANA – RFC 1700: Assigned Adresses

“http://www.iana.org/assignments/multicast-addresses ” lists reserved addresses

• Dynamic Addresses

– independent of local IP-address space (IPv4)

– Unicast based Multicast addresses (IPv6)

(27)

haw-hamburg.de

Internet Address Classes

(28)

haw-hamburg.de

Private Multicast Addresses

• Officially not routed address range

– 239.0.0.0–239.255.255.255 – Private Address Space

• Similar to RFC1918 Unicast Addresses

• Unused for global Internet Traffic

• Limits Multicast Traffic to own Institution

• Same Addresses may be globally re-used – Example

• Local range: 239.253.0.0/16

• Organisation-wide range: 239.192.0.0/14

(29)

haw-hamburg.de

Reserved Multicast Addresses

• Permanent IP Multicast Group Addresses

– 224.0.0.0–224.0.0.255 – Examples:

• 224.0.0.1 All Systems of Subnet

• 224.0.0.2 All Routers of Subnet

• 224.0.0.4 All DVMRP Router

• 224.0.0.5 All OSPF Router

• 224.0.0.9 All RIP(v2) Router

• 224.0.0.13 All PIMv2 Router

• 224.0.1.1 NTP

• 224.0.1.9 Multicast Transport Protocol (MTP)

• TTL – Standards in MBONE

• TTL = 1: This Subnet

• TTL = 15: This Site

• TTL = 63: This Region

• TTL = 127: This Internet

(30)

haw-hamburg.de

IPv6 Multicast Addresses

• Flag field: lower bit indicates permanent (=0) respectively transient (=1) group, rest is reserved (==0)

• Scope field: 1 - node local 2 - link-local 5 - site-local

8 - organisation local B - community-local

E - global (other values reserved)

11111111 Group ID

8 112 bits

flags scope

4 4

(31)

haw-hamburg.de

Addresses (RFC 3306)

(32)

haw-hamburg.de

Dynamic Multicast Addressing

• Dynamic Assignment of Group addresses:

– Until now: SDR Application

– Sessions/Groups announced via well-known multicast groups

– Address assignments and collisions are managed within initiation process

– Brings up severe scaling issue

• Future Techniques and Planning:

– Multicast Address Set-Claim (MASC)

• Hierarchical, dynamical address allocation scheme

• Difficult and far – MADCAP

• Similar to DHCP

• Needs own Protocol stack and application integration!

(33)

haw-hamburg.de

Internet Group Management

Internet Group Management Protocol (IGMP)

• Client Protocol to initiate, preserve and terminate group membership

• Local Router collect and monitor information

• IPv4: Internet Group Management Protocol (IGMP) – IGMP v1 RFC 1112

– IGMP v2 RFC 2236 – implemented almost everywhere – IGMP v3 RFC 3376

• IPv6: Multicast Listener Discovery Protocol (MLD) – MLDv1 (RFC 2710) – analogue to IGMPv2 – MLDv2 (RFC 3810) – starting from IGMPv3

• SSM Specialities: RFC 4604

(34)

haw-hamburg.de

IGMP

(35)

haw-hamburg.de

IGMP Protocol Architecture

IGMP works like ICMP with Queries:

• General Membership

• Group specific Membership

• Version 2 Membership Report

• Leave Query

• Version 1 Membership Report

0 34 78 1516 31

4-bit Type version (1)

4-bit Type

version (1-2) Maximum Response Time 16-bit-checksum

32-bit group address (class D IP address)

8 bytes

(36)

haw-hamburg.de

IGMP Communikation

multicast router host

IGMP report, TTL = 1,

IGMP group addr = group address dest IP addr = group address

src IP addr = host's IP addr

IGMP report, TTL = 1,

IGMP group addr = 0

dest IP addr = 224.0.0.1

src IP addr = router's IP addr

(37)

haw-hamburg.de

H3 224.1.1.1 H3

Report

H1 H2

Group membership report

IGMP Host-Router Signalling

Members joining a group do not have to waited for a query to join.

They send in an unsolicited report indicating their interest

(38)

haw-hamburg.de

• Router sends periodic queries to 224.0.0.1

• One group member per subnet answers

• Others suppress answer

Query 224.1.1.1

Report

224.1.1.1

Suppressed

X

224.1.1.1

Suppressed

X

H1 H2 H3

Group Membership Preservation

IGMP Host-Router Signalling

(39)

haw-hamburg.de

Host 3 leaves group quietly

Router queries remain unanswered

Group terminate on timeout (up to 3 min)

H1 H3 H3 #1 #1

General Query

#2 #2 H2

Terminate Group Membership (IGMPv1)

IGMP Host-Router Signalling

(40)

haw-hamburg.de

Host sends Leave Message to 224.0.02

Router sends group query to 224.1.1.1

Timeout ~ 3 seconds for group 224.1.1.1

H1 H3 H3

Leave to 224.0.0.2 224.1.1.1

#1 #1

Group Specific Query to 224.1.1.1

#2 #2 H2

IGMP Host-Router Signalling

Terminate Group Membership (IGMPv2)

(41)

haw-hamburg.de

Source = 1.1.1.1 Group = 224.1.1.1

H1 - Member of 224.1.1.1 R1

R3

R2

Source = 2.2.2.2 Group = 224.1.1.1

H1 wants to

receive from S = 1.1.1.1 but not from S = 2.2.2.2

With IGMP,

specific sources can be pruned back - S = 2.2.2.2 in this case

IGMPv3:

Join 1.1.1.1, 224.1.1.1

Leave 2.2.2.2, 224.1.1.1

(42)

haw-hamburg.de

Limits of IGMP

IGMP Concept has no Group Directory

• Hosts not answering on Membership Queries remain unseen

• Closed groups impossible

• Undiscovered listener part of the concept

IGMP is relatively slow

• Time to reaction in the order of seconds

• Unsuitable for flow control or congestion avoidance

• Initiation or change of a non-local group tardy

(43)

haw-hamburg.de

API

Berkeley Sockets set/getsockopt():

•IP_ADD_MEMBERSHIP to join a multicast group on a specific interface

•IP_DROP_MEMBERSHIP to leave a multicast group (no protocol action initiated with IGMP v1, but there is with IGMP v2)

•IP_MULTICAST_IF to set or get default interface for use with multicast sends

•IP_MULTICAST_LOOP to disable loopback of outgoing multicast datagrams

•IP_MULTICAST_TTL to set the IP time-to-live of outgoing

multicast datagrams.

(44)

haw-hamburg.de

API - Java

Package: java.net

Class MulticastSocket

with Methods

public void joinGroup(InetAddress mcastaddr)

public void leaveGroup(InetAddress mcastaddr)

(45)

haw-hamburg.de

create multicast socket create datagram

send multicast close socket create multicast socket

join group

create datagram buffer receive datagram

leave group

Multicast Listener Multicast Sender

(46)

haw-hamburg.de

import java.net.*;

import java.io.*;

public class MulticastPeer{

public static void main(String args[]){

// args give message contents & destination multicast group // (e.g. "228.5.6.7")

try {

InetAddress group = InetAddress.getByName(args[1]);

s = new MulticastSocket(6789);

s.joinGroup(group);

byte [] m = args[0].getBytes();

DatagramPacket messageOut = new DatagramPacket(m, m.length, group, 6789);

s.send(messageOut);

// get messages from others in group byte[] buffer = new byte[1000];

for(int i=0; i< 3; i++) {

DatagramPacket messageIn = new DatagramPacket(buffer, buffer.length);

s.receive(messageIn);

System.out.println("Received:" + new String(messageIn.getData()));

}

s.leaveGroup(group);

}catch (SocketException e){System.out.println("Socket: " + e.getMessage());

}catch (IOException e){System.out.println("IO: " + e.getMessage());}

} } }

(47)

haw-hamburg.de

Reading

• R. Wittmann, M. Zitterbart: Multicast Communication,

Morgan Kaufmann, 2001

Referenzen

ÄHNLICHE DOKUMENTE

In summary, four new cationic iridium complexes have been prepared, and the photophysical influence of the trifluoroacetyl unit has been investigated.. The electron-acceptor

This interface is the physical component of the Third Teacher, modifying the environment of a room to either stimulate learning outcomes, act as an intermediary between knowledge

This shows that studying group schemes and p-divisible groups gives us information on both the abelian variety and its formal completion.. The goal of this course is to present

At the first glance of Fig. 1, it is easy to conclude this was a decentralized group of low density in research interactions, suggesting CE teachers had minimal research

Multicast – one Sender Addresses a Group of Receivers Multipeer – a Group of Senders to a Group of Receivers. Anycast – Communication Partner selected from a Group of

Der IMG empfängt die Gruppendaten mit der IPv4 Adresse 239.99.99.99 vom Sender (Pfeil 3) und um die Gruppe eindeutig identifizieren zu können, bildet er die Gruppenadresse auf

neous, with large, rounded to slightly oval, strongly keeled, juxtaposed tubercles ar- ranged in 14 regular rows (partly imbricating in P. robertsi; tubercles in 20 or

To summarize, the best model explaining the frequency of agonistic and affiliative interactions included the time after integration and the experience of group housing, and the