* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Multicasting
Wireless security wikipedia , lookup
Distributed firewall wikipedia , lookup
Network tap wikipedia , lookup
Point-to-Point Protocol over Ethernet wikipedia , lookup
Deep packet inspection wikipedia , lookup
Universal Plug and Play wikipedia , lookup
List of wireless community networks by region wikipedia , lookup
Piggybacking (Internet access) wikipedia , lookup
Internet protocol suite wikipedia , lookup
Computer network wikipedia , lookup
Airborne Networking wikipedia , lookup
Spanning Tree Protocol wikipedia , lookup
Recursive InterNetwork Architecture (RINA) wikipedia , lookup
Wake-on-LAN wikipedia , lookup
Multiprotocol Label Switching wikipedia , lookup
Cracking of wireless networks wikipedia , lookup
Routing in delay-tolerant networking wikipedia , lookup
Multicasting Anthony Choi David Strole Werner Kalyan Landeck 1 Broadcasting: Delivering one packet to each destination Multicasting: Allows each system to choose whether it wants to participate in a given multicast A multicast address identifies an arbitrary set of listeners, so forwarding mechanism must propagate the packet to all segments 2 Ethernet Multicast: the low order bit of the highorder octet distinguishes conventional unicast address (0) from multicast address (1) 01-00-00-00-00-0016 3 IP Multicasting: The Internet abstraction of hardware multicasting. The subset of systems that are receiving a multicast is called multicast group General Characteristics •Group Address: Each multicast group is a unique class D address •Number of Groups: IP provides for up to 228 simultaneous multicast groups •Dynamic Group Membership: A host can join or leave an IP multicast at any time •Use of hardware: IP uses hardware multicast to send IP multicast, if hardware supports multicast, otherwise, it uses broadcast or unicast to deliver IP multicast 4 General Characteristics (continued) •Inter-network Forwarding: Special multicast routers are used to forward multicasts to systems in different physical networks •Delivery Semantics: IP multicast uses the same best-effort delivery semantics as other IP datagrams •Membership And Transmission: An arbitrary host may send datagrams to any multicast group; group membership is only used to determine whether the host receives datagrams sent to the group 5 Three Conceptual Pieces 1. Addressing Scheme 2. Effective notification and delivery system 3. Efficient internetworking forwarding facility 6 Multicasting Addresses Two kinds – Permanent (well known) or Create when needed (transient) 1 1 1 0 Group Identification Multicast Address Range: 224.0.0.0 to 239.255.255.255 7 Example of permanent IP multicast address assignments Address Meaning 224.0.0.0 Base Address (Reserved) 224.0.0.1 All Systems on this Subnet 224.0.0.2 All Routers on this Subnet 224.0.0.3 Unassigned 224.0.0.4 DVMRP Routers 224.0.0.5 OSPFIGP All Routers 224.0.0.6 OSPFIGP Designated Routers 224.0.0.7 ST Routers 224.0.0.8 ST Hosts 224.0.0.9 RIP2 Routers 224.0.0.10 IGRP Routers 224.0.0.11 Mobile-Agents 224.0.0.12 DHCP Server / Relay Agent 224.0.0.13 All PIM Routers 224.0.0.14 RSVP-Encapsulation 224.0.0.15 All-CBT-Routers 224.0.0.16 Designated-Sbm 224.0.0.17 All-Sbm 8 Example of permanent IP multicast address assignments (continued) Address Meaning 224.0.0.18 VRRP through 244.0.0.255 Other Link Local Address 224.0.1.0 Through 238.255.255.255 Globally Scoped Addresses 239.0.0.0 Through 239.55.255.255 Scope restricted to one organization 9 To map an IP multicast address to the corresponding Ethernet multicast address, place the low-order 23 bits of the IP multicast address into the low-order 23 bits of the special Ethernet multicast address: 01-00-5E-00-00-0016 Example: 224.0.0.2 becomes 01-00-5E-00-00-0216 The mapping of IP to Ethernet multicast address is NOT unique It is up to the host to disregard unwanted multicast datagrams Primary difference between local and nonlocal multicast lies in multicast routers, not in hosts 10 Multicast Scope Scope refers to the range of group members Two techniques to control multicast scope •The Time To Live (TTL) field •Limiting the number of hops allowed •e.g. 1 to never leave a network, 0 to never leave host •Administrative scoping •Reserving parts of the address space for groups that are local to a given site or local to a given organization •Assign the group an address that has local scope 11 A host can join a multicast in three different levels: •Level 1: Can neither receive nor send IP multicast •Level 2: Can send but not receive IP multicast •Level 3: Can send and receive IP multicast Hosts join specific IP multicast groups on specific networks A host must have multicast capability software and a multicast router would be needed if a multicast spans multiple networks 12 Internet Group Management Protocol (IGMP) •Multicast routers and hosts must use IGMP to communicate •Although IGMP uses IP datagrams to carry messages, it is thought of as an integral part of IP, not a separate protocol •IGMP is standard for TCP/IP •Two phases •Phase 1 •A host sends an IGMP message to the group to declare its membership when joining •Local multicast routers propagate the membership information to the rest of the internet •Phase 2 •Local multicast routers must poll hosts to determine if a host is still a member, due to dynamic membership •Source address filter 13 IGMP Implementation Five ways IGMP use to minimize its traffic on the network: • All communications between hosts and multicast routers use IP multicast •When polling, a multicast router sends a single query about all groups instead of sending a separate message to each •If multiple multicast routers attach to the same network, they quickly and efficiently choose a single router to poll host membership •Hosts do not respond to a router’s IGMP query at the same time •Spaced randomly over 10 seconds. •Reports for multiple group memberships sent in a single packet 14 Group Membership State Transitions 15 IGMP Membership Query Message TYPE (0x11) RESP CODE CHECKSUM GROUP ADDRESS RES S QRV QQIC NUM SOURCES SOURCE ADDRESS 1 SOUCRE ADDRESS 2 … SOUCRE ADDRESS N 16 TYPE (0X22) RESERVED RESERVED CHECKSUM NUM GROUP RECORDS (K) GROUP RECORD 1 GROUP RECORD 2 … GROUP RECORD K REC TYPE ZEROES NUM OF SOURCES MULTICAST ADDRESS SOURCE ADDRESS 1 SOURCE ADDRESS 2 … SOURCE ADDRESS N 17 Multicast Forwarding and Routing •Unlike unicast forwarding in which routes change only when the topology changes or equipment fails, multicast routes can change simply because an application program joins or leaves a multicast •Multicast forwarding requires a router to examine more than the destination address •A multicast datagram may originate on a computer that is not part of the multicast group, and may be forwarded across networks that do not have any group members attached 18 Multicast Forwarding Paradigms A multicast destination is a set of hosts, an optimal forwarding system will reach all of it destinations without sending a datagram across a given network twice. Reverse Path Forwarding (RPF) – uses the source address to avoid loops. • Not used alone because it still does not solve the problem of multicast datagram being sent to non member groups 19 Multicast Forwarding Paradigms (cont’d) Truncated Reverse Path Forwarding (TRPF) – follows the basic RPF algorithm, but avoids (truncates) paths that do not lead to group members. • To use TRPF, router needs 2 pieces of information •Conventional routing table •List of reachable multicast groups of each interface • For the TRPF algorithm, first RPF is used • If no group members are reachable over an interface, the router skips over the interface, checking the next one 20 Multicast Forwarding Paradigms (cont’d) Consequences of TRPF • Because it relies on RPF to prevent loops, it delivers an extra copy of datagrams to some networks just like conventional RPF •Delivery depends on a datagram’s source 21 Multicast Forwarding Paradigms (cont’d) Multicast Trees – the other paradigm •Multicast router – node to the tree •Connection between routers – edge to the tree •Last router along each of the paths from the source – leaf of the tree A multicast forwarding tree is defined as a set of paths through multicast routers from a source to all members of a multicast group. For a given multicast group, each possible source of datagrams can determine a different forward tree Forwarding protocols use a network prefix as a source 22 Reverse Path Multicasting • More important to ensure that a multicast datagram reaches each member of the group than to eliminate unnecessary transmission •Multicast routers each contain a conventional routing table that has correct information •Multicast routing should improve inefficiency when possible •Two step process •Uses RPF scheme to send a copy of each datagram across all networks in the net. •Simultaneously have multicast routers to inform one another about paths that do not lead to group members 23 • RPM propagates membership information bottom-up • A multicast router only knows about local group members • If a leaf network contains no members for a given group the router connecting that network to the rest of the internet does not forward on the network • RPM is called a broadcast and prune strategy because a router broadcasts until it receives information that allows it to prune a path •Also known as data driven because router does not send group information until a datagram arrives for that group 24 Multicast Routing Protocols •Multiple Multicast Routing Protocols exists, but none of them is a required standard. •Distance Vector Multicast Routing Protocol (DVMRP) •Core Based Trees (CBT) •Protocol Independant Multicast (PIM) •Multicast extensions to OSPF (MOSPF) 25 Distance Vector Multicast Routing Protocol (DVMRP) •Uses Data-Driven Paradigm •Allows for Multicast Router to pass along group membership and routing imformation to other Multicast Routers •Resembles the RIP protocol, but it has been extended for Multicasting. •Basically the protocol passes information about current multicast group membership as well as the cost to transfer datagrams between routers •A forwarding tree is imposed on top of the physical interconnection for every possible (group, sorce) pair. So when a datagram destined for an IP multicast group is received by a router, it will send a copy of the datagram to very network link corresponding to a branch in the forwarding tree. 26 Distance Vector Multicast Routing Protocol (DVMRP) (cont’d) •DVMRP is implemented by a Unix program named mrouted which uses a special multicast kernel •Uses multicast tunneling to forward multicasts acroos the World Wide Web •At each site an mrouted tunnel to other sites has to be configured manually •The mrouted tunnel uses IP in IP encapsulation to send multicasts. •When a multicast datagram is generated it is encapsulated in a unicast datagram and then forwared to other sites •When a unicast datagram is received through one of the tunnels, the multicast datagram is extracted and forwarded according to the multicast routing table 27 Core Based Trees (CBT) •Uses Demand-Driven Paradigm •Avoids broadcasting and allows all sources to share the same forwarding tree if possible •Does not forward multicasts until at least one host along the path joins the multicast group •When a host uses IGMP to join a multicast group, the host does not receive data until the local router has propagated the new hosts information to the other routers •CBT uses a combination of static and dynamic algorithms to build a multicast forwarding tree. In order to make this scheme scalable CBT devides the underlying internet into regions of a size specified by the network administrator •Each region has a designated core router and all other routers in the region have to know about the core router 28 Core Based Trees (CBT) (cont‘d) •The use of a core router in each region allows for the region to have a shared tree •So router in a region dynamically build the forwarding trees by sending join requests to the core router 29 Protocol Independant Multicast (PIM) •Actually is 2 independant protocols, which have little in common exept for the name and message header •PIM – Defense Mode (PIM – DM) •Designed for LAN environments in which all or almost all networks have hosts which are lisening to each of the multicast group •PIM – Sparse Mode (PIM – SP) •Designed for a wide area environment in which the member of a given multicast group occupy a small subset of all possible networks •2 Independant Protocols exists, because neither works well for all situations 30 Protocol Independant Multicast (PIM) (cont‘d) •PIM functions independantly from the unicast routing protocol or protocols that a rounter uses, because PIM does not specify a routing table form. Thus PIM can use an arbitary routing protocol •To accomandate many listenners: •PIM-DM uses a broadcast and prune approach. Datagrams are forwarded to all routers using RPF until a router sends an explicit request •PIM-SM designates a router, called a Renderview Point (RP), which functions similar to the CBT core Router 31 Multicast extensions to OSPF (MOSPF) •The idea behind MOSPF is when the router know the topology of its OSPF area, MOSPF can use this to compute a forwarding tree. •MOSPF is Demand-Driven , so traffic will not be propagted until requested •Problems with this scheme are that all router must maintain the membership information of all groups and the information has to be synchronized to ensure every router has the exatly same database 32 Reliable Multicast and ACK Implosions •Reliable Multicast referes to a system which provides multicast delivery and guarantees that all members of the group receive the data in order without any loss, duplication or corruption. •In theory sound greath but hard to implement, since many problems arise: •If a multicast group has multiple sender datagram arrival in sequence becomes meaning less •Widely used multicast forwarding schemes, such as RPF, produce duplication even on small internets •Applications like audio or video expect relioable systems to bound the delay and jitter 33 Reliable Multicast and ACK Implosions (cont‘d) •Reliabiliy requires acknowledgements, since multicastr groups can have an arbitary number of members, traditional reliable protocols require the sender to handle an arbitary number of acknowledgements. This problem is refered to as the ACK Implosion, since no computer has enough processing power to handle this problem. •How to overcome ACk implosion •Reliable multicost protocols restrict multicating to a single source. Before data is sent a forwarding tree is established from the source to all group members and acknowledgement points need to be established. 34 Reliable Multicast and ACK Implosions (cont‘d) •An acknowledgement point, also know as acknowledgement aggregator or designated route (DR), is a router that agrees to cache copies of the data and process acknowledgements from routers and hosts further down the forwarding tree. If a retransmission is need it is taken from the routers cache. This occurs when the host or router send a NACK. The NACK will propogate up the tree until a acknowledgement point or the source is reached. •The selection of sufficient acknowledgement is important, since an insufficient number points will cause an ACK Implosion. Thus reliable multicast protocols require manual configuratio, as a result if you have a fast growing network this can be a problem 35 Reliable Multicast and ACK Implosions (cont‘d) •Other methos of reliable multicast are still theoretical or experimental. Here are 2 protocols being considered. •One was is to send multiple copies to reduce the need for retransmission •Works good with Random Early Discard (RED), since the probability of more than one copy being discarded is extremly small •Another way is to incorporate forward error-correcting codes 36