MAC --------------------------------------- MAC是Media Access Control的缩写,即媒体访问控制子层协议。该协议位于OSI七层协议中数据链路层的下半部分,主要负责控制与连接物理层的物理介质。在发送数据的时候,MAC协议可以事先判断是否可以发送数据,如果可以发送将给数据加上一些控制信息,最终将数据以及控制信息以规定的格式发送到物理层;在接收数据的时候,MAC协议首先判断输入的信息并是否发生传输错误,如果没有错误,则去掉控制信息发送至LLC层。以太网MAC由IEEE-802.3以太网标准定义。
MII --------------------------------------- MII即媒体独立接口,"媒体独立"表明在不对MAC硬件重新设计或替换的情况下,任何类型的PHY设备都可以正常工作。包括分别用于发送器和接收器的两条独立信道。每条信道都有自己的数据、时钟和控制信号。MII数据接口总共需要16个信号,包括:
transmit data -- TXD[3:0] transmit strobe -- TX_EN transmit clock -- TX_CLK transmit error -- TX_ER/TXD4 receive data -- RXD[3:0] receive strobe -- RX_DV receive clock -- RX_CLK receive error -- RX_ER/RXD4 collision indication -- COL carrier sense -- CRS
The standard MII features a small set of registers: * Basic Mode Configuration (#0) * Status Word (#1) * PHY Identification (#2, #3) * Ability Advertisement (#4) * Link Partner Ability (#5) * Auto Negotiation Expansion(#6) (可参考DM9000寄存器功能详细介绍http://hi.baidu.com/firstm25/blog/item/53eeec238d780b4b92580788.html)
OSI七层协议中数据链路层(DLL)内LLC层和MAC层 --------------------------------------- OSI将网络通信协议体系区分为7个层,体系的最底层称为物理层,网络所采用的不同的传输介质,对应不同的物理层,如双绞线或同轴线。体系内第二层为数据链路层(Data link Sub-layer),数据链路层的上半部为LLC(Logical Link Control Sub-layer)逻辑链路控制子层,负责将数据正确的发送到物理层,在数据链路层的下半部为MAC(Media Access Control)子层,负责控制与连接物理层的物理介质。 当发送数据时,MAC层要完成以下任务:首先它按规则从LLC层接收数据,然后执行媒体访问规程,查看网络是否可以发送;一旦网络可以发送,它将给数据附加上一些控制信息,把数据及控制信息以规定的格式(一般称做帧)送往物理层。 当接收数据时,MAC层要完成以下任务:首先它从物理层接收到数据帧并检查数据帧中的控制信息,从而判断是否发生传输错误。如数据正确,则去掉控制信息后把其送至LLC层。
CSMA/CD媒体访问控制协议 --------------------------------------- 由于以太网(Ethernet)成为现存局域网络结构的绝大多形式,CSMA/CD(Carrier Sense Multiple Access/Collision Detection)载波监测多址接入协议也成为局域网采用最多的MAC协议。CSMA/CD适宜于总线型局域网拓朴结构的随机竞争型媒体访问控制。总线型网络允许同一时刻只有一个节点(Node)发送数据,一旦两个或以上节点同时发送数据,则会发生数据碰撞,数据不能正常发送和接收。CSMA/CD协议就是尽可能保证网络上同时只有一个节点发送数据,减小数据"碰撞"概率。 CSMA/CD工作过程: 当MAC收到LLC(Logical Link Control Sub-Layer)发来的数据以后,首先监测网络电缆上是否具有数据,即载波传送。如果网络空闲,即没有载波传送,刚将数据装帧,经物理层发送出去。如果网络繁忙,则监测网络直到网络空闲,再将数据装帧发送。