IPIP Mesh/RIP: Difference between revisions
No edit summary |
Organize IPIP Mesh documentation and navigation |
||
| (6 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
Information about other AMPRNet [[ | {{Section nav|hub=IPIP Mesh|title=IPIP Mesh|category=IPIP Mesh}} | ||
Routes can also be downloaded via the [[ | |||
Information about other AMPRNet [[IPIP Mesh/Gateways| gateways]] can now be received dynamically via modified [http://en.wikipedia.org/wiki/Routing_Information_Protocol#RIP_version_2 RIPv2] advertisements. | |||
Routes can also be downloaded via the Portal [[API]]. | |||
= What's the difference? = | = What's the difference? = | ||
| Line 37: | Line 39: | ||
44.128.0.0/24 via ampr-1.2.3.4 | 44.128.0.0/24 via ampr-1.2.3.4 | ||
This is the processing in the usual case, for 44 subnets having a | This is the processing in the usual case, for 44 subnets having a 44Net | ||
gateway we assume that the gateway is published by BGP and is directly | gateway we assume that the gateway is published by BGP and is directly | ||
reachable, so for a announcement like 44.128.0.0/24 via 44.128.0.1 there | reachable, so for a announcement like 44.128.0.0/24 via 44.128.0.1 there | ||
| Line 52: | Line 54: | ||
Two programs are available for GNU/Linux to utilize these updates: | Two programs are available for GNU/Linux to utilize these updates: | ||
* [[ampr-ripd]], a C based routing daemon | * [[IPIP Mesh/Ampr-ripd|ampr-ripd]], a C based routing daemon | ||
* [[rip44d]], a PERL based routing daemon | * [[IPIP Mesh/Rip44d|rip44d]], a PERL based routing daemon | ||
A program is also available for [https://www.openbsd.org/ OpenBSD]: | A program is also available for [https://www.openbsd.org/ OpenBSD]: | ||
| Line 81: | Line 83: | ||
= See Also = | = See Also = | ||
* [[startampr]] - a script that loads the routing daemon on boot on Linux server-type devices | * [[IPIP Mesh/Startampr|startampr]] - a script that loads the routing daemon on boot on Linux server-type devices | ||
* Instructions for [[ | * Instructions for [[IPIP Mesh/Linux|setting up a tunnel gateway on Linux]] | ||
* Instructions for [[ | * Instructions for [[IPIP Mesh/OpenWrt|setting up a gateway on OpenWRT]] | ||
* Instructions for [[ | * Instructions for [[IPIP Mesh/OpenBSD|setting up a gateway on OpenBSD]] | ||
[[Category:Reference]] | [[Category:Reference]] | ||
[[Category:Infrastructure]] | |||
[[Category:Routing]] | |||
Latest revision as of 19:08, 29 September 2026
← Back to IPIP Mesh
Information about other AMPRNet gateways can now be received dynamically via modified RIPv2 advertisements. Routes can also be downloaded via the Portal API.
What's the difference?
There is a big difference from RIPv2 in how the packets are processed.
The regular RIPv2 sets a route to a specific subnet via the sender and interface where the RIP broadcast was received on. The gateway information is used only as an optimization element, in case a route with to that gateway already exists so that the one with the lower metric gets chosen.
In our case, we use the RIP announcements to transport the subnet AND gateway information.
Detailed description
So, assuming a point to multipoint interface, if there is let's say an announcement 44.128.0.0/24 via 1.2.3.4 coming from 44.0.0.1 on the ipip0 interface, regular RIPv2 would translate this to:
44.128.0.0/24 via 44.0.0.1 if ipip0
while ampr rip would translate this to:
44.128.0.0/24 via 1.2.3.4 if ipip0
In the first case, traffic to 44.128.0.0/24 is sent directly to the gateway (the RIP sender), while in the second case it is encapsulated to 1.2.3.4.
On a mikrotik router it even goes a step further: it creates a ipip tunnel interface, ampr-1.2.3.4 to 1.2.3.4 and creates a route
44.128.0.0/24 via ampr-1.2.3.4
This is the processing in the usual case, for 44 subnets having a 44Net gateway we assume that the gateway is published by BGP and is directly reachable, so for a announcement like 44.128.0.0/24 via 44.128.0.1 there are 2 route set:
44.128.0.1 via default-gw (which is autodetected), and 44.128.0.0/24 via 44.128.0.1 if ipip0 to do the encapsulation
So, while the information structure in both cases conforms to the RIPv2 specifications, its usage is completely different.
RIP44 Daemons
Two programs are available for GNU/Linux to utilize these updates:
A program is also available for OpenBSD:
Availability/Compatibility
The RIP44 daemons have been tested and known to work on the following operating systems:
- BSD
- OpenWRT/LEDE
- Raspbian
- Slackware Linux
- Ubuntu/Debian Linux
- Vyatta/VyOS
Non-RIP44 Workarounds
The devices below do not possess a known, end-user method to install additional software (i.e. ampr-ripd). Operators have developed scripts to parse inbound routing packets to make them compatible for usage on AMPRNet:
- Cisco IOS (a separate machine must run the script) : look here http://wiki.ampr.org/wiki/Setting_up_a_gateway_on_Cisco_Routers at the "Making the route commands automatically" section
- JunOS
- MikroTik : look here http://www.yo2loj.ro/hamprojects/ at the "Mikrotik RIPv2 AMPR Gateway Setup Script 3.0"
- Ubiquiti OS
See Also
- startampr - a script that loads the routing daemon on boot on Linux server-type devices
- Instructions for setting up a tunnel gateway on Linux
- Instructions for setting up a gateway on OpenWRT
- Instructions for setting up a gateway on OpenBSD