220 likes | 438 Views
Banana Tree Protocol. Properties. Banana Tree Protocol (BTP) is based on a tree topology Each host in the group is a node in the tree The node may be a parent or a child or both The host that created the tree is the root node and has no parent. Consequently, all other nodes have a parent.
E N D
Properties • Banana Tree Protocol (BTP) is based on a tree topology • Each host in the group is a node in the tree • The node may be a parent or a child or both • The host that created the tree is the root node and has no parent. Consequently, all other nodes have a parent
The parent is the next node on the path to the root A node may have multiple children Node’s parent or children are also its neighbors Other children of a node’s parent is called siblings Properties (2)
Properties (3) toward root parent node child node node sibling sibling
Joining Group • A host joins a group by becoming the child of a nodes currently in the tree (e.g. the root node) • We assume the existence of a bootstrap protocol • With bootstrapping protocol, host can learn of a node in a multicast group • A node that joining a multicast group with no member become the root node
Switching in The Group • Nodes can change parent in some situations, it’s called switch • Example: node A switches to node C root root C B B C A A
Sending Packets • To send a multicast packet, a node sends the packet to its neighbors • When a node receives a multicast packet from its neighbor, it forwards the packet to its other neighbors
Partitioning • If node’s parent leaves or fails, a partition is formed. • The node then reconnect to the root • This can’t create a loop because the root can’t be the node’s descendant • If the node’s child fails, the node does nothing, because if the child had children, they will reconnect to the root themselves
Optimization Algorithm • Nodes can switch parents to optimize the tree • For avoiding loop, a node can’t switch to an arbitrary node • A node can only switch to: 1. root 2. siblingbecause a root and a sibling is not descendant of the node
Optimization Algorithm (2) • Looping case: root root 3 3 3 3 1 1 Loop 3 3
Optimization Algorithm (3) • The purpose of switching to a sibling is to optimize the tree for low cost. Because BTP is designed without considering low latency. R R R 3 3 A B A B A B 1 Tree cost = 6 Tree cost = 4
Optimization Algorithm (4) • When a node is switching to a sibling, another rules are: 1. the sibling is still the node’s sibling 2. the sibling is not trying to switch to another node at the same time
Switching Algorithm • Assume a node has received a list of its siblings from its parent and has found a sibling closer than its parent. • That node may find this sibling by pinging each sibling. • This sibling is called potential parent.
Switching Algorithm (2) • When a node wants to switch to a potential parent, it must first send a switch request to the potential parent. • The node has to wait for an acceptance or rejection message.
parent parent Switching Algorithm (3) • Problem: • To ensure that siblings do not try to switch each other at the same time, a node which is trying to switch to a potential parent will always reject a request from the potential parent to switch to it.
parent parent A A B B C C Switching Algorithm (4) • Problem: • To prevent such loops from happening, BTP adopted the policy that a node will reject all attempts at switching if it is itself in the process of switching parents.
Switching Algorithm (5) • For avoiding an out-of-date information, the node has to include the current parent information in the switch request. • The potential parent checks that the node and itself are actually sharing the same parent.
Closeness Metric • Closeness Metric, C = ds/dc ds: the distance from node to the closest node found by switching dc: the distance from node to the closest possible node in the tree C ≥ 1, but if C = 1 ideal
BTSMP and BTFTP • There are two protocols built on top of BTP that give additional features: 1. Banana Tree Simple Multicast Protocol(BTSMP) 2. Banana Tree File Transfer Protocol (BTFTP) • BTSMP provide many-to-many group communication for sending and receiving packets. • BTFTP provides one-to-many file distribution.
BTSMP and BTFTP (2) • The only feature of BTSMP is caching. Each node can keep a cache of the last few packet sent or received. • The good thing is when a new node joins the tree, it can request the contents of the cache from its parent. • BTFTP provides reliable one-to-many file transfer. It is assumed that the root has the file.
Related Work • Several end-host multicast protocols related to this protocol are:1. Yoid2. Narada3. AMRoute