计算机网络体系结构
这个就是经典书籍,《计算机网络》的内容
Linux系统对网络设备驱动
定义了4个层次, 这4个层次为网络协议接口层、 网络设备接口层、 提供实际功能的设备驱动功能层和网络设备与媒介层。
数据链路层:以太网协议
网络层主要使用协议:网际协议(IP)、互联网组管理协议(IGMP)、互联网控制报文协议(ICMP)
传输层:传输控制协议(TCP)、用户数据报协议(UDP)
应用层:ftp,ssh,telnet
以太网结构框架如下
以太网电路的基本构成
上图中DMA集成在CPU
而CPU,MAC,PHY并不是集成在同一个芯片内
由于PHY包含大量模拟器件,而MAC是典型的数字电路
考虑到芯片面积及模拟/数字混合架构的原因
将MAC集成进CPU而将PHY留在片外,这种结构是最常见的。
什么是MAC?
MAC(Media Access Control) 即媒体访问控制层协议。MAC由硬件控制器及MAC通信协议构成。该协议位于OSI七层协议中数据链路层的下半部分,主要负责控制与连接物理层的物理介质。MAC硬件框图如下图所示:
MAC的分类
简单记忆:R精简 G千兆 S串行
335x系列的MAC 控制器支持 MII/RMII/RGMII 协议;
什么是PHY?
PHY是物理接口收发器,它实现物理层
PHY(Physical Layer)是IEEE802.3中定义的一个标准模块,STA(Station Management Entity,管理实体,一般为MAC或CPU)通过MIIM(MII Manage Interface)对PHY的行为、状态进行管理和控制,而具体管理和控制动作是通过读写PHY内部的寄存器实现的
335x系列目前phy芯片支持AR8031和LAN8720A,2014年之前资料还支持DP83848,最近由于缺货,换成国产的phy芯片YT8521S
什么是MDIO?
MDIO(Management Data Input/Output),对G比特以太网而言,串行通信总线称为管理数据输入输出 (MDIO)。
用途
MDIO是一种简单的双线串行接口,将管理器件(如MAC控制器、微处理器)与具备管理功能的收发器(如多端口吉比特以太网收发器或 10GbE XAUI收发器)相连接,从而控制收发器并从收发器收集状态信息。
通俗来讲,cpu通过MDIO来管理phy芯片的
MDIO是一个PHY的管理接口,用来读/写PHY的寄存器,以控制PHY的行为或获取PHY的状态,MDC为MDIO提供时钟。
Linux的mdio主要是为了管理PHY芯片寄存器的,它会进行创建PHY设备及一些初始化工作。
以太网信号最终是通过RJ45接头接入网络的。
用于以太网网卡、路由器以太网接口等的DTE(数据终端设备)类型
用于交换机等的DCE(数字通信设备)类型。
当两个类型一样的设备使用RJ45接口连接通信时,必须使用交叉线连接
直通线用于异种网络设备之间的互连