自从有了客户机二层游戏更新和虚拟盘之后,网络上就一直有人认为外接的网卡一定比板载的网卡好,比板载的网卡快,更有人认为intel网卡肯定要比realtek的快,其实这一切都存在着一个误区,以前在博客上写过几篇与主板硬件带宽的文章,但是篇幅过于长了,可能很多同学也没弄明白到底是咋回事,今天刚好有时间,就再来分享下关于“网卡”那点事。
因为写本文的目的非常单纯,就是希望大家能走出外接网卡就比板载网卡好,板载网卡就应该非常快的误区,实际上网卡好坏与板载和外接都没直接关系,而是和网卡的“标准”有关系,这里提几个名词,估计你就明白我所谓的标准是什么了!
PCI:关于PCI(外设互联标准)总线带宽:http://baike.baidu.com/view/18562.htm
PCI-X:关于PCI-X总线带宽:http://baike.baidu.com/view/351168.htm
PCI-E:关于PCI-E接口带宽:http://baike.baidu.com/view/7901.htm

千万不要小瞧这几个标准,因为这几个标准里面藏有很大的学问,因此想继续看懂下面的东西,建议先把百度百科里的内容简单了解一下。
那么,这几个标准代表了什么?答案很简单,代表的就是硬件接口标准的发展,也就是接口总线速度的递增,当然我不是来讲硬件发展史的,这3个标准代表的秘密如下:
首先简单的了解一个公式:峰值带宽=频率*位宽。
PCI标准的网卡:PCI总线的时钟频率为33MHz,位宽是32bit,,那么它的峰值带宽(速度)=33MHz*32bit=133MB/S。看到这里有人会想,PCI的速度有133MB/S,速度已经够用了,实际不然,因为PCI总线是共享的,键盘鼠标接口,USB接口,甚至一些老主板的声卡都是走的PCI总线,因此实际上网卡可用带宽并不是很高的,根据经验值他可用的大概就是40MB/S左右,所以很多人说服务器和客户机速度测试,速度咋只有40MB/S左右,别人都有60MB/S以上的原因。
说到这里不得不提一下外接网卡了,如果外接网卡是插在PCI接口上的,那么无论他是啥标准的网卡,速率都只有PCI的速度,也就是40MB/S左右,例如外接的8169,外接的Intel1000Mbps的网卡等。
PCI接口长什么样?下图中,红色圈里的就是PCI接口。过去一般ROS软路由之类的网卡,都是接在PCI接口上的,而PCI接口的样子一般都是白色,接口长度较短,接口插槽上只有一个防反插的卡头。

1

PCI-X标准的网卡:其实发展到PCI-X标准时,就已经几个标准了,例举如下:
PCI-X 66 64位 66MHz 533MB/s
PCI-X 133 64位 133MHz 1.06GB/s
PCI-X 266 64位/16位选项 133MHz 2.13GB/s
PCI-X 533 64/16位选项 133MHz 4.26GB
因此,PCI-X标准的网卡,如果是133或者266标准的网卡,那么基本就够用了,不过目前看来,板载的PCI-X标准网卡都是最慢的那种,也就是66MHz,64bit的版本,因为PCI-X的标准也蛮多,并不太好说这种PCI-X接口的网卡能跑到多少速度,因为版本不同,速度也就不同。那么PCI-X接口长什么样呢?下图中画红圈的就是了,他和PCI-E的接口有点类似,不过要比PCI-E稍微长点,最明显的特征是,他的插槽中有2个防反插卡头。

2

PCI-E标准的网卡:说到PCI-E就离我们比较近了,一般提到PCI-E时,大家一般会联想到PCI Express x1或PCI Express x16,那么这就是2个主流的标准,x1的属于1.0标准,多用于网卡,x16的属于2.0标准,多用于显卡,现在主流的PCI-E显卡都是2.0标准的。他的速度为:
PCI-X 1x 8bit 2.5Ghz 512MiB/s(支持双工,双工状态下为1Gib/s)
PCI-X 16x 8bit 2.5Ghz 8GiB/s(支持双工,双工状态下为16Gib/s)
而实际上我们平时看到的客户机板载网卡基本都是PCI-X 1x版本的,而一般速度测试都能在60MB/S以上,甚至有的达到70MB/S。当然这里大家并不用去十分认真的较真,说我的速度没那么快,因为这只是个标准,标准在实现中可能会因为做工或其他硬件的损耗,而实际到不了理论带宽,所以这里大家完全可以作为一个参照,比如你有一天用了PCI-X的网卡,速度最快跑到多少,用了PCI-E的网卡速度又有多少……
PCI-E接口的样子。


说了这么多不太容易懂的东西,那看些实际例子好了。我网吧的几台服务器,在看服务器之前,介绍个工具给大家,Everest ultimate,这是一个硬件检测工具,不过我一般用来查看硬件的配置信息,蛮好用的,下文演示中的Everest版本(5.5正式版),不过这个软件已经更名为AIDA了,所以大家直接下载AIDA好了,功能一样。

  AIDA64 Extreme Edition (硬件检测) 绿色特别版.rar (10.1 MB, 110 次)

第一台:无盘的服务器之一“Intel Snow Hill S3210SH”的网卡,这个主板集成了2个网卡,一个是82566,一个是PRO1000MT。

4

 

网卡信息:82566网卡,PCI标准的。如果你在用这个主板,而且用的是这个网卡,速度慢是正常的。

5

 

网卡信息:PRO1000MT网卡,PCI-X标准的,66mhz的,这个速度要比82566要快,不过还是没PCI-E快。

6

 

第二台,无盘服务器之二,“GA-P55-US3L”的网卡

7

 

网卡信息:就是普通的板载8168D网卡,PCI-E2.0标准……,谁说PC班子速度慢……起码要比一些老的服务器班子要快……

8

 

第三台,游戏虚拟盘服务器,“Intel Aspen Hill S3000AH”的网卡,这个主板集成了2个网卡,这个主板集成了一个PRO1000MT和一个PRO1000PM。

9

 

网卡信息:MT的网卡看过了,看看PM的网卡信息吧,是PCI-E1.0的。

10

 

那么结合上面的内容,你是否能将这些网卡从快到慢进行排列?
我的排列是:Realtek8168D > PRO1000 PM > PRO1000 MT > 82566 DM。【回复可见】
而得出的结论就是,用例子中的服务器主板,还不如用普通PC主板,而这也是为什么我的网吧,无盘服务器都选择了普通PC主板(客户机)的一个原因,因为回写盘我可以用SATA接口的迅猛龙万转硬盘6家网吧12个服务器,从锐起用到顺网无盘,一共2年左右,加一起坏过2块回写盘,主板没坏过一块……
所以这里再次提醒大家,测速慢,游戏慢的原因有很多,而这可能是一个非常重要的原因,希望可以给有疑惑的同学解惑,同时关注真正值得关注的!

另外两篇比较有用的文章推荐:
硬件接口的时钟频率与传输速度的关系——峰值带宽 - 死性不改's Blog~
http://www.clxp.net.cn/article.asp?id=1996
关于显卡的一些参数说明,告诉你如何分辨哪个好一点,哪个烂一点。 - 死性不改's Blog~
http://www.clxp.net.cn/article.asp?id=2109