FPGA-32-,以太网TCPIP四层模型从MII到RGMII的深度解析-TCPIP传输控制协议-
FPGA 32 ,以太网TCP/IP四层模型:从MII到RGMII的深度解析( TCP/IP传输控制协议 )
目录
前言
TCP/IP四层模型传输控制协议是网络通信的核心框架,包括 数据链路层 / 网络接口层(链路层与物理层) 、 网络层 、 传输层 和 应用层 。这里将结合TCP/IP四层模型,深入探讨物理层(PHY)、链路层(MAC)、媒介独立层(MII)及其相关技术(如ODDR、IDDR、MDI、MAC、ARP、UDP等),帮助我们全面理解网络通信的底层实现及其在TCP/IP模型中的位置和作用。 虽然上篇对TCP/IP四层模型传输控制协议有过分享,但是鉴于TCP/IP模型的广泛应用,这里对其进行详细介绍。
一. TCP/IP四层模型概述
1.1 模型分层
TCP/IP四层模型是网络通信的分层架构,总共有四层,分别为 网络接口层、
网络层、传输层 和 应用层 。 各层功能如下:
- 网络接口层(物理层与链路层):
- 物理层(PHY) :负责将数据转换为适合物理媒介传输的信号。
- 链路层(MAC) :负责数据帧的封装、解封装、错误检测和流量控制。
- 网络层 :负责数据包的路由和转发,核心协议为IP(Internet Protocol)。
- 传输层 :负责端到端的数据传输,核心协议为TCP(Transmission Control Protocol)和UDP(User Datagram Protocol)。
- 应用层 :负责应用程序之间的通信,核心协议包括HTTP、FTP、DNS等。
ISO/OSI七层模型 与 TCP/IP四层模型对比:
1.2 媒介独立层
网络接口层 > 媒介独立层
在TCP/IP的模型中将 物理层和数据链路层 合称网络接口层。网络接口层一般分为一层和二层,一层又称为物理层,二层又称为数据链路层,在以太网中又称为MAC层。由于一层与二层之间的设计往往由不同的厂家实现,为了方便一层与二层交换数据和控制,因此又出现了 媒介独立层
或 媒介无关层 MII(Media Independent Interface) ,媒介独立层与一层和二层之间的关系,如下图所示。由于在嵌入式系统 或 FPGA的编程中媒介独立层是经常要处理的一层,因此在讨论其它层之前先讨论该层。
二. 网络接口层
网络接口层( 物理层 PHY、链路层 MAC 与 媒介独立层 MII )
2.1 物理层( PHY )
物理层是网络接口层的最底层,负责将MAC层的并行数据转换为适合物理媒介传输的串行信号。 PHY层通常分为三个子层:
- PCS子层(Physical Coding Sublayer) :负责信道编码,如4B/5B、8B/10B、64B/66B等。
- PMA子层(Physical Medium Attachment) :负责信号调制,如3阶/5阶编码、PAM调制。
- PMD子层(Physical Medium Dependent) :负责与物理媒介相关的信号传输,如MDI接口。
2.2 链路层( MAC )
链路层
也叫做 数据链路层,
英文名称: MAC。
链路层是网络接口层的重要组成部分,负责帧的封装、错误检测和流量控制。它通过MAC地址实现设备间的通信,并通过ARP协议解析IP地址到MAC地址的映射。
2.3.1 MAC(Media Access Control)
管理数据帧传输,确保设备通信。
具体功能:
- 帧封装 :将上层数据封装为以太网帧,包括源MAC地址、目标MAC地址和帧校验序列(FCS)。
- 冲突检测 :在半双工模式下,通过 CSMA/CD(载波侦听多路访问/冲突检测)机制避免数据冲突。
- 流量控制 :使用 PAUSE 帧实现流量控制,防止接收端缓冲区溢出。
与 MII 层的关系:
- MAC 层通过 MII 接口与 PHY 层交互。
- MII 接口提供了标准化的信号定义(如 TXD、RXD),使得 MAC 和 PHY 可以无缝协作。
应用场景:
- 在嵌入式系统或 FPGA 设计中,MAC 模块通常由硬件逻辑实现。
- 在现代交换机中,MAC 地址表用于管理设备间的通信。
2.3.2 ARP(Address Resolution Protocol)
将IP地址解析为MAC地址,支持局域网通信。
工作原理 :
请求过程 :主机发送一个 ARP 请求广播帧,询问目标 IP 地址对应的 MAC 地址。
响应过程 :目标设备收到 ARP 请求后,返回一个 ARP 响应帧,包含其 MAC 地址。
数据包格式 :
- 硬件类型 :指定网络类型(如以太网)。
- 协议类型 :指定协议类型(如 IPv4)。
- 操作码 :指示是 ARP 请求还是 ARP 响应。
- 发送方 MAC 地址和 IP 地址 。
- 目标 MAC 地址和 IP 地址 。
应用场景 :
- 在局域网中,ARP 用于建立 IP 地址与 MAC 地址的映射关系。
- 在路由器中,ARP 表用于加速数据包转发。
2.3 媒介独立层( MII )
虽然上篇有过介绍,但是这里再来将其详细介绍
MII层是连接MAC层和PHY层的桥梁,确保两者之间的数据传输和控制。随着网络技术的发展,MII接口衍生出多种类型,以适应不同的网络速率和场景。
常见的MII接口包括:
- MII :用于10M/100M以太网。
- RMII :MII的简化版本,引脚数量减少。
- GMII :用于千兆以太网,数据位宽扩展到8位。
- RGMII :GMII的简化版本,采用双数据速率(DDR)技术。
① MII(Media Independent Interface)
媒介无关层,MII接口主要用在10M/100M以太网 二层MAC 到一层Phy的接口。
MII接口信号(分类顺序):
发送方向信号:
● TX_ER(Transmit Error) :发送数据错误提示信号,同步于TX_CLK,高电平有效,表示TX_ER有效期内传输的数据无效。对于10Mbps速率下,TX_ER不起作用;
● TX_EN(Transmit Enable) :发送数据使能信号,同步于TX_CLK,高电平有效,表示TXD[3:0]上的数据有效。
● TX_CLK : 发送时钟,用Phy芯片产生,10M以太网为2.5MHz时钟,100M 以太网时钟为25MHz.方向由Phy(Physical)指向Host(主机)的MAC。
● TXD [3:0]: 发送的数据,与TX_CLK 同步,表示mac 层发送数据到phy层(对于MAC层的8位数据,TXD遵循先发 低4位再发高4位 的原则)。
接收方向信号:
● RX_ER(Receive Error) : 接收数据错误提示信号,同步于RX_CLK,高电平有效,表示RX_ER有效期内传输的数据无效。对于10Mbps速率下,RX_ER不起作用 ;(一般发生在转发过程,一旦信号拉高,整个数据包都不能用了)。
● RX_DV(Receive Data Valid) :接收数据有效信号,同步于RX_CLK,高电平有效,表示RXD[3:0]上的数据有效。
- ●
- RX_CLK
- MAC 层的接收时钟,一般由phy产生,mac 层使用这个时钟。
● RXD[3:0] :接收数据,与RX_CLK同步,表示由phy层发送数据到mac层。
控制信号:
● CRS :Carrier Sense,载波侦测信号,用于表明发送或接收介质处于活动状态(phy在接收数据或者发送数据中),不需要同步于参考时钟。另外,CRS只有物理层(PHY)在半双工模式下有效;
● COL :Collision Detected,冲突检测信号,表明在介质上检测到了冲突状态,不需要同步于参考时钟,只有PHY在半双工模式下有效(以前的总线结构和hub结构经常用这个信号,目前都是全双工switch结构,此信号基本不用了)。
另外,在某些物理层芯片中,可能需要MAC提供时钟。此时时钟由MAC指向PHY。
其信号连接关系:
信号名称 | 方向 | 作用 |
---|---|---|
TX_ER | MAC → PHY | 指示发送数据错误。 |
TX_EN | MAC → PHY | 控制发送数据的有效性。 |
TX_CLK | MAC → PHY | 提供发送数据的时钟信号。 |
TXD[3:0] | MAC → PHY | 传输发送的数据。 |
RX_ER | PHY → MAC | 指示接收数据错误。 |
RX_DV | PHY → MAC | 控制接收数据的有效性。 |
RX_CLK | PHY → MAC | 提供接收数据的时钟信号。 |
RXD[3:0] | PHY → MAC | 传输接收的数据。 |
CRS | PHY → MAC | 指示物理媒介是否处于活动状态。 |
COL | PHY → MAC | 指示物理媒介上是否检测到冲突。 |
② RMII(Reduced MII)
RMII 主要用在10M/100M的系统中,是MII的简化板,连线数量由MII的16根减少为8根。
RMII接口信号(
图片顺序 ):
● TX_EN: 发送数据使能,高电平有效,只有TX_EN 为高电平时发送的数据才是有效的。在数据发送期间TX_EN 可以为低电平,此时为等待期。
● TXD[1:0]: 发送数据,在RMII接口中发送数据每次只要两位,对于8位数据,发送顺序是从低到高的原则,如数据a[7:0], TXD 按照a[1:0]–>a[3:2]–>a[5:4]–>a[7:6]的顺序发送。数据发送与TX_EN配合,只有TX_EN为高电平时,数据才是有效的。
● RX_ER :该信号用于指示接收过程中发生的错误,防止错误数据被进一步处理。
● RXD[1:0]: 每次只接收两位,也是遵循从低位到高位的原则,与CRS_DV配合完成数据接收。
- ●
- CRS_DV
- 载波/数据有效, 载波检测在半双工中有效。在全双工在表示数据有效。
● CLK_REF :是由外部时钟源提供的50MHz参考时钟。需要注意的是,由于数据接收时钟是由外部晶振提供而不是由载波信号提取的,所以在PHY层芯片内的数据接收部分需要设计一个FIFO,用来协调两个不同的时钟,在发送/接收的数据时提供缓冲。PHY层芯片的发送部分则不需要FIFO,它直接将接收到的数据发送到MAC就可以了。在FPGA实现的MAC中,CLK_REF,可以由FPGA生成。
③ GMII(Gigabit MII)
GMII是千兆网的MII接口,与MII接口类似只是数据接口由MII接口的4位变成为8位。GMII由于接口是8位,因此传输效率较高,时序控制简单,在早期的千兆网的设计中应用较多。但由于连线较多在
硬件电路的设计中变得较为复杂,因此目前已使用不多,逐渐被GMII的简化版RGMII所替代。
GMII接口信号(图片顺序):
- ●
- TX_ER
- 发送数据错误,一般指该发送的数据包无效,一般在传送中会复制RX_ER。
● TX_EN :发送数据使能。
● GTX_CLK :由发送方提供与发送数据同步,一般上升沿与发送数据相位偏移180度。时钟频率为125MHz。
- ●
- TXD[7:0]
- 8位发送数据。
- ●
- RX_ER
- 接收数据错误,接收数据包无效。在数据交换或转发中可以将RX_ER与对应的接收数据复制到发送端。
● RX_DV :接收数据有效。
- ●
- RXD[7:0]
- 8位接收数据。
- ●
- RX_CLK
- 由PHY提供,上升沿对齐。有的PHY提供2ns延时。时钟频率为125M。
● CRS :载波检测,总线网中有效。
● COL :总线冲突,在全双工的通信中无效。
④ RGMII(Reduced GMII)
RGMII是GMII为简化连线的复杂,从而降低引脚的版本,时钟仍然是125M,不过这里采用的是双边沿的方式读取和发送数据。即上升沿4bit(低位),下降沿4bit(高位)。目前RGMII是千兆网络通信中应用最为广泛的一种接口。
RGMII接口信号(图片顺序):
● TX_EN :发送数据使能。
- ●
- TXD[3:0]
- 4位发送数据;对于8位数据先发送低四位,后发送高四位。
● RX_DV :接收数据有效。
- ●
- RXD[3:0]
- 4位接收数据,接收顺序为先接收低四位数据,后接收高四位数据。
- ●
- RX_CLK
- 由PHY提供,上升沿对齐。有的PHY提供2ns延时。时钟频率为125M。
● TX_CLK : 由发送方(MAC)提供与发送数据同步,时钟频率为125MHz。
⑤ 其他MII接口
在MII的接口中,还有其它的接口如SGMII,XGMII,SFP SGMII等类型,
主要用于光纤通信中。
- SGMII(Serial GMII) :用于光纤通信,数据通过串行方式传输。
- XGMII(10 Gigabit MII) :用于10G以太网。
- SFP SGMII :用于SFP模块的光纤通信。
物理层(PHY)和媒介独立层(MII)是网络通信的基础技术。物理层PHY通过信道编码和信号处理确保数据传输的可靠性,而媒介独立层MII则通过标准化接口实现MAC层和PHY层之间的高效通信。理解这些技术对于网络设计和优化具有重要意义。
网络接口层作为TCP/IP模型的最底层,涵盖了物理层(PHY)和链路层(数据链路层,MAC)的核心功能。通过物理层的编码、调制和信号处理,以及媒介独立层(MII)的标准化接口设计,确保了数据能够在物理媒介上高效、可靠地传输。同时,链路层通过MAC地址管理和ARP协议解析,实现了设备间的通信和数据包的正确传递。
三. 网络层
网络层:ARP与IP
3.1 ARP(Address Resolution Protocol,地址解析协议)
ARP是网络接口层的协议,用于将IP地址解析为MAC地址,以便在局域网中传输数据。当设备需要发送数据时,首先检查ARP缓存中是否存在目标IP地址对应的MAC地址。如果没有,设备会广播一个ARP请求,询问“谁拥有这个IP地址?”。目标设备收到ARP请求后,会回复一个ARP响应,包含其MAC地址。发送方将IP地址和MAC地址的映射存储在ARP缓存中,以便后续通信时直接使用。ARP协议是局域网通信的基础,确保数据能够准确传输到目标设备。
ARP协议用于将IP地址解析为MAC地址,以便在局域网中传输数据。它解决了网络层(IP地址)与数据链路层(MAC地址)之间的地址映射问题。 将IP地址解析为MAC地址,支持局域网通信。
在TCP/IP模型中的位置 :虽然ARP协议在功能上属于网络接口层,但它主要为网络层提供服务,帮助实现IP地址到MAC地址的转换。
工作流程 :
- ARP请求 :当设备需要发送数据时,首先检查ARP缓存中是否存在目标IP地址对应的MAC地址。如果没有,设备会广播一个ARP请求,询问“谁拥有这个IP地址?”。
- ARP响应 :目标设备收到ARP请求后,会回复一个ARP响应,包含其MAC地址。
- ARP缓存 :发送方将IP地址和MAC地址的映射存储在ARP缓存中,以便后续通信时直接使用。
应用场景 :ARP协议广泛应用于局域网(LAN)中,特别是在以太网环境中,确保数据能够准确传输到目标设备。
3.2 IP(Internet Protocol,网际网络协议)
IP是网络层的核心协议,负责数据包的路由和转发,确保数据从源设备传输到目标设备。IP协议为每个设备分配唯一的IP地址,用于标识网络中的设备。它根据路由表选择最佳路径传输数据包,支持跨网络的数据传输。IP协议还支持分片与重组功能,当数据包的大小超过网络的最大传输单元(MTU)时,IP协议会将数据包分片传输,并在目标设备重新组合。IP协议广泛应用于互联网和局域网中,是数据包传输的基础。
IP协议是网络层的核心协议,负责数据包的路由和转发,确保数据从源设备传输到目标设备。 负责数据包的路由和转发,支持跨网络通信。
在TCP/IP模型中的位置 :IP协议位于网络层,是TCP/IP模型的核心协议之一。
主要功能 :
- 寻址 :IP协议为每个设备分配唯一的IP地址,用于标识网络中的设备。
- 路由 :IP协议根据路由表选择最佳路径传输数据包,确保数据能够跨越多个网络到达目标设备。
- 分片与重组 :当数据包的大小超过网络的最大传输单元(MTU)时,IP协议会将数据包分片传输,并在目标设备重新组合。
应用场景 :IP协议广泛应用于互联网和局域网中,是数据包传输的基础。
四. 传输层
传输层:TCP与UDP
4.1 TCP(Transmission Control Protocol,传输控制协议)
TCP(Transmission Control Protocol,传输控制协议) 是一种面向连接、可靠的传输层协议,主要用于确保数据在网络上准确、有序地传输。它通过三次握手建立连接,并通过确认机制、重传机制和错误检测来保证数据的完整性和顺序。TCP还支持流量控制和拥塞控制,能够动态调整数据传输速率,避免网络拥塞和接收方缓冲区溢出。尽管TCP的开销较大,延迟较高,但其高可靠性使其成为Web浏览、文件传输、电子邮件等需要可靠数据传输的应用场景的首选协议。
TCP协议提供可靠的、面向连接的数据传输服务,确保数据的完整性和顺序。
可靠传输数据,但较慢。
在TCP/IP模型中的位置 :TCP协议位于传输层,是TCP/IP模型的核心协议之一。
主要特性 :
- 可靠性 :通过确认机制、重传机制和错误检测(如CRC校验)确保数据完整。
- 流量控制 :通过滑动窗口机制控制数据传输速率,避免接收方缓冲区溢出。
- 拥塞控制 :通过拥塞窗口机制动态调整数据发送速率,避免网络拥塞。
应用场景 :TCP协议适用于需要高可靠性的应用场景,如Web浏览(HTTP)、文件传输(FTP)和电子邮件(SMTP)。
4.2 UDP(User Datagram Protocol,用户数据报协议)
UDP(User Datagram Protocol,用户数据报协议) 是一种无连接、不可靠的传输层协议,主要用于高效传输数据。它不建立连接,直接将数据封装成数据报发送,适用于对实时性要求较高的场景,如视频流、语音通信、在线游戏等。UDP协议头开销小,传输效率高,但由于缺乏可靠性机制,可能会出现数据丢失、重复或乱序的情况。尽管不可靠,UDP在广播、多播和简单查询(如DNS、DHCP)等场景中表现出色,成为实时应用和轻量级通信的首选协议。
UDP协议提供无连接的、不可靠的数据传输服务,适用于实时性要求高的应用。
快速传输数据,但不可靠。
在TCP/IP模型中的位置 :UDP协议位于传输层,是TCP/IP模型的核心协议之一。
主要特性 :
- 高效性 :UDP协议减少了协议开销,适用于对实时性要求高的应用。
- 无连接 :UDP协议不建立连接,直接发送数据,减少了握手和断开的开销。
- 不可靠性 :UDP协议不保证数据的可靠性和顺序,可能出现数据丢失或乱序。
应用场景 :UDP协议适用于实时应用,如视频流(RTP)、语音通信(VoIP)和在线游戏。
五. 应用层
应用层:HTTP、FTP、DNS等
应用层是TCP/IP模型的最高层,负责应用程序之间的通信。它通过一系列协议为应用程序提供网络服务,以下是常见的应用层协议:
5.1 HTTP(Hypertext Transfer Protocol,超文本传输协议)
HTTP是应用层协议,用于在Web浏览器和服务器之间传输超文本(如HTML页面)。它基于请求-响应模型,客户端(浏览器)发送请求,服务器返回响应。HTTP协议支持多种方法(如GET、POST),用于获取或提交数据。HTTP是无状态协议,每次请求都是独立的,服务器不保存客户端的状态信息。HTTP广泛应用于Web浏览、API调用等场景,是互联网的基础协议之一。
HTTP协议用于Web浏览,支持客户端(浏览器)与服务器之间的通信。 用于Web浏览和API调用,支持请求-响应模型。
特点 :
- 无状态 :每次请求都是独立的,服务器不保存客户端的状态信息。
- 请求-响应模型 :客户端发送请求,服务器返回响应。
应用场景 :HTTP协议广泛应用于Web浏览、API调用等场景。
5.2 FTP(File Transfer Protocol,文件传输协议)
FTP是应用层协议,用于在客户端和服务器之间传输文件。它支持文件的上传、下载、删除和重命名等操作。FTP使用双通道通信,包括控制通道(用于发送命令)和数据通道(用于传输文件)。FTP协议支持匿名访问和用户认证,确保文件传输的安全性。FTP广泛应用于文件共享、网站部署等场景,是文件传输的经典协议。
FTP协议用于文件传输,支持客户端与服务器之间的文件上传和下载。 用于文件传输,支持上传、下载和文件管理。
特点 :
- 双通道通信 :FTP协议使用两个通道(控制通道和数据通道)进行通信。
- 支持大文件传输 :FTP协议支持大文件的分块传输。
应用场景 :FTP协议广泛应用于文件共享、网站部署等场景。
5.3 DNS(Domain Name System,域名系统)
DNS是应用层协议,用于将域名(如http://www.example.com)解析为IP地址(如192.0.2.1)。它采用分布式数据库结构,支持全球范围内的域名解析。DNS协议使用递归查询和迭代查询两种方式,确保域名解析的高效性和可靠性。DNS还支持缓存机制,减少重复查询的开销。DNS广泛应用于互联网访问、电子邮件等场景,是域名解析的核心协议。
DNS协议用于域名解析,将域名转换为IP地址。 将域名解析为IP地址,支持互联网访问。
特点 :
- 分布式数据库 :DNS采用分布式数据库结构,支持全球范围内的域名解析。
- 缓存机制 :DNS服务器会缓存解析结果,提高查询效率。
应用场景 :DNS协议广泛应用于域名解析、网络访问等场景。
六. 技术补充
6 .1 MAC(Media Access Control,媒体访问控制)
在以太网中,MAC层(介质访问控制层)作为数据链路层的核心组件,负责数据帧的封装、解封装、错误检测和流量控制。它不仅管理数据帧的发送和接收,还通过MII接口与PHY层(物理层)紧密协作,确保数据能够正确地在局域网中传输。简而言之,MAC层处理数据帧的各项操作,并与物理层配合实现数据的有效传输。
管理数据帧传输,确保设备通信。
6 .2 ARP(Address Resolution Protocol,地址解析协议)
在局域网中,ARP(地址解析协议)用于将IP地址解析为对应的MAC地址,以实现数据的传输。ARP通过广播方式查询目标设备的MAC地址,并将解析得到的结果存储于ARP缓存中。这样,当需要向同一网络中的目标设备发送数据时,ARP协议可以确保正确地定位目标设备的物理地址。
将IP地址解析为MAC地址,支持局域网通信。
ARP
用于将IP地址映射到对应的MAC物理地址,这是因为在局域网内部通信时需要知道目标设备的MAC地址。ARP协议通过广播查询请求,获取目标设备的MAC地址,并将这个信息存储在本地的ARP缓存中以便后续快速访问。
6 .3 ODDR(Output Double Data Rate,输出双数据速率)
在RGMII接口中,ODDR用于将8位数据分为高低4位,分别在时钟的上升沿和下降沿传输。它是一种在FPGA中实现双数据速率输出的 技术,用于在时钟的上升沿和下降沿分别输出数据。
在时钟上升沿和下降沿输出数据,提高传输效率。
6 .4 IDDR(Input Double Data Rate,输入双数据速率)
在RGMII接口中,IDDR用于将接收到的4位数据分别在时钟的上升沿和下降沿捕获,并合并为8位数据。它是一种在FPGA中实现双数据速率输入的技术 ,用于在时钟的上升沿和下降沿分别捕获数据。
在时钟上升沿和下降沿捕获数据,提高接收效率。
6.5 DDR(Double Data Rate,双数据速率)
DDR是一种高速数据传输技术,通过在时钟的上升沿和下降沿分别传输数据,将数据传输速率提高一倍。DDR技术广泛应用于内存(如DDR SDRAM)和高速接口(如RGMII)中,以提高数据传输效率。在FPGA设计中,DDR技术通过ODDR(输出双数据速率)和IDDR(输入双数据速率)实现,分别用于双数据速率的发送和接收。DDR技术的核心优势是提高带宽和传输速率,适用于对性能要求较高的场景。
通过时钟双沿传输数据,提高传输效率。
在 RGMII接口
中, ODDR
和 IDDR
技术主要用于处理双倍数据速率
DDR
(Double Data Rate)
信号。ODDR用于在时钟的上升沿和下降沿分别输出数据,而IDDR则用于在同一时钟周期内捕获两次数据。这里的DDR是基础概念,而ODDR和IDDR则是其具体应用形式,分别针对数据输出和输入优化,通过双边沿采样技术实现了更高效的数据传输速率。
ODDR和IDDR技术被用来实现高效的4位宽度数据传输。具体来说,8位宽的数据通过ODDR技术被分割成高低4位,在时钟的上升沿和下降沿分别发送出去;接收端则使用IDDR技术在时钟的两个边沿捕获4位数据,并将其合并为8位数据。
6 .6 UDP(User Datagram Protocol,用户数据报协议)
UDP是一种无连接、不可靠的传输层协议,主要用于高效传输数据。它不建立连接,直接将数据封装成数据报发送,适用于对实时性要求较高的场景,如视频流、语音通信、在线游戏等。UDP协议头开销小,传输效率高,但由于缺乏可靠性机制,可能会出现数据丢失、重复或乱序的情况。尽管不可靠,UDP在广播、多播和简单查询(如DNS、DHCP)等场景中表现出色,成为实时应用和轻量级通信的首选协议。
UDP协议
提供了一种灵活的数据传输方式,特别适合那些对实时性有较高要求的应用。 快速传输数据,但不可靠。
6 .7 MDI(Medium Dependent Interface,媒介依赖接口)
MDI是物理层(PHY)与物理媒介(如网线、光纤)之间的接口,负责将PHY芯片生成的信号转换为适合物理媒介传输的形式。MDI接口的主要功能是实现信号的电平转换和阻抗匹配,确保信号在物理媒介上能够高效、可靠地传输。常见的MDI接口包括以太网中的RJ-45接口,用于连接网线和网络设备。MDI接口的设计和实现直接影响网络的传输性能和稳定性,是物理层与物理媒介之间的关键桥梁。
MDI
确保信号能够在物理媒介上高效、稳定地传播(FPGA 31 中也有提到)。 连接PHY与物理媒介,确保信号传输。
6.8 SOC(System on Chip,片上系统)
SOC是一种将处理器、内存、外设和其他功能模块集成在单一芯片上的技术。它通过高度集成,减少芯片面积、功耗和成本,同时提高系统性能和可靠性。SOC广泛应用于嵌入式系统、移动设备(如智能手机、平板电脑)和物联网设备中。SOC的核心优势是高度集成和定制化设计,能够满足特定应用场景的需求。SOC设计通常包括硬件描述、软件开发和系统验证等环节,是现代电子系统设计的核心技术之一。
FPGA(现场可编程门阵列)和SoC(系统级芯片)是两种不同的集成电路技术,但它们之间确实存在一定的关系,并且在某些情况下可以结合使用以形成更强大的解决方案。
将多种功能集成在单一芯片上,实现高效、低功耗的系统设计。
七. 本文总结
在TCP/IP模型中, 网络接口层 将 物理层 和 数据链路层 合并为一个整体,负责将数据转换为适合物理媒介传输的信号,并确保数据帧的正确传输。 媒介独立层(MII) 作为连接 物理层PHY 和 链路层MAC 的桥梁,通过标准化的接口信号和灵活的速率适配,确保两者之间的高效通信。理解MII层的作用及其在嵌入式系统和FPGA编程中的重要性,对于网络设计和优化具有重要意义。
八. 更多操作
完整FPGA系列,请看
[FPGA系列,文章目录
“FPGA系列,文章目录”)