一、网络结构

  1. 计算机网络的层级结构如下图所示:
  2. 以太网的基础知识_输入输出

  3. 协议:传输层则包含UDP协议,TCP协议,网络层有arp协议和IP协议,数据链路层封装MAC帧,通过物理层的PHY物理收发芯片传输数据。
  4. 以太网的基础知识_数字信号_02

二、以太网

  1. 包括数据链层和物理层,数据链层可以细分为LLC层和MAC层。
  2. 以太网的基础知识_网络协议_03

  3. MAC层与物理层的接口分类
  • MII:输入输出数据位宽为4bit,时钟频率为2.5MHz或者25MHz,故传输速率为10MHz或者100MHz。RMII是MII的简化版,减少了引脚,采用双沿采样。
  • GMII:输入输出数据位宽为8bit,时钟频率为125MHz,支持1000Mbps,即千兆网。
  • RGMII:输入输出数据位宽为4bit,在上升沿和下降沿都有采样,所以一个周期采样两次,而时钟频率为125MHz,所以传输速率仍为1000Mbps。由于采用双沿采样,软件实现比较复杂,但是引脚得到简化。

三、以太网简介

Ethernet是实现几种电脑连接的一种技术,也就是局域网技术的一种(IEEE802.3),是当今现有局域网采用的最通用的通信协议标准,它规范了包括物理层的连线、电子信号和介质访问层协议的内容。

  1. 以太网分类
  • 标准以太网:10Mbps
  • 快速以太网:100Mbps
  • 千兆以太网:1000Mbps
  • 万兆以太网:10Gbps
  1. 以太网接口
  2. 主要分为RJ45接口,RJ11接口,SC光纤接口。最常用的是RJ45接口(接电缆)和SC光纤接口(接光缆),光缆传输速度更高,但是成本更高。 RJ45接口:
  3. 以太网的基础知识_网络协议_04

  4. 10/100M的RJ45接口定义
  5. 以太网的基础知识_输入输出_05

  6. Pin1和Pin2是一对,Pin3和Pin6是一对,可实现全双工通信。接口处传输的是差分模拟信号,但是FPGA内部处理的是数字信号,所以需要将数字信号转换成差分模拟信号,这个功能是由板载的以太网PHY芯片来实现的。
  7. 1000M的RJ45接口定义
  8. 以太网的基础知识_输入输出_06

  9. Pin1和Pin2是一对,Pin3和Pin6是一对,Pin4和Pin5是一对,Pin7和Pin8是一对,并且都是双向数据线,可与百兆以太网接口兼容。
  10. 以太网连接示意图
  11. 以太网的基础知识_网络协议_07

工具:

  • 小兵以太网测试工具:根据你的设置产生特定帧并通过你的电脑网卡发送出去。顺便计算IP报头校验和,UDP校验码。
  • iperf:一款基于TCP/IP和UDP/IP的网络性能测试工具,它可以用来测量网络带宽和网络质量,还可以提供网络延迟抖动、数据包丢失率、最大传输单元等统计信息。
  • wireshark:可以抓包,抓取你的网卡发送和接收的所有数据。
  • crc32_cal:计算mac帧的校验码。结果是低位在前,高位在后。
  • 网站:给出计算校验码的Verilog代码。
  • 网络调试助手:可以接收帧,并只显示帧里面的用户数据段。