原写于2011-04-04
主要参考:构建高性能web站点
一、网卡
网卡使用一个特定的物理层和数据链路层标准,例如以太网来实现通讯所需要的电路系统。这为一个完整的网络协议栈提供了基础,使得在同一局域网中的小型计算机组以及通过路由协议连接的广域网,例如IP,都能够进行通讯。
1.作用:
1) 唯一的mac地址,定位机器(局域网/以太网mac寻址)
2) 数据接收和发送。拥有物理缓存区。
a.接收:接收物理层数据,通过DMA方式访问内存。
b.发送:接收上层数据,分解为适当大小的数据包发送。
转载:
数据的封装与解封:发送时将上一层交下来的数据加上首部和尾部,成为以太网的帧。接收时将以太网的帧剥去首部和尾部,然后送交上一层。
链路管理:主要是CSMA/CD(Carrier Sense Multiple Access with Collision Detection ,带冲突检测的载波监听多路访问)协议的实现。
编码与译码:曼彻斯特编码与译码。
2.协议
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等。
以太网卡和交换设备都支持多速率,设备之间通过自动协商设置最佳的连接速度和双工方式。如果协商失败,多速率设备就会探测另一方使用的速率但是默认为半双工方式。10/100以太网端口支持10BASE-T和100BASE-TX。
4.特点
- 全双工
- 传输速率
- 总线类型:PCI总线架构日益成为网卡的首选总线
- MAC地址
二、数据如何发送
1.将数据写入用户进程的内存地址空间,其实实际的开发过程只需对运行时变量赋值即可
2.应用程度调用系统函数,将数据从用户态内存区复制到由内核维护的一段称为内核缓冲区的内存地址空间。
- 内核缓存区大小有限,要发送的数据以队列的形式进入
- 每次复制一定的数据大小,这个大小取决于网络数据包的大小以及内核缓存区的承载能力
3.当数据写入内核缓存区,内核会通知网卡控制器来读取数据,cpu转而处理其它任务
- 网卡将发送的数据从内核缓存区复制到网卡缓存区
- 数据的复制始终按照内部总线的宽度复制(如32位总线,每次复制32bit信息)
4.网卡发送数据到物理线路
- 需要对数据进行字节到位的转换(即将数据按照位的顺序发出)
- 网卡内部使用特定的物理装置,来生成可以传播的各种信息,如铜线,网卡会根据位信息“0/1的变化产生不同的电信号;光线,网卡会生成光信号。
三、电磁波速度
不管是电信号,还是光信号,进入物理介质后,其传输速度仅依赖其传播介质,铜线中电信号的传输速度大约2.3*10(8)m/s,光纤中光信号的传播速度大约是2.0*10(8)m/s。光在真空中的传播速度是3.0*10(8)m/s,为什么光纤中的传播速度要慢呢?因为光在光纤中的传播利用全反射原理,所以传播距离要大于光纤长度。
由此看见,不同的传播介质中信号的传播速度几乎是常量。也就是说,不论数据发送装置以多快的发送速度让数据以信号的形式进入路线,在线路中信号的传播速度几乎可以认为是一样快的。
光纤与铜线相比?光纤采用全反射原理,因此光信号衰减底,因此传播距离远。
四、带宽概念
从上面分析来看,数据的传输包括:发送端发送数据进入线路 + 线路传输,线路传输的速度在各种传输介质几乎是相同的。
带宽定义:每秒传播bit数,bit/s。
这样看,影响带宽的因素仅为“发送端发送数据进入线路”,如何提升:a、提升发送速度 b、数据传输的并行度
1.发送速度
数据发送装置将二进制信号传送至线路的能力。关键是,如果接收能力跟不上,发送能力不可能提高。
也就是“流控机制”,保证接收方能够接收数据,不会丢失数据。如Tcp滑动窗口(滑动窗口协议的基本原理,任意时刻发送方、接收方都保持一个连续的允许发送、接收的帧的序号http://blog.csdn.net/yujun00/archive/2006/03/23/636495.aspx)。
2.并行度,等价于计算机总线的概念。比如:32位,任意同一时刻能传输32位数据。
总结:显然,网卡影响性能结果。
相关推荐
"3dB带宽定义和理解[归纳].pdf" 本资源主要讲解了3dB带宽的定义和理解,包括通频带、3dB带宽、三阶截点和1dB压缩点等概念。 1. 通频带: 通频带是衡量放大电路对不同频率信号的放大能力的参数。在输入信号频率较...
**-3dB带宽定义与理解** 在通信与电子工程领域,-3dB带宽是一个重要的概念,用于描述系统的频率响应特性。它不仅涉及到信号处理、滤波器设计,还与无线通信、雷达系统等多方面密切相关。接下来,我们将深入探讨-3dB...
《带宽的竞争 全面理解数据传输》这本书深入探讨了这两个主题,为读者提供了丰富的理论知识。下面,我们将对这两个核心概念进行详尽的阐述。 带宽,简单来说,是指在一定时间内数据可以传输的最大量,通常以比特每...
理解这两者之间的关系对于设计和优化通信系统至关重要。 ### 信号带宽 信号带宽指的是信号频谱的宽度,具体来说,它是信号最高频率分量与最低频率分量之差。例如,在一个由多个正弦波叠加成的方波信号中,最低频率...
### 考研计算机网络之理解频率与带宽 #### 频率与带宽的基本概念 在深入探讨之前,我们需要明确几个基本概念。 - **频率**:在信号处理和通信领域,频率指的是波形每秒重复的次数,单位通常是赫兹(Hz)。例如,...
带宽的竞争 全面理解数据传输;带宽的竞争 全面理解数据传输
为了更好地理解带宽的概念及其在不同场景下的应用,我们需要先了解带宽的两种主要含义。 1. **电子电路中的带宽**:在这个背景下,带宽是指电路能够有效传输信号的频率范围。具体来说,它指的是信号可以从电路的...
-3dB带宽定义和理解 在电子工程和通信系统中,-3dB带宽是一个非常重要的概念,它是衡量信号带宽的一个关键参数。那么,什么是-3dB带宽呢?如何理解和定义它呢? 定义: -3dB带宽是指信号强度减小到原始强度的71....
学习这段源码不仅可以帮助理解网络带宽测试的原理,还可以深入了解libevt库的使用,提升C++网络编程技能。实际操作时,可以根据自己的需求调整参数,如目标服务器地址、测试时间、数据包大小等,以适应不同的网络...
总结,DDR带宽测试对于理解Linux系统的性能至关重要,`mbw`是一个实用的工具,能够帮助用户轻松地测量内存的读写带宽。通过持续关注和优化内存带宽,我们可以确保系统的高效运行,为日常任务和高性能计算提供有力...
标题中的“一个测试带宽的小工具”指的是一个用于测量网络连接速度和带宽利用的实用程序。这样的工具通常被用户用来评估他们的网络性能,检查是否存在网络拥堵或ISP(互联网服务提供商)是否提供承诺的下载和上传...
总的来说,电荷泵锁相环的相位噪声与环路带宽之间的关系是复杂而微妙的,理解这一关系对于设计高效、低噪声的锁相环系统至关重要。通过深入分析噪声模型和模拟实验,可以指导我们更好地理解和优化锁相环的性能,从而...
在理解示波器探头带宽之前,我们首先要了解带宽的定义。带宽通常是指信号幅度下降到其最大值的一半,也就是-3dB点,换句话说,带宽定义为响应曲线中幅度下降3dB的频率。 我们以一个200MHz带宽的示波器为例,如果示...
【带宽定义与理解】 带宽是通信和信号处理领域中的关键概念,它指的是系统能够有效传输或处理信号的频率范围。在不同的上下文中,带宽有不同的定义,但通常涉及功率或幅度的变化。 1. **-3dB 带宽**: -3dB 带宽...
总结起来,网络带宽测量工具iperf、pathchar和pchar提供了从不同角度评估网络性能的方法,而Wireshark的中文文档则为理解和解决问题提供了强大的辅助工具。通过学习和实践,我们可以更好地驾驭这些工具,提升网络...
网络带宽是衡量互联网连接速度的重要指标,它指的是在一定时间内...综上所述,网络带宽测试是评估和优化网络体验的关键步骤,通过使用专业的测试工具,我们可以更好地理解自己的网络状况,从而做出相应的调整和改进。
在复小波频谱图中,频谱带宽可以帮助我们理解信号的频率分布以及各频率成分的相对强度。 至于"coml.m"这个文件,根据其名字推测,可能是一个MATLAB脚本,用于执行复小波分析并绘制不同带宽和中心频率的频谱图。在...
绘图可以帮助工程师和研究人员更好地理解信号的特性,验证半功率带宽法的应用效果,以及提供更加直观的结果展示。 最后,文章提到了文献引用的重要性。在进行科学研究和技术开发的过程中,必须重视对前人工作的参考...