How Appliance Discovery Works
For the most part, acceleration requires two appliances: one to accelerate (such as compressing, or deduplicating data) and one to decelerate (such as recomposing the traffic from the compressed deduplicated traffic). Therefore each appliance must know of the other appliances with which it can accelerate. To find other appliances, the appliances have an auto-discovery process. It is used for two purposes:
- The discovery of which connections can be accelerated.
- The discovery of new Exinda appliances on the network.
Appliances that can participate in accelerated communications are discovered by detecting extra information in the flowthe network traffic between network objects that is required during acceleration of a flow. The appliance adds the following information to the TCPTransmission Control Protocol option of SYN, SYN-ACK, and the first ACK packets of each new connection:
- Source Appliance ID
- Destination Appliance ID
- Acceleration Module Map
Optionally an IPInternet protocol address corresponding to one of the appliances can be sent. In addition to this, each appliance must keep a list of the host IP/appliance ID pairs, which indicates which Exinda appliance terminates the acceleration for conversations with a given host IP.
Discovery Process
The connection discovery process is as follows:
- When an appliance receives a packet SYN from a client:
- It adds the client IP to its local list. E.g., adding 192.168.0.10 to the Ex1 local list.
- It adds the auto-discovery option to the packet, filling out the source details. E.g., adding Ex1 as the source of the SYN when leaving Ex1.
- If the server exists in the appliance remote list, then the destination field is filled out with the appliance details, otherwise the destination is left blank.
- When an appliance receives a SYN packet containing the auto-discovery option:
- It records the client IP address and source appliance ID to its remote list. E.g., adding 192.168.0.10, Ex1 to the local lists of Ex2 and Ex3.
- It fills out the destination details and forwards the packet on. E.g., adding Ex2 as the destination of the SYN when leaving Ex2 and replacing the destination of the SYN with Ex3 when leaving Ex3.
- When an appliance receives a SYN-ACK from the server without any auto-discovery option:
- It adds the server IP to its local list. E.g. adding 192.168.9.10 to the local list of Ex3.
- It adds an auto-discovery option with both the source and destination details filled out. E.g., adding Ex3 as the source and Ex1 as the destination in the SYN-ACK.
- When an appliance receives the SYN-ACK containing the auto-discovery option, It adds the server IP address and source appliance ID to the remote list. For example, adding 192.168.9.10, Ex3 to the remote list of both Ex1 and Ex2.
- After the SYN-ACK has passed through, both end appliances know which client or server that they are accelerating for and which other appliance they are accelerating with.
- When an appliance receives a packet destined for a server, if it finds the source IP address of the packet in its local list and the destination IP address is in its remote list, then it performs acceleration techniques on the packet.
- When an appliance receives a packet that has been accelerated:
- If it finds that the destination does not refer to itself, then it will ignore all further packets that are part of that connection.
- If it finds that the destination refer to itself, then it will end the acceleration and forward the un-accelerated packets to the server.
Exinda Community
A group of Exinda appliances in a network is referred to as a community. Exinda appliances that are part of the same community can accelerate to and from each other. The community is generally those Exinda appliances that were automatically discovered.
NOTE
If an appliance is not automatically discovered, you can manually add the Exinda appliance to the community. To learn how to manually add an appliance to the community, read Configure Exinda Appliance Community.
When an appliance receives an auto-discovery option from a source that the Exinda community does not know about, it can notify the community which will establish a connection to that appliance, and add it to the community.
- The appliances may have established communities already.
- One appliance may not yet belong to the community.
- Other appliances may belong to the same community.
- When an appliance receives an auto-discovery option from a source the Exinda community does not know about,
- It establishes a connection to that appliance and adds it to the community.
- It notifies other members of the community.
This may also cause two existing communities to join together.
The Auto Discovery process is very lightweight - it adds negligible latency or delay to packets as they pass through the Exinda appliance.