Better Approach To Mobile Adhoc Networking

Similar documents
IP - The Internet Protocol. Based on the slides of Dr. Jorg Liebeherr, University of Virginia

Switching & ARP Week 3

IPv6 Protocols and Networks Hadassah College Spring 2018 Wireless Dr. Martin Land

Configuring IPv4. Finding Feature Information. This chapter contains the following sections:

ICS 351: Networking Protocols

HP Routing Switch Series

IPv6. IPv4 & IPv6 Header Comparison. Types of IPv6 Addresses. IPv6 Address Scope. IPv6 Header. IPv4 Header. Link-Local

IPv6 Neighbor Discovery

IPv6 Neighbor Discovery

Telecom Systems Chae Y. Lee. Contents. Overview. Issues. Addressing ARP. Adapting Datagram Size Notes

Configuring Wireless Multicast

Overview. Overview. OTV Fundamentals. OTV Terms. This chapter provides an overview for Overlay Transport Virtualization (OTV) on Cisco NX-OS devices.

Contents. Configuring EVI 1

User Datagram Protocol

Network layer: Overview. Network layer functions IP Routing and forwarding NAT ARP IPv6 Routing

Internetworking - We are heterogeneity to our network (variable network technologies, bandwidth, MTU, latency, etc. etc.)

Network layer: Overview. Network Layer Functions

Configuring IP Multicast Routing

Virtual Subnet (VS): A Scalable Data Center Interconnection Solution

CS 356: Computer Network Architectures. Lecture 10: IP Fragmentation, ARP, and ICMP. Xiaowei Yang

IPv6 PIM. Based on the forwarding mechanism, IPv6 PIM falls into two modes:

Top-Down Network Design, Ch. 7: Selecting Switching and Routing Protocols. Top-Down Network Design. Selecting Switching and Routing Protocols

