网络传输数据链路层,MAC和PHY芯片

声明:资料来源于网络整理。

一、TCP/IP四层模型

网络传输数据链路层,MAC和PHY芯片_第1张图片

数据链路层:实现网卡接口的网络驱动程序,处理数据在物理媒介(比如以太网、令牌环等)上的传输。数据链路层两个常用的协议是ARP协议(Address Resolve Protocol,地址解析协议)和RARP协议(ReverseAddress Resolve Protocol,逆地址解析协议)。

  • ARP:将物理地址转化为IP地址; 
  • RARP:将IP地址转换为物理地址;
  • 网络层使用IP地址寻址设备,数据链路层使用物理地址(MAC地址)寻址设备;
  • ARP协议很不安全,它会全网广播你的IP和MAC。

二、网络收包

1、硬件结构

网络传输数据链路层,MAC和PHY芯片_第2张图片

intel82546:PHY与MAC集成在一起的PCI网卡芯片;
bcm5461:PHY芯片,与之对应的MAC是TSEC;
TSEC:Three Speed Ethernet Controller,三速以太网控制器,TSEC内部有DMA子模块;
DMA:(Direct Memory Access,直接存储器访问) ,它将数据从一个地址空间复制到另外一个地址空间,而无需CPU的参与。

2、收包原理

no NAPImac每收到一个以太网包,都会产生一个接收中断给cpu,即完全靠中断方式来收包。缺点是当网络流量很大时,cpu                    大部分时间耗在处理mac中断;
netpoll:  轮询收包,缺点是实时性差

NAPI     采用 中断 + 轮询 的方式。mac收到一个包来后会产生接收中断,但是马上关闭。
                 直到收够了n个包,或者收完mac上所有包后,才再打开接收中断

3、收包流程

      网线 -> Rj45网口 -> MDI 差分线->bcm5461(PHY芯片进行数模转换) -> MII总线-> 
      TSEC(MAC) -> DMA把网络数据包搬到CPU收包缓存->收够n个包,CPU开始处理

三、网络发包

       预先把发送的数据拷贝到一个物理连续的缓冲区里,然后把缓冲区的物理地址传递给网卡,启动网卡传输,网卡就用DMA方式把数据发送出去。发送成功后给出一个中断,表示发送完成。

四、关键硬件

1、PHY

       物理接口收发器,它实现物理层。IEEE-802.3标准定义了以太网PHY,包括MII/GMII(介质独立接口)子层,PCS(物理编码子层),PMA(物理介质附加)子层,PMD(物理介质相关)子层,MDI子层它符合IEEE-802.3k中用于10BaseT(14)100BaseTX(24条和第25)的规范

2、MAC

        MACMedia Access Control,即媒体访问控制子层协议该协议位于OSI七层协议中数据链路层的下半部分,主要负责控制与连接物理层的物理介质在发送数据的时候,MAC协议可以事先判断是否可以发送数据如果可以发送将给数据加上一些控制信息最终将数据以及控制信息以规定的格式发送到物理层在接收数据的时候,MAC协议首先判断输入的信息并是否发生传输错误如果没有错误则去掉控制信息发送至LLC

3、MII总线

        在IEEE802.3中规定的,MII总线是一种用于将不同类型的PHY与相同网络控制器(MAC)相连接的通用总线,使网络控制器可以用同样的硬件接口与任何PHY 通信。ETHERNET的接口实质是MAC通过MII总线控制PHY的过程。

五、问答

:10BaseT100BaseTX PHY实现方式不同的原因何在?

:两种实现的分组描述本质上是一样的,但两者的信令机制完全不同。其目的是一种让硬件,容易实现处理两种速度。10BaseT采用曼彻斯特编码,100BaseTX采用4B/5B编码

:网卡的MACPHY间的关系?

:网卡工作在osi的最后两层,物理层和数据链路层。

物理层定义了数据传送与接收所需要的电与光信号、线路状态、时钟基准、数据编码和电路等,并向数据链路层设备提供标准接口,物理层的芯片称之为PHY。

数据链路层则提供寻址机构、数据帧的构建、数据差错检查、传送控制、向网络层提供标准的数据接口等功能以太网卡中数据链路层的芯片称之为MAC控制器很多网卡的这两个部分是做到一起的他们之间的关系是PCI总线接MAC总线,MAC接PHY,PHY接网线(PHY与网线间,还有一个变压装置)。

 

你可能感兴趣的:(网络传输,PHY芯片,网卡)