170 likes | 189 Views
ECE 544 Protocol Design Project 2016. Kiran Jatty Lasya Nandamuri Varun Vinnakota. Network Architecture & Topology Assumptions. Service Objective: To design a protocol that efficiently multicasts the ‘packet datagrams’ to k-out-of-n nodes Assumptions
E N D
ECE 544 Protocol Design Project 2016 Kiran Jatty Lasya Nandamuri Varun Vinnakota
Network Architecture & Topology Assumptions • Service Objective: To design a protocol that efficiently multicasts the ‘packet datagrams’ to k-out-of-n nodes • Assumptions • Unreliable network with packet loss probability 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) • Maximum number of nodes (i.e. 50) • Value of k<=3 • Local router knows the IP addresses of nodes connected to it • Routers know two unique multicast addresses used for k=2 & 3
ADDRESSING • Each node has its own unique IP address IPv4 format • For example 235.100.2.10 – (k=3) and 235.100.2.9 –(k=2) • The multicast uses two unique IPv4 addresses (for k=2 & 3) given from class D of IPv4
Protocol Concept • Based on the Multicast address, the source node sends the packet to (k<=3) optimum Destination nodes • Optimum destination nodes are decided by the local router to which the source is connected • Packet Structure: IPv4 (Dest addr = Multicast addr) • Control Plane: OSPF advertisements to find next hop, Unicast join messages to corresponding dest nodes from each local router, Periodic Hello messages to makes sure routers are alive • Data Plane: Multicast forwarding table ateach router which has the information about incoming interface, multicast address and outgoing interface to forward the packets • Key algorithms used: • OSPF (for routing) • Dynamic algorithm to find optimum destination nodes to multicast
Syntax – Packet Formats • Control Packets & formats • We use three different control packets in this protocol • The first control packet is the OSPF packet which is used to determine the optimal path to the destination. • The format of the OSPF packet is shown below: LS Age Options T ype=1 Link state ID Advertising router LS sequence number LS checksum Length 0 Flags 0 Number of links Link ID Link data Link type Num_TOS Metric Optional TOS information More links
Syntax – Packet Formats • Control Packets & formats: • The second packet is sent by the source to let the routers update the forwarding table. • This control packet can be as the below figure • When this packet arrives at a router, it creates the multicast forwarding table and copies the multicast address, and also the corresponding input and output interfaces this packet is forwarded to reach the destination 0 4 36 68 100 132 140
Syntax – Packet Formats • Control Packets & formats: • The third packet used in this protocol is IPV4 using which we transfer the data packet • The structure of IPV4 is as shown below:
Semantics • The fields we used in our control packets are: • Length: The length field of the data packet specifies its total length • Source Address: The source address is of 32 bits and specifies the address of the source node • Multicast Address: It is of class D address and is of 32 bits that defines the value of k(2 or 3) • Destination Address: The destination address is of 32 bits and specifies the address of the destination node • Options: The options field is used to append any extra data in future • TTL: Time To Live (TTL) is defined to avoid packet travelling indefinitely
Routing Algorithm • We can use Link State (LS) Routing protocol to find the next hop to reach all the available nodes with a slight modification • If the destination can be reached in 2 hops(least hop count), instead of taking the one with low address, both the routers addresses are stored • The Routing table for each router can be in the form as below: • It starts with reliable flooding making sure that each and every node in the network participates in it and gets a link state information containing the id, list of directly connected nodes, sequence number and TTL • The possible next hops (Ni) stores all the possible hops which cost the same to reach a destination to decide an optimal path • It decides its next hop once it has information of all its destinations
Data Plane Forwarding • The routing table at any router may be in the following format: • Whenever a packet comes from specific interface with a particular multicast address reaches a router, it checks its forwarding table to determine the interface it should send the packet to forwards it • If the packet that arrived at specific interface with a particular multicast address has two output interfaces the router copies the packet and sends to both the interfaces
Example of forwarding near a router: At R1: At R2:
R2 R5 R3 R1 R6 R4 R7 235.100.2.10 Control Plane to find Destination Nodes: • Local router R1 finds the 3 destination addresses based on the least hop count and sends three unicast join messages to D1, D2, D3 Data Plane Forwarding: • When S sends a multicast message to the local router R1, the router compares the multicast address in multicast forwarding table and forwards it to the specific interface. • Similarly, routers R2, R3, R4, R5, R6 and R7 also maintain their own forwarding table and forwards the packets accordingly once they receive a packet by comparing the multicast address.
PERFORMANCE: • Considering each link is has BW 10MBps and distance between links is 500 m • Throughput: throughput = total amount of data transferred/total time = 7.37MBps • Goodput: Goodput = Actual data transferred/total time taken = 7.27 MBps • Delay for single link: Delay = propagation delay + transmission delay = 500/2*10^8 +1500/10*10^6 = 152.5*10^-6 sec
Example Networks: R4 Network 2 R3 R1 For multicast address (k=3) R2 R5 R6 • Source S sends the IP packet with Source address and Multicast address as its destination address to Router R1 (Local Router). • R1 checks the multicast routing table and forwards the packet to specified interface • Every other router know the interface to forward the packet that comes from particular interface with a particular multicast address (equivalent to a tree)
PERFORMANCE: • Considering each link BW is 10MBps and distance between links is 500m • Throughput: throughput = total amount of data transferred/total time = 5.9MBps • Goodput: Goodput = Actual data transferred/total time taken = 5.82 MBps • Delay for single link: Delay = propagation delay + transmission delay = 500/2*10^8 +1500/10*10^6 = 152.5*10^-6 sec
Summary • Key protocol design features (recap) • OSPF (to find least hops to destination) • Protocol to find the optimum destination nodes for a given multicast address(k=2 &3) • Forwarding unicast join messages by local router to destination nodes to create multicast forwarding tables at each router (similar to connection oriented) • The packet is directly sent to respective interfaces based on the multicast address • Implementation complexity • Each router need to maintain multicast forwarding table • Need to program an algorithm to find optimum destination nodes