FPGA学习笔记_FPGA实现千兆以太网_网络层(IP协议)

FPGA学习笔记

1. FPGA实现千兆以太网_网络层(IP协议)

网络层(IP协议)

IP协议是TCP/IP协议中最核心的协议,所有的TCP,UDP,ICMP,IGMP数据都是以IP数据报的格式传输的。如果发生错误,IP会丢失该数据,然后发送ICMP信息给信源端。IP数据报可以不按发送顺序接收。

  • IP数据报格式

FPGA学习笔记_FPGA实现千兆以太网_网络层(IP协议)_第1张图片

  • IP数据报首部

FPGA学习笔记_FPGA实现千兆以太网_网络层(IP协议)_第2张图片

  • 报头检验和的计算方法
  1. 将校验和字段置0
  2. 将IP包头按16bit分成多个单元,如果长度不是16bit的倍数,则用0比特填充到16比特的倍数
  3. 对各个单元采用反码加法运算(即高位溢出位会加到低位,通常的补码运算时直接丢掉一处的高位),将得到的和的反码填入校验和字段
  • 例子:

FPGA学习笔记_FPGA实现千兆以太网_网络层(IP协议)_第3张图片

  1. 校验和 = 0x0000
  2. 0x4500+0x0032+0x0000+0x0000+0x4011+0xf965+0xc0a8+0x0002+0xc0a8+0x0003=0x2698
  3. 0x0002+0x0698=0x069a
    按位取反:报头检验和=~0x069a=0xf965

---- 内容源自对小梅哥FPGA自学笔记的总结^^

【注】:个人学习笔记,如有错误,望不吝赐教,这厢有礼了~~~


你可能感兴趣的:(FPGA学习笔记,#,以太网协议,fpga/cpld,以太网)