ACL – Access Control List
ARP – Address Resolution Protocol
CLI – Command Line Interface
DSCP – Differentiated Services Code Point
- HTTP – Hyper Text Transfer Protocol
- IGMP – Internet Group Management Protocol
- IP – Internet Protocol
- MAC – Media Access Control
MINT – Mesh Interconnection Networking Technology
- NAT – Network Address Translation
- OSPF – Open Shortest Path First
- PHY – Physical layer
QoS – Quality of Service
- RIP – Routing Information Protocol
- RSH – Remote Shell
- RSTP – Rapid Spanning Tree Protocol
- SNMP – Simple Network Management Protocol
- STP – Spanning Tree Protocol
TDMA – Time Division Multiple Access
VLAN – Virtual Local Area Network
Complex wireless network topologies require enhanced mechanisms to ensure fast packet transfer constantly adapting to the status of the radio connections, especially in cases with mobile objects. The radio link quality changes may lead to different transmission rates from couple of Mbps to hundreds of Mbps for the same link in different conditions. Thus, InfiNet’s proprietary MINT protocols offer an alternative routing method, by taking into account the network topology changes in real time and evaluating the quality of the radio links in real time. In addition to the routing capabilities, MINT includes a set of features that were designed for ensuring an efficient functionality of the InfiNet Wireless units.
This document describes main features of the MINT protocol to ensure deep understanding and, as a result, correct and effective configuration of the MINT network.
Why MINT (Mesh Interconnection Network Technology)?
Initially, the InfiNet Wireless units were developed with IP routing capabilities only, but to solve a number of tasks it was necessary to develop a new solution. Those tasks were:
- Allow partial or whole traffic transfer via the switching function.
- Send data of non-routable protocols (like Local Area Transport Protocol, NetBios Extended User Interface, etc).
- Make the network configuration and operation easier.
In order to solve these tasks and to ensure a fast and optimized packet transfer between wireless units InfiNet Wireless developed a proprietary technology called MINT.
The MINT protocol includes radio and networking functionalities, on the diagram below we can see the MINT location among the InfiNet units functionalities and specify following features:
- Radio subsystem: bitrate control, power control.
- Frame processing: bursting, compression, encryption.
- Proprietary networking functionalities: topology management, link control, routing table.
- Medium access control technologies: Polling and TDMA.
MINT operates between L2 and L3 of the OSI reference model. It routes the frames to the destination hop-by- hop and knows the network topology like a classical L3 routing protocol, but the routing is based on the destination MAC address. MINT routing is an alternative to classical L3 routing protocols, being designed especially for wireless networks, where the radio link quality is changing all the time and needs to be taken into account. The routing module does not need to be enabled for ensuring the data transfer through the MINT network. It relies only on the switching module, which is by default activated.
The MINT network can be viewed by the external Ethernet network like one or several virtual Ethernet switches, each having many ports and switching packets from one port to another. However, the mechanisms inside MINT that ensure this behavior are more complex. Next chapter detaily describes main process of the MINT system.
MINT areas and interfaces
The radio and pseudo-radio interfaces of an InfiNet Wireless unit are called MINT interfaces. The pseudo-radio interface is a virtual radio interface created over an Ethernet interface.
MINT areas are bordered by the MINT interfaces of the InfiNet Wireless units in a network.
Two or many networks can be joined via the virtual pseudo-radio interfaces. Thus, it allows to connect the radio and Ethernet physical interfaces, and concatenate two MINT areas into a single MINT area. This way the traffic reservation and redistribution can be performed.
MINT process frames following way:
- Encapsulate the incoming Ethernet frames (received from an Ethernet interface) by adding a MINT header.
- Decapsulate the frames received from a MINT interface (rf or prf) by stripping the MINT header and restoring the Ethernet frame if the frame has reached the destination, otherwise, the frame is routed hop-by-hop towards the MINT destination.
The frame processing for incoming Ethernet frames can be summarized as follows:
- MINT encapsulates each Ethernet frame by adding its own L2 header. MINT also strips everything that it considers unnecessary from the Ethernet frame – PHS (Payload Header Suppression, through which all headers, including higher layers of the Ethernet frame, are compressed).
- MINT packs smaller frames to bigger superframes (Burst feature) and optionally performs encryption.
- If the Polling based software is used, the whole MINT frames go to the radio sublayer where they are encapsulated to standard 802.11 frames and sent out through a MINT interface.
- If the TDMA based software is used, the MINT frames are converted to time chunks with byte resolution. TDMA adds its own header and sends the data out through a MINT interface.
Automatic MINT nodes discovery
Adjacent neighbor connectivity is needed to create MINT powered link:
- For radio interfaces - MINT is enabled by default, only radio parameters should be configured.
The routing capabilities of MINT are similar to any L3 routing protocol capabilities: it collects data about the network topology, it has a MINT map containing all the neighbors and the routing table, checks periodically the link status and updates the routing table. The frames are routed hop-by-hop, based on the destination MAC address (the concept is similar to L3 hop-by-hop routing based on the destination IP address).
Each MINT node takes its own decision about how to reach the destination. MINT selects always the fastest path and re-selects a new path for the next data frame in case of any path characteristics change. The network path characteristics are described by the MINT cost parameter.
The MINT cost is especially designed to take into consideration the fluctuating radio conditions. Unlike to the OSPF cost which takes into account only a fixed bandwidth and the availability of the link, MINT will evaluate in real time the radio conditions of every link in order to accurately reflect through the cost value what is the quality of the link. The MINT cost is a function with the following parameters:
- Signal-to-Noise ratio (for connectivity over radio interfaces);
- Bitrate (for connectivity over radio interfaces);
- Percentage of retries;
- Link load and throughput;
- Some other parameters.
The routing table contains all the paths towards all MINT nodes and it is structured following way:
- All possible destinations in the MINT network identified by the unit serial number, MAC address of the interface and unit name (blue color in Figure 5). In this example each unit appears twice as each unit has both an rf and a prf interface, which are valid destinations in the MINT network.
- The gateway for reaching the destination identified by the interface MAC address, unit name and serial number (orange color). The gateway interface can be one of the local MINT interfaces or a directly connected MINT interface.
- The cost to reach the destination (green color) as a sum of the MINT costs hop-by-hop. All available paths are displayed, but MINT will always choose the fastest path to route the frames. The entries in the routing table are updated if any change in the link status appears.
- Number of hops to reach the destination (yellow color).
Link quality assessment
- Each MINT unit has an active full MINT map with all directly connected MINT neighbors and the path selection information (routing table).
- Each MINT node constantly checks the MINT cost with its neighbors (and updates the MINT map).
- Each check is performed every 1-3 s (depending on the node mode).
- The network path can unpredictably change depending on the link quality changes (cost drop).
- Fast new network path selection (MINT parameters can easily accommodate to the rapid changing conditions in the network).
MINT node modes
The time interval for the MINT cost exchanging with the neighboring nodes is adjusted accordingly to the MINT node role. For instance, in case of mobility scenarios, it is necessary to reduce the exchange time interval as the radio conditions change all the time while moving. This improves the reliability, but reduces also the bandwidth available for user data transfer, due to higher service trafic amount.
The three MINT node modes:
- Fixed - an network infrastructure node with a fixed location. Fixed MINT nodes exchange data every 3 s.
- Nomadic - the physical location of the node might be changed, but the data transfer occurs when the node is not moving (or moving very slowly). Nomadic MINT nodes exchange data every 1.5 s.
- Mobile - the node is likely to move and to exchange data while moving. Mobile MINT nodes exchange data at intervals less than 1 s.
MINT is a proprietary protocol, therefore the data transiting a MINT network needs to be mapped between MINT and Ethernet or any other protocols in order to properly send the information outside the MINT network.
A Switch Group is a special container that filters data according to specific rules and acts like the transition point between MINT and Ethernet, an ingress/egress point between Ethernet and MINT. Traffic can be switched only between at least two Ingress/Egress points. Although the main purpose of a Switch Group is to be a container for transporting VLANs, it is possible to use them to transport also other types of traffic using additional filters.
For two units to switch data between them they need to have the same switch group number configured. Also, a switch group is a broadcast domain. Before entering the MINT network, the packets are assigned to a specific switch group, that will not be changed by any other MINT node. Only packets arriving from the external network are filtered based on the rules in the switch groups.
Traffic can be differentiated according to the following criteria:
- IP Groups;
- MAC address groups;
- Traffic with the same values for QoS headers fields;
- Multicast traffic;
- A combination of all the above.
Switch Group structure
The Switch Groups have at least one logical interface that can be used as a management interface and two or more interfaces for data traffic. One InfiNet Wireless unit can have several Switch Groups (from 1 to 4095) - for example, different logical channels can be created for different traffic types.
The interfaces assigned to a Switch Group can be:
- Physical Ethernet interfaces (eth interface);
- Radio interface (rf5.0 interface);
- Switching management interface (svi interface);
- Auxiliary interface for VLAN handling (vlan interface);
- Pseudo Radio interface for MINT-over-Ethernet (prf interface);
- Aggregation interface (lag interface);
- Tunnel interfaces (tun, tap interface).
A switch group can include several interfaces and can switch frames between different interfaces depending on the network configuration.
- The MINT area can be viewed as a virtual Ethernet segment.
- A switch group can be viewed as a virtual switch. The external ports are the Ethernet ports included in the switch group (for all the units that have the switch group defined). Frames will be coming and exiting from one port to another, with the difference that broadcast is not flooded through all the ports as in the case of Ethernet.
The overall behavior of a switch group is similar to a virtual Ethernet switch as stated before, but the inside mechanism for the frame transfer is more complex: for each unit, the switching module is responsible for switching between the external ports and the MINT interfaces, but once the frames are in the MINT network, they will be encapsulated by the MINT header and routed from the source MINT node to the destination MINT node.
Broadcast transmission considerations
The broadcast frames originating from the external network (ARP, for example) are MINT encapsulated and sent only once to every MINT node that are part of the switch group that initially filtered the broadcast frame.
Every unit learns which other units have the same switch group configured through the “Switch Group Discovery Protocol” and this can be checked using “mint map swg” as below.
The copy of the external broadcast is sent using a proprietary multicast protocol, that distributes the copy once for each member of the same switch group.
The MINT nodes that receive the copy of the broadcast will switch it to the external network if the Ethernet port is included in the switch group, otherwise will drop it.
The broadcast and multicast generated internally by MINT are sent to every node, but the receiving node will not duplicate the frame in order to avoid creating broadcast storms or loops. The internal broadcast and multicast will never be switched to the external network, no matter what are the interfaces included in the switch group, the processing takes place only locally.
Unicast transmission considerations
When a data transfer is initiated between two devices directly connected to the InfiNet Wireless units, an ARP broadcast will be sent from the source device to the destination device in order to find out the destination MAC address. During such a process, the InfiNet Wireless units will learn the MAC addresses of the directly connected devices.
The MAC switch forwarding table of the InfiNet Wireless units contains all the MAC addresses, that are learnt at a specific moment. The MAC addresses are mapped to the Gateway MAC, which represents the MAC address of the MINT interface that initially routes the frame with the specific MAC address into the MINT network.
The MAC switch forwarding table content:
- The DST MAC represents the destination of the Ethernet frame and identifies the destination device;
- The Gateway MAC represents the destination in the MINT network and identifies the unit that is directly connected to the destination device.
The unicast frame transmission is based on the following steps:
- The traffic is filtered and assigned to a switch group.
- The unit checks the MAC switch forwarding table for the destination MAC of the Ethernet frame in order to determine the Gateway MAC (destination in MINT).
- The MINT routing table is checked for the Gateway MAC (MINT destination) and the frame is routed towards this destination choosing the path with the lowest cost (the switch group and the Gateway MAC are included in the MINT header of the frame while passing through the MINT network).
The traffic is first filtered and switched towards the MINT interfaces on the border between the external network and the MINT network. Afterwards, the MINT routing and encapsulation take place.
Loop free capability
MINT avoids internall loops by the nature of its operation:
- Broadcast frames are only forwarded by the receiving unit and only once to each MINT node in the same switch group with the one that initially filtered the broadcast in case of external generated broadcast and only once to every MINT node in case of internal generated broadcast or multicast.
- The units that receive a broadcast from the MINT network will either process it locally, drop it or switch it to the external network, but never resend it inside the MINT network.
Even if MINT will not create loops inside the MINT network, the external network can still cause loops if the switch group configuration is not taken into account.
The picture below illustrates a typical scenario that can cause loops. Several units are connected to the same switch as part of an Ethernet segment. The PRF over Ethernet interfaces are used to unify the MINT area in order to offer alternative paths (redundancy) between the MINT nodes.
If the Ethernet interface is included in the switch group for all the units connected to the switches, loops will be created as shown at the figure above:
- Loop between Unit 1 – Unit 2 – SW1, both clockwise and counterclockwise (red color in the picture). When SW1 receives a broadcast it will flood it to Unit 1 and Unit 2. Unit 1 will send a copy of the external broadcast to all other units in the MINT network, including Unit 2. Unit 2 receives the external broadcast from Unit 1 and switches it to the external network, back to the Switch. SW1 floods back the Unit 1 resulting in the clockwise loop.
- Loop between all the units and the external switches (orange color).
However, if the Ethernet interface is not included in the switch group on Unit 2 for example, the behavior changes:
- Only Unit 1 receives the broadcast from SW1, sends a copy of the external broadcast to all the nodes including Unit 2 as they are all in the same switch group. Unit 2 will drop both the external broadcast from SW1 and the MINT copy from Unit 1 since it does not communicate with the external network (Ethernet is not included in the switch group).
In order to avoid loops caused by the external network, one of the following methods can be applied:
- If N units are connected to the same switch, add the Ethernet interface to the switch groups only for one of the units. This way, only one Ethernet interface will communicate with the external network, the other Ethernet interfaces will use the PRF protocol to communicate with the adjacent unit and will not participate in the L2 switching process;
MINT offers an additional feature for avoiding loops. STP has a specific design for the InfiNet units, by blocking switch groups instead of physical ports like in the classical implementation. The advantage of this solution over removing the Ethernet ports from the switch group is that all units connected to the Ethernet switch are allowed to communicate with the external network, avoiding single points of failure.
There are risks in implementing this solution and InfiNet Wireless should be contacted for the practical aspect considerations.
MINT protocol enables sending and execution of any CLI command from the local unit to the remote unit in the MINT network, even if control over the remote unit was lost.
By design, the MINT protocol deals with sending data frames via multiple network paths and this capability allows the implementation of redundancy configurations using multiple parallel connections between one endpoint and another.
For more information about redundancy configuration see the Link aggregation, balancing and redundancy document.