Multicasting

Download Report

Transcript Multicasting

ITEC4610
Network Switching and Routing
ดร. ประวิทย์ ชุมชู
หัวหน้าสาขาวิชาวิศวกรรมสารสนเทศและการสื่ อสาร(ICE)
MUT
Email: [email protected]
ห้องทางาน: F402
เบอร์โทรศัพท์ที่ทางาน: (02)9883655 ต่อ 220
เบอร์โทรศัพท์เคลื่อนที่: 065343850
MUT
Class IX
Multicasting
ดร. ประวิทย์ ชุมชู
หัวหน้าสาขาวิชาวิศวกรรมสารสนเทศและการสื่ อสาร(ICE)
MUT
Email: [email protected]
ห้องทางาน: F402
เบอร์โทรศัพท์ที่ทางาน: (02)9883655 ต่อ 220
เบอร์โทรศัพท์เคลื่อนที่: 065343850
MUT
Multicasting
Multicast Applications
• Group Management Protocols
• Multicast Routing Algorithm
• Multicast Routing Protocols
MUT
Multicast Applications
•
•
•
•
•
•
•
•
MUT
Software Distribution
Replicated database update
Command and control systems
Audio/video conferencing
Distributed games
Distributed interactive simulation (DIS)
Distribution of news
Distance Learning
Fundamental issues in multicast
Joining and leaving a group
 Multicast sessions learning
 Group members discovery
 Dynamic group membership
 Efficient transmission of multicast traffic
 Resource optimization
 Delivery tree maintenance
 Time-sensitive delivery of multicast traffic
 Data sequence maintenance
 Synchronization
MUT
Fundamental issues in multicast (Cont.)
Guaranteed arrival of multicast traffic
RTP
RMP
 Scalability
Feedback implosions
The use of groups
 Security
The exchange of cryptographic keys
UDP-based multicasting protocols
MUT
Multicasting
• Multicast Applications
 Group Management Protocols
• Multicast Routing Algorithm
• Multicast Routing Protocols
MUT
Group Management Protocols
• IGMPv1
• IGMPv2
• IGMPv3
MUT
IGMPv1(RFC1054)
Multicast router: periodically sends a query message to the all-hosts
address (224.0.0.1)
A host sends a report in reply on a per grou basis, thereby refreshing
the tentative states
 IGMP v1 supports suppression for periodical refresh report messages.
 IGMP v1 hosts send unsolicited reports upon joining a group, but
leaves the group silently
MUT
IGMPv2(RFC2236)
IGMP v2 maintains two types of query: general query and groupspecific query;
Periodical refresh report suppression is supported as well.
The approach to lower leave latency
MUT
IGMPv3(RFC 3376)
IGMP v3 maintains three types of query: general query, group-specific
query, and group-and-source specific query
 IGMP v3 maintains four reports: join, leave, state change, and refresh
 No periodical refresh report suppression is supported
