BES Network Traffic Guide
BES is designed to be a real time (seconds and minutes) system capable of workng in extremely limited bandwidth environments. When everything is set up and configured properly, BES can effectively and quickly deploy files that are hundreds of MBs large to tens of thousands of computers without significantly affecting general network performance. However, because of the speed and prevalence of BES in the network, it is very important that network engineers understand the different types of traffic that BES can generate.
The following information describes the different types of network traffic and explains the purpose of the traffic as well as information about how to handle "Possible Worst Case Traffic". (NOTE: The "possible worst case traffic" are definitely not expected; however, in the interest of preparing for the worst case scenario, example situations are given as well mechanisms to recover from the situation). This information is intended to educate network engineers and provide the basis of a disaster recovery procedure related to BES.
Please refer to the following diagram in the network discussions below:
A
| Network Traffic: | Gather / Post / Download |
| Purpose: | The BES Client will contact its BES Relay (or BES Server) for several reasons including: gathering the latest information about actions and Fixlet messages, sending results about the computer properties or status of actions/Fixlets, and downloading files (such as patches). |
| Port: | 52311 (configurable by the BES Administrator at install time) |
| Protocol: | HTTP (TCP/IP) |
| Origination: | The BES Client initiates the request to the BES Relay (or BES Server). |
| Expected Traffic Frequency: |
Note:If BES is properly configured, the traffic described is between the BES Client and the BES Relay (which is usually a high bandwidth connection) and the information between the BES Relay and the BES Server (sometimes a slow bandwidth connection) is minimal (gather/download information only sent once and posts are compressed and forwarded to the BES Server). |
| Expected Traffic Volume: |
Note:This traffic varies heavily depending on usage. A very active deployment (BES Console operators sending lots of actions) might see numbers that are 10x the numbers above. |
| Possible Worst Case Traffic: | In a properly configured BES deployments, the BES Relays always have a high-bandwidth connection to the BES Relays to minimize network traffic on the slow network connections. The worst case scenario is if the BES Relays are improperly configured or the if the BES Clients or BES Relays fail in some form while a large download is being pushed. For instance, if all the BES Relays simultaneously failed while Windows XP SP2 (250 MB) action is sent, the BES Clients will all begin to download the file from the BES Server. In such a scenario, all the slow network connections between the BES Clients and BES Server will be flooded with HTTP traffic on port 52311. This situation can be recovered from by stopping the action immediately in the BES Console (depending on how busy the network is, this could take 2 mins - 2 hours), blocking TCP on port 52311 at the network routers, or by shutting down the BES Server/BES Relays (this can be done through BES, thus eliminating the source of the download servers). |
| Network Controls: | BES provides the following controls in the product for this type of traffic:
|
| Other Notes: | One of the major focuses of deploying BES is to get the BES Relays in locations that are near the BES Clients so that WAN traffic is minimized and the vast majority of the network traffic is between the BES Clients and the BES Relays on a fast LAN connection. BES offers a number of reports to see the status of the BES Clients and which BES Relays they are pointing to and it is the job of the BES Administrators to make sure the BES Relay and BES Clients are properly configured. |
B
| Network Traffic: | UDP "new information" message |
| Purpose: | When there is new information available such as new Fixlet messages or new actions, a UDP message is sent to the BES Clients' last known IP addresses to tell them to gather the lastest data from the BES Server. |
| Port: | 52311 (configurable by the BES Administrator at install time) |
| Protocol: | UDP |
| Origination: | The UDP messages are sent from the BES Clients' immediate "parent", which can be either a BES Relay or the BES Server. |
| Expected Traffic Volume: | Low - The UDP messages are sent from the BES Relay to the BES Client every time a new action is sent or a new Fixlet message is gathered. The BES Relay will send 3 UDP messages to each BES Client (to help ensure delivery). Each UDP message is about 60 bytes. |
| Expected Traffic Frequency: | In an idle deployment (no actions being sent) there will be virtually no UDP traffic. In a very active deployment where many actions are sent, there will be 3 UDP messages sent per action per BES Client (as a reference point, sending 100 actions over the course of a day is considered very high BES usage). Note that if the BES Relays "nearby" the BES Clients, the UDP traffic will be sent on the LAN and the WAN will have very little UDP traffic. |
| Possible Worst Case Traffic: | The worst case scenario for this type of traffic is for the BES Relays to fail and send much more traffic than they are supposed. In such a scenario, the
BES Relays would be repeatedly sending UDP messages to each of the BES Clients. There is a control built in for the BES Relays never to send more than 500
UDP messages per second (configurable), but if there were many BES Relays or many BES Clients, this UDP traffic could potentially cause lots of network traffic or router
usage. In such a situation, you would see massive amounts of UDP traffic on port 52311 from the BES Relays.
To recover from this situation, UDP traffic on port 52311 could be blocked at the routers or you could shut off the BES Relays (can be done through BES). |
| Network Controls: | BES provides the following controls in the product for this type of traffic:
|
| Other Notes: | It is not strictly necessary for BES to use UDP traffic for the system to work properly, but the UDP messages allow the BES Clients to be notified of new information as opposed to repeated polling by the BES Clients. Thus, the UDP messages can help reduce overall network usage and increase response time. |
C
| Network Traffic: | BES Relay Selection |
| Purpose: | In a well configured BES network, each BES Client is configured to communicate with a local BES Relay; however, manually selecting the BES Relay for each BES Client can take a lot of time and is error prone. To solve this problem, the BES Clients can be configured to find their closest BES Relay based on the number of network hops. To find their closest BES Relay, the BES Client use the ICMP protocol (similiar to tracert). |
| Port: | N/A (the ICMP protocol doesn't use a port) |
| Protocol: | ICMP |
| Origination: | Each BES Client will send progressive "rounds" of ICMP packets to each BES Relay with increasing TTLs until a BES Relay responds. For example, in a network of 2 BES Relays, one 1 hop away and one 2 hops away, the BES Client will send a ICMP message to both with TTL 1 and will receive 2 "time exceeded" messages from the local router. The BES Client will then send an ICMP message to both BES Relays with TTL 2 and will receive one "time exceeded" message and one reply message. BES Client will then choose the BES Relay that is one hop away. |
| Expected Traffic Volume: | Low - The volume of the ICMP traffic is directly porportional to the number of BES Clients, number of BES Relays, and number of hops to each BES Relay. For example, in the example above with a BES Client and 2 BES Relays, the number of pings is 1 BES Client * 2 BES Relays * 2 hops to closest BES Relay = 4 ICMP pings. Each ICMP packet and the response is about 50-60 bytes. Note that if BES Relays are close to the BES Clients, the total network traffic is reduced considerably than if the BES Relays are far away from the BES Clients. |
| Expected Traffic Frequency: | By default, the BES Clients attempt to find a better BES Relay once every 6 hours (configurable) or every time the BES Client is started. |
| Possible Worst Case Traffic: | The worst case scenario for this type of traffic is for a large number of BES Clients to have a large number of BES Relays that are very far away or for the BES Client to fail in some way that makes them repeatedly send ICMP packets. In such a scenario, there would be high amounts of ICMP packets being sent very quickly from the BES Clients to each of the BES Relays. To recover from this situation, you can block ICMP at the routers or turn off BES Client autoselection (can be done through BES in anywhere from 2 min to 2 hours depending on how busy the network is). |
| Network Controls: | BES provides the following controls in the product for this type of traffic:
|
| Other Notes: | The BES Client autoselection can be a huge savings of time and effort because it allows the network to change (new BES Relays added, BES Relays removed, routers go up or down, etc.) and the BES Clients will automatically change with the newtork. However, if necessary, manual BES Relay selection can be used too. |
D
| Network Traffic: | BES Console traffic |
| Purpose: | To administer BES, the BES Console operators will connect to the database on the BES Server computer. |
| Port: |
|
| Protocol: |
|
| Origination: | The BES Console will connect to the database on the BES Server. |
| Expected Traffic Volume: | High - There is a lot of information (computer properties, vulnerabilities, etc.) sent between the BES Console and the database. The amount of traffic is usually measured in MB per minute, but can vary considerably depending on the size of the deployment. Note: there are usually very few BES Consoles active and they are usually on a high-speed connection. |
| Expected Traffic Frequency: | Whenever a BES Console operator is administering BES, the database will repeatedly be polled for new data. |
| Possible Worst Case Traffic: | It would be unlikely that this type of traffic would cause a "catastrophic" situation because unlike the situations involving the BES Clients, there are very few BES Consoles. If a BES Console user connected to the BES Server and repeatedly hit "F5" to refresh the data, there would be a lot of traffic between the BES Server and BES Console. |
| Network Controls: | BES provides the following controls in the product for this type of traffic:
|
| Other Notes: | If the connection is slow between the BES Console and the BES Server, it is not easy to administer BES so usually the BES Console has a high-speed connection to the BES Server. |
E
| Network Traffic: | BES Server gets new data from external Fixlet servers and download files from various download servers (such as Microsoft) |
| Purpose: | The BES Server will periodically check to see if any new Fixlet messages are available from the Fixlet server on the public Internet. Also, when a file needs to be downloaded, the BES Server will download and cache the file from a download server (for instance, all Microsoft patches are downloaded from Microsoft's download servers) |
| Port: | 80 |
| Protocol: | HTTP (TCP/IP) (sometimes FTP for downloads) |
| Origination: | The BES Server will connect to the BigFix Fixlet servers or download servers on the public Internet. |
| Expected Traffic Volume: | Low - The initial gather of all Fixlet sites will likely be less than 500 KB. Subsequent updates will usually be less than 1-2 KB of traffic. Downloads, however, can be quite large, but since the files are cached, they will only be downloaded one time. |
| Expected Traffic Frequency: | The BES Server will check for new Fixlets once every hour by default. Files will be downloaded whenever a BES Console operator sends an action that requires a non-cached patch. |
| Possible Worst Case Traffic: | It would be unlikely that this type of traffic would cause a "catastrophic" situation because unlike the situations involving the BES Clients, there is only one BES Server. If the BES Server was sent many many actions or somehow malfunctioned, it might download lots of files from the Internet, but it seems unlikely that this would cause a problem. |
| Network Controls: | BES provides the following controls in the product for this type of traffic: There is a configurable interval that the BES Server will check for new Fixlet messages. |
| Other Notes: | The BES Server is the only component in a default BES installation that contacts the Internet directly. |
More information about BES Relays can be found here and more general documentation about BES can be found here.
©2008 BigFix