120 likes | 137 Views
ECE 544 Protocol Design Project 2016. Michael Sherman Murtadha Aldeer Leonard T. Park. Network Architecture & Topology Assumptions. Service Objective: k-out-of-n “packet datagram” multicast Application Requests Destinations Requests delivery to best K Assumptions
E N D
ECE 544 Protocol Design Project 2016 Michael Sherman Murtadha Aldeer Leonard T. Park
Network Architecture & Topology Assumptions • Service Objective: k-out-of-n “packet datagram” multicast • Application Requests Destinations • Requests delivery to best K • Assumptions • Unreliable network with packet loss prob. per link of p • Each end node is attached to only one router • All links have same characteristics (i.e. hop cost 1 and same MTU 1500 bytes) • Small maximum number of nodes (i.e. 50) • Routers and links do not fail
Protocol Concept • Distance Vector Routing & Multicast Gain from Multiple Shortest Paths • Services: reliable delivery, routing auto discovery, K/N multicast, minimum delay • Summary of protocol design: -packet structure: source + three destinations addresses - control plane for protocol: distance vector packets - data plane for forwarding: forwarding based on unicast addressing - key algorithms for mcast: Bellman-Ford
Syntax – Packet Formats Depends on the no. of hosts: If > MTU, create new PKT • Control Packets Hello ACK Triggered updates Need reasonable time out > largest RTT in the network
Syntax – Packet Formats • Data Packets
Semantics 1 Byte • Explanation of each field Depends in life time, RTT Residual from MTU
Routing Algorithm Basic Distance Vector Algorithm + Equal Cost Paths If timer fired: Send list destinations and costs to neighbors Update received Add cost to sender of update to all costs in update Reset Timer If new destination Or If lower cost route Or if equal cost route on new interface Then: Add to table If Table updated Send triggered Update
Data Plane Forwarding • Build Forwarding Table from Nexthops • Unicast and Multicast share same procedure • Find Interface Matching the most addresses from the packet • If all, send. Otherwise, Make copy of packet. • Remove destinations not matching list from original • Remove destinations matching interface list from copy • Repeat above steps recursively for each packet.
Example Networks: D1 D1 D1, D2, D3 D2 D2 Network 1 D3 Worst case D3
Example Networks: D1, D2, D3 Network 2 D1 D1, D2, D3 D2 find all shortest paths & choose the one that shares the most destination D2, D3 D3
Summary • Key protocol design features (recap) • Distance Vector • Multiple shortest path • No added state in network for more senders • Only sender needs to know K • Non of the router knows K • Performance • Multiple shortest path has optimal delay • Overhead penalty compared to Minimum Spanning Tree (MST) is at most 3x, due to N=3 • Best case is equal to MST • In example networks, difference is smaller, 10 vs 8 links used in EX1, and equal performance in EX2 • Implementation complexity • Algorithm is simple extension to Bellman ford • Routing updates only require checking for new shortest or equal cost • Routing Table will contain one row per destination, containing list of nexthops • Forwarding Table will contain one row per interface