分析交换机的背板带宽标准计算方法

http://www.51cto.com 2006-05-26 10:35 出处:vlan9
 
<script language="javascript" src="分析交换机的背板带宽标准计算方法_51CTO_COM--中国最大的网络技术网站.files/ajax_art_2.js" type="text/javascript"></script>
 
 
【导读】背板带宽,是交换机接口处理器或接口卡和数据总线间所能吞吐的最大数据量。一台交换机的背板带宽越高,所能处理数据的能力就越强,但同时设计成本也会上去。

 

背板带宽,是交换机接口处理器或接口卡和数据总线间所能吞吐的最大数据量。一台交换机的背板带宽越高,所能处理数据的能力就越强,但同时设计成本也会上去。

但是,我们如何去考察一个交换机的背板带宽是否够用呢?显然,通过估算的方法是没有用的,我认为应该从两个方面来考虑:

1、所有端口容量X端口数量之和的2倍应该小于背板带宽,可实现全双工无阻塞交换,证明交换机具有发挥最大数据交换性能的条件。 

2、满配置吞吐量(Mpps)=满配置GE端口数×1.488Mpps其中1个千兆端口在包长为64字节时的理论吞吐量为1.488Mpps。例如,一台最多可以提供64个千兆端口的交换机,其满配置吞吐量应达到 64×1.488Mpps = 95.2Mpps,才能够确保在所有端口均线速工作时,提供无阻塞的包交换。如果一台交换机最多能够提供176个千兆端口,而宣称的吞吐量为不到261.8Mpps(176 x 1.488Mpps = 261.8),那么用户有理由认为该交换机采用的是有阻塞的结构设计。 

一般是两者都满足的交换机才是合格的交换机。 

背板相对大,吞吐量相对小的交换机,除了保留了升级扩展的能力外就是软件,专用芯片电路设计有问题;背板相对小,吞吐量相对大的交换机,整体性能比较高。不过背板带宽是可以相信厂家的宣传的,可吞吐量是无法相信厂家的宣传的,因为后者是个设计值,测试很困难,并且意义不是很大。

交换机的背版速率一般是:Mbps,指的是第二层, 对于三层以上的交换才采用Mpps

 
### 如何计算交换机背板带宽 为了理解如何计算交换机背板带宽,需先明确几个概念: - **背板带宽**是指交换机内部用于传输数据的最大理论带宽,单位通常为Gbps。这代表了设备能够支持的最大并发流量。 - 对于全双工模式下的端口而言,由于可以同时发送和接收数据,因此每个端口的实际可用带宽为其标称速率的两倍。 具体的计算方法如下所示[^2]: 假设有一台具有多个不同速度等级端口的交换机,则该设备总的背板带宽可以通过下面这个公式来估算: \[ \text{总带宽} = (\sum_{i=1}^{n}\text{端口}_i\cdot\text{速率}_i)\times2 \] 其中\( n \)表示端口总数;而\(\text{端口}_i\) 和 \(\text{速率}_i\)分别对应第 \( i \) 个物理接口的数量及其对应的连接速率(注意这里要转换成相同的度量单位比如都是Mbps 或者 Gbps),最后乘以2是因为考虑到了全双工操作特性。 举个例子来说,如果某型号拥有28个千兆位(GbE)RJ45端口以及额外配备有四个万兆(TenGbE)光纤SFP+插槽再加上两个四十吉比特(40GbE)QSFP+模块的话, 那么按照上述原则得出的结果将是: \[ (28\times1Gbps)+(4\times10Gbps)+(2\times40Gbps)=296Gbps \] 再考虑到双向通信的情况,最终得到的理论最大值即所谓的“标称背板带宽”就应该是296Gbps * 2 = 592Gbps[^4]。 值得注意的是,在实际应用环境中,制造商给出的产品规格表里所标注出来的数值往往已经包含了这一因素并进行了适当优化调整,也就是说它们会直接告诉用户产品能达到多少Gbps级别的性能指标而不是让用户自行去算这些参数。不过掌握这样的基础知识仍然有助于更好地理解和评估网络硬件的选择依据。 #### 示例代码展示 ```python def calculate_backplane_bandwidth(port_speeds, port_counts): """ Calculate the backplane bandwidth of a switch. Args: port_speeds (list): List containing speeds for each type of ports in Gbps. port_counts (list): Corresponding list with count of those types. Returns: float: Total theoretical maximum internal data transfer capacity in Gbps. """ total_bandwidth = sum([speed * count for speed, count in zip(port_speeds, port_counts)]) * 2 return round(total_bandwidth) # Example usage based on H3C LS-5560X-34S-EI specifications mentioned earlier port_speeds_example = [1, 10, 40] # Gigabit Ethernet, Ten-Gigabit Ethernet, Forty-Gigabit Ethernet respectively port_counts_example = [28, 4, 2] print(f"The calculated backplane bandwidth is {calculate_backplane_bandwidth(port_speeds_example, port_counts_example)} Gbps.") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值