You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/about_mesh_networking.md
+27-18
Original file line number
Diff line number
Diff line change
@@ -30,10 +30,10 @@ Emulating OSI model layer 2 or 3 as part of the mesh network protocol has some p
30
30
31
31
Layer 2 is the data link layer and deals with MAC addresses. Layer 2 mesh routing implementations basicly emulate a big switch.
32
32
pros:
33
-
*easier to implement
33
+
*harder to implement, most low level routing protocols that need brodcasts (e.g. ARP, NDP, DHCP..) need to be handled to have a scalable IP layer.
34
34
* trivial to implement roaming (when a client moves between nodes)
35
35
36
-
Layer 3 is the procotol layer and deals with IP addresses.
36
+
Layer 3 is the network layer and deals with IP addresses.
37
37
The routing protocol takes care of assigning subnets.
38
38
pros:
39
39
* better scalability because subnets do not forward broadcast/mutlicast packets by definition
@@ -49,50 +49,55 @@ Layer 4 meshes would be TOR, I2P, and CJDNS. (https://superuser.com/questions/48
49
49
Used in distributed Bellman-Ford algorithm to check if a received announcement creates a routing loop or not.
50
50
A node will only integrate feasible routes in its routing table.
51
51
52
-
BGP: only accept route announcements that do not include its own node. The complete route must be announced and attached to the packets. Internet routes usually have 3-4 hops.
52
+
BGP: only accept route announcements that do not include its own node (AS). The complete route must be announced and attached to the packets. Internet routes usually have 3-4 hops.
53
53
54
54
DSDV, AODV: only accept routes if they do not increase the metric known by that node
55
55
56
-
EIGR/DUAL, Babel: node sending a route update remembers the smalles value (metric) it send and accepts only better routes
56
+
EIGRP/DUAL, Babel: node sending a route update remembers the smalles value (metric) it send and accepts only better routes
57
57
58
58
### Pro-Active vs. Reactive
59
59
60
60
Reactive (also on demand) routing protocols try to gather the information need for routing when a packet arrives.
61
61
This usually means that there is less traffic to keep local routing information up to date. It is only updated/gatheres when a packet actually needs to be routed. On the other hand this adds latency.
62
62
63
-
Example: Babel, DSR, AODV
63
+
Example: DSR, AODV
64
64
65
65
Pro-active (also table driven) protocols keep all information ready and up to date for when a packet needs to be routed. For this a table of all received routing information is maintained.
66
66
This approach is popular in existing implementations, but needs a steady overhead to keep the routing information up to date.
67
67
68
-
Examples: DSDV, OLSR, BATMAN-adv
68
+
Examples: Babel, DSDV, OLSR, BATMAN-adv
69
69
70
70
### Uni- or Bi-directional Links
71
71
72
-
Routing protocols can see links as symmetrical or asymmetric connections. If traffic can flow in one direction only, then it would be uni-directional connection. If the quality of a connection is not symmetrical, then a routing protocol can still try to ignore this and assume that it is perfectly symmetrical in its transmission quality.
73
-
74
-
A sender and a receiver would form a typical asymmetric link.
72
+
Links can be bi-directional or uni-directional, which only let traffic flow in one connection. Most mesh routing algorithms only support bi-directional connections. A broader distinction is symmetric vs. asymmetric links.
75
73
76
74
### Name-dependent vs. Name-independent
77
75
78
-
Name-dependent routing schemes assign an address (of some kind, not necessarily a familiar IP address) based on a node’s location in the network. Name-independent routing schemes place no requirements on a node’s address and treat it as some opaque identifier in a flat (i.e. non-subnetted) address space.
76
+
Name-dependent routing schemes assign an address based on a nodes location in the network, a structured name space (e.g. IP address, geo position). Name-independent routing schemes place no requirements on a nodes address and treat it as some opaque identifier in a flat address space (MAC address, DNS name).
77
+
Usually, both schemes are implemented as separate layers of one network (e.g. layer 2 MAC addresses and layer 3 IP addresses).
78
+
Mesh network often utilizes a form of a Distributed Hash Table to look up Name-independent identifiers on a Name-dependent routing substrate.
79
+
80
+
### EGP vs. IGP
81
+
82
+
These terms only exist when talking about the organizations that compose the Internet.
83
+
Interior Gateway Protocol (IGP) is used for protocols that are used inside an organisation (e.g. and Internet Serivce Provider / ISP). Examples are OSPF, EIGRP, IS-IS.
84
+
Exterior-Gateway-Protokoll (EGP) are protocols used to connect organizations. The prime example is BGP. BGP calls these organizations Autonomous System (AS).
85
+
79
86
80
87
### Flat Proactive Routing
81
88
82
89
Flat proactive Routing protocols can be roughly divided into two subcategories; link-state (LS) and distributed Bellman-Ford (DBF) algorithms.
83
90
Flat proactive routing scales very well with respect to the frequency of connection
84
91
establishment (F) and the number of concurrent connections (C). However, the
85
-
number of control packet transmissions per node is Θ(N).
92
+
number of control packet transmissions per node is Θ(N).
86
93
87
-
Link state Examples: Fish-eye State Routing [22], Global State Routing [4] and Opti-
88
-
mized Link-State Routing.
94
+
Link state Examples: Fish-eye State Routing [22], Global State Routing [4] and Optimized Link-State Routing.
89
95
Every node has a complete but not accurate view of the toplogy.
90
96
Can react fast on link change.
91
97
FSR does not keep changes far away, idea: link changes far away have a small effect on local routing decisions.
92
98
93
99
DBF examples:
94
-
Destination Sequenced Distance Vector routing [24] and Wire-
-(Scalable Routing Protocols for Mobile Ad Hoc Networks)[http://www-inst.eecs.berkeley.edu/~ee228a/fa03/228A03/Presentations03/routing_manet_survey.pdf](2002)
8
+
-[Scalable Routing Protocols for Mobile Ad Hoc Networks](http://www-inst.eecs.berkeley.edu/~ee228a/fa03/228A03/Presentations03/routing_manet_survey.pdf)(2002)
8
9
- A Survey on Scalable Multicasting in Mobile Ad Hoc Networks (2015) [DOI](https://doi.org/10.1007/s11277-014-2016-4)
9
10
-[Routing protocols in ad hoc networks: A survey](https://www.cs.odu.edu/~cs752/papers/routing-001.pdf)
10
11
- J. Eriksson and M. Faloutsos and S. V. Krishnamurthy, Handbook on theoretical and algorithmic aspects of sensor, ad hoc wireless, and peer-to-peer networks, Auerbach Publications, Edited by Jie Wu, 2006.
0 commit comments