4.2 Multicast IP supports multicast to support one-to-many (radio, news, IP multicast was originally a many-to-many (any source MC or

Configuring MLD Snooping

King Fahd University of Petroleum and Minerals College of Computer Sciences and Engineering Department of Computer Engineering

8 VLANs. 8.1 Introduction. 8.2 vlans. Unit 8: VLANs 1

Distributed Systems 26. Mobile Ad Hoc Mesh Networks

Chapter 5: Ethernet. Introduction to Networks - R&S 6.0. Cisco Networking Academy. Mind Wide Open

Medium Access Protocols

ECE 4450:427/527 - Computer Networks Spring 2017

IPv6 Neighbor Discovery

Lecture 2: Basic routing, ARP, and basic IP

Configure Multicast on Cisco Mobility Express AP's

521262S Computer Networks 2 (fall 2007) Laboratory exercise #2: Internetworking

Lies, Damn Lies and ARP Replies

Dynamic Routing. Lecturer: Carlos Rey-Moreno Networking Course Honors on Computer Science University of the Western Cape

Connecting to the Network

Configuring IP Multicast Routing

Question 7: What are Asynchronous links?

PUCPR. Internet Protocol. Edgard Jamhour E N G L I S H S E M E S T E R

Clustered Multi-layer Multi-protocol Wireless Mesh Networks

History Page. Barracuda NextGen Firewall F

DGS-1510 Series Gigabit Ethernet SmartPro Switch Web UI Reference Guide

IP Multicast Optimization: Optimizing PIM Sparse Mode in a Large IP Multicast Deployment

Advanced Network Training Multicast

Fast Handoff for Seamless Wireless Mesh Networks

Floodless in SEATTLE: A Scalable Ethernet Architecture for Large Enterprises

HP MSR Router Series. EVI Configuration Guide(V7) Part number: b Software version: CMW710-R0304 Document version: 6PW

EEC-684/584 Computer Networks

Outline. Routing. Introduction to Wide Area Routing. Classification of Routing Algorithms. Introduction. Broadcasting and Multicasting

Routing Overview. Information About Routing CHAPTER

Contents. EVPN overview 1

CSC 4900 Computer Networks: Network Layer

Computer Networks. Routing

Chapter 5 Reading Organizer After completion of this chapter, you should be able to:

Configuring Port-Based Traffic Control

3. Evaluation of Selected Tree and Mesh based Routing Protocols

ICS 451: Today's plan

Configuring MLD Snooping

Lecture 9: Switched Ethernet Features: STP and VLANs

IPv6 PIM-DM configuration example 36 IPv6 PIM-SM non-scoped zone configuration example 39 IPv6 PIM-SM admin-scoped zone configuration example 42 IPv6

Layer 3 Routing (UI 2.0) User s Manual

HUAWEI AR Series SEP Technical White Paper HUAWEI TECHNOLOGIES CO., LTD. Issue 1.0. Date

Aside: Interaction with Link Layer Computer Networking. Caching ARP Entries. ARP Cache Example

Configuring IGMP Snooping

Introduction to Internetworking

Configuring Port-Based Traffic Control

Configuring the Service Discovery Gateway

Path MTU Discovery in Bridged Network

Configuring PIM. Information About PIM. Send document comments to CHAPTER

ROUTING INTRODUCTION TO IP, IP ROUTING PROTOCOLS AND PROXY ARP

Data Center Configuration. 1. Configuring VXLAN

On Distributed Communications, Rand Report RM-3420-PR, Paul Baran, August 1964

Network Security Fundamentals. Network Security Fundamentals. Roadmap. Security Training Course. Module 2 Network Fundamentals

Mobile Communications. Ad-hoc and Mesh Networks

Ch.6 Mapping Internet Addresses to Physical Addresses (ARP)

VXLAN Overview: Cisco Nexus 9000 Series Switches

Inter-networking. Problem. 3&4-Internetworking.key - September 20, LAN s are great but. We want to connect them together. ...

QoS multi meshed tree routing in tethered MANET

CMPE 150/L : Introduction to Computer Networks. Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 12

Configuring IP Multicast Routing

Assignment - 1 Chap. 1 Wired LAN s

IP over ATM. IP over ATM. Agenda. IP over ATM : Solving the Problem I.

Lab 4: Routing using OSPF

Configuring Banyan VINES

Cisco Catalyst 6500 Series Wireless LAN Services Module: Detailed Design and Implementation Guide

EEC-682/782 Computer Networks I

Multicast VLAN, page 1 Passive Clients, page 2 Dynamic Anchoring for Clients with Static IP Addresses, page 5

Information About Routing

Configuring VLANs. Understanding VLANs CHAPTER

Internet Layers. Physical Layer. Application. Application. Transport. Transport. Network. Network. Network. Network. Link. Link. Link.

ETSF05/ETSF10 Internet Protocols Network Layer Protocols

MULTICAST AND IGMPv3. Announcements. Today s Lecture. Multicast (No Sharing) Unicast. I. HW5 will be online today CIDR, subnets, routing

vines access-group vines access-group access-list-number no vines access-group access-list-number Syntax Description

Summary of MAC protocols

Configuring IP Multicast Routing

Table of Contents Chapter 1 IPv6 PIM Configuration

HP 3600 v2 Switch Series

IPv4 and IPv6 Commands

Configuring IP Unicast Routing

Transcription:

Better Approach To Mobile Adhoc Networking batman-adv - Kernel Space L2 Mesh Routing Martin Hundebøll Aalborg University, Denmark March 28 th, 2014

History of batman-adv The B.A.T.M.A.N. protocol initiated in Berlin, 2006. The first edition was developed as a daemon, and moved to kernel space in 2007 to improve performance. Keywords: L2 routing (MAC addresses) Agnostic to IP or any L3 protocol Developed as a replacement/alternative to Optimized Link State Routing Runs on any Ethernet capable device (e.g. 802.3, 802.11, and 802.15.1) Supports client roaming Encapsulates incoming ether frames and handles all forwarding/delivery. Available by default in most Linux distributions (modprobe batman adv) Current development is focused on the next generation of the protocol, version 5, which is what I consider in this presentation.

Features of batman-adv During the presentation, the following features are discussed: Link Estimation Route Propagation Client Announcement Client Roaming Distributed ARP Table Bridge Loop Avoidance Multi-Link Optimizations AP Isolation Fragmentation Multicast Optimizations VLAN Support Information Distribution

Concept A batman-adv mesh network can be considered as a big virtual Ethernet switch with outlets at every node in the network:

Common Setup The usual mesh setup used by communities in Europe, South America, and more includes mesh backbone consisting of mesh nodes mesh clients that can roam between mesh nodes mesh gateways connected to the internet The hardware is mostly consumer grade routers running openwrt.

Node Configuration The mesh backbone is run on primarily ad-hoc wireless networks, while the clients are connected through access points running on the mesh nodes: mesh0 is the ad-hoc interface iw phy0 interface add mesh0 type ibss bat0 is the entry to the mesh: ip link add dev bat0 type batadv ip link set mesh0 master bat0 ap0 is the access point provided to clients: iw phy0 interface add ap0 type managed hostapd /etc/hostapd/hostapd.conf br0 is the bridge connecting them all: ip add br0 type bridge ip link set bat0 master br0 ip link set eth0 master br0 ip link set ap0 master br0

Neighbor Discovery and Link Estimation Every node estimates one-hop link qualities towards every visible neighbor. ELP messages are broadcasted periodically to allow neighbor detection. To estimate the quality of a link, batman-adv queries the rate control algorithm of the wireless subsystem, which already keeps track of the estimated throughput. In case of an idle link, batman-adv transmits dummy frames (ELP messages) to trigger updates in the rate control system. To detect changes faster, ELP messages can be transmitted at a small interval (these are not forwarded by other nodes).

Beacons/Originator Messages batman-adv uses Origator Messages (OGMs) to propagate routes in the network: Transmitted on a fixed interval (with some random jitter) Contains information about the originator of the message Carries the accumulated link quality estimate Nodes forward (aggregated) OGMs from the best route towards the originating node. The link quality estimate from ELP/rate control is used to update the accumulated link quality in the OGMs.

Client Support To serve clients connected through the bridge interface, batman-adv keeps track of the MAC addresses passing through bat0. Each node maintains a list of clients connected locally Changes to the list are piggybacked on OGMs Each node maintains a list of every client connected globally. For every global client, the list tells which node is serving the client. When frames arrives through bat0, the node can lookup the node serving the destination client.

Client Roaming/Hand Over When clients roam from the access point of one node, to the access point of another node, the following (simplified) steps happens: 1. The new serving node sees a client from the global list 2. The new node notifies the previous serving node. 3. The previous node now reroutes the client-traffic to the new node. 4. The both nodes advertises the change within the next OGM message. In case notifications or changes are lost due to packet errors, the system detects inconsistencies by version numbers and checksums and recover by requesting full tables from involved nodes.

Distributed ARP Table When using IPv4 on top of batman-adv, clients resolves addresses with ARP. Requests are broadcasted, and thus vulnerable to packet loss, which leads to ARP timeouts. batman-adv features a Distributed ARP Table that snoops ARP messages and caches the responses in the mesh network. Figure: Client 1 broadcasts an ARP request to resolve Client 2. In this example the request is lost after Node B. DAT works like this: batman-adv solves this by caching ARP entries in a Distributed Hash Table (DHT), where each node caches a subset of the entries. ARP requests from clients (1) are snooped at the serving node (A), who looks up candidate DHT nodes (E). A request is transmitted with unicast to the candidate nodes (E), who responds with the resolved MAC address. The serving node (A) responds with an ARP reply and stores the entry for later ARP requests.

Distributed ARP Table When using IPv4 on top of batman-adv, clients resolves addresses with ARP. Requests are broadcasted, and thus vulnerable to packet loss, which leads to ARP timeouts. batman-adv features a Distributed ARP Table that snoops ARP messages and caches the responses in the mesh network. Figure: With DAT, the ARP request is intercepted and the entry is requested from Node E. DAT works like this: batman-adv solves this by caching ARP entries in a Distributed Hash Table (DHT), where each node caches a subset of the entries. ARP requests from clients (1) are snooped at the serving node (A), who looks up candidate DHT nodes (E). A request is transmitted with unicast to the candidate nodes (E), who responds with the resolved MAC address. The serving node (A) responds with an ARP reply and stores the entry for later ARP requests.

Bridge Loop Avoidance In cases where multiple gateway from the mesh are connected to the same backbone, broadcast storms can occur. Bridge Loop Avoidance handles this by claiming clients in the mesh network.

Bridge Loop Avoidance In cases where multiple gateway from the mesh are connected to the same backbone, broadcast storms can occur. Bridge Loop Avoidance handles this by claiming clients in the mesh network. A broadcast from an unclaimed client is claimed by the first receiving gateway. Other gateways drops broadcasts from the claimed client.

Bridge Loop Avoidance In cases where multiple gateway from the mesh are connected to the same backbone, broadcast storms can occur. Bridge Loop Avoidance handles this by claiming clients in the mesh network. Clients can also be claimed whenever unicast traffic from the client is bridged by the gateway.

Bridge Loop Avoidance In cases where multiple gateway from the mesh are connected to the same backbone, broadcast storms can occur. Bridge Loop Avoidance handles this by claiming clients in the mesh network. Broadcasts from the backbone are forwarded by all gateways, and duplicates are eliminated in the mesh with checksumming.

Bridge Loop Avoidance In cases where multiple gateway from the mesh are connected to the same backbone, broadcast storms can occur. Bridge Loop Avoidance handles this by claiming clients in the mesh network. Switches send unicast traffic to one gateway only, in which case the packet is simply forwarded into the mesh.

Bridge Loop Avoidance In cases where multiple gateway from the mesh are connected to the same backbone, broadcast storms can occur. Bridge Loop Avoidance handles this by claiming clients in the mesh network. When broadcasts are forwarded onto the backbone, other gateways drop the packet.

Bridge Loop Avoidance In cases where multiple gateway from the mesh are connected to the same backbone, broadcast storms can occur. Bridge Loop Avoidance handles this by claiming clients in the mesh network. Same happens when gateways forwards broadcast packets onto the mesh. These are not forwarded back onto the backbone by other gateways.

Network Wide Multi Link Optimization To exploit paths with alternating channels, batman-adv nodes broadcast distinct OGMs on each available. When forwarding OMGs from other nodes, a penalty is added when forwarding onto the interface, on which the OMG arrived. Example: Node A transmit an OGM on A1 and another on A2. Node B receives an OGM on B1, and forwards it on B2 with hop-penalty and on B1 with both hop-penalty and link-penalty. Node B received another OGM on B2. This is only forwarded on B1, as the previous OGM has the better metric due to link-penalty. The last two steps are repeated on Node C. When Node D transmits packets to Node A on D1, Node C will see a better path towards Node A on C2, and so on.

AP Isolation With a single access point, clients can be isolated from one another by the means of AP Isolation. With batman-adv, multiple access points are used and thus AP isolation needs to be handled within batman-adv. With AP isolation in batman-adv: Unicast traffic between isolated clients is dropped at the first node. Broadcast traffic from isolated nodes can be dropped at outgoing interfaces.

AP Isolation With a single access point, clients can be isolated from one another by the means of AP Isolation. With batman-adv, multiple access points are used and thus AP isolation needs to be handled within batman-adv. With AP isolation in batman-adv: Unicast traffic between isolated clients is dropped at the first node. Broadcast traffic from isolated nodes can be dropped at outgoing interfaces.

Fragmentation Since batman-adv encapsulates entire ethernet frames, the size is increased with protocol data. Figure: With increased MTU between Node A and Node B When the MTU of the ad-hoc interfaces cannot be increased accordingly, fragmentation is needed. Figure: The MTU between Node A and Node B is too small, and the packet is fragmented. With fragmentation, the encapsulated frame is transmitted in fragments, which are merged at the receiver. This is also used for information about clients in the network.

Mulicast Optimizations batman-adv handles multicast traffic according to three different scenarios: No listeners Multicast packets are dropped at the gateway. Field studies show that multicast groups often have zero or one listeners.

Mulicast Optimizations batman-adv handles multicast traffic according to three different scenarios: No listeners Multicast packets are dropped at the gateway. Single listener Multicast packets are forwarded as unicast. Field studies show that multicast groups often have zero or one listeners.

Mulicast Optimizations batman-adv handles multicast traffic according to three different scenarios: No listeners Multicast packets are dropped at the gateway. Single listener Multicast packets are forwarded as unicast. Multiple listeners Multicast packets are flooded as broadcast. Field studies show that multicast groups often have zero or one listeners.

Virtual LAN batman-adv supports VLAN throughout the mesh, meaning clients are separated in two distinct LANs, e.g. public internet access, and corporate intranet access. Many settings in batman-adv are supported on a per-vlan-basis. E.g. having public clients isolated, while corporate clients can communicate.

Distributed Network Information Often one wishes to collect data from the network, e.g. network links, hostnames, gps locations, etc. To avoid having every node broadcasting all the information to all nodes, A.L.F.R.E.D. supports distributed collecting of information. Information flow: Information is locally passed to slaves through a UNIX socket. Slaves reports information to the closest master (using info from batman-adv). Masters synchronize information with each other. Any slave or master can request the full information from a master. The number of masters is up the administrator.