The approach to support source filtering: (group-id, filter mode, source
list)
MUT
Position of IGMP in the network layer
MUT
GROUP MANAGEMENT
IGMP is a protocol that manages group membership. The IGMP
protocol gives the multicast routers information about the membership
status of hosts (routers) connected to the network. .
MUT
Note:
IGMP is a group management
protocol. It helps a multicast router
create and update a list of loyal
members related to each router
interface.
MUT
IGMP MESSAGES
IGMP has three types of messages: the query, the membership report,
and the leave report. There are two types of query messages, general and
special.
The topics discussed in this section include:
Message Format
MUT
IGMP message types
MUT
IGMP message format
MUT
IGMP type field
MUT
IGMP OPERATION
A multicast router connected to a network has a list of multicast
addresses of the groups with at least one loyal member in that network.
For each group, there is one router that has the duty of distributing the
multicast packets destined for that group.
The topics discussed in this section include:
Joining a Group
Leaving a Group
Monitoring Membership
MUT
IGMP operation
MUT
Membership report
MUT
Note:
In IGMP, a membership report is sent
twice, one after the other.
MUT
Leave report
MUT
Note:
The general query message does not
define a particular group.
MUT
General query message
MUT
Example 1
Imagine there are three hosts in a network as shown in the
following Figure
A query message was received at time 0; the random delay time
(in tenths of seconds) for each group is shown next to the
group address. Show the sequence of report messages.
See Next Slide
MUT
Example 1
MUT
Example 1 (Continued)
Solution
The events occur in this sequence:
a. Time 12: The timer for 228.42.0.0 in host A expires and a
membership report is sent, which is received by the router and every
host including host B which cancels its timer for 228.42.0.0.
b. Time 30: The timer for 225.14.0.0 in host A expires and a
membership report is sent, which is received by the router and every
host including host C which cancels its timer for 225.14.0.0.
c. Time 50: The timer for 238.71.0.0 in host B expires and a
membership report is sent, which is received by the router and every
host.
See Next Slide
MUT
Example 1 (Continued)
d. Time 70: The timer for 230.43.0.0 in host C expires and a
membership report is sent, which is received by the router and every
host including host A which cancels its timerfor 230.43.0.0.
Note that if each host had sent a report for every group in its
list, there would have been seven reports; with this strategy
only four reports are sent.
MUT
ENCAPSULATION
The IGMP message is encapsulated in an IP datagram, which is itself
encapsulated in a frame.
The topics discussed in this section include:
IP Layer
Data Link Layer
Netstat Utility
MUT
Encapsulation of IGMP packet
MUT
Note:
The IP packet that carries an IGMP
packet has a value of 2 in its
protocol field.
MUT
Note:
The IP packet that carries an IGMP
packet has a value of 1 in its
TTL field.
MUT
Destination IP addresses
MUT
Mapping class D to Ethernet physical address
First Byte
MUT
Class A
0
Class B
10
Class C
110
Class D
1110
Class E
1111
Class A
0 to 127
Class B
128 to 191
Class C
192 to 223
Class D
224 to 239
Class E
240 to 255
Second Byte Third Byte
Fourth Byte
Multicast IP Address
Multicast IP Address
Note:
An Ethernet multicast physical
address is in the range
01:00:5E:00:00:00
to
01:00:5E:7F:FF:FF.
MUT
Example 2
Change the multicast IP address 230.43.14.7 to an Ethernet
multicast physical
Solution
We can do this in two steps:
a. We write the rightmost 23 bits of the IP address in hexadecimal.
This can be done by changing the rightmost 3 bytes to hexadecimal
and then subtracting 8 from the leftmost digit if it is greater than or
equal to 8. In our example, the result is 2B:0E:07.
b. We add the result of part a to the starting Ethernet multicast
address, which is (01:00:5E:00:00:00). The result is
01:00:5E:2B:0E:07
MUT
Example 3
Change the multicast IP address 238.212.24.9 to an Ethernet
multicast address.
Solution
a. The right-most three bytes in hexadecimal are D4:18:09. We need
to subtract 8 from the leftmost digit, resulting in 54:18:09..
b. We add the result of part a to the Ethernet multicast starting
address. The result is
01:00:5E:54:18:09
MUT
Tunneling
For WAN, there is no physical multicast support
MUT
Example 4
We use netstat with three options, -n, -r, and -a. The -n option gives the
numeric versions of IP addresses, the -r option gives the routing table, and
the -a option gives all addresses (unicast and multicast). Note that we show
only the fields relative to our discussion.
$ netstat -nra
Kernel IP routing table
Destination
Gateway
153.18.16.0
0.0.0.0
169.254.0.0
0.0.0.0
127.0.0.0
0.0.0.0
224.0.0.0
0.0.0.0
0.0.0.0
153.18.31.254
Mask
255.255.240.0
255.255.0.0
255.0.0.0
224.0.0.0
0.0.0.0
Flags
U
U
U
U
UG
Iface
eth0
eth0
lo
eth0
eth0
Any packet with a multicast address from 224.0.0.0 to 239.255.255.255 is
masked and delivered to the Ethernet interface.
MUT
IGMP PACKAGE
We can show how IGMP can handle the sending and receiving of IGMP
packets through our simplified version of an IGMP package. In our
design an IGMP package involves a group table, a set of timers, and four
software modules.
The topics discussed in this section include:
Group Table
Timers
Group-Joining Module
Group-Leaving Module
Input Module
Output Module
MUT
IGMP package
MUT
Group table
States:
Free: There are no process left in the group
Delaying: There is timer for for sending a report
Idle: There is no timer
Reference count: The number of process still interested in the group
MUT
Group-Joining Module
•
1.
2.
Receive: a request from a process to join a group
Look for the corresponding entry in the table
If (found)
1.
3.
If (not found)
1.
2.
3.
4.
4.
MUT
Increment the reference count
Create an entry with reference count set one
Add the entry to the table
Request a membership report from the output module
Inform the data link layer to update its configuration table
Return
Group-Leaving Module
•
1.
2.
Receive: a request from a process to leave a group
Look for the corresponding entry in the table
If (found)
1.
2.
Decrease the reference count
If (reference count is zero)
1.
If(any timer for this entry)
1.
2.
3.
3.
MUT
Return
Cancel the timer
Change state to free
Request a leave report from the output module
Input Module
•
1.
2.
Receive: an IGMP message
Check the message type
If (query)
1.
2.
3.
3.
Start a timer for each entry in the table with the state IDLE
Change each IDLE state to Delaying
Return
If (membership report)
1.
2.
Look for the corresponding entry in the table
If (found any state is Delaying)
1.
2.
4.
MUT
Return
Cancel the timer for the entry
Change the state to IDLE
Output Module
•
1.
Receive: a signal from a timer or a request from joining or leaving module
If the message comes from a timer
1.
If (found and state is DELAYING)
1.
2.
2.
If the message comes from the group-joining module
1.
3.
MUT
Create a membership report
If the message comes from the group-leaving module
1.
4.
5.
Create a member ship report.
Reset the state to IDLE
Create a leave report
Send the message
Return
Multicasting
• Multicast Applications
• Group Management Protocols
Multicast Routing Algorithms
• Multicast Routing Protocols
MUT
Multicast Routing algorithms
• Source-based tree
– Multicast link state routing
– Multicast Distance Vector routing
• Group-based tree
MUT
Unicasting
MUT
Note:
In unicasting, the router forwards the
received packet through only
one of its interfaces.
MUT
Multicasting
MUT
Note:
In multicasting, the router may
forward the received packet
through several of its interfaces.
MUT
Multicasting versus multiple unicasting
MUT
Note:
Emulation of multicasting through
multiple unicasting is not efficient and
may create long delays, particularly
with a large group.
MUT
Multicasting versus multiple unicasting
Multicasting has many applications today such as access to distributed
databases, information dissemination, teleconferencing, and distance
learning.
The topics discussed in this section include:
Access to Distributed Databases
Information Dissemination
Dissemination of News
Teleconferencing
Distance Learning
MUT
MULTICAST ROUTING
In this section, we first discuss the idea of optimal routing, common in
all multicast protocols. We then give an overview of multicast routing
protocols.
The topics discussed in this section include:
Optimal Routing: Shortest Path Trees
Routing Protocols
MUT
Note:
In unicast routing, each router in the
domain has a table that defines a
shortest path tree to possible
destinations.
MUT
Shortest path tree in unicast routing
MUT
Note:
In multicast routing, each involved
router needs to construct a shortest
path tree for each group.
MUT
Note:
In the source-based tree approach,
each router needs to have one shortest
path tree for each group.
MUT
Source-based tree approach
MUT
Group-shared tree approach
MUT
Note:
In the group-shared tree approach,
only the core router, which has a
shortest path tree for each group, is
involved in multicasting.
MUT
Multicasting
• Multicast Applications
• Group Management Protocols
• Multicast Routing Algorithm
Multicast Routing Protocols
MUT
Taxonomy of common multicast protocols
MUT
MULTICAST LINK STATE
ROUTING: MOSPF
In this section, we briefly discuss multicast link state routing and its
implementation in the Internet, MOSPF.
The topics discussed in this section include:
Multicast Link State Routing
MOSPF
MUT
Note:
Multicast link state routing uses the
source-based tree approach.
MUT
MULTICAST DISTANCE
VECTOR: DVMRP
In this section, we briefly discuss multicast distance vector routing and
its implementation in the Internet, DVMRP.
The topics discussed in this section include:
Multicast Distance Vector Routing
DVMRP
MUT
Note:
Flooding broadcasts packets, but
creates loops in the systems.
MUT
Note:
RPF eliminates the loop in the
flooding process.
MUT
RPF
MUT
Problem with RPF
MUT
RPF versus RPB
MUT
Note:
RPB creates a shortest path broadcast
tree from the source to each destination.
It guarantees that each destination
receives one and only one
copy of the packet.
MUT
RPF, RPB, and RPM
MUT
Note:
RPM adds pruning and grafting to
RPB to create a multicast shortest path
tree that supports dynamic
membership changes.
MUT
CBT
The Core-Based Tree (CBT) protocol is a group-shared protocol that
uses a core as the root of the tree. The autonomous system is divided into
regions and a core (center router or rendezvous router) is chosen for
each region.
The topics discussed in this section include:
Formation of the Tree
Sending Multicast Packets
Selecting the Rendezvous Router
MUT
Group-shared tree with rendezvous router
MUT
Sending a multicast packet to the rendezvous router
MUT
Note:
In CBT, the source sends the multicast
packet (encapsulated in a unicast packet)
to the core router.
The core router decapsulates the packet
and forwards it to all interested
interfaces.
MUT
PIM
Protocol Independent Multicast (PIM) is the name given to two
independent multicast routing protocols: Protocol Independent
Multicast, Dense Mode (PIM-DM) and Protocol Independent Multicast,
Sparse Mode (PIM-SM).
The topics discussed in this section include:
PIM-DM
PIM-SM
MUT
Note:
PIM-DM is used in a dense multicast
environment, such as a LAN.
MUT
Note:
PIM-DM uses RPF and
pruning/grafting strategies to handle
multicasting.
However, it is independent from the
underlying unicast protocol.
MUT
Note:
PIM-SM is used in a sparse multicast
environment such as a WAN.
MUT
Note:
PIM-SM is similar to CBT but uses a
simpler procedure.
MUT
MBONE
A multicast router may not find another multicast router in the
neighborhood to forward the multicast packet. A solution for this
problem is tunneling. We make a multicast backbone (MBONE) out of
these isolated routers using the concept of tunneling.
MUT
Logical tunneling
MUT
MBONE
MUT
Multicast Routing between Domains
• Multicast Source Discovery Protocol (MSDP)
• Border Gateway Multicast Protocol (BGMP)
MUT
Summary
• Group Management
• Multicast Routing Algorithms
• Multicast Routing Protocols
MUT
One more test
• LAN (Local Area Networks) ( Student Presentation, 26/08/2549)
– Ethernet, Fast Ethernet, Gigabit Ethernet
• PPP (Point-to-Point) WANs( Student Presentation, 26/08/2549)
– DSL, ADSL, VDSL, HDSL, SDSL
– DATA Link layers (PPP, PPPoE)
• Switching and VLAN( Lecture X, 2/09/2549)
MUT