Service provider takeaway: By calculating bandwidth when designing a network for customers, network service providers can ensure that the network can handle the workload
users are putting on it. Determining how many bits per second travel across the network and the amount of bandwidth each application uses are key calculations that are vital to building and maintaining a fast, functional network.
As most network administrators can attest, network bandwidth is one of the more important factors in the design and maintenance of a functional LAN or WAN. Unlike a server, which can be configured and reconfigured throughout the life of the network, bandwidth is one of those elements of network design that is usually optimized best by configuring the network correctly from the outset. As a service provider, how can you determine the bandwidth your customer needs when designing the network? What specific considerations apply and how can you put yourself in the best position to help your clients? These are some of the questions that we'll answer in this tip.
Bandwidth refers to the data rate that is supported by the network connection or the interfaces that connect to the network. It is usually expressed in terms of bytes per second (bps). Network bandwidth represents the capacity of the network connection, though it's important to understand the distinction between theoretical throughput and real-world results. For example, a 1000BASE-T (which uses unshielded twisted-pair cables) Gigabit Ethernet (GbE) network can theoretically support 1,000 megabits per second (Mbit/s), but this level can never really be achieved in practice because of hardware and systems software overhead. It is this very point that makes calculating bandwidth a challenge.
So how do you determine how much bandwidth your customer needs? The process begins with asking the right questions -- What applications are they running, and what is the performance service-level agreement (SLA) for these applications? I know some network managers that are only concerned with how many users are on a VLAN. What you really need to know is what the users will be doing on the network. It's possible that 200 users will cause less of a bottleneck than a group of three users that really beat the heck out of the network because of some funky client server application.
Calculating network bandwidth
There are two basic steps to calculating bandwidth:
- Determine the amount of available network bandwidth.
- Determine the average utilization required by the specific application.
Both of these figures should be in bps. If the client's network is GbE that would give you 125,000,000 bytes per second. This is computed by taking the 1000 Mbps (for a Gigabit network); which is 1000 million (or one billion) bits per second and dividing it by 8, to come up with the bytes.
After ascertaining the client's network bandwidth, you'll have to determine how much bandwidth each application is using. Use a network analyzer to detect the amount of bytes per second that the application sends across the network. To do this, you'll need to enable the Cumulative Bytes column of your network analyzer. After you have enabled this, then you have to:
- Capture traffic to and from a test workstation running the application.
- In your decode summary window, mark the packets at the beginning of the file transfer.
- Follow the timestamp down to one second later and then look at the cumulative byte field.
If you determine that your application is transferring data at 200,000 bytes per second, then you have the information to perform the calculation: 125,000,000 / 200,000 = 625. In this case, the network will be fine even if there are several hundred concurrent users. Look what would happen, though, if you had a 100 mbps network. You would then have a network that could not support more than approximately 60 users running the application concurrently. Bandwidth is indeed very important!
I like to capture data in 10-second spurts and then do the division. I also like to check multiple workstations to make sure that the number is reflective of the general population. You will also have to determine how many concurrent users you will have. Obviously there will be a bandwidth difference between two concurrent users and 20.
About the author
Ken Milberg is the founder of Unix-Linux Solutions. He is also a board member of Unigroup of NY, the oldest Unix users group in NYC. Ken regularly answers user questions on Unix and Linux interoperability issues as a site expert on SearchOpenSource.com. As a frequent contributor to SearchNetworkingChannel.com, Ken often addresses networking channel issues.
This was first published in March 2008