[go: up one dir, main page]

CN111756657B - 通讯系统与通讯方法 - Google Patents

通讯系统与通讯方法 Download PDF

Info

Publication number
CN111756657B
CN111756657B CN201910797914.8A CN201910797914A CN111756657B CN 111756657 B CN111756657 B CN 111756657B CN 201910797914 A CN201910797914 A CN 201910797914A CN 111756657 B CN111756657 B CN 111756657B
Authority
CN
China
Prior art keywords
host
arp
address
switch
information
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.)
Active
Application number
CN201910797914.8A
Other languages
English (en)
Other versions
CN111756657A (zh
Inventor
易剑
孙玉勤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN201910797914.8A priority Critical patent/CN111756657B/zh
Publication of CN111756657A publication Critical patent/CN111756657A/zh
Application granted granted Critical
Publication of CN111756657B publication Critical patent/CN111756657B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • H04L61/103Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本公开提供一种通讯系统与通讯方法。通讯系统包括:多台主机,每台主机设置有两个网络端口,每台主机的不同所述网络端口均上联至不同的交换机;多台交换机,其中连接有相同的所述主机的交换机设置有相同的网关IP地址;核心交换机,耦接于所述多台交换机。本公开提供的通讯系统可以使用通用协议实现主机双上联至不同品牌交换机的混合组网。

Description

通讯系统与通讯方法
技术领域
本公开涉及通讯技术领域,具体而言,涉及一种涉及主机双网卡双上联至不同交换机的混合组网的通讯系统与通讯方法。
背景技术
随着主机网络技术发展,对主机单体处理性能和网络数据吞吐量的需求越来越高,对数据中心主机接入网络时的高可用、高稳定性需求越来越强。为了保证网络服务的稳定性、增加主机的网络数据吞吐能力,通常将主机双上联接入网络交换机,以保障在任一交换机网络出现故障时不会造成主机的网络中断。
堆叠技术、主机运行路由协议技术均是常用的双上联组网解决方案。但是,堆叠技术通过厂商私有技术逻辑将两台交换机虚拟为一台交换机,使用这种组网技术必须使用相同厂商的特定型号的交换机进行组网,对厂商私有技术依赖度高,在面对某些软件问题时会出现两台交换机均无法正常工作的情况。主机运行路由协议技术需要在主机端配置复杂的路由协议,对运维人员要求较高且会对主机造成不必要的协议开销。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种通讯系统与通讯方法,用于至少在一定程度上克服由于相关技术的限制和缺陷而导致的主机双网卡上联交换机时产生的受限于交换机的厂商私有技术、配置操作复杂、无法跨厂商组网、服务器涉及大量路由协议、服务器需要按规定接入指定交换机的特定端口、服务器需要开发修改内核等一系列复杂运维问题。
根据本公开的一个方面,提供一种通讯系统,包括:
多台主机,每台主机设置有两个网络端口,每台主机的不同所述网络端口均上联至不同的交换机;
多台交换机,其中连接有相同的所述主机的交换机设置有相同的网关IP地址;
核心交换机,耦接于所述多台交换机。
在本公开的一种示例性实施例中,所述主机的两个网络端口的IP地址相同且掩码位数均为32位,且所述主机配置有两个等价的onlink路由,两个所述onlink路由分别指向所述两个网络端口。
在本公开的一种示例性实施例中,所述网关IP地址包括所述多台主机的子网。
根据本公开的一个方面,提供一种通讯方法,应用于如上述任意一项所述的通讯系统,由交换机执行,包括:
响应第一主机发来的第一ARP请求帧对所述第一主机返回包括网关ARP信息的第一ARP应答帧;
在接收到所述第一主机根据所述网关ARP信息发送的数据包时,获取所述数据包的目的IP地址,所述目的IP地址对应第二主机;
在ARP表中查询所述目的IP地址对应的第二主机ARP信息、在路由表中查询所述目的IP地址对应的第二主机路由信息;
根据所述第二主机ARP信息或所述第二主机路由信息将所述数据包发送至所述第二主机。
在本公开的一种示例性实施例中,还包括:
如果所述目的IP地址不在所述ARP表中和所述路由表中,且所述数据包的目的IP地址与网关IP地址网段一致,在网段内以广播方式发送第二ARP请求帧以查询第二主机ARP信息;
根据所述第二主机发送的第二ARP应答帧确定所述第二主机ARP信息,并基于所述第二主机ARP信息更新ARP表、生成第二主机路由表项;
根据所述第二主机路由表项更新路由表,将所述第二主机路由表项发往所述核心交换机以使所述核心交换机将所述第二主机路由表项更新到多台交换机的路由表中。
在本公开的一种示例性实施例中,还包括:
响应路由表更新消息,重新在所述路由表中查询所述目的IP地址对应的第二主机路由信息。
在本公开的一种示例性实施例中,还包括:
如果所述目的IP地址不在所述ARP表中和所述路由表中,且所述数据包的目的IP地址与网关IP地址网段不一致,将所述第二主机ARP信息通过默认路由发往所述核心交换机。
在本公开的一种示例性实施例中,所述响应第一主机发来的第一ARP请求帧对所述第一主机返回包括网关ARP信息的第一ARP应答帧包括:
根据所述第一ARP请求帧记录第一主机ARP信息;
根据所述第一主机ARP信息生成第一主机路由表项;
根据所述第一主机路由表项更新路由表,并将所述第一主机路由表项发往所述核心交换机以使所述核心交换机将所述第一主机路由表项更新到多台交换机的路由表中。
根据本公开的一个方面,提供一种通讯装置,包括:
主机应答模块,设置为响应第一主机发来的第一ARP请求帧对所述第一主机返回包括网关ARP信息的第一ARP应答帧;
目标识别模块,设置为在接收到所述第一主机根据所述网关ARP信息发送的数据包时,获取所述数据包的目的IP地址,所述目的IP地址对应第二主机;
目标查找模块,设置为在ARP表中查询所述目的IP地址对应的第二主机ARP信息、在路由表中查询所述目的IP地址对应的第二主机路由信息;
数据传递模块,根据所述第二主机ARP信息或所述第二主机路由信息将所述数据包发送至所述第二主机。
根据本公开的一个方面,提供一种交换机,与至少一个其他交换机设置有相同的网关IP地址,每台交换机连接有至少一台主机,所述主机的IP地址掩码位数为32位且设置有两个具有等价onlink路由的网络端口,包括:
存储器;以及
耦合到所属存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行如上述任意一项所述的通讯方法。
根据本公开的一个方面,提供一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现如上述任意一项所述的通讯方法。
本公开实施例通过为交换机设置相同的网关IP地址,并控制连接到同一网关的交换机对连接到这些交换机的交换机的路由表项进行网关内部转发,可以简化主机的网关查询设置,无需修改主机内核、设置复杂路由协议,使用通用通讯协议即可实现主机双上联至不同品牌型号的交换机的混合组网方案,有效降低了混合组网的方案复杂性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示意性示出本公开示例性实施例中通讯系统的方框图。
图2示意性示出本公开示例性实施例中通讯方法的流程图。
图3示意性示出本公开示例性实施例中通讯方法的交互流程图。
图4示意性示出本公开一个示例性实施例中通讯系统的方框图。
图5示意性示出图4所示通讯系统的通讯过程示意图。
图6示意性示出本公开一个示例性实施例中一种通讯装置的方框图。
图7示意性示出本公开一个示例性实施例中一种交换机的方框图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。
此外,附图仅为本公开的示意性图解,图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
下面结合附图对本公开示例实施方式进行详细说明。
图1示意性示出本公开示例性实施例中通讯系统的示意图。
参考图1,通讯系统100可以包括:
多台交换机111~11n,连接有相同主机的交换机设置有相同的网关IP地址;
多台主机121~12n,每台主机设置有两个网络端口,每台主机的不同网络端口均上联至不同的交换机;
核心交换机13,耦接于交换机111~11n。
在本公开实施例中,每两个连接有相同主机的交换机均设置有相同的网管IP地址,因此在图1所示实施例中,交换机111~11n的网关IP地址相同,且覆盖主机121~12n的子网,且主机121~12n的网络端口连接到交换机111~11n的虚拟局域网(Virtual LocalArea Network,VLAN)。此外,可以配置交换机111~11n使能ARP信息转直连路由信息功能,使交换机能够及时识别连接到本机的主机ARP信息并共享到核心交换机13连接的所有交换机,使连接同一核心交换机13的多台交换机111~11n能够共享网关内所有主机的路由信息。
在本公开一个实施例中,主机的两个网络端口的IP地址相同且掩码位数均为32位(即IP地址格式为xxxx.xxxx.xxxx.xxxx/32),且主机配置有两个等价的onlink路由,两个onlink路由分别指向两个网络端口。
Onlink路由是Centos系统中的一种工作机制,用于强制使用指定接口发起针对指定网关IP地址的ARP请求以获取网关ARP信息。在本公开的其他实施例中,可以通过其他路由方式来实现这种工作机制,本公开对此不作特殊限制。
对一个网络端口而言,IP地址的掩码位数为32位意味着该网络端口处于独立广播域,无法直接对外发送数据包(因为仅能对同一广播域内的网络端口直接发送数据包),仅能受onlink路由控制对外发送数据包。对于一台主机而言,由于两个网络端口分别对应两个onlink路由,且两个onlink路由等价,主机发送数据包时,选择任一onlink路由及其对应网络端口的概率相等,可以在无需配置路由协议的情况下实现两个网络端口的负载均衡。
在一个实施例中,可以将主机的两块网卡绑定相同的/32位掩码IP地址,通过设置onlink路由参数强制设置两个网络端口的目的IP地址均为网关IP地址,从而控制各网络端口只能与交换机通信。
由于各网络端口只能与交换机通信,且多台交换机设置有相同的网关IP地址,通过共享网关内所有主机的路由信息即可通过一般通讯协议实现网关内不同主机之间的数据包转发,对交换机品牌型号没有要求,对主机核心代码没有修改,即使主机变更接入同一交换机的接口,也无需更改路由配置。即通讯系统100所示的主机双上联组网方案使用通用协议就可以允许主机接入不同厂商、不同型号的交换机来实现组网。
在本公开实施例中,主机可以采用Centos7.4及以上版本的操作系统,以实现基于源/目的IP地址和源/目的端口的HASH算法,达到优化双网卡流量负载均衡效果。
对应于图1所示的通讯系统,本公开实施例提供了一种应用于交换机的通讯方法。
图2是通讯方法200的流程图。参考图2,通讯方法200可以包括:
步骤S1,响应第一主机发来的第一ARP请求帧对所述第一主机返回包括网关ARP信息的第一ARP应答帧;
步骤S2,在接收到所述第一主机根据所述网关ARP信息发送的数据包时,获取所述数据包的目的IP地址,所述目的IP地址对应第二主机;
步骤S3,在ARP表中查询所述目的IP地址对应的第二主机ARP信息、在路由表中查询所述目的IP地址对应的第二主机路由信息;
步骤S4,根据所述第二主机ARP信息或所述第二主机路由信息将所述数据包发送至所述第二主机。
下面对方法200的各步骤进行详细说明,需要参考图1以便于理解该过程。
在步骤S1,由于第一主机121的IP地址掩码为32位,处于独立广播域,因此第一主机121想要对外发送数据包首先需要与网关进行通信,然后通过连接的交换机来转发数据包。第一ARP请求帧是第一主机121随机通过一个onlink等价路由向一个网络端口以广播方式发送的,目的IP地址是网关IP地址(通过onlink路由参数强制配置),其目的是查找网关ARP信息(网关IP地址与网关MAC地址的对应关系)。
交换机111或交换机112(下文默认为交换机111)接收到第一ARP请求帧时,通过第一ARP应答帧对第一主机121发送网关ARP信息。同时,由于各交换机均配置了ARP信息转直连路由信息功能,交换机111可以根据该第一ARP请求帧学习到第一主机121的ARP信息(IP地址与MAC信息的对应关系),并将第一主机121的ARP信息直接转换为第一主机121的32位主机路由地址,生成第一主机121的路由表项(直连路由信息)。之后,交换机111根据第一主机121的路由表项更新本地路由表,并将该路由表项上传至核心交换机13,使核心交换机13将第一主机121的路由表项同步至其他所有主机122~12n,实现网关内路由信息的共享。其他交换机接收到第一主机121的路由表项时,更新本地路由表,记录该非直连路由信息。
在步骤S2,第一主机121根据网关ARP信息对交换机111发送数据包,目的IP地址是第二主机122的IP地址,即第一主机121通过交换机111对第二主机122发送数据包。交换机111在接收到该数据包时,获取数据包的目的IP地址。
其中,第一主机121根据网关ARP信息对交换机111发送数据包的具体操作是:在接到第一ARP应答帧后,第一主机121根据网关ARP信息获得网关MAC地址,根据该网关MAC地址对数据包进行数据帧封装,把数据包中的目的MAC地址改为网关MAC地址,将数据包的目的IP地址设置为数据包的目的地——第二主机122的IP地址,然后将数据包发送给交换机111。
在步骤S3,交换机111在接收到目的MAC地址为网关MAC地址的数据包后,根据数据包中记录的目的IP地址在本地ARP表、路由表中查询该目的IP地址的对应项。在ARP表中,目的IP地址的对应项是第二主机122的MAC地址;在路由表中,目的IP地址的对应项是第二主机122连接的交换机以及交换机端口。
在一些实施例中,交换机111先查ARP表、再查路由表,如果没有查找到该目的IP地址的对应项,则判断目的IP地址与网关IP地址网段是否一致,如果一致,在网段内以广播方式发送第二ARP请求帧以查询第二主机ARP信息;如果不一致,将数据包通过默认路由发往核心交换机13。
一般而言,只要第二主机122连接在核心交换机13下的任意一台交换机上(即第二主机122的IP地址在网关IP地址的网段内),且与该交换机产生过通讯,即会被该交换机记录到ARP信息进而产生第二主机路由信息。由于各交换机的路由信息共享,所以交换机111通常可以在路由表中查找到第二主机122的路由信息。在一些情况下,第二主机122虽然连接在该网段内,但是从未与交换机通讯过。在此情况下,第二主机122接收交换机111发送的第二ARP请求帧后,确定该目的IP地址对应的主机是自己,则随机向一个网络端口以单播方式发送一个包括第二主机ARP信息的第二ARP应答帧。
不论该第二ARP应答帧到达哪台交换机,该交换机均会根据该第二ARP应答帧学习到第二主机ARP信息,进而产生第二主机路由表项,使用该第二主机路由表项更新本地路由表后,将该第二主机路由表项发送到核心交换机13,使连接在核心交换机13上的其他交换机均能接收到该第二主机路由表项进而更新本地路由表。
此时,交换机111可以响应路由表更新消息重新查表,查找到刚刚更新的第二主机路由表项。
在步骤S4,无论是一次查到第二主机ARP信息/第二主机路由表项,还是通过第二ARP请求帧获取到第二主机路由表项,交换机111在获得该目的IP地址对应的信息后,根据该对应信息(第二主机ARP信息/第二主机路由表项)将数据包发往第二主机121。
如果第二主机122直连在交换机111上,则交换机111直接将数据包发送到第二主机122上;如果第二主机121连接到其他交换机上,则家换机111根据第二主机路由信息或第二主机ARP信息将数据包发送到核心交换机13,由核心交换机13将数据包转发到第二主机122。
图3是上述过程的交互流程图。
参考图3,第一主机121将数据包发送到第二主机122的过程主要可以包括:
步骤S301,第一主机121对连接的交换机111发送第一ARP请求帧,目的IP地址是网关IP地址;
步骤S302,交换机111对第一主机121发送包括网关ARP信息(网关MAC地址)的第一ARP应答帧;
步骤S303,第一主机121发送数据包,目的IP地址是第二主机IP地址,目的MAC地址是网关MAC地址;
步骤S304,交换机111查询ARP表和路由表以获取第二主机IP地址的对应项,如果查询到,进入步骤S305对第二主机122发送数据包;如果没有查询到,进入步骤S306;
步骤S306,交换机111判断第二主机IP地址与网关IP地址是否在同一网段,如果否,进入步骤S307通过默认路由将该数据包发送到核心交换机13,如果是,进入步骤S308以广播方式发送第二ARP请求帧;
步骤S309,第二主机122在判断第二ARP请求帧中的目的IP地址是自己的IP地址时,对上联的交换机111或交换机112发送包括第二主机ARP信息的第二ARP应答帧;
步骤S310A,交换机111接收到第二ARP应答帧,根据第二ARP应答帧中的第二主机ARP信息生成第二主机路由表项,更新本地路由表后将第二主机路由表项上传到核心交换机13,核心交换机13将第二主机路由表项同步给其他交换机,返回步骤S304重新查表。
步骤S310B,交换机112接收到第二ARP应答帧,根据第二ARP应答帧中的第二主机ARP信息生成第二主机路由表项,更新本地路由表后将第二主机路由表项上传到核心交换机13,核心交换机13将第二主机路由表项同步给其他交换机,返回步骤S304重新查表。
第二主机122如果需要对来自第一主机121的数据包进行回应,可以对第一主机121发送数据包。由于各主机的IP地址掩码均为32位,因此第二主机122对外发送数据包的过程依然是通过onlink等价路由随机向一个网络端口转发数据包。该数据包可能到达交换机111,也可能到达其他交换机,由于各交换机共享路由信息,因此如果数据包没有直接到达交换机111,而是到达交换机112,则交换机112按照ARP表或路由表的记载项将该数据包发送到核心交换机13,有核心交换机13将数据包转发到目的IP地址(第一主机121)。
图4是本公开一个实施例中的通讯系统示意图。
参考图4,在通讯系统400中,主机为服务器,服务器421双上联至交换机411和交换机412,服务器422双上联至交换机411和交换机412,交换机411和交换机412均上联至核心交换机43。各服务器、交换机的设置与通讯系统100相同。
图5是图4所示通讯系统的通讯过程示意图。
参考图5,在服务器421需要向服务器422发送数据包时,首先随机选择一个网络端口(例如连接交换机411的网络端口)发送第一ARP请求帧,以获取网关ARP信息。交换机411获取第一ARP请求帧中的目的IP地址,在判断目的IP地址与网关IP地址相同时,对服务器421发送第一ARP应答帧以告知网关ARP信息。服务器421根据第一ARP应答帧中的网关ARP信息(网关MAC地址)重新封装数据包,并将数据包发送给交换机411。
交换机411提取数据包内的目的IP地址,在本地ARP表或路由表中查询该目的IP地址对应的ARP信息或路由表项。如果查询到目的IP地址的对应信息,则直接按照该ARP信息或路由表项将数据包发送给服务器422,例如,根据ARP信息或直连路由表项对服务器422直接发送数据包,根据非直连路由表项对核心交换机43发送数据包,以便由核心交换机43将该数据包发往服务器422。如果没有查询到目的IP地址的对应信息,则在判断该目的IP地址与网关IP地址在同一网段时对网关内的所有服务器发送第二ARP请求帧,以获取目的IP地址对应的主机的ARP信息。
服务器422接收到第二ARP请求帧后,判断其中的目的IP地址是自己,则随机选择一个网络端口发送第二ARP应答帧以告知服务器422的ARP信息,如果第二ARP应答帧到达交换机411,则交换机411学习到服务器422的ARP信息后生成服务器422的路由表项,根据服务器422的路由表项更新路由表,并将该路由表项同步至核心交换机43。
如果第二ARP应答帧到达交换机412,则交换机412学习到服务器422的ARP信息后生成服务器422的路由表项,根据服务器422的路由表项更新路由表,并将该路由表项同步至核心交换机43。核心交换机43将服务器422的路由表项同步至交换机411,交换机411响应路由表更新消息重新查表,查到刚刚更新的服务器422的路由表项,根据该路由表项判断服务器422为非直连服务器,将数据包发往核心交换机43以便转发到服务器422。
通过以上机制,主机仅需以网关IP地址发送ARP请求帧,交换机通过标准协议机制即可完成全部通讯过程,无需增加硬件成本和复杂的路由协议即可实现对不同品牌交换机的兼容,可以增强网络稳定性和网络吞吐能力,不用再局限使用某一厂商提供的特定技术,解耦交换机厂商实现不同厂商之间的混合组网。同时,由于仅需配置主机发送ARP请求帧的目的IP地址以及默认路由(核心交换机)的MAC地址,无需更改主机内核代码,配置简单,可以面向更多普通运维人员,使用通用技术实现灵活的主机高可用组网。在这种方案下,主机可以接入同一台交换机的任意端口,即使变动端口也不需要进行配置更改,有效地提高了运维效率。
对应于上述方法实施例,本公开还提供一种通讯装置,可以用于执行上述方法实施例。
图6示意性示出本公开一个示例性实施例中一种通讯装置的方框图。
参考图6,通讯装置600可以包括:
主机应答模块61,设置为响应第一主机发来的第一ARP请求帧对所述第一主机返回包括网关ARP信息的第一ARP应答帧;
目标识别模块62,设置为在接收到所述第一主机根据所述网关ARP信息发送的数据包时,获取所述数据包的目的IP地址,所述目的IP地址对应第二主机;
目标查找模块63,设置为在ARP表中查询所述目的IP地址对应的第二主机ARP信息、在路由表中查询所述目的IP地址对应的第二主机路由信息;
数据传递模块64,根据所述第二主机ARP信息或所述第二主机路由信息将所述数据包发送至所述第二主机。
由于装置600的各功能已在其对应的方法实施例中予以详细说明,本公开于此不再赘述。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
在本公开的示例性实施例中,还提供了一种能够实现上述方法的交换机。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
下面参照图7来描述根据本发明的这种实施方式的交换机700。图7显示的交换机700仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
交换机700与至少一个其他交换机设置有相同的网关IP地址,每台交换机连接有至少一台主机,所述主机的IP地址掩码位数为32位且设置有两个具有等价onlink路由的网络端口,
如图7所示,交换机700可以包括但不限于:
存储器;以及
耦合到所属存储器的处理器,处理器被配置为基于存储在所述存储器中的指令,执行通讯方法200。
在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或主机上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
此外,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和构思由权利要求指出。

Claims (11)

1.一种通讯系统,其特征在于,包括:
多台主机,每台主机设置有两个网络端口,每台主机的不同所述网络端口均上联至不同的交换机;
多台交换机,其中连接有相同的所述主机的交换机设置有相同的网关IP地址,所述多台交换机具有ARP信息转直连路由信息功能,共享网关内所有主机的路由信息;
核心交换机,耦接于所述多台交换机。
2.如权利要求1所述的通讯系统,其特征在于,所述主机的两个网络端口的IP地址相同且掩码位数均为32位,且所述主机配置有两个等价的onlink路由,两个所述onlink路由分别指向所述两个网络端口。
3.如权利要求1所述的通讯系统,其特征在于,所述网关IP地址包括所述多台主机的子网。
4.一种通讯方法,其特征在于,应用于如权利要求1~3任一项所述的通讯系统,由交换机执行,包括:
响应第一主机发来的第一ARP请求帧对所述第一主机返回包括网关ARP信息的第一ARP应答帧;
在接收到所述第一主机根据所述网关ARP信息发送的数据包时,获取所述数据包的目的IP地址,所述目的IP地址对应第二主机;
在ARP表中查询所述目的IP地址对应的第二主机ARP信息、在路由表中查询所述目的IP地址对应的第二主机路由信息;
根据所述第二主机ARP信息或所述第二主机路由信息将所述数据包发送至所述第二主机。
5.如权利要求4所述的通讯方法,其特征在于,还包括:
如果所述目的IP地址不在所述ARP表中和所述路由表中,且所述数据包的目的IP地址与网关IP地址网段一致,在网段内以广播方式发送第二ARP请求帧以查询第二主机ARP信息;
根据所述第二主机发送的第二ARP应答帧确定所述第二主机ARP信息,并基于所述第二主机ARP信息更新ARP表、生成第二主机路由表项;
根据所述第二主机路由表项更新路由表,将所述第二主机路由表项发往所述核心交换机以使所述核心交换机将所述第二主机路由表项更新到多台交换机的路由表中。
6.如权利要求5所述的通讯方法,其特征在于,还包括:
响应路由表更新消息,重新在所述路由表中查询所述目的IP地址对应的第二主机路由信息。
7.如权利要求4所述的通讯方法,其特征在于,还包括:
如果所述目的IP地址不在所述ARP表中和所述路由表中,且所述数据包的目的IP地址与网关IP地址网段不一致,将所述数据包通过默认路由发往所述核心交换机。
8.如权利要求4所述的通讯方法,其特征在于,所述响应第一主机发来的第一ARP请求帧对所述第一主机返回包括网关ARP信息的第一ARP应答帧包括:
根据所述第一ARP请求帧记录第一主机ARP信息;
根据所述第一主机ARP信息生成第一主机路由表项;
根据所述第一主机路由表项更新路由表,并将所述第一主机路由表项发往所述核心交换机以使所述核心交换机将所述第一主机路由表项更新到多台交换机的路由表中。
9.一种通讯装置,其特征在于,应用于如权利要求1~3任一项所述的通讯系统,设置在交换机中,包括:
主机应答模块,设置为响应第一主机发来的第一ARP请求帧对所述第一主机返回包括网关ARP信息的第一ARP应答帧;
目标识别模块,设置为在接收到所述第一主机根据所述网关ARP信息发送的数据包时,获取所述数据包的目的IP地址,所述目的IP地址对应第二主机;
目标查找模块,设置为在ARP表中查询所述目的IP地址对应的第二主机ARP信息、在路由表中查询所述目的IP地址对应的第二主机路由信息;
数据传递模块,根据所述第二主机ARP信息或所述第二主机路由信息将所述数据包发送至所述第二主机。
10.一种交换机,其特征在于,与至少一个其他交换机设置有相同的网关IP地址,每台交换机连接有至少一台主机,所述主机的IP地址掩码位数为32位且设置有两个具有等价onlink路由的网络端口,包括:
存储器;以及
耦合到所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行如权利要求4-8任一项所述的通讯方法。
11.一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现如权利要求4-8任一项所述的通讯方法。
CN201910797914.8A 2019-08-27 2019-08-27 通讯系统与通讯方法 Active CN111756657B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910797914.8A CN111756657B (zh) 2019-08-27 2019-08-27 通讯系统与通讯方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910797914.8A CN111756657B (zh) 2019-08-27 2019-08-27 通讯系统与通讯方法

Publications (2)

Publication Number Publication Date
CN111756657A CN111756657A (zh) 2020-10-09
CN111756657B true CN111756657B (zh) 2023-06-02

Family

ID=72672838

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910797914.8A Active CN111756657B (zh) 2019-08-27 2019-08-27 通讯系统与通讯方法

Country Status (1)

Country Link
CN (1) CN111756657B (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108768817A (zh) * 2018-05-22 2018-11-06 腾讯科技(深圳)有限公司 一种虚拟化网络组网系统、数据包发送方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100370740C (zh) * 2004-03-06 2008-02-20 鸿富锦精密工业(深圳)有限公司 堆叠式交换机管理方法
CN102868775B (zh) * 2012-09-06 2015-05-20 福建星网锐捷网络有限公司 地址解析协议表容量的扩展方法、报文转发方法和装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108768817A (zh) * 2018-05-22 2018-11-06 腾讯科技(深圳)有限公司 一种虚拟化网络组网系统、数据包发送方法

Also Published As

Publication number Publication date
CN111756657A (zh) 2020-10-09

Similar Documents

Publication Publication Date Title
CN108449282B (zh) 一种负载均衡方法及其装置
US8767737B2 (en) Data center network system and packet forwarding method thereof
US10630543B1 (en) Wireless mesh network implementation for IOT devices
CN102143068B (zh) 一种mac地址学习的方法,装置和系统
JP5539463B2 (ja) 既存のファイバーチャネルファブリックhba技術を利用する高性能イーサネット(登録商標)ネットワーキング
US7339895B2 (en) Gateway device and control method for communication with IP and IPV6 protocols
US8214528B2 (en) Address identifier scaling in converged networks
US20180309595A1 (en) Method for sending virtual extensible local area network packet, computer device, and computer readable medium
CN102859973B (zh) 一种地址解析的方法,装置和系统
US20150358232A1 (en) Packet Forwarding Method and VXLAN Gateway
US6778540B1 (en) Facility for forwarding data from a network adapter to a router partition without internet protocol (ip) processing
US7532620B2 (en) Routing table synchronization method, network apparatus, and routing table synchronization program
US9450914B2 (en) Distributed proxy addressing operations
CN110012118B (zh) 一种提供网络地址转换nat服务的方法及控制器
CN113438329B (zh) Mac地址发送方法、装置和系统
CN108347392B (zh) 业务报文跨板处理方法、装置及系统
CN113839862A (zh) Mclag邻居之间同步arp信息的方法、系统、终端及存储介质
CN104734930B (zh) Vlan接入vf网络的实现方法及装置、fcf
US5303238A (en) Network communications intermediate interface
US20240314040A1 (en) Method for restoring network topology and apparatus
US12003417B2 (en) Communication method and apparatus
CN111756657B (zh) 通讯系统与通讯方法
CN110798409A (zh) 流量处理方法、装置和存储介质
JP2003258859A (ja) 通信システム、通信方法、転送装置及びネットワーク管理装置
CN111865801B (zh) 一种基于Virtio端口传输数据的方法和系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant