10G_ethernet学习记录(0):基础知识

0,前置

在实现万兆以太网之前,已经实现了千兆以太网。现在回顾一下以太网的协议规范,为后续开发做准备。

万兆以太网与千兆以太网使用相同的协议,知识万兆以太网使用GT高速接口,基于64/66编码实现。首先需要进行高速接口的学习与开发。

1,以太网协议。

1.1,整体协议

  •  前导码   :d5_55_55_55_55_55_55_55;
  • 目的MAC:目的设备的mac地址;
  • 源头MAC:源端设备的mac地址;
  • 类型        :ARP:0806;IP:0800;RARP:8035;
  • 数据        :46-1500字节,不足需要补足46字节;
  • FCS        :帧尾,帧校验序列,采用32为CRC校验。

1.2,UDP协议 

 1.2.1,ARP协议

帧类型: ARP 帧类型为两字节 0806;

硬件类型:指链路层网络类型, 1 为以太网;

协议类型:指要转换的地址类型,采用 0x0800 IP 类型,之后的硬件地址长度和协议地址长度分别对应 6 和 4;

OP 字段中 1 表示 ARP 请求, 2 表示 ARP 应答

例如:

|ff ff ff ff ff ff|00 0a 35 01 fe c0|08 06|00 01|08 00|06|04|00 01|00 0a 35 01 fe c0|c0 a8 00 02| ff ff ff ff ff ff|c0 a8 00 03|
表示向 192.168.0.3 地址发送 ARP 请求。

|00 0a 35 01 fe c0 | 60 ab c1 a2 d5 15 |08 06|00 01|08 00|06|04|00 02| 60 ab c1 a2 d5 15|c0 a8 00 03|00 0a 35 01 fe c0|c0 a8 00 02|

表示向 192.168.0.2 地址发送 ARP 应答。

1.2.2,IP协议

版本:占 4 位,ipv4(0100),ipv6(0110);

首部长度:占 4 位;表示一共有多少个32bit(4字节),无可选字段时固定为5;

区分服务:占 8 位,用来获得更好的服务,在旧标准中叫做服务类型,但实际上一直未被使用过 1998 年这个字段改名为区分服务.只有在使用区分服务(DiffServ)时,这个字段才起作用.一般的情况下都不使用这个字段;设置为0;

总长度:占 16 位,指首部和数据之和的长度,单位为字节,因此数据报的最大长度为 65535字节总长度必须不超过最大传送单元 MTU(最大传输负载)。数据长度等于总长度-20(IP首部)

标识:占 16 位,它是一个计数器,用来产生数据报的标识;

标志(flag):占 3 位,第一位保留,第二位(1是不分片,0是分片),第三位是否有更多的分片;

片偏移:占 13 位,指较长的分组在分片后某片在原分组中的相对位置.片偏移以 8 个字节为偏移单位;

生存时间:占 8 位,记为 TTL (Time To Live) 数据报在网络中可通过的路由器数的最大值,TTL 字段是由发送端初始设置一个 8 bit 字段.推荐的初始值由分配数字 RFC 指定,当前值为 64.发送 ICMP 回显应答时经常把 TTL 设为最大值 255;

协议:占 8 位,指出此数据报携带的数据使用何种协议以便目的主机的 IP 层将数据部分上交给哪个处理过程, 1 表示为 ICMP 协议, 2 表示为 IGMP 协议, 6 表示为 TCP 协议, 17表示为 UDP 协议

首部检验和:占 16 位,只检验数据报的首部不检验数据部分,采用二进制反码求和,即将16 位数据相加后,再将进位与低 16 位相加,直到进位为 0,最后将 16 位取反;

源地址:自身IP地址;

目的地址:接收方IP地址;

1.2.3,UDP层

源端口号:自身的端口号;

目的端口号:接受方的端口号;

UDP长度:UDP首部+数据的长度;

UDP校验和:与IP校验和算法一致; 

1.2.3,ICMP协议

type&&code

在FPGA中我们只做 00 (ping回应),80(ping请求)。 

在ping功能,如下:

下面是使用wireshark抓取ICMP去ping百度的网页:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值