* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download From EGP to BGP - Politecnico di Torino
Computer network wikipedia , lookup
Asynchronous Transfer Mode wikipedia , lookup
Point-to-Point Protocol over Ethernet wikipedia , lookup
Recursive InterNetwork Architecture (RINA) wikipedia , lookup
Deep packet inspection wikipedia , lookup
Multiprotocol Label Switching wikipedia , lookup
Cracking of wireless networks wikipedia , lookup
Wake-on-LAN wikipedia , lookup
Routing in delay-tolerant networking wikipedia , lookup
Spanning Tree Protocol wikipedia , lookup
Multicast Communications Gruppo Reti TLC [email protected] http://www.tlc.polito.it/ Index • • • • • Multicast advantages Addressing in multicast Multicast Routing Protocols Multicast in the Internet IGMP 1. Multicasting • Unicast – A single flow, from a source to a destination – IP packets have unicast or broadcast address • Broadcast – A single flow, from a source to all nodes • Multicast address hostid=all ones, e.g., 130.192.255.255 • Multicast – A single flow, from a source to a group of destinations – IP packets have multicast address, in class D Multicast vs. Multiple Unicast Multiple Unicast: Multicast: Group address 1, 2 and 3 Packet duplicated 1 1 Packet duplicated 2 3 2 3 Multicast advantages • Plus: – Minor load on the source • The source sends a single copy of each packet – Better capacity utilization for the network • A single copy of a packet can travel on a link • Requirements: – Group management – Packet replication at network nodes • From a single input port to a set of output ports Multicast applications • Push data – Video, audio streams • Resource discovery – Multicast queries can be used to find information if the destination is unknown, or includes multiple nodes (e.g., RIP/OSPF) • Multimedia collaboration – Video conference, e-learning Multicast in Internet IP Multicast: RFC 1112 • Destination of messages are groups of hosts – The sender can be part or not of the destinations – A multicast address indentifies the destination group • Special subset of addresses – – – – No limit on the number of hosts in a group Group members can be anywhere in the network Members are unknown to the sender Members can join or leave at any moment IP Multicast • Packets are not sent outside the group – Multicast trees are used to route packets – On a LAN, a single copy of each packet is sent (LAN Multicast) – Packet must reach only interested members => group management is mandatory – The network should find the best multicast tree Reliable Multicast • What if you want reliable multicast: – Retransmission management are complex, and often it is easier to send n unicast flows…. – Ack-implosion: members can overflow the sender with ACKs! – The source does not know the members! – “Crying baby”: the slowest receiver can limit the performance of all members • Heterogeneous Group size, link speed, members’ performance – Applications may have different requirements (not all need a la TCP reliability) • How to solve this problem? Addressing (RFC 1466) 1 2 3 4 Class A 0 16 netid=7 bit Class B 1 0 Class C 8 1 1 0 24 hostid=24 bit netid=14 bit hostid=16 bit netid= 21 bit Classe D 1 1 1 0 Multicast addresses Classe E 1 1 1 1 28 bit riservati hostid=8 bit 3 Multicast: layer 2 and layer 3 Multicast bit Destination (6 bytes) Source (6 bytes) Length (2 bytes) Data (46-1500 bytes) Pad Frame Check Seq. (4 bytes) Ethernet adresses • Source and destination addresses: – 6 bytes ciascuno • Two types – Physical address: identifies a single linecard – Multicast address: identifies a group of linecards – The first bit makes it clear 0 = physical address 1 = multicast address Multicast addressing in IP • Class D address 28 bits 1 1 1 0 Multicast group From 224.0.0.0 up to 239.255.255.255 host group: is the set of group members multicast source: the sender in a host group Only UDP at layer 4 is supported Mapping: Ethernet to IP • Ethernet: 48-bit long addresses • A subset of addresses are multicast addresses – from 01.00.5e.00.00.00 to 01.00.5e.7f.ff.ff – 23 bit to identify 2^23 multicast groups • IP has 28 bit to identify a multicast group • Only the least-significant 23 bits of the IP address can be mapped to the 23 bits of the ethernet address • Conflicts? Multicast routing protocols • • • • • • Flooding Shared Spanning Tree Source-Based Spanning Trees Reverse Path Forwarding (RPF) Truncated Reverse Path Broadcast (TRPB) Reverse Path Multicasting (RPM) Flooding • Same algorithm that can be used for unicast • A router forwards a packet to all ports, but the one the it arrived from • Router have to track packet sequence numbers to identify duplicated – Packets with an old sequence number are discarded Flooding A sends to group G: {B,C,D} B A E C D Flooding B A E C D Plus and minus • Advantages: – Simple to implement – No need to manage groups • Everybody gets everything • Drawbacks: – Routers have to store packet sequence number. Can be humongous – Several copies of the same packets are received – Packets go to everyone, even if not interested Shared Spanning Tree • Build a spanning tree – A tree that spans through all the network – May be inside into a single Autonomous System • Forwarding: – A router forwards a multicast packet to all ports in the spanning tree, but the one it was received from – No loops: no duplicate packets Shared Spanning Tree A sends to group G: {B,C,D} B A E C D Shared Spanning Tree B A E C D Spanning Tree Path Shared Spanning Tree B A E C D Spanning Tree Path Plus and minus • Advantages: – Traffic goes on a subset of links – No packet duplicate • Drawbacks: – The network has to manage the spanning tree – Shared spanning tree: everybody receives everything even if not interested – Link of the spanning tree may be congested Source Based Trees • Setup a single spanning tree rooted at each source • Each source-based spanning tree is explicitily built using the shortest paths from the source to each destination Source Based Trees All edges has the same costs B A E C D Source Based Trees B A E C D Spanning Tree Path for (A, G) Spanning Tree Path for (C, G) etc... Source Based Trees A sends to group G: {B,C,D} B A E C D Spanning Tree Path for (A, G) Spanning Tree Path for (C, G) etc... Plus and minus • Advantages: – Packets are routed using minimum cost paths – No duplicate packet • Drawbacks: – A single Source Based Tree is build for each sender – Multicast routing tables grow large (one entry for each source) – Everybody receive everything Reverse Path Forwarding • Also known as Reverse Path Broadcast • RPF is a simple algorithm to setup sourcebased spanning tree – It uses the same unicast routing tables! • Forwarding: – When a packet is received, • If the packet is received from a port that would be used to forward packets to the source, forwad the packet to all the ports (but the one you received it from) • If the packets arrives from any other port, drop it Reverse Path Forwarding All links have the same cost B A E C D Reverse Path Forwarding A sends to group G: {B,C,D} Will be discarded B Will be discarded A E C D Plus and minus • Advantages: – Efficient and simple to be implemented – No need to store packet sequence numbers – Use the same information of the unicast routing tables • Disadvantages: – Some duplicates packets are generated – Everybody keeps receiving everything, even if not interested TRPB (Truncated RPB) • Extension of RPF • Signaling is used to identify interested nodes – Internet Group Management Protocol (IGMP) • If the router does not get any messages from interested nodes, it drops forwarding packet on that port TRPB (Truncated RPB) B A E C D TRPB (Truncated RPB) A sends to group G: {B,C,D} All links have the same costs Will be discarder B Will be discarded A E C D The router knows that E is not interested and stops forwarding packets Plus and minus • Advantages: – Same as RPB, but only interested nodes get the packets • Disadvantages: – Packets get to all routers in the network Reverse Path Multicast (RPM) • Generalization of the idea of dropping links going to uninterested hosts • If a multicast packet arrives to a router that has no interested member, it sends a “prune” message to the sending router (explicit leave) – Prune messages allow the parent router to know if there is no one interested in the multicast packets Reverse Path Multicast All links have the same costs B A E C D Reverse Path Multicast A sends to group G: {B,C,D} Will be discarded B Will be discarded A E C D The router knows that E is not interested and stops forwarding packets Reverse Path Multicast Will be discarded B Will be discarded A Prune messages E C D The router knows that E is not interested and stops forwarding packets Reverse Path Multicast Will be discarded B These branches are chopped A E C D Reverse Path Multicast • Pruned branches will automatically “grow” again after a timeout – This allows new members to be reached again by the information • Router may use explicit signaling messages (graft messages) to request parents to start forwarding packets to it again (explicit join) – Graft messages speed-up the multicast group join procedure Plus and Minus • Advantages: – Same as TRPB – Plus only interested routers gets the packets • Drawbacks: – Complexity grows: prune (and graft) messages Multicast in Internet • Multicast protocols – Distance Vector Multicast Routing Protocol (DVMRP – RFC 1075) – Multicast OSPF (MOSPF – RFC 1584) – Core Based Trees (CBT – RFC 2201) – Protocol Independent Multicast (PIM – RFC 2362, RFC 3873)