Title: ITEC4610 Network Switching and Routing
1ITEC4610Network Switching and Routing
- ??. ???????? ?????
- ????????????????????????????????????????????(ICE)
- MUT
- Email prawit_at_mut.ac.th
- ????????? F402
- ????????????????????? (02)9883655 ??? 220
- ??????????????????????? 065343850
-
2Class IX Multicasting
- ??. ???????? ?????
- ????????????????????????????????????????????(ICE)
- MUT
- Email prawit_at_mut.ac.th
- ????????? F402
- ????????????????????? (02)9883655 ??? 220
- ??????????????????????? 065343850
-
3Multicasting
- Multicast Applications
- Group Management Protocols
- Multicast Routing Algorithm
- Multicast Routing Protocols
4Multicast Applications
- Software Distribution
- Replicated database update
- Command and control systems
- Audio/video conferencing
- Distributed games
- Distributed interactive simulation (DIS)
- Distribution of news
- Distance Learning
5 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
6Fundamental 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
7Multicasting
- Multicast Applications
- Group Management Protocols
- Multicast Routing Algorithm
- Multicast Routing Protocols
8Group Management Protocols
9IGMPv1(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
10IGMPv2(RFC2236)
- IGMP v2 maintains two types of query general
query and group-specific query - Periodical refresh report suppression is
supported as well. - The approach to lower leave latency
11IGMPv3(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)
12Position of IGMP in the network layer
13GROUP 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. .
14Note
IGMP is a group management protocol. It helps a
multicast router create and update a list of
loyal members related to each router interface.
15IGMP 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
16IGMP message types
17IGMP message format
18IGMP type field
19IGMP 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
20IGMP operation
21Membership report
22Note
In IGMP, a membership report is sent twice, one
after the other.
23Leave report
24Note
The general query message does not define a
particular group.
25General query message
26Example 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
27Example 1
28Example 1 (Continued)
SolutionThe 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
29Example 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.
30ENCAPSULATION
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
31Encapsulation of IGMP packet
32Note
The IP packet that carries an IGMP packet has a
value of 2 in its protocol field.
33Note
The IP packet that carries an IGMP packet has a
value of 1 in its TTL field.
34Destination IP addresses
35Mapping class D to Ethernet physical address
36Note
An Ethernet multicast physical address is in the
range01005E000000 to 01005E7FFFFF.
37Example 2
Change the multicast IP address 230.43.14.7 to an
Ethernet multicast physical
SolutionWe 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 2B0E07.
b. We add the result of part a to the starting
Ethernet multicast address, which is
(01005E000000). The result is
01005E2B0E07
38Example 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
D41809. We need to subtract 8 from the leftmost
digit, resulting in 541809..
b. We add the result of part a to the Ethernet
multicast starting address. The result is
01005E541809
39Tunneling
For WAN, there is no physical multicast support
40Example 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 -nraKernel IP routing
tableDestination Gateway Mask Flags
Iface153.18.16.0 0.0.0.0 255.255.240.0 U
eth0169.254.0.0 0.0.0.0 255.255.0.0 U
eth0127.0.0.0 0.0.0.0 255.0.0.0 U
lo224.0.0.0 0.0.0.0 224.0.0.0 U
eth00.0.0.0 153.18.31.254 0.0.0.0 UG 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.
41IGMP 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
42IGMP package
43Group 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
44Group-Joining Module
- Receive a request from a process to join a
group - Look for the corresponding entry in the table
- If (found)
- Increment the reference count
- If (not found)
- 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
45Group-Leaving Module
- Receive a request from a process to leave a
group - Look for the corresponding entry in the table
- If (found)
- Decrease the reference count
- If (reference count is zero)
- If(any timer for this entry)
- Cancel the timer
- Change state to free
- Request a leave report from the output module
- Return
46Input Module
- Receive an IGMP message
- Check the message type
- If (query)
- Start a timer for each entry in the table with
the state IDLE - Change each IDLE state to Delaying
- Return
- If (membership report)
- Look for the corresponding entry in the table
- If (found any state is Delaying)
- Cancel the timer for the entry
- Change the state to IDLE
- Return
47Output Module
- Receive a signal from a timer or a request from
joining or leaving module - If the message comes from a timer
- If (found and state is DELAYING)
- Create a member ship report.
- Reset the state to IDLE
- If the message comes from the group-joining
module - Create a membership report
- If the message comes from the group-leaving
module - Create a leave report
- Send the message
- Return
48Multicasting
- Multicast Applications
- Group Management Protocols
- Multicast Routing Algorithms
- Multicast Routing Protocols
49Multicast Routing algorithms
- Source-based tree
- Multicast link state routing
- Multicast Distance Vector routing
- Group-based tree
50Unicasting
51Note
In unicasting, the router forwards the received
packet through only one of its interfaces.
52Multicasting
53Note
In multicasting, the router may forward the
received packetthrough several of its interfaces.
54Multicasting versus multiple unicasting
55Note
Emulation of multicasting through multiple
unicasting is not efficient and may create long
delays, particularly with a large group.
56Multicasting 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
57MULTICAST 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
58Note
In unicast routing, each router in the domain has
a table that defines a shortest path tree to
possible destinations.
59Shortest path tree in unicast routing
60Note
In multicast routing, each involved router needs
to construct a shortest path tree for each group.
61Note
In the source-based tree approach, each router
needs to have one shortest path tree for each
group.
62Source-based tree approach
63Group-shared tree approach
64Note
In the group-shared tree approach, only the core
router, which has a shortest path tree for each
group, is involved in multicasting.
65Multicasting
- Multicast Applications
- Group Management Protocols
- Multicast Routing Algorithm
- Multicast Routing Protocols
66Taxonomy of common multicast protocols
67MULTICAST 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
68Note
Multicast link state routing uses the
source-based tree approach.
69MULTICAST 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
70Note
Flooding broadcasts packets, but creates loops in
the systems.
71Note
RPF eliminates the loop in the flooding process.
72RPF
73Problem with RPF
74RPF versus RPB
75Note
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.
76RPF, RPB, and RPM
77Note
RPM adds pruning and grafting to RPB to create a
multicast shortest path tree that supports
dynamic membership changes.
78CBT
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
79Group-shared tree with rendezvous router
80Sending a multicast packet to the rendezvous
router
81Note
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.
82PIM
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
83Note
PIM-DM is used in a dense multicast environment,
such as a LAN.
84Note
PIM-DM uses RPF and pruning/grafting strategies
to handle multicasting. However, it is
independent from the underlying unicast protocol.
85Note
PIM-SM is used in a sparse multicast environment
such as a WAN.
86Note
PIM-SM is similar to CBT but uses a simpler
procedure.
87MBONE
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.
88Logical tunneling
89MBONE
90Multicast Routing between Domains
- Multicast Source Discovery Protocol (MSDP)
- Border Gateway Multicast Protocol (BGMP)
91Summary
- Group Management
- Multicast Routing Algorithms
- Multicast Routing Protocols
92 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)