百兆千兆网协议实现——ARP,ICMP,UDP层需求

在这里插入图片描述

ARP

在这里插入图片描述

  1. PC发送ARP请求
  2. FPGA mac层:
    a. 目的mac为’hff_ffff
    b. 帧头识别0x0806 转至arp层
  3. FPGA arp层:
    a. 获得源mac(mac层也有)& 源ip & 操作码(请求为1,响应为2)
    b. 目的mac为0,获得目的ip,与FPGA ip比较是否相等
    同时更新arp表与arp回复,arp回复目的源ip和mac均已知
    固定长度50
    Arp回复mac层目的mac是单播

UDP发送

在ip层组包时向arp表发送目的ip,如果有,向mac层发送ip对应的mac【但一般mac层有目的mac】
固定长度50

UDP接收

  1. PC发送UDP包
  2. FPGA mac层:
    a. 目的mac与FPGA mac比较【代码未完善】
    b. 帧头识别0x0800 转至ip层
  3. FPGA ip层:
    a. 获得ip总长度(ip首部+ip数据)& 协议类型(udp为17,icmp为1)& 源ip
    b. 获得目的ip,与FPGA ip比较是否相等
    c. 传递udp层总长度(ip总长度 - 20)
  4. FPGA udp层:
    a. 获得源端口号 & 目的端口号比较【代码未比较】
    b. 传递数据总长度

ICMP

在这里插入图片描述
前三步与UDP接收相同

  1. FPGA icmp层接收:
    获得类型(FPGA为接收,类型为8),获得序号
  2. FPGA icmp层发送:固定长度50
    发送类型(FPGA为发送,类型为0)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值