没有合适的资源?快使用搜索试试~ 我知道了~
网卡组成及工作原理1
5星 · 超过95%的资源 需积分: 46 19 下载量 91 浏览量
2010-09-06
23:03:51
上传
评论
收藏 68KB DOC 举报
温馨提示
试读
14页
网卡组成及工作原理,网卡充当计算机和网络缆线之间的物理接口或连线将计算机中的数字信号转换成电或光信号,称为nic( network interface card )。
资源推荐
资源详情
资源评论
网卡组成及原理
一 认识网卡
网卡充当计算机和网络缆线之间的物理接口或连线将计算机中的数字信号
转换成电或光信号,称为 nic( network interface card )。数据在计算机总线中传
输是并行方式即数据是肩并肩传输的,而在网络的物理缆线中说数据以串行的
比特流方式传输的,网卡承担串行数据和并行数据间的转换。网卡在发送数据
前要同接收网卡进行对话以确定最大可发送数据的大小、发送的数据量的大小、
两次发送数据间的间隔、等待确认的时间、每个网卡在溢出前所能承受的最大
数据量、数据传输的速度。
网卡工作在 osi 的最后两层,物理层和数据链路层,物理层定义了数据传送
与接收所需要的电与光信号、线路状态、时钟基准、数据编码和电路等,并向
数据链路层设备提供标准接口。物理层的芯片称之为 PHY。数据链路层则提供
寻址机构、数据帧的构建、数据差错检查、传送控制、向网络层提供标准的数
据接口等功能。以太网卡中数据链路层的芯片称之为 MAC 控制器。很多网卡
的这两个部分是做到一起的。他们之间的关系是 pci 总线接 mac 总线,mac 接
phy,phy 接网线(当然也不是直接接上的,还有一个变压装置)。
二 工作原理
以太网卡中数据链路层的芯片一般简称之为 MAC 控制器,物理层的芯片
我们简称之为 PHY。许多网卡的芯片把 MAC 和 PHY 的功能做到了一颗芯片中,
比如 Intel 82559 网卡的和 3COM 3C905 网卡。但是 MAC 和 PHY 的机制还是单
独存在的,只是外观的表现形式是一颗单芯片。当然也有很多网卡的 MAC 和
PHY 是分开做的,比如 D-LINK 的 DFE-530TX 等。
1 数据链路层 MAC 控制器
首先我们来说说以太网卡的 MAC 芯片的功能。以太网数据链路层其实包
含 MAC(介质访问控制)子层和 LLC(逻辑链路控制)子层。一块以太网卡
MAC 芯片的作用不但要实现 MAC 子层和 LLC 子层的功能,还要提供符合规范
的 PCI 界面以实现和主机的数据交换。
MAC 从 PCI 总线收到 IP 数据包(或者其他网络层协议的数据包)后,将
之拆分并重新打包成最大 1518Byte,最小 64Byte 的帧。这个帧里面包括了目标
MAC 地址、自己的源 MAC 地址和数据包里面的协议类型(比如 IP 数据包的类
型用 80 表示)。最后还有一个 DWORD(4Byte)的 CRC 码。
可是目标的 MAC 地址是哪里来的呢?这牵扯到一个 ARP 协议(介乎于网
络层和数据链路层的一个协议)。第一次传送某个目的 IP 地址的数据的时候,
先会发出一个 ARP 包,其 MAC 的目标地址是广播地址,里面说到:"谁是
xxx.xxx.xxx.xxx 这个 IP 地址的主人?"因为是广播包,所有这个局域网的主机
都收到了这个 ARP 请求。收到请求的主机将这个 IP 地址和自己的相比较,如
果不相同就不予理会,如果相同就发出 ARP 响应包。这个 IP 地址的主机收到
这个 ARP 请求包后回复的 ARP 响应里说到:"我是这个 IP 地址的主人"。这个
包里面就包括了他的 MAC 地址。以后的给这个 IP 地址的帧的目标 MAC 地址
就被确定了。(其它的协议如 IPX/SPX 也有相应的协议完成这些操作。)
IP 地址和 MAC 地址之间的关联关系保存在主机系统里面,叫做 ARP 表,
由驱动程序和操作系统完成。在 Microsoft 的系统里面可以用 arp -a 的命令查看
ARP 表。收到数据帧的时候也是一样,做完 CRC 以后,如果没有 CRC 效验错
误,就把帧头去掉,把数据包拿出来通过标准的借口传递给驱动和上层的协议
客栈,最终正确的达到我们的应用程序。
还有一些控制帧,例如流控帧也需要 MAC 直接识别并执行相应的行为。
以太网 MAC 芯片的一端接计算机 PCI 总线,另外一端就接到 PHY 芯片上。以
太网的物理层又包括 MII/GMII(介质独立接口)子层、PCS(物理编码子层)、
PMA(物理介质附加)子层、PMD(物理介质相关)子层、MDI 子层。而
PHY 芯片是实现物理层的重要功能器件之一,实现了前面物理层的所有的子层
的功能。
2 物理层 PHY
PHY 在发送数据的时候,收到 MAC 过来的数据(对 PHY 来说,没有帧的
概念,对它来说,都是数据而不管什么地址,数据还是 CRC),每 4bit 就增
加 1bit 的检错码,然后把并行数据转化为串行流数据,再按照物理层的编码规
则(10Based-T 的 NRZ 编码或 100based-T 的曼彻斯特编码)把数据编码,再变
为模拟信号把数据送出去。(注:关于网线上数据是数字的还是模拟的比较不
容易理解清楚。最后我再说)
收数据时的流程反之。
发送数据时,PHY 还有个重要的功能就是实现 CSMA/CD 的部分功能,它
可以检测到网络上是否有数据在传送。网卡首先侦听介质上是否有载波(载波
由电压指示),如果有,则认为其他站点正在传送信息,继续侦听介质。一旦
通信介质在一定时间段内(称为帧间缝隙 IFG= 9.6 微秒)是安静的,即没有被
其他站点占用,则开始进行帧数据发送,同时继续侦听通信介质,以检测冲突。
在发送数据期间,如果检测到冲突,则立即停止该次发送,并向介质发送一个
“阻塞”信号,告知其他站点已经发生冲突,从而丢弃那些可能一直在接收的受
到损坏的帧数据,并等待一段随机时间(CSMA/CD 确定等待时间的算法是二
进制指数退避算法)。在等待一段随机时间后,再进行新的发送。如果重传多
次后(大于 16 次)仍发生冲突,就放弃发送。
接收时,网卡浏览介质上传输的每个帧,如果其长度小于 64 字节,则认为
是冲突碎片。如果接收到的帧不是冲突碎片且目的地址是本地地址,则对帧进
行完整性校验,如果帧长度大于 1518 字节(称为超长帧,可能由错误的 LAN
驱动程序或干扰造成)或未能通过 CRC 校验,则认为该帧发生了畸变。通过校
验的帧被认为是有效的,网卡将它接收下来进行本地处理
剩余13页未读,继续阅读
资源评论
- hzhaod2014-08-14写的很详细,学到了很多
hongzhan012
- 粉丝: 0
- 资源: 8
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功