在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2047|回复: 0

[求助] udp包格式问题

[复制链接]
发表于 2016-6-2 17:48:13 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
大家好,我在利用verilog做以太网通信,封装UDP包时,不理解什么意思,下面是其中一段程序:
ethernet_data_process : process(c3_rst0,clk_50mhz)

begin

Tx_mac_BE <= "00";



-- UDP packet

eth_array(0) <= dst_mac_addr(47 downto 16);--要发送的目的MAC地址高4个字节

eth_array(1) <= dst_mac_addr(15 downto 0) & mac_addr(47 downto 32);--要发送的目的MAC地址低2个字节&源MAC地址

eth_array(2) <= mac_addr(31 downto 0);--源MAC低4个字节

--  ethernet type    | Version / Header length | diff Services

eth_array(3) <= x"0800"          & "0100" & "0101"         & "00000000"    ;

-- total length        |  identification

eth_array(4) <= "00000000"&"00100010" & x"0000";

-- Flags , Fragment Offeset  | time to live | protocol

eth_array(5) <= "0100000000000000"          &  "01000000"  & "00010001";

-- header checksum |  Source IP:

eth_array(6) <= calc_checksum     &  own_ip_addr(31 downto 16);

--         
     |  Destin IP:

eth_array(7) <= own_ip_addr(15 downto 0) &  dst_ip_addr(31 downto 16);

--            
| source port

eth_array(8) <= dst_ip_addr(15 downto 0)  &  source_port ;

-- dest port | length

eth_array(9) <= dest_port   & "00000000" & "00001110" ;

-- checksum  |  data

eth_array(10) <= x"0000"    &  x"4865";

-- data

eth_array(11) <= x"6c6c6f20";


问题:首先发送6个字节的目的MAC地址及6个字节的源MAC地址,接着x"0800" 是IP协议类型,后面的"0100" & "0101"  & "00000000" 是什么意思呢,它上面一行倒是解释了好像是
Version / Header length | diff Services,但是我没找有关UDP包格式是这样的,接着下面一行的-- Flags , Fragment Offeset  | time to live | protocol,又是什么意思呢,没见过UDP格式的包是这种格式的,能不能提供一下UDP详细的包的格式,谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-22 19:53 , Processed in 0.017503 second(s), 9 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表