RIP: Difference between revisions
No edit summary |
No edit summary |
||
(6 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
Information about other AMPRNet [[gateway| gateways]] can now be received dynamically via modified [http://en.wikipedia.org/wiki/Routing_Information_Protocol RIPv2] advertisements. | Information about other AMPRNet [[gateway| 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 as an [[Encap.txt|encap.txt]] file. | |||
= 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 = | = RIP44 Daemons = | ||
Line 7: | Line 54: | ||
* [[ampr-ripd]], a C based routing daemon | * [[ampr-ripd]], a C based routing daemon | ||
* [[rip44d]], a PERL based routing daemon | * [[rip44d]], a PERL based routing daemon | ||
A program is also available for [https://www.openbsd.org/ OpenBSD]: | |||
* [https://github.com/dancrossnyc/44ripd 44ripd] | |||
= Availability/Compatibility = | = Availability/Compatibility = | ||
Line 23: | Line 74: | ||
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: | 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) | * 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 | * JunOS | ||
* MikroTik | * MikroTik : look here http://www.yo2loj.ro/hamprojects/ at the "Mikrotik RIPv2 AMPR Gateway Setup Script 3.0" | ||
* Ubiquiti OS | * Ubiquiti OS | ||
Line 33: | Line 84: | ||
* Instructions for [[setting up a gateway on Linux|setting up a tunnel gateway on Linux]] | * Instructions for [[setting up a gateway on Linux|setting up a tunnel gateway on Linux]] | ||
* Instructions for [[setting up a gateway on OpenWRT|setting up a gateway on OpenWRT]] | * Instructions for [[setting up a gateway on OpenWRT|setting up a gateway on OpenWRT]] | ||
* Instructions for [[setting up a gateway on OpenBSD|setting up a gateway on OpenBSD]] |
Latest revision as of 04:22, 15 October 2024
Information about other AMPRNet gateways can now be received dynamically via modified RIPv2 advertisements. Routes can also be downloaded as an encap.txt file.
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