uip之UDP应用笔记 2013-08-15 23:09:48| 分类: TCP/UDP|举报|字号 订阅 下载LOFTER客户端 本次使用的 是uip-1.0,抓包软件用的Wireshark 1.6.7,这个软件真的很不错,居然支持gige vision,这点真的很意外。 一、一个完整的UDP数据报文格式 其实uip就是将你要发送到网络上的数据加上报头,好让它被成功发送到目的主机。所以我们要先搞清楚一个完整的数据报文,才能搞清楚uip到底在做些什么。 Ethernet Header:由目标mac和本机mac及type组成,共14byte,当目标mac全为ff时,表示是udp广播。Type=0x0800表示是ip。在uip中,Ethernet Header结构体定义如下: IP Header:0x45表示version=4,header length=20byte; 0028表示ip header+udp header+user data长度为40byte;6C14为包的ID,每发一个包,这个ID会自加1。80的意义是time to live,表示这个包的存活时间,路由每转发一次,就会对它自减1。17表示通信协议类型为UDP,4a0a为ip header的校验码。再后面就是源IP和目的IP地址了。 UDP Header:0aaa表示src port为2730;0f74表示dst prot为3956;14表示udp header+user data长度为20byte,c477表示udp header的校验码,在一般的情况下,这个可以为0。 在uip中,ip header和udp header结构体定义如下: