network bandwidth
network_bandwidthPlan and validate network link capacity for homelab workloads. Determine whether a 1G, 2.5G, 10G, or faster link can handle your concurrent streams (VMs, backups, media, iSCSI). Calculates effective bandwidth after TCP/IP overhead, total required bandwidth, utilization percentage, and remaining headroom. Flags saturation at 80% utilization and identifies whether the bottleneck is network or storage. Provides a 1TB transfer time reference and recommends the next link speed upgrade if your current link is saturated. Useful for planning NIC upgrades, switch purchases, and storage network design.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| link_speed_gbps | Yes | Network link speed in gigabits per second (e.g. 1, 2.5, 5, 10, 25, 40, 100) | |
| concurrent_streams | No | Number of concurrent data streams / transfers | |
| protocol_overhead_pct | No | TCP/IP protocol overhead as a percentage (typically 3-5% for TCP, ~1% for UDP) | |
| stream_bandwidth_mbps | No | Bandwidth required per stream in megabits per second | |
| storage_throughput_mbps | No | Maximum storage read/write throughput in megabits per second. If provided, checks whether storage is the bottleneck |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| saturated | Yes | True if utilization exceeds 80% — link is effectively saturated | |
| bottleneck | Yes | Identified bottleneck: 'storage', 'network', or 'none' | |
| headroom_mbps | Yes | Remaining bandwidth after all streams (negative means oversubscribed) | |
| utilization_pct | Yes | Percentage of effective bandwidth used by all streams | |
| required_bandwidth_mbps | Yes | Total bandwidth required by all streams in Mbps | |
| effective_bandwidth_mbps | Yes | Usable bandwidth after protocol overhead in Mbps | |
| time_to_transfer_1tb_hours | Yes | Time to transfer 1 TB over the effective bandwidth, in hours | |
| recommended_link_speed_gbps | Yes | Suggested next link speed upgrade if saturated, null if current link is sufficient |