石建 | Fat Mind

带宽YY

主要参考:构建高性能web站点


一、网卡

网卡使用一个特定的物理层数据链路层标准,例如以太网来实现通讯所需要的电路系统。这为一个完整的网络协议栈提供了基础,使得在同一局域网中的小型计算机组以及通过路由协议连接的广域网,例如IP,都能够进行通讯。

1.       作用:

a)         唯一的mac地址,定位机器(局域网/以太网mac寻址)

b)        数据接收和发送。拥有物理缓存区。

                         i.              接收:接收物理层数据,通过DMA方式访问内存。

                       ii.              发送:接收上层数据,分解为适当大小的数据包发送。

转载:

数据的封装与解封:发送时将上一层交下来的数据加上首部和尾部,成为以太网的帧。接收时将以太网的帧剥去首部和尾部,然后送交上一层。
链路管理:主要是CSMA/CDCarrier Sense Multiple Access with Collision Detection ,带冲突检测的载波监听多路访问)协议的实现。
编码与译码:即曼彻斯特编码与译码。

2. 协议

以太网Ethernet)是一种计算机局域网组网技术。

ARP协议Address Resolution Protocol),或称地址解析协议ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址。

http://zh.wikipedia.org/zh/%E5%9C%B0%E5%9D%80%E8%A7%A3%E6%9E%90%E5%8D%8F%E8%AE%AE

3. 传输速率

网卡速率是指网卡每秒钟接收或发送数据的能力,单位是Mbps(兆位/秒)由于存在多种规范的以太网,所以网卡也存在多种传输速率,以适应它所兼容的以太网。目前网卡在标准以太网中速度为10Mbps,在快速以太网中速度为100Mbps,在千兆以太网中速度为1000Mbps等。

主流的网卡主要有10Mbps网卡、100Mbps以太网卡、10Mbps/100Mbps自适应网卡、1000Mbps千兆以太网卡以及最新出现的万兆网卡五种。对于一般家庭用户选购10M或者10Mbps/100Mbps自适应网卡即可,对于企业用户建议购买100Mbps以太网卡或者1000Mbps千兆以太网卡或者万兆网卡。

以太网卡和交换设备都支持多速率,设备之间通过自动协商设置最佳的连接速度和双工方式。如果协商失败,多速率设备就会探测另一方使用的速率但是默认为半双工方式。10/100以太网端口支持10BASE-T100BASE-TX

2.       特点

a)         全双工

b)        传输速率

c)        总线类型:PCI总线架构日益成为网卡的首选总线

d)        MAC地址

二、数据如何发送

1.       将数据写入用户进程的内存地址空间,其实实际的开发过程只需对运行时变量赋值即可

2.       应用程度调用系统函数,将数据从用户态内存区复制到由内核维护的一段称为内核缓冲区的内存地址空间。

a)         内核缓存区大小有限,要发送的数据以队列的形式进入

b)        每次复制一定的数据大小,这个大小取决于网络数据包的大小以及内核缓存区的承载能力

3.       当数据写入内核缓存区,内核会通知网卡控制器来读取数据,cpu转而处理其它任务

a)         网卡将发送的数据从内核缓存区复制到网卡缓存区

b)        数据的复制始终按照内部总线的宽度复制(如32位总线,每次复制32bit信息)

4.       网卡发送数据到物理线路

a)         需要对数据进行字节到位的转换(即将数据按照位的顺序发出)

b)        网卡内部使用特定的物理装置,来生成可以传播的各种信息,如铜线,网卡会根据位信息“0/1的变化产生不同的电信号;光线,网卡会生成光信号。

三、电磁波速度

       不管是电信号,还是光信号,进入物理介质后,其传输速度仅依赖其传播介质,铜线中电信号的传输速度大约2.3*108m/s,光纤中光信号的传播速度大约是2.0*108m/s。光在真空中的传播速度是3.0*108m/s,为什么光纤中的传播速度要慢呢 ?因为光在光纤中的传播利用全反射原理,所以传播距离要大于光纤长度。

       由此看见,不同的传播介质中信号的传播速度几乎是常量。也就是说,不论数据发送装置以多快的发送速度让数据以信号的形式进入路线,在线路中信号的传播速度几乎可以认为是一样快的。

       光纤与铜线相比?光纤采用全反射原理,因此光信号衰减底,因此传播距离远。

四、带宽概念

       从上面分析来看,数据的传输包括:发送端发送数据进入线路 + 线路传输,线路传输的速度在各种传输介质几乎是相同的。

       带宽定义:每秒传播bit数,bit/s

       这样看,影响带宽的因素仅为“发送端发送数据进入线路”,如何提升:a、提升发送速度 b、数据传输的并行度

1.       发送速度

数据发送装置将二进制信号传送至线路的能力。关键是,如果接收能力跟不上,发送能力不可能提高。原理:接收速度决定发送速度。

       也就是“流控机制”,保证接收方能够接收数据,不会丢失数据。如Tcp滑动窗口(滑动窗口协议的基本原理,任意时刻发送方、接收方都保持一个连续的允许发送、接收的帧的序号http://blog.csdn.net/yujun00/archive/2006/03/23/636495.aspx)。

2.    并行度,等价于计算机总线的概念。比如:32位,任意同一时刻能传输32位数据。

总结:显然,网卡影响性能结果。

 

posted on 2011-04-04 00:17 石建 | Fat Mind 阅读(329) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航:
 

导航

<2011年4月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

统计

常用链接

留言簿

随笔分类

随笔档案

搜索

最新评论

What 、How、Why,从细节中寻找不断的成长点