CN103905453A - 一种基于地址映射多路复用的通信模型及方法 - Google Patents
一种基于地址映射多路复用的通信模型及方法 Download PDFInfo
- Publication number
- CN103905453A CN103905453A CN201410134121.5A CN201410134121A CN103905453A CN 103905453 A CN103905453 A CN 103905453A CN 201410134121 A CN201410134121 A CN 201410134121A CN 103905453 A CN103905453 A CN 103905453A
- Authority
- CN
- China
- Prior art keywords
- layer
- address
- transport layer
- data
- request
- 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.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及计算机***及存储领域,特别涉及一种基于地址映射多路复用的通信模型及方法。且本发明的一种基于地址映射多路复用的通信模型及方法,通过传输层的缓冲与封装,将不同的传输协议封装,统一传输、管理,并且硬件层只需要实现资源获取,这样就可以兼容多种硬件驱动,达到良好的扩展性。
Description
技术领域
本发明涉及计算机***及存储领域,特别涉及一种基于地址映射多路复用的通信模型及方法。
背景技术
目前计算机之间最常见的通信协议有TCP/IP、NETBEUI、IPX/SPX等,其中TCP/IP协议应用广泛,TCP/IP是由一组具有专业用途的多个子协议组合而成的,这些子协议包括TCP、IP、UDP、ARP、ICMP等。TCP/IP凭借其实现成本低、在多平台间通信安全可靠以及可路由性等优势迅速发展,并成为Internet中的标准协议。目前,TCP/IP已经成为局域网中的首选协议。但TCP/IP协议适用于Internet复杂的网络传输环境,对于控制器之间端对端通信的环境,协议处理时过于复杂,传输性能与***负载会受到影响。
NetBEUI(NetBIOS增强用户接口)协议由NetBIOS(网络基本输入输出***)发展完善而来,不过由于其有限的网络节点支持(最多支持254个节点)和非路由性,使其仅适用于基于Windows操作***的小型局域网中。
IPX/SPX(网际包交换/序列包交换)协议主要应用于基于NetWare操作***的Novell局域网中。
当前计算机之间通信可以通过很多种通信协议来实现,但每种协议都有一定的局限性,或者适合复杂的通信环境,或者适合远距离传输、或者只基于windows等。
计算机之间的数据通信需求各式各样,对数据通信的需求也不都完全一样,如远程登录管理需要远距离传输,传输数据量不大,带宽要求不高,但要求通信延迟低、响应快。又如计算机集群之间数据备份、镜像等通信需求,传输数据量大,数据链路带宽要求高。这俩种通信方式不能使用同一种通信协议和通路。如果都要满足的话,需要配备俩条通信链路。这样会提升成本,并造成资源的浪费。
发明内容
为了解决现有技术的问题,本发明提供了一种基于地址映射多路复用的通信模型及方法,其可以同时满足不同的数据通信需求,使得不同的通信方式共同使用统一条数据链路。
本发明所采用的技术方案如下:
一种基于地址映射多路复用的通信模型,是将本地主机作为服务器端,远端主机作为客户端,服务器端和客户端地位相等,两端架构相同,都具有三层架构,分为应用层、传输层和物理层,通过地址映射,两个主机分别映射两个发送区与接收区,分别对应对端的接收区与发送区;通信模块将上层数据请求经过处理,写至发送区,对端通信模块从接收区收取实现数据单工传输,其特征在于,通过传输层的缓冲与封装,将不同的传输协议封装,统一传输、管理;且硬件层只需要实现资源获取,就可以兼容多种硬件驱动。
应用层用于实现不同通信方式,并可以根据具体的通信需求,进行定制,所述的应用层通过将上层数据包请求进行拆分或者聚合,并添加特定的包头;转发至传输层进行处理。
传输层接收到应用层数据请求之后,添加至传输队列中,经过传输层通信算法计算,按照权重优先级将数据请求写入至指定偏移的内存映射地址中。
物理层用于获取内存地址映射,物理层实现物理链路的资源申请、分配,并提交给传输层进行操作。
一种基于地址映射多路复用的通信方法,包括以下步骤:
A、应用层通过将上层数据包请求进行拆分或者聚合,并添加特定的包头;转发至传输层进行处理;
B、传输层接收到应用层数据请求之后,添加至传输队列中,经过传输层通信算法计算,按照权重优先级将数据请求写入至指定偏移的内存映射地址中;
C、物理层获取内存地址映射,实现物理链路的资源申请、分配,并提交给传输层进行操作。
本发明的一种基于地址映射多路复用的通信模型及方法,其是兼顾性能的考虑,基于一条物理传输链路,高效的提供多种传输方式的方法;兼顾性能的考虑,是因为不同的通信请求具有不同的特点,如果只采用一种通信方式的话,无法全面满足***的通信需求。
高效,采用独特的协议封装,基于内部总线直接内存地址映射,直接进行数据传输。
采用多种传输方式,是指提供高带宽和低延迟两种方式方式,并支持定制扩展。
本发明提供的技术方案带来的有益效果是:
本发明的一种基于地址映射多路复用的通信模型及方法,可以同时满足不同的数据通信需求,使得不同的通信方式共同使用统一条数据链路,其降低了成本,有效的减少了资源的浪费。
且本发明的创新点在于通过传输层的缓冲与封装,将不同的传输协议封装,统一传输、管理,并且硬件层只需要实现资源获取,这样就可以兼容多种硬件驱动,达到良好的扩展性。
附图说明
图1为本发明的一种基于地址映射多路复用的通信模型及方法的通信结构框图;
图2本发明的一种基于地址映射多路复用的通信模型及方法的***装置图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例一
本发明基于地址映射实现两主机之间数据访问,设计通信协议,实现两端***之间数据通信。本地主机作为服务器端,远端主机作为客户端,服务器端和客户端地位相等。连接模式如图1。两端架构相同,都具有三层架构。分为应用层、传输层和物理层。通过地址映射,主机映射两个发送区与接收区,分别对应对端的接收区与发送区。通信模块将上层数据请求经过处理,写至发送区,对端通信模块从接收区收取实现数据单工传输。本发明的创新点在于通过传输层的缓冲与封装,将不同的传输协议封装,统一传输、管理。并且硬件层只需要实现资源获取,这样就可以兼容多种硬件驱动。达到良好的扩展性。
本通信模型架构如图1所示,分为应用层、传输层和物理层。其中应用层主要用于实现不同通信方式,如提供TCP/IP通信方式,应用层需要实现为虚拟网卡驱动,如提供高速通信方式;如应用层需要实现为高速通信接口,提供基于定制的内核API接口,实现数据高速传输。应用层还可以根据具体的通信需求,进行定制。应用层通过将上层数据包请求进行拆分或者聚合,并添加特定的包头。转发至传输层进行处理。
传输层接收到应用层数据请求之后,添加至传输队列中,经过传输层通信算法计算,按照权重优先级将数据请求写入至指定偏移的内存映射地址中。内存地址映射通过物理层获取,物理层实现物理链路的资源申请、分配,并提交给传输层进行操作。
发送流程如下:
传输层接收到应用层转发的请求之后,将队列添加至请求队列中,如图2所示,分为三个环形队列,free_queue、pend_queue、done_queue。其中free_queue保存用于“自由”entry,应用层转发数据请求,从free_queue获取free_entry。假如没有free_entry,则返回上层应用重试,起到拥塞控制的作用。
获取到free_queue之后,将数据请求填充至entry,并将entry添加至pend_queue。pend_queue作用为对数据请求进行排序,等候处理线程顺序写入内存映射发送区。
处理线程将entry从pend_queue取下来,并执行数据传输,执行动作完毕之后,首先会发起中断,通知对端接收数据。并添加entry至done_queue,表明已完成传输。done_queue根据算法安排,等到对端响应接收之后,提交entry至应用层,表明传输完成。初始化entry,并添加至free_queue。
这样三条队列组成循环,完成数据请求的发送过程。
接收流程如下:
同样的,接收端接收模块也有三条环形队列:free_queue、pend_queue、done_queue。与发送流程类似。接收端中断触发数据接收线程之后。也是三个队列互相循环已完成数据接收。但方向变为由下层传递给上层。如图2所示。
中断响应接收时,从pend_queue中获取entry,将数据拷贝完成之后。添加至done_queue中,然后根据entry标志选择对应的应用层提交接收数据请求。并从free_queue中获取一个free_entry。应用层处理数据,提交至上层应用之后,再初始化entry。将entry添加至free_queue。完成接收数据的流程。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (5)
1.一种基于地址映射多路复用的通信模型,是将本地主机作为服务器端,远端主机作为客户端,服务器端和客户端地位相等,两端架构相同,都具有三层架构,分为应用层、传输层和物理层,通过地址映射,两个主机分别映射两个发送区与接收区,分别对应对端的接收区与发送区;通信模块将上层数据请求经过处理,写至发送区,对端通信模块从接收区收取实现数据单工传输,其特征在于,通过传输层的缓冲与封装,将不同的传输协议封装,统一传输、管理;且硬件层只需要实现资源获取,就可以兼容多种硬件驱动。
2.根据权利要求1所述的一种基于地址映射多路复用的通信方法,其特征在于,所述的应用层用于实现不同通信方式,并可以根据具体的通信需求,进行定制,所述的应用层通过将上层数据包请求进行拆分或者聚合,并添加特定的包头;转发至传输层进行处理。
3.根据权利要求1所述的一种基于地址映射多路复用的通信方法,其特征在于,所述的传输层接收到应用层数据请求之后,添加至传输队列中,经过传输层通信算法计算,按照权重优先级将数据请求写入至指定偏移的内存映射地址中。
4.根据权利要求1所述的一种基于地址映射多路复用的通信方法,其特征在于,所述的物理层用于获取内存地址映射,物理层实现物理链路的资源申请、分配,并提交给传输层进行操作。
5.一种基于地址映射多路复用的通信方法,包括以下步骤:
A、应用层通过将上层数据包请求进行拆分或者聚合,并添加特定的包头;转发至传输层进行处理;
B、传输层接收到应用层数据请求之后,添加至传输队列中,经过传输层通信算法计算,按照权重优先级将数据请求写入至指定偏移的内存映射地址中;
C、物理层获取内存地址映射,实现物理链路的资源申请、分配,并提交给传输层进行操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410134121.5A CN103905453A (zh) | 2014-04-04 | 2014-04-04 | 一种基于地址映射多路复用的通信模型及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410134121.5A CN103905453A (zh) | 2014-04-04 | 2014-04-04 | 一种基于地址映射多路复用的通信模型及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103905453A true CN103905453A (zh) | 2014-07-02 |
Family
ID=50996607
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410134121.5A Pending CN103905453A (zh) | 2014-04-04 | 2014-04-04 | 一种基于地址映射多路复用的通信模型及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103905453A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016090577A1 (zh) * | 2014-12-10 | 2016-06-16 | 华为技术有限公司 | 计算机及设备访问方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070083873A1 (en) * | 2005-10-06 | 2007-04-12 | Sierra Wireless, Inc. | Dynamic bus-based virtual channel multiplexing device driver architecture |
CN102821082A (zh) * | 2011-06-10 | 2012-12-12 | 成都市华为赛门铁克科技有限公司 | 一种数据传输方法、装置和*** |
CN103077148A (zh) * | 2013-01-04 | 2013-05-01 | 浪潮(北京)电子信息产业有限公司 | 一种基于pcie的主机通讯方法和主机 |
CN103312720A (zh) * | 2013-07-01 | 2013-09-18 | 华为技术有限公司 | 一种数据传输方法、设备及*** |
-
2014
- 2014-04-04 CN CN201410134121.5A patent/CN103905453A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070083873A1 (en) * | 2005-10-06 | 2007-04-12 | Sierra Wireless, Inc. | Dynamic bus-based virtual channel multiplexing device driver architecture |
CN102821082A (zh) * | 2011-06-10 | 2012-12-12 | 成都市华为赛门铁克科技有限公司 | 一种数据传输方法、装置和*** |
CN103077148A (zh) * | 2013-01-04 | 2013-05-01 | 浪潮(北京)电子信息产业有限公司 | 一种基于pcie的主机通讯方法和主机 |
CN103312720A (zh) * | 2013-07-01 | 2013-09-18 | 华为技术有限公司 | 一种数据传输方法、设备及*** |
Non-Patent Citations (1)
Title |
---|
廖寅龙等: "《FC网络通信中PCIe的接口的设计与实现》", 《航空计算技术》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016090577A1 (zh) * | 2014-12-10 | 2016-06-16 | 华为技术有限公司 | 计算机及设备访问方法 |
CN105874764A (zh) * | 2014-12-10 | 2016-08-17 | 华为技术有限公司 | 计算机及设备访问方法 |
CN105874764B (zh) * | 2014-12-10 | 2019-03-19 | 华为技术有限公司 | 计算机及设备访问方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11418629B2 (en) | Methods and systems for accessing remote digital data over a wide area network (WAN) | |
CN102334112B (zh) | 用于虚拟机网络的方法和*** | |
JP5991424B2 (ja) | パケット書換装置、制御装置、通信システム、パケット送信方法及びプログラム | |
US6799220B1 (en) | Tunneling management messages over a channel architecture network | |
US7996583B2 (en) | Multiple context single logic virtual host channel adapter supporting multiple transport protocols | |
US9215175B2 (en) | Computer system including controller and plurality of switches and communication method in computer system | |
US8649387B2 (en) | Method and system for fibre channel and ethernet interworking | |
US9544182B2 (en) | Monitoring gateway systems and methods for openflow type networks | |
CN105376154A (zh) | 渐进式mac地址学习 | |
CN108632145B (zh) | 一种报文转发方法和叶子节点设备 | |
EP2003823A1 (en) | Autonegotiation over an interface for which no autonegotiation standard exists | |
US20080059686A1 (en) | Multiple context single logic virtual host channel adapter supporting multiple transport protocols | |
US9467374B2 (en) | Supporting multiple IEC-101/IEC-104 masters on an IEC-101/IEC-104 translation gateway | |
US10922250B2 (en) | Monitoring and steering service requests to acceleration components | |
KR20160095554A (ko) | Sdn 기반의 물리 주소 결정장치 및 그 방법 | |
US20030182440A1 (en) | Network processor with high-speed transceiver | |
US8838782B2 (en) | Network protocol processing system and network protocol processing method | |
US10326696B2 (en) | Transmission of messages by acceleration components configured to accelerate a service | |
CN108011797B (zh) | 一种基于1553b协议的以太网通信*** | |
CN115002023A (zh) | 一种链路聚合方法、链路聚合装置、电子设备及存储介质 | |
CN114866477A (zh) | 一种网络设备拥塞控制机制的测试方法、***及设备 | |
US9143580B2 (en) | Brokering and provisioning in high-speed networks | |
CN103905453A (zh) | 一种基于地址映射多路复用的通信模型及方法 | |
CN102075433B (zh) | 异构gnss平台数据路由方法及*** | |
CN108011798B (zh) | 一种nc与rt的数据通信方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20140702 |
|
WD01 | Invention patent application deemed withdrawn after publication |