220 likes | 227 Views
Explore ad-hoc, broadcast, and multicast routing protocols, focusing on source-based and shared trees, shortest path tree, reverse path forwarding, Steiner tree, and center-based trees. Plus, DVMRP for multicasting and tunneling concepts toward seamless connectivity. Dive into the principles of the data link layer and its services.
E N D
CS 5565Network Architecture and Protocols Godmar Back Lecture 37
Announcements • Donghang graded 2A • Has or should have sent out grades • Project 2B due Apr 26 & May 3 • Do not procrastinate • Reading Assignment Chapter 4.1-4.6 CS 5565 Spring 2006
Other Routing Protocols • Ad-hoc Routing • Broadcast Routing • Multicast Routing CS 5565 Spring 2006
Source-based trees Shared tree Multicast Routing • Goal: find a tree (or trees) connecting routers having local mcast group members • tree: not all paths between routers used • source-based: different tree from each sender to rcvrs • shared-tree: same tree used by all group members
1 i 5 4 3 6 2 Shortest Path Tree • mcast forwarding tree: tree of shortest path routes from source to all receivers • Dijkstra’s algorithm S: source LEGEND R1 R4 router with attached group member R2 router with no attached group member R5 link used for forwarding, i indicates order link added by algorithm R3 R7 R6
S: source R1 R4 R2 R5 R3 R7 R6 Reverse Path Forwarding LEGEND router with attached group member router with no attached group member datagram will be forwarded datagram will not be forwarded • result is a source-specific reverse shortest path tree (SPT) – unless costs are asymmetric
S: source R1 R4 R2 P R5 P R3 R7 R6 Reverse Path Forwarding: Pruning LEGEND • no need to forward datagrams down subtrees with no group members • “prune” msgs sent upstream by router with no downstream group members router with attached group member router with no attached group member P prune message links with multicast forwarding
Shared-Tree: Steiner Tree • Steiner Tree: minimum cost tree connecting all routers with attached group members • problem is NP-complete (if intermediate nodes must be found) • excellent heuristics exists • not used in practice: • computational complexity • information about entire network needed • monolithic: rerun whenever a router needs to join/leave
Center-Based trees • single delivery tree shared by all • one router identified as “center” of tree • to join: • edge router sends unicast join-msg addressed to center router • join-msg “processed” by intermediate routers and forwarded towards center • join-msg either hits existing tree branch for this center, or arrives at center • path taken by join-msg becomes new branch of tree for this router
R1 R4 3 R2 2 R5 R3 1 R7 R6 Center-based Trees Suppose R6 chosen as center: LEGEND router with attached group member router with no attached group member 1 path order in which join messages generated
Internet Multicasting Routing: DVMRP • DVMRP: distance vector multicast routing protocol, RFC1075 • flood and prune: reverse path forwarding, source-based tree • RPF tree based on DVMRP’s own routing tables constructed by communicating DVMRP routers • no assumptions about underlying unicast • initial datagram to mcast group flooded everywhere via RPF • routers not wanting group: send upstream prune msgs
DVMRP: continued… • soft state: DVMRP router periodically (1 min.) “forgets” branches are pruned: • mcast data again flows down unpruned branch • downstream router: reprune or else continue to receive data • routers can quickly regraft to tree • following IGMP join at leaf • odds and ends • commonly implemented in commercial routers • Mbone routing done using DVMRP
IGMP • Internet Group Management Protocol • Local protocol used by hosts to inform their routers that they’d like to join a mcast group • MCast addresses are 224.x.x.x • 28bits for groups, address indirection • Simple protocol • Join • Leave (optional) • Membership Query (still interested?) CS 5565 Spring 2006
Tunneling Q: How to connect “islands” of multicast routers in a “sea” of unicast routers? logical topology physical topology • mcast datagram encapsulated inside “normal” (non-multicast-addressed) datagram • normal IP datagram sent thru “tunnel” via regular IP unicast to receiving mcast router which undoes encapsulation
Status of IP Multicast • MBone exists • PIM: ‘Protocol Independent Multicast’ protocol • alternative to DVMRP • Sporadically deployed • Has not taken off • Despite need (?) CS 5565 Spring 2006
Our goals: understand principles behind data link layer services: error detection, correction sharing a broadcast channel: multiple access link layer addressing reliable data transfer, flow control: done! instantiation and implementation of various link layer technologies The Data Link Layer CS 5565 Spring 2006
hosts and routers are nodes communication channels that connect adjacent nodes along communication path are links wired vs. wireless links, LANs provide different services layer-2 packet is a frame,encapsulates datagram “link” Link Layer: Introduction data-link layer has responsibility of transferring datagram from one node to adjacent node over a link CS 5565 Spring 2006
link layer implemented in “adaptor” (aka NIC) Ethernet card, PCMCIA card, 802.11 card sending side: encapsulates datagram in a frame (header + data + trailer) adds error checking bits, rdt, flow control, etc. receiving side looks for errors, rdt, flow control, etc extracts datagram, passes to rcving node adapter is semi-autonomous link & physical layers frame frame Adaptors Communicating datagram rcving node link layer protocol sending node adapter adapter CS 5565 Spring 2006
Example: Gigabit Ethernet • Source: [Noseworthy 1998] We’ve covered this so far Could teach an entire (EE) course on what’s below LLC Logical Link Control MAC Media Access Control PCS Physical Coding Sublayer PMA Physical Media Access GMII Gigabit Media Independent Interface MDI Media Dependent Interface (Twisted Pair, Fiber) CS 5565 Spring 2006
Link Layer Services • Framing, link access: • encapsulate datagram into frame, adding header, trailer • channel access if shared medium • “MAC” addresses used in frame headers to identify source, dest • different from IP address! • Reliable delivery between adjacent nodes • same ideas as at Layer 4 apply • seldom used on low bit error link (fiber, some twisted pair) • wireless links: high error rates • Q: why both link-level and end-end reliability? CS 5565 Spring 2006
Link Layer Services (more) • Flow Control: • pacing between adjacent sending and receiving nodes • Half-duplex and full-duplex • with half duplex, nodes at both ends of link can transmit, but not at same time • Error Detection: • errors caused by signal attenuation, noise. • receiver detects presence of errors: • signals sender for retransmission or drops frame • Error Correction: • receiver identifies and corrects bit error(s) without resorting to retransmission CS 5565 Spring 2006