UDP数据报传输的软件设计
发布时间:2008/12/30 0:00:00 访问次数:437
udp数据报传输的关键部分是处理packetram[]中的内容,packetram用来存储网络中收到的数据,以及发送到网络中的数据,因为程序是顺序执行的,所以收到的数据和发送的数据没有重叠的情况。在packetram[]中的数据是按照字存储的。通过对收到的数据进行分类,实现了arp口向应icmp应答及tftpserver的功能。
程序的核心是处理tftp的数据报文,tftp是—种用来传输文件的简单协议,它运行在udp上。tftp被设计为小而简单且容易运行,因此,它缺乏标准ftp协议的许多特征。tftp只能从远程服务器上读、写文件或者将读、写文件传送给远程服务器,它不能列出目录并且当前不提供用户认证。
按照tftp的协议完成功能,tftp的工作模式是:pc端发送一个写请求帧,硬件板上返回应答帧,这样就建立了访问连接;然后pc端开始发送数据,硬件板接收到数据帧,存储数据到内存中;当接收到数据长度小于512个字节的时候,表明当前的帧是最后一帧(按照tftp协议,如果文件的长度恰好是5、2字节的整数倍,那么最后一个数据帧的长度为0),这时把内存中的数据全部写到flash中,同时向串口打出标志结束的符号。
tftp帧类型如表1所示。
表1 tftp帧类型
这里对tftp协议进行了简化,因为所需要的只是把网卡收到的数据写入flash,所以在处理写请求数据时忽略了文件名;同时当程序收到错误信息时也不处理错误信息的具体内容,这样做的目的是为了使程序的目标代码控制在2kb以内。
欢迎转载,信息来源维库电子市场网(www.dzsc.com)
udp数据报传输的关键部分是处理packetram[]中的内容,packetram用来存储网络中收到的数据,以及发送到网络中的数据,因为程序是顺序执行的,所以收到的数据和发送的数据没有重叠的情况。在packetram[]中的数据是按照字存储的。通过对收到的数据进行分类,实现了arp口向应icmp应答及tftpserver的功能。
程序的核心是处理tftp的数据报文,tftp是—种用来传输文件的简单协议,它运行在udp上。tftp被设计为小而简单且容易运行,因此,它缺乏标准ftp协议的许多特征。tftp只能从远程服务器上读、写文件或者将读、写文件传送给远程服务器,它不能列出目录并且当前不提供用户认证。
按照tftp的协议完成功能,tftp的工作模式是:pc端发送一个写请求帧,硬件板上返回应答帧,这样就建立了访问连接;然后pc端开始发送数据,硬件板接收到数据帧,存储数据到内存中;当接收到数据长度小于512个字节的时候,表明当前的帧是最后一帧(按照tftp协议,如果文件的长度恰好是5、2字节的整数倍,那么最后一个数据帧的长度为0),这时把内存中的数据全部写到flash中,同时向串口打出标志结束的符号。
tftp帧类型如表1所示。
表1 tftp帧类型
这里对tftp协议进行了简化,因为所需要的只是把网卡收到的数据写入flash,所以在处理写请求数据时忽略了文件名;同时当程序收到错误信息时也不处理错误信息的具体内容,这样做的目的是为了使程序的目标代码控制在2kb以内。
欢迎转载,信息来源维库电子市场网(www.dzsc.com)