2010-3Q: CORE: WIB groups - MultiHome support
NOTE: While this feature will work on any WIB, it is mainly intended for WIB firmware running on ImageStream routers, which support the routing protocols which make MultiHome networks possible (BGP / OSPF).
Overview
In MultiHome networks traffic may enter and leave the network through gateways which are connected to more than one ISP. These may be configured in a variety of ways - such as a primary/standby mode, where the traffic normally goes through one gateway, but will fail-over to another gateway in the event of a failure in the primary, or load shared mode, where the traffic is distributed betwen the gateways (and where any one gateway can take over all of the traffic in the event of a failure in one of the other gateways). The key feature of such networks is that it must be possible for traffic for a customer to flow through any one of a number of gateways connecting the operators network to the internet. The figure below shows a simplified sample network with two internet feeds:
This sample network has two feeds from ISP A (via WIB 100) and ISP B (via WIB 101). The WIBs feed into an OSPF network which provides dual-feeds to the tower sites for redundancy.
WIB Groups
Normally a WIB acts as a filter, and only allows through traffic for "current" customers which have been assigned to that WIB. That means, for example, traffic to/from a customer assigned to WIB 100 can only pass through WIB 100 (and so must go via ISP A). If due to dynamic routing the traffic to/from the customer was to go via ISP B, WIB 101 would block the traffic causing the customer's connection to fail.
In order to allow traffic to/from customers to pass through one of a number of WIBs, the concept of a "WIB group" has been introduced. When WIBs are grouped, the customer details (i.e. the IP addresses to be allowed through), and the traffic shaping details for all WIBs in the group are merged, and downloaded to all WIBs in the group. In addition data usage for each IP is gathered from all WIBs in the group, and added together to get the customers total bandwidth usage. Finally, when one of the WIBs in the group are updated (tools -> Update WIB files), all of the other WIBs in the group are automatically updated at the same time - this is to ensure that the configuration of all of the WIBs in the group are kept consistent.
NOTE: only subscriber details and traffic shaping bucket details are merged - other WIB settings, such as DNATs, blocked ports, max bandwidth, P2P settings, etc. may still be set individually for each WIB in the group.
Configuration
WIBs may be grouped together by setting the "WIB group name" parameter on the network -> Gateway details page - see below.
The "WIB group name" is free format, and any name may be assigned to the group - it is suggested that a descriptive name be used in the case where there are several groups in use. All WIBs which have the same "WIB group name" will be grouped together. Leaving the "WIB group name" field blank, or setting it to a unique value which is not shared with any other WIB, will cause the WIB to operate as normal, and data will not be shared with other WIBs.
When configuring the network, the operator should ensure that each WIB in the group has sufficient capacity to carry the traffic for all customers in the group.
After assigning a WIB to a group, a "tools -> update WIB files" should be carried out (on any WIB in the group) to ensure that the updated, merged, configuration is downloaded to all of the WIBs in the group.
To remove a WIB from a group, simple blank the "WIB group name" field and then update the WIB files for the WIB and for any one of the WIBs remaining in the group.
Summary
WIBs are grouped together by setting their "WIB group name"
Customer details (IP addresses, etc), and traffic shaping bucket details for all WIBs in the group are merged together and downloaded to all WIBs
Customer traffic usage data is gathered from all WIBs in the group and added together to get the overall customer data usage.
Updating WIB files for any one WIB in the group will automatically update the WIB files for all other WIBs in the group.