multicast routing principles in internet
play

Multicast routing principles in Internet Motivation Recap on graphs - PDF document

Multicast routing principles in Internet Motivation Recap on graphs Principles and algorithms S-38.2121 / Fall-2007 / RKa, NB Multicast1-1 Unicast, Broadcast, Multicast S A B C S A B C S A B C R R R D E D E D E Unicast


  1. Multicast routing principles in Internet Motivation Recap on graphs Principles and algorithms S-38.2121 / Fall-2007 / RKa, NB Multicast1-1 Unicast, Broadcast, Multicast… S A B C S A B C S A B C R R R D E D E D E Unicast Local broadcast Local multicast S A B C S A B C S A B C R R R D E D E D E Broadcast Multicast Anycast S-38.2121 / Fall-2007 / RKa, NB Multicast1-2

  2. Multicast capability has been and is under intensive development since the 1990’s • MBone used to multicast IETF meetings from 1992 • Extends LAN broadcast capability to WAN in an efficient manner • Valuable applications – resource discovery – multimedia conferencing, teaching, gaming – streaming audio and video – network load minimization by replacing many point-to-point transmissions S-38.2121 / Fall-2007 / RKa, NB Multicast1-3 Multicast reduces network load and delay • For example • 6 transmissions vs. 4 transmissions • Generally unreliable transmission (UDP) • In reliable multicast the source must retransmit missing packets with unicast S-38.2121 / Fall-2007 / RKa, NB Multicast1-4

  3. Resource discovery by multicast simplifies network management (1) • No need for lists of neighbors, just use standard multicast address OSPF router OSPF hello [ ÿ all OSPF routers] Note: in this case, multicast only on the local network RIP-2 router RIP response [ ÿ all RIP routers] Host DHCP servers DHCP [ ÿ broadcast address] S-38.2121 / Fall-2007 / RKa, NB Multicast1-5 Resource discovery by multicast simplifies network management (2) • How to find corporate DNS-server? Multicast to all nodes in corporate network ÿ Routers need to forward multicast packets. DNS server DNS server • Network is easily flooded with messages. • TTL can be used to limit the scope of a broadcast – “expanding ring search” ÿ find nearest DNS (or other server) – when TTL=0 in multicast packet, no ICMP message is returned S-38.2121 / Fall-2007 / RKa, NB Multicast1-6

  4. Conferencing requirements include • Multiple sources, multiple recipients, multiple media • Variable membership • Small conferences with intelligent media control (what is sent to where) • Large conferences require media processing in special devices • QoS is important – Low delay – Low delay variation – Low packet loss S-38.2121 / Fall-2007 / RKa, NB Multicast1-7 Multipoint sessions differ from point-to-point communication • Participants may join and leave the session. S S • Receiver-makes good principle instead of session M parameter negotiation. • Window based flow control does not apply: ÿ use UDP / connectionless protocols • Packets are sent to a group address instead of a host address S-38.2121 / Fall-2007 / RKa, NB Multicast1-8

  5. Multicast routing algorithms S-38.2121 / Fall-2007 / RKa, NB Multicast1-9 Flooding is the simplest “multicast” algorithm • Flooding distributes a packet/message to all nodes in the network – No group membership ÿ broadcast – ”Multicast” implemented by filtering packets • Used in OSPF, Usenet news, Peer-to-peer systems, Ad hoc A routing protocols, etc. Avoiding duplicate receptions ÿ avoiding loops • – State information in the nodes B C • A permanent database as in OSPF • Cache of recently seen messages ÿ Messages must have a unique identifier D E F – State information in the message (trace information) S-38.2121 / Fall-2007 / RKa, NB Multicast1-10

  6. State information in the nodes avoids forwarding the same message twice Flooding guarantees that node will not Flooding algorithm: forward the same packet twice. It does not Receive M from L guarantee that node will receive the same packet only once! ÿ greedy algorithm Search corresponding Search corresponding entry in DB entry in DB A yes no ÿ M is a duplicate entry in DB entry in DB found found older older no yes Insert M into DB Update M in DB Insert M into DB Update M in DB B C stop stop Send M to all Send M to all Send M to all Send M to all links but L links but L links but L links but L D E F S-38.2121 / Fall-2007 / RKa, NB Multicast1-11 OSPF updates the previous hop with the newest entry (if available) Not necessary for correct flooding Flooding algorithm: • Speeds up on receiving an entry over Receive M from L multiple paths • Extra protection Search corresponding Search corresponding entry in DB entry in DB yes no ÿ M is a duplicate entry in DB no entry in DB entry in DB entry in DB found found older newer older newer no yes yes Insert M into DB Update M in DB Build M’ from DB Insert M into DB Update M in DB Build M’ from DB stop stop Send M to all Send M to all Send M’ to sender Send M to all Send M to all Send M’ to sender links but L links but L links but L links but L on L on L S-38.2121 / Fall-2007 / RKa, NB Multicast1-12

  7. Trace information is an alternative to the database in flooding • Trace info in message lists all passed A nodes A A A,B • If the neighbor is in trace, do not send B C • May forward the same message several A,C A,B A,C times ÿ not useful as such A,B A,C,B A,B,C A,C A,C,B A,B,C • Traces can be combined with state D E F information (DB) in node – First check trace, then DB – Avoids costly database reads – E.g. Usenet news S-38.2121 / Fall-2007 / RKa, NB Multicast1-13 Observations about flooding • Works well on the application layer, not efficient on network layer – Storing state information about all forwarded packets is not feasible • Each node may receive the same message several times – Number of receptions depends on number of neighbors • Flooding does not depend on routing tables ÿ robust • Limiting TTL – To avoid loops – To reduce the scope S-38.2121 / Fall-2007 / RKa, NB Multicast1-14

  8. Example: using flooding in peer-to-peer networks • In e.g. Gnutella, Kazaa, etc. (unstructured peer-to-peer networks) • Task: Find the users having the file X • Implementation: Flood a search request to all users within a given distance (TTL). The users with file X send back a reply to the searching user. • About 5 receptions of a message per node in a typical Gnutella topology • Peer-to-peer systems use overlay networks (networks implemented on the application layer) S-38.2121 / Fall-2007 / RKa, NB Multicast1-15 Networks are modeled as graphs G = (V, E) • V – set of vertices or nodes (non-empty, finite set) • E – set of edges or links . E = { e j | j = 1, 2, …, M} e j = ( v i , v k ) = ( i , k ) · Vertex, node – kärki, · Vertex, node – kärki, solmu solmu • Nodes i and k are adjacent if link ( i , k ) exists. · Edge, link – syrjä, · Edge, link – syrjä, • Nodes i and k are also called neighbors . linkki, sivu, kaari, linkki, sivu, kaari, haara haara · Adjacent – viereinen · Adjacent – viereinen · Neighbor – naapuri · Neighbor – naapuri S-38.2121 / Fall-2007 / RKa, NB Multicast1-16

  9. Links are bi-directional, arcs are unidirectional • Unidirectional links, a j = ( v i , v k ) = [ i , k ] are called arcs . Undirected graph (only links) Directed graph (also arcs) • The degree of a node is the number of links incident on the node (=number of neighbors in a simple graph) · Degree of a node – · Degree of a node – solmun aste solmun aste • If links and nodes have properties, the graph · Arc – kaari · Arc – kaari is called a network . · Directed graph – · Directed graph – suunnattu graafi suunnattu graafi S-38.2121 / Fall-2007 / RKa, NB Multicast1-17 Graphs with parallel links are called multigraphs • Links between a node and itself s t s t are self loops . • A graph with no parallel links and v v no self loops is a simple graph . u u • A path in a network is a sequence of links beginning at some node s and ending at some node t (= s,t-path ). • If s = t, the path is called a cycle . If an intermediate node appears no more than once, it is a simple cycle . · Cycle, loop – silmukka · Cycle, loop – silmukka · Path – polku · Path – polku S-38.2121 / Fall-2007 / RKa, NB Multicast1-18

  10. A graph is connected if there is at least one path between every pair of nodes. • A subset of nodes with paths to one another is a connected component . By def. ∃ i , i -path Reflective: ∃ i , j -path ÿ ∃ j , i -path Symmetric: ∃ i , j -path and ∃ j , k -path ÿ ∃ i , k -path Transitive: Components are equivalence classes and the component structure is a partition of the graph. Partition applies to links and nodes alike. · Connected – · Connected – yhteydellinen, yhdistetty yhteydellinen, yhdistetty S-38.2121 / Fall-2007 / RKa, NB Multicast1-19 A directed graph is strongly connected if there is a directed path from every node to every other node. • Directed connectivity is not symmetric. A A • A subset of nodes with directed paths from any one node to any other is a B C B C strongly connected component . D D • A node belongs to exactly one strongly connected c. An arc is part of at most one strongly connected c. E E F F · Strongly connected – · Strongly connected – vahvasti yhteydellinen vahvasti yhteydellinen · Directed path – · Directed path – G H G H suunnattu polku suunnattu polku S-38.2121 / Fall-2007 / RKa, NB Multicast1-20

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend