欢迎来到天天文库
浏览记录
ID:40560902
大小:111.00 KB
页数:5页
时间:2019-08-04
《MAC与PHY的区别》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、一块以太网网卡包括OSI(开方系统互联)模型的两个层。物理层和数据链路层。物理层定义了数据传送与接收所需要的电与光信号、线路状态、时钟基准、数据编码和电路等,并向数据链路层设备提供标准接口。数据链路层则提供寻址机构、数据帧的构建、数据差错检查、传送控制、向网络层提供标准的数据接口等功能。1.网卡的基本结构 以太网卡中数据链路层的芯片一般简称之为MAC控制器,物理层的芯片我们简称之为PHY。许多网卡的芯片把MAC和PHY的功能做到了一颗芯片中,比如Intel82559网卡的和3COM3C905网卡。但是MAC和PHY的机制还是单独存在的,只是外观的
2、表现形式是一颗单芯片。当然也有很多网卡的MAC和PHY是分开做的,比如D-LINK的DFE-530TX等。图一:MAC和PHY分开的以太网卡(点击放大)图二:MAC和PHY集成在一颗芯片的以太网卡(点击放大)①RJ-45接口②Transformer(隔离变压器)③PHY芯片④MAC芯片 ⑤EEPROM ⑥BOOTROM插槽⑦WOL接头 ⑧晶振 ⑨电压转换芯片⑩LED指示灯2.什么是MAC? 首先我们来说说以太网卡的MAC芯片的功能。以太网数据链路层其实包含MAC(介质访问控制)子层和LLC(逻辑链路控制)子层。一块以太网卡MAC芯片
3、的作用不但要实现MAC子层和LLC子层的功能,还要提供符合规范的PCI界面以实现和主机的数据交换。 MAC从PCI总线收到IP数据包(或者其他网络层协议的数据包)后,将之拆分并重新打包成最大1518Byte,最小64Byte的帧。这个帧里面包括了目标MAC地址、自己的源MAC地址和数据包里面的协议类型(比如IP数据包的类型用80表示)。最后还有一个DWORD(4Byte)的CRC码。 可是目标的MAC地址是哪里来的呢?这牵扯到一个ARP协议(介乎于网络层和数据链路层的一个协议)。第一次传送某个目的IP地址的数据的时候,先会发出一个ARP包,其
4、MAC的目标地址是广播地址,里面说到:”谁是xxx.xxx.xxx.xxx这个IP地址的主人?”因为是广播包,所有这个局域网的主机都收到了这个ARP请求。收到请求的主机将这个IP地址和自己的相比较,如果不相同就不予理会,如果相同就发出ARP响应包。这个IP地址的主机收到这个ARP请求包后回复的ARP响应里说到:”我是这个IP地址的主人”。这个包里面就包括了他的MAC地址。以后的给这个IP地址的帧的目标MAC地址就被确定了。(其它的协议如IPX/SPX也有相应的协议完成这些操作。) IP地址和MAC地址之间的关联关系保存在主机系统里面,叫做ARP表
5、,由驱动程序和操作系统完成。在Microsoft的系统里面可以用arp-a的命令查看ARP表。收到数据帧的时候也是一样,做完CRC以后,如果没有CRC效验错误,就把帧头去掉,把数据包拿出来通过标准的借口传递给驱动和上层的协议客栈,最终正确的达到我们的应用程序。还有一些控制帧,例如流控帧也需要MAC直接识别并执行相应的行为。 以太网MAC芯片的一端接计算机PCI总线,另外一端就接到PHY芯片上。以太网的物理层又包括MII/GMII(介质独立接口)子层、PCS(物理编码子层)、PMA(物理介质附加)子层、PMD(物理介质相关)子层、MDI子层。而PH
6、Y芯片是实现物理层的重要功能器件之一,实现了前面物理层的所有的子层的功能。3.网络传输的流程 PHY在发送数据的时候,收到MAC过来的数据(对PHY来说,没有帧的概念,对它来说,都是数据而不管什么地址,数据还是CRC),每4bit就增加1bit的检错码,然后把并行数据转化为串行流数据,再按照物理层的编码规则(10Based-T的NRZ编码或100based-T的曼彻斯特编码)把数据编码,再变为模拟信号把数据送出去。(注:关于网线上数据是数字的还是模拟的比较不容易理解清楚。最后我再说) 收数据时的流程反之。 PHY还有个重要的功能就是实现C
7、SMA/CD的部分功能。它可以检测到网络上是否有数据在传送,如果有数据在传送中就等待,一旦检测到网络空闲,再等待一个随机时间后将送数据出去。如果两块网卡碰巧同时送出了数据,那样必将造成冲突,这时候,冲突检测机构可以检测到冲突,然后各等待一个随机的时间重新发送数据。这个随机时间很有讲究的,并不是一个常数,在不同的时刻计算出来的随机时间都是不同的,而且有多重算法来应付出现概率很低的同两台主机之间的第二次冲突。 许多网友在接入Internt宽带时,喜欢使用”抢线”强的网卡,就是因为不同的PHY碰撞后计算随机时间的方法设计上不同,使得有些网卡比较”占便宜
8、”。不过,抢线只对广播域的网络而言的,对于交换网络和ADSL这样点到点连接到局端设备的接入方式没什么意义。而
此文档下载收益归作者所有