CN1556607A - 一种以太网通信系统及方法 - Google Patents
一种以太网通信系统及方法 Download PDFInfo
- Publication number
- CN1556607A CN1556607A CNA2004100001180A CN200410000118A CN1556607A CN 1556607 A CN1556607 A CN 1556607A CN A2004100001180 A CNA2004100001180 A CN A2004100001180A CN 200410000118 A CN200410000118 A CN 200410000118A CN 1556607 A CN1556607 A CN 1556607A
- Authority
- CN
- China
- Prior art keywords
- data
- ethernet
- bag
- send
- coupled
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Computer And Data Communications (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明提供了一种以太网通信系统及方法,该系统包括:用户应用接口,用于输入/输出用户信息;虚拟接口代理装置,耦合到用户应用接口,用于将用户信息转换成预定格式的数据或反之;虚拟接口协议处理装置,耦合到虚拟接口代理装置,用于生成包含预定格式的数据的数据包或反之;传输端口,耦合到虚拟接口协议处理装置,用于连接对应的网络传送数据包。该方法包括:设定不同的数据发送机制;当数据发送时,转换用户数据为以太网包,并按照设定的数据发送机制发送以太网包;接收到完整的以太网包后,发送应答消息。利用本发明,可以增强系统的通用性、保证数据的可靠传输,提高了整体效率、降低成本。
Description
技术领域
本发明涉及网络通信技术领域,具体涉及一种以太网通信系统及方法。
背景技术
在高性能计算领域,网络通信效率是影响机群并行计算的一个主要因素。VIA(虚拟接口架构)是一个开放的、可扩展的、独立于具体平台与实现、具有良好移植性的用户层通信协议标准。它是一种用户层通信协议的工业标准,它为机群环境带来了低延迟、高带宽、高可靠的通信支持。它定义了基本的通信函数和组织架构,为系统提供所需的性能和可靠性。它在通信硬件和进程保护内存空间之间提供一个VI(虚拟接口),为应用程序提供了一个直接访问通信硬件的通道,消除了传统模型的系统开销。每一个VI表示了一个通信端点,每一对VI端点间可以在逻辑上进行连接,从而实现双向的点对点的数据传输。一个进程可以拥有由一个或多个网卡提供的多个VI;一个网卡适配器提供多个虚拟端点,完成对硬件的复用和多路输出选择;通常由OS(操作系统)和驱动完成对数据传输的调度;保证已连接的两个VI的通信可靠性可以由适配器来完成,也可以由应用程序来完成。
对于VIA架构的支持,很多是通过专门的支持VIA架构的通信子系统来实现。这些实现一般采用专用的通信网卡以及交换设备,也有采用可编程的专用网卡来实现VIA协议处理的。这样的系统协议处理一般在专用的网卡上进行,系统价格相对较高。也有一些可以用于以太网的、通过软件来实现的VIA系统,这些系统主要由大学来开发、维护,主要用于对协议的研究的目的。这些系统实现功能简单,而且一般不支持现有的商用平台,如Windows操作系统以及现有的常见的以太网卡,也很少考虑在复杂通信情况下的效率问题。
目前,通过以太网进行数据传输大多采用图1和图2所示的两种结构方式,即数据从用户应用到网卡将数据转换成以太数据包进行发送出去,一般要经过两个模块,一个是标准的Windows协议模块,如标准的WindowsNDIS(网络驱动程序接口规范)协议模块或者Windows TCP/IP(传输控制/网际协议)协议栈处理模块,还有一个是标准的Windows Miniport网络驱动,具体根据不同的网卡有不同的实现。图1所示为数据从用户应用模块首先发送到VIA接口代理模块,然后经过Windows NDIS协议模块及Windows Miniport网络驱动模块将数据转换成以太数据包通过网卡进行发送;图2所示为数据从用户应用模块经过Windows TCP/IP协议栈处理后,再通过Windows Miniport网络驱动模块将数据转换成以太数据包通过网卡进行发送。
在现有技术中主要针对了VIA的硬件实现架构以及软件层次中的协议实现机制,如采用序列号机制保证传输可靠,减少内存复制次数以及虚拟地址/物理地址转换机制等。
发明内容
本发明的目的是克服现有技术的上述缺点,提供一种以太网通信系统及方法,通过减少软件协议层次的传输路径以及处理内容,以及对不同类型的数据包设置不同的优先级,进一步提高了系统的通信性能。
本发明的目的是通过以下技术方案实现的:
一种以太网通信系统,包括:
用户应用接口,用于输入/输出用户信息;
虚拟接口代理装置,耦合到所述用户应用接口,用于将所述用户信息转换成预定格式的数据或反之;
虚拟接口协议处理装置,耦合到所述虚拟接口代理装置,用于生成包含所述预定格式的数据的数据包或反之;
传输端口,耦合到所述虚拟接口协议处理装置,用于连接对应的网络传送所述数据包。
所述虚拟接口代理装置包括:
格式设定装置,用于设定数据传输格式;
用户数据转换装置,耦合到所述格式设定装置,用于根据所述格式设定装置设定的数据传输格式转换所述用户信息。
所述虚拟接口协议处理装置包括:
发送处理装置,耦合到所述用户数据转换装置,用于处理发送所述预定格式的数据;
接收处理装置,耦合到所述用户数据转换装置,用于接收处理以太网数据包。
所述发送处理装置包括:
发送数据转换装置,用于转换所述预定格式的数据为以太网数据包;
发送机制设定装置,用于设定不同的数据发送机制;
机制选择装置,分别耦合到所述发送数据转换装置和所述发送机制设定装置,用于根据所述以太网数据包的信息选择对应的数据发送机制;
发送驱动装置,分别耦合到所述发送数据转换装置和所述机制选择装置,用于驱动所述传输端口按照选择的数据发送机制发送所述发送数据转换装置输出的以太网数据包。
所述接收处理装置包括:
中断通知装置,用于当所述传输端口收到以太网数据包时产生中断通知;
接收驱动装置,耦合到所述中断通知装置,用于根据所述中断通知驱动所述接收装置接收所述以太网数据包;
接收装置,用于从所述接收的以太网数据包中获取用户信息;
应答装置,用于向发送端发送应答消息。
所述接收装置包括:
接收数据转换装置,用于转换接收的以太网数据包为预定格式的数据;
接收确认装置,用于当所述接收装置接收到一个完整的消息后,通知所述应答装置发送应答消息。
所述传输端口包括:各种型号的通用网卡。
本发明还提供了一种以太网通信方法,包括:
A、设定不同的数据发送机制;
B、当数据发送时,转换用户数据为以太网包,并按照所述设定的数据发送机制发送所述以太网包;
C、接收到完整的以太网包后,发送应答消息。
所述步骤A中不同的数据发送机制包括:立即发送和延迟预定时间后发送数据。
所述步骤B包括:
根据所述以太网包的类型和/或优先级选择数据发送机制;
根据所述选择的数据发送机制发送所述以太网包。
由以上本发明提供的技术方案可以看出,本发明将协议栈驱动和设备驱动合并在一起处理,通过通用的以太网卡发送数据,降低了系统成本。在数据发送过程中,通过系统调用将数据发送请求直接传递给处理模块。由于在以太网上可靠连接协议都需要对接收到的数据包进行应答处理,对于不同类型的数据包,处理模块根据要发送的各种数据包的类型以及优先级对数据包采用不同的方式发送,进一步保证了数据的可靠传输,提高了整体效率。
附图说明
图1是现有技术中利用NDIS协议进行以太网数据发送方式示意图;
图2是现有技术中利用TCP/IP协议进行以太网数据发送的方式示意图;
图3是本发明以太网通信系统结构示意图;
图4是图3所示的本发明系统中发送处理装置的详细结构示意图;
图5是图3所示的本发明系统中接收处理装置的详细结构示意图;
图6是本发明系统的应用实例进行数据发送和接收的流程;
图7是本发明方法的流程图。
具体实施方式
为了使本技术领域的人员更好地理解本发明,下面结合附图和实施方式对本发明作进一步的详细说明。
参照图3所示的本发明以太网通信系统结构示意图,本发明系统由用户应用接口30、虚拟接口代理装置31、虚拟接口协议处理装置32和传输端口33组成。其中,用户应用接口30用于输入/输出用户信息;虚拟接口代理装置31耦合到用户应用接口30,用于将用户信息转换成预定格式的数据或反之;虚拟接口协议处理装置32耦合到虚拟接口代理装置31,用于生成包含预定格式的数据的以太网数据包或反之;传输端口33耦合到虚拟接口协议处理装置32,用于连接对应的网络传送以太网数据包。
虚拟接口代理装置31由格式设定装置311和用户数据转换装置312组成。其中,格式设定装置311用于设定数据传输格式;用户数据转换装置312耦合到格式设定装置311,用于根据格式设定装置311设定的数据传输格式转换用户信息。在发送时,将需要发送的用户信息转换成设定格式的数据,在接收时,按照设定的数据传输格式从接收数据中获取用户信息。
虚拟接口协议处理装置32由发送处理装置321和接收处理装置322组成。其中,发送处理装置321耦合到用户数据转换装置312,用于处理发送预定格式的数据;接收处理装置322同样耦合到用户数据转换装置312,用于接收处理以太网数据包。
发送处理装置321的详细结构如图4所示:
发送处理装置321由发送数据转换装置41、发送机制设定装置42、机制选择装置43和发送驱动装置44组成。其中,
发送数据转换装置41用于将图3中用户数据转换装置312输出的包含用户信息的预定格式的数据转换为以太网数据包。
发送机制设定装置42用于设定不同的数据发送机制,以保证数据传输的可靠性,提高系统整体效率。例如,可以根据发送的数据包的类型以及优先级设定不同的发送机制:立即发送等待预定时间后发送。
机制选择装置43分别耦合到发送数据转换装置41和发送机制设定装置42,用于根据发送数据转换装置41输出的以太网数据包的信息选择对应的数据发送机制。
发送驱动装置44,分别耦合到发送数据转换装置41和机制选择装置43,用于驱动图3中的传输端口33按照选择的数据发送机制发送所述发送数据转换装置41输出的以太网数据包。
接收处理装置322的详细结构如图5所示:
接收处理装置322由中断通知装置51、接收驱动装置52、接收装置53和应答装置54组成。其中,
中断通知装置51用于当图3中的传输端口收到以太网数据包时产生中断通知。
接收驱动装置52,耦合到中断通知装置51,用于根据中断通知驱动该接收装置接收以太网数据包。
接收装置53,耦合到接收驱动装置52,用于从接收的以太网数据包中获取用户信息;它由接收数据转换装置531和接收确认装置532组成,其中,接收数据转换装置531用于转换接收的以太网数据包为预定格式的数据;接收确认装置532用于当该接收装置接收到一个完整的消息后,通知应答装置发送应答消息。
应答装置54,耦合到接收确认装置532,用于向发送端发送应答消息。
为了使本领域的技术人员更好地理解本发明,下面结合图6详细说明本发明系统的工作过程。
图6示出了本发明系统的应用实例进行数据发送和接收的流程:
数据发送过程具体包括以下步骤:
步骤1:用户通过用户应用接口输入数据发送消息,该消息是一段有固定长度的数据。
步骤2:虚拟接口代理装置按照格式设定装置预先设定的虚拟格式转换用户的数据发送消息,比如,将该消息转换成相应的数据结构,其中包含请求发送描述符的地址作为系统调用的参数。
步骤3:虚拟接口协议处理装置中的发送处理装置将转换后的用户数据按照以太网包的形式发送到传输端口,在本例中为网卡。它包括以下几个方面的工作:
(1)发送数据转换装置生成包括用户发送数据信息的以太网数据包。由于一个端点可以同时是发送端和接收端,存在模块中的数据发送部分需要发送数据包以及数据接收部分会发送应答数据包。在这种情况下,数据发送装置和数据接收装置都填写相应的发送数据结构,其中包括要发送的数据包的类型(用一个整数表示)、已经发送的次数(用一个整数表示)。
(2)由发送机制设定装置设定不同的数据发送机制。比如,可以根据系统实际需要,设置以下两种发送机制:立即通过网卡发送,如果不成功,如缓冲区满,则立即重试直到发送成功;另一种为延迟预定时间后通过网卡发送,如果不成功,则根据类型以及参数等待一段时间后再进行发送。具体的等待时间,可以用数据包的类型(用一个整数表示)、已经发送的次数(用一个整数表示)乘以相应的比例系数得到最终的时间。比如,可以设定等待时间=时间系数*发送类型*(最多发送次数-已经尝试发送次数)*(一个一定范围内的随机数)。
(3)由机制选择装置根据数据包的信息(比如,数据包的类型和优先级)选择某一种发送机制。
(4)由发送驱动装置按照选定的发送机制驱动网卡输出包含用户信息的以太网数据包。
步骤4:以太网包通过以太网到达接收端。
步骤5:通过网卡接收以太网数据包,它包括以下两方面的工作:
(1)断通知装置产生中断通知接收驱动装置有数据包到来;
(2)接收驱动装置收到中断通知后驱动接收装置接收数据包。
步骤6:为了实现以太网的可靠传输,当接收装置确认已经收到了一个完整的消息时,由应答装置向发送端发送一个应答消息,其中包含收到的消息的标示来说明接收端收到了相应的数据。
步骤7:当接收装置确认已经收到了一个完整的消息时,会根据以太包中的相应的数据结构,如数据长度、数据在描述符中的偏移等内容将数据包中的用户应用要求的数据复制到相应的缓冲区中,填好收到消息的描述符的结构;并通知虚拟接口代理装置。
步骤8:虚拟接口代理装置从相应的缓冲区中提取用户信息传送给用户,同时返回收到消息的信息。
步骤9:以太网包通过以太网到达发送端。
上述步骤7、步骤8和步骤9可以同时进行。
步骤10:发送端由网卡接收以太网数据包,同样包括以下工作:
(1)中断通知装置产生中断通知接收驱动装置有数据包到来;
(2)接收驱动装置收到中断通知后驱动接收装置接收数据包,当判断出是一个应答包的时候,会修改发送描述符中的相应标志位,表示发送成功。
步骤11:虚拟接口协议处理装置通知虚拟接口代理装置发送结束。
步骤12:虚拟接口代理装置发送结束消息通知用户应用接口发送结束,该消息中包括发送是否成功信息。
下面参照图7所示流程对本发明方法作详细说明:
用户数据发送时,包括以下步骤:
步骤701:设定不同的数据发送机制,包括:立即发送和延迟预定时间后发送,立即发送表示如果发送不成功,则立即重试直到发送成功;延迟预定时间后发送表示如果发送不成功,则根据数据包类型及其它参数等待一段时间后再进行发送,具体的等待时间,可以用数据包的类型(用一个整数表示)、已经发送的次数(用一个整数表示)乘以相应的比例系数得到最终的时间。比如,可以设定等待时间=时间系数*发送类型*(最多发送次数-已经尝试发送次数)*(一个一定范围内的随机数)。
步骤702:接收用户数据信息;
步骤703:将用户信息转换成虚拟格式数据,比如,设定一种数据结构,将用户数据信息填充到数据结构对应的位置上。
步骤704:将虚拟格式数据转换成以太网数据包;
步骤705:根据以太网包的类型和/或优先级选择数据发送机制;
步骤706:根据选择的数据发送机制发送以太网数据包。
用户数据接收时,包括以下步骤:
步骤711:接收以太网数据包;
步骤712:判断接收的数据包是否结束,也就是说是否接收到了一个完整的消息;
如果未结束,则返回步骤711:继续接收以太网数据包;
否则,进到步骤713:判断接收的数据包是否为应答包;
如果是应答包,则进到步骤716:通知用户发送结束,该消息中包括是否发送成功信息;
否则,进到步骤714:从以太网数据包中获取用户信息;
进到步骤715:将获取的用户信息发送给用户。
虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,希望所附的权利要求包括这些变形和变化而不脱离本发明的精神。
Claims (10)
1、一种以太网通信系统,包括:
用户应用接口,用于输入/输出用户信息;
虚拟接口代理装置,耦合到所述用户应用接口,用于将所述用户信息转换成预定格式的数据或反之;
虚拟接口协议处理装置,耦合到所述虚拟接口代理装置,用于生成包含所述预定格式的数据的数据包或反之;
传输端口,耦合到所述虚拟接口协议处理装置,用于连接对应的网络传送所述数据包。
2、如权利要求1所述的以太网通信系统,其中,所述虚拟接口代理装置包括:
格式设定装置,用于设定数据传输格式;
用户数据转换装置,耦合到所述格式设定装置,用于根据所述格式设定装置设定的数据传输格式转换所述用户信息。
3、如权利要求1或2所述的以太网通信系统,其中,所述虚拟接口协议处理装置包括:
发送处理装置,耦合到所述用户数据转换装置,用于处理发送所述预定格式的数据;
接收处理装置,耦合到所述用户数据转换装置,用于接收处理以太网数据包。
4、如权利要求3所述的以太网通信系统,其特征在于,所述发送处理装置包括:
发送数据转换装置,用于转换所述预定格式的数据为以太网数据包;
发送机制设定装置,用于设定不同的数据发送机制;
机制选择装置,分别耦合到所述发送数据转换装置和所述发送机制设定装置,用于根据所述以太网数据包的信息选择对应的数据发送机制;
发送驱动装置,分别耦合到所述发送数据转换装置和所述机制选择装置,用于驱动所述传输端口按照选择的数据发送机制发送所述发送数据转换装置输出的以太网数据包。
5、如权利要求3所述的以太网通信系统,其特征在于,所述接收处理装置包括:
中断通知装置,用于当所述传输端口收到以太网数据包时产生中断通知;
接收驱动装置,耦合到所述中断通知装置,用于根据所述中断通知驱动所述接收装置接收所述以太网数据包;
接收装置,用于从所述接收的以太网数据包中获取用户信息;
应答装置,用于向发送端发送应答消息。
6、如权利要求5所述的以太网通信系统,其特征在于,所述接收装置包括:
接收数据转换装置,用于转换接收的以太网数据包为预定格式的数据;
接收确认装置,用于当所述接收装置接收到一个完整的消息后,通知所述应答装置发送应答消息。
7、如权利要求1所述的以太网通信系统,其特征在于,所述传输端口包括:各种型号的通用网卡。
8、一种利用以太网通信的方法,其特征在于,所述方法包括:
A、设定不同的数据发送机制;
B、当数据发送时,转换用户数据为以太网包,并按照所述设定的数据发送机制发送所述以太网包;
C、接收到完整的以太网包后,发送应答消息。
9、如权利要求8所述的方法,其特征在于,所述步骤A中不同的数据发送机制包括:立即发送和延迟预定时间后发送数据。
10、如权利要求9所述的方法,其特征在于,所述步骤B包括:
根据所述以太网包的类型和/或优先级选择数据发送机制;
根据所述选择的数据发送机制发送所述以太网包。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2004100001180A CN100464511C (zh) | 2004-01-05 | 2004-01-05 | 一种以太网通信系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2004100001180A CN100464511C (zh) | 2004-01-05 | 2004-01-05 | 一种以太网通信系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1556607A true CN1556607A (zh) | 2004-12-22 |
CN100464511C CN100464511C (zh) | 2009-02-25 |
Family
ID=34350349
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004100001180A Expired - Fee Related CN100464511C (zh) | 2004-01-05 | 2004-01-05 | 一种以太网通信系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100464511C (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100438524C (zh) * | 2005-01-14 | 2008-11-26 | 清华大学 | 基于硬件支持的虚拟接口结构用户层网络通信系统 |
CN101841527A (zh) * | 2010-03-05 | 2010-09-22 | 北京星网锐捷网络技术有限公司 | 网络通讯装置及方法 |
CN106453382A (zh) * | 2016-10-28 | 2017-02-22 | 努比亚技术有限公司 | 一种消息推送方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AT382890B (de) * | 1982-10-05 | 1987-04-27 | Voest Alpine Ag | Plasmaschmelzofen |
US5970066A (en) * | 1996-12-12 | 1999-10-19 | Paradyne Corporation | Virtual ethernet interface |
CN1192577C (zh) * | 2002-05-22 | 2005-03-09 | 华为技术有限公司 | 网络设备中带流量控制的快速分发网帧的方法 |
-
2004
- 2004-01-05 CN CNB2004100001180A patent/CN100464511C/zh not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100438524C (zh) * | 2005-01-14 | 2008-11-26 | 清华大学 | 基于硬件支持的虚拟接口结构用户层网络通信系统 |
CN101841527A (zh) * | 2010-03-05 | 2010-09-22 | 北京星网锐捷网络技术有限公司 | 网络通讯装置及方法 |
CN106453382A (zh) * | 2016-10-28 | 2017-02-22 | 努比亚技术有限公司 | 一种消息推送方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN100464511C (zh) | 2009-02-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1866971A (zh) | 移动通讯系统处理数据分段的方法及装置 | |
CN1305681A (zh) | 传输控制协议/网际协议/点对点通信协议调制解调器 | |
CN1848719A (zh) | 分配位图存储器、产生网络实体间应答的方法及其系统 | |
KR101197749B1 (ko) | 범용 직렬 버스(usb)의 플로우 제어 | |
CN1829345A (zh) | 实现移动终端间数据共享的方法和系统 | |
CN1031025C (zh) | 在寄存器型无线设备间传送可变长度消息的方法和装置 | |
CN101030864A (zh) | 一种计算机和移动终端之间数据文件传输的方法 | |
CN1255978C (zh) | 减少通信系统中传输开销的方法和装置 | |
CN1672397A (zh) | 图像处理装置、控制方法及其控制程序 | |
CN100351824C (zh) | 总线系统和用于连接到总线的总线接口 | |
CN1276635C (zh) | 提供用于传送数据分组的串行总线通信协议的方法 | |
CN1925385A (zh) | 数据发送及接收系统 | |
CN1783881A (zh) | 绑定结构化数据协议至提供字节流协议的机制 | |
CN1297122C (zh) | 利用mms实现在移动终端上收发电子邮件的系统和方法 | |
CN1510960A (zh) | 无线接入网络系统、无线通信方法、控制服务器及数据服务器 | |
CN1622553A (zh) | 一种基于因特网标准文件传输协议的文件断点上载方法 | |
CN1556607A (zh) | 一种以太网通信系统及方法 | |
CN1933438A (zh) | 实现第一部件与第二部件之间通信的系统及部件 | |
CN101079815A (zh) | 报文转换方法、系统及装置 | |
CN1913693A (zh) | 一种故障信息收集系统及方法 | |
CN1859112A (zh) | 虚拟以太网设备数据传送装置及数据传送方法 | |
CN101075938A (zh) | 手机通讯协议与usb海量存储协议间的转换系统及方法 | |
CN1901492A (zh) | 一种通过网络中的总线接口进行通信的方法和系统 | |
CN1572100A (zh) | 用于执行接收处理的通信装置、方法和程序及其记录介质 | |
CN1200348C (zh) | 一种实现手机和掌上电脑结合的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090225 Termination date: 20210105 |