新网络传输过程中UDP协议实现汇编

新版网络传输过程中UDP协议实现汇编摘要:随着计算机网络的广泛运用,作为计算机网络体系结构中的重要协议之一――UDP传输协议,已经广泛的运用到计算机网络的数据传输的过程中,而且希望数据可以高效、准确、迅速的完成传输。本文研究了运输层的UDP协议发送来的数据包在网络层的IP协议条件下对数据进行处理、发送的过程,主要包括建立连接,数据的接收和缓存,IP数据包头的处理以及数据发送四个步骤,接着设计了以为基础FPGA的功能实现方案。关键词:UDP协议FPGA中图分类号:***文献标识码:*文章编号:*-*(*)*-*-*传输控制协议/网际协议(TransmissionControlProtocol/InternetProtocol,TCP/IP)协议簇是Internet和全球各地网络互联的引擎。本文针对网际层IP协议下的一项功能的实现,主要是针对从UDP协议下的数据包处理的过程。UDP是一个简单的面向数据报的运输层协议:进程的每个输出操作都正好产生一个UDP数据报,并组装成一份待发送的IP数据报。1数据报处理方案1.1端口设计端口应该由外部端口和内部端口组成。外部端口是控制硬件(以FPGA为例),主要包括时钟输入信号和复位输入信号。内部端口为运输层与网络层相互联系为原则设计的,不仅需要数据输入输出,也需要这两个模块间的相互控制。具体内部端口主要包括数据输入输出信号及对应的数据同步信号,两个准备信号,两个IP地址输入信号和输入同步信号的结束信号。信号描述如下:时钟信号(clk)、复位信号(res)、UDP准备信号(udprd)、输入数据信号(isd):、输入数据同步信号(iss)、输入数据结束信号(ise)、源IP地址(sipa):、目的IP地址(dipa)、IP准备信号(iprd)、输出数据信号(osd)、输出数据同步信号(oss)。具体端口设置如图1:1.2功能模块1.2.1建立连接模块运输层和网络层之间有很多协议,不同协议对应不同数据包,如何选择合适通路选择特定数据包,这就要求有特定的连接过程完成特定的数据传输。为了建立UDP协议数据和IP数据之间的相互通信,在方案中,选择增添一个建立连接模块,目的是完成两个功能。首先是完成UDP协议下的数据在特定通道内向网络层的传输,其次是产生控制信号,控制下一模块工作状态。在此过程中,主要涉及到两个信号,其一是udprd信号,是建立连接第一步,这个信号旨在反映UDP数据报已经准备好发送;其二是iprd信号,建立连接第二步,本信号是为了给运输层的UDP协议的反馈信号,如果接到收此信号,UDP数据报就开始发送了。本信号还有一个功能:当网络层对数据处理时,此信号会自动变低电平,将不会接收UDP数据报,直到在网络层的数据处理完毕。1.2.2数据接收存储模块在此模块下,可分为数据接收部分和数据的存储部分。首先介绍一下数据的接收部分,当大量的数据报准备进入网络层时,有些数据是没有意义的,所以要准确有效的接收来自UDP协议下的数据报,需要在这一部分完成此功能。在端口的设置,增加了同步接收信号和终止信号,当同步信号有效,数据为有效数据,当终止信号有效,则一个完整的UDP数据包就发送完成了。当大量的UDP数据包进入到IP协议下准备处理,而处理速度是远远小于接收的速度,会导致数据的滞留,甚至数据会丢失。为了解决该问题,增加了一个数据存储模块,把数据存储下来,弥补了处理速度和接收速度的不匹配。此模块还额外的完成了一个功能:计数功能。在加IP数据头需要每一包UDP数据包字节的长度信息进行存储。1.2.3IP数据包头处理及发送模块每一份的IP数据包都是有IP数据包头和对应的UDP数据包组合成的。需要将其对应封装。当IP数据包头处理完成了,紧接任务就是将其发送出去。在发送完IP数据包头紧跟要发送其对应的UDP数据包,这就是一个完整的IP数据包。如果输出同步信号有效,这些处理好的数据将发送到数据链路层供其使用。2方案综述(1)运输层和网络层之间建立连接,保证数据准确无误差的传输到网络层,产生控制信号,控制数据的接收;产生反馈信号,保证运输层的UDP数据包适时的传送过来。(2)读取UDP数据包并准确的计数,将已读的数据存入缓存中,产生信号,控制IP头处理模块的启动,然后将必要数据传递到IP头处理模块。(3)处理数据,将对应的一...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

客服邮箱:

biganzikefu@outlook.com

所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;

文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;

文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;

如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:

biganzikefu@outlook.com

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

笔杆子文秘
机构认证
内容提供者

为您提供优质文档,供您参考!

确认删除?