CN107404546B - 一种sdn网络内的通信方法及装置 - Google Patents

一种sdn网络内的通信方法及装置 Download PDF

Info

Publication number
CN107404546B
CN107404546B CN201710667608.3A CN201710667608A CN107404546B CN 107404546 B CN107404546 B CN 107404546B CN 201710667608 A CN201710667608 A CN 201710667608A CN 107404546 B CN107404546 B CN 107404546B
Authority
CN
China
Prior art keywords
host
sdn
mac address
forwarding
forwarded
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
CN201710667608.3A
Other languages
English (en)
Other versions
CN107404546A (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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to CN201710667608.3A priority Critical patent/CN107404546B/zh
Publication of CN107404546A publication Critical patent/CN107404546A/zh
Application granted granted Critical
Publication of CN107404546B publication Critical patent/CN107404546B/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
    • 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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables
    • 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
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/622Layer-2 addresses, e.g. medium access control [MAC] addresses

Landscapes

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

Abstract

本发明公开了一种SDN网络内的通信方法及装置,应用于SDN网络,所述SDN网络包括SDN控制器及SDN转发设备,包括:接收源主机发起的第一ARP请求;根据所述第一ARP请求判断所述SDN控制器上是否存在匹配所述第一ARP请求的转发表项;若没有,则针对所述目标主机发起第二ARP请求;接收所述目标主机的第二ARP响应,根据所述第一ARP请求和所述第二ARP响应生成转发流表;下发针对所述第一ARP请求的第一ARP响应以及所述转发流表至所述SDN转发设备;通过所述SDN转发设备下发所述第一ARP响应至所述源主机,所述源主机根据所述第一ARP响应生成待转发数据报文,并发送待转发数据报文至所述SDN转发设备,由所述SDN转发设备根据转发流表转发待转发数据报文至所述目标主机。

Description

一种SDN网络内的通信方法及装置
技术领域
本发明涉及通信领域,尤其涉及一种SDN网络内的通信方法及装置。
背景技术
SDN(Software Defined Network,软件定义网络)是一种新型网络创新架构,其中一种核心技术是OpenFlow技术,该技术通过将网络设备控制面与转发面分离开来,从而实现了网络流量的灵活控制,为网络应用的创新提供了良好的技术条件。
OpenFlow是一种新型网络技术,该技术通过流表实现用户或程序对网络处理行为的控制。OpenFlow络实现了数据转发层和控制层的分离。其中OpenFlow交换机实现数据层的转发,SDN控制器实现控制层的功能。控制器通过OpenFlow协议对SDN转发设备(OpenFlow交换机)进行控制,从而实现对整个网络进行集中控制。
在TCP/IP网络中,数据需要在各个网络节点间被转发,以使得网络的使用方即信息点实现信息的互通,例如一个数据中心有多个服务器之间需要由交换机和路由器组成的网络系统实现互相通信,也可通过该网络同外部网络通信。传统网络中实现该通信的基础是二层交换和三层路由,二层交换就是通过数据报文的MAC地址进行的交换,三层路由是通过数据包的IP地址进行的路由转发。传统的网络可以将网络清晰的分层并基于分层独立的处理,但是也有一些问题,例如当分属于两个网段的信息点通信时,需要通过“网关”进行转发,一般情况下报文要在沿途经过的所有网关上进行MAC地址的替换,无疑即增加了处理延迟和端到端的处理复杂度,而且网关之间需要建立静态路由或动态协商路由才能实现网关、网段之间的信息点互通。在传统网络即非SDN的网络形态需要在每个设备上进行独立的配置,且设备间的配置需要严格对应和协同,对操作者的技能要求较高,容易出错,配置难以进行整体的记录和可视化呈现,更改配置较困难,无法适应现今对网络可视化、自动化、弹性化、敏捷化、联动化和智能化的要求。
发明内容
有鉴于此,本发明的目的是提供一种SDN网络内的通信方法及装置。以提高数据转发的高效以及传输的准确性。
本发明实施方式中提供的一种SDN网络内的通信方法,应用于SDN网络,所述SDN网络包括SDN控制器及SDN转发设备,所述方法包括:
接收源主机发起的第一ARP请求;
根据所述第一ARP请求判断所述SDN控制器上是否存在匹配所述第一ARP请求的转发表项;
若没有,则针对所述目标主机发起第二ARP请求;
接收所述目标主机的第二ARP响应,根据所述第一ARP请求和所述第二ARP响应生成转发流表;
下发针对所述第一ARP请求的第一ARP响应以及所述转发流表至所述SDN转发设备;
通过所述SDN转发设备下发所述第一ARP响应至所述源主机,所述源主机根据所述第一ARP响应生成待转发数据报文,并发送所述待转发数据报文至所述SDN转发设备,由所述SDN转发设备根据所述转发流表转发所述待转发数据报文至所述目标主机。
优选的,所述接收源主机发起的第一ARP请求的步骤之后还包括:判断所述源主机和所述目标主机是否属于同一网段。
优选的,所述方法包括:当所述源主机和所述目标主机属于同一网段时,所述第一ARP响应根据所述第二ARP响应生成并包括所述目标主机的MAC地址;当所述源主机和所述目标主机不属于同一网段时,所述第一ARP响应包括所述源主机所在网关的MAC地址。
优选的,所述方法包括:当所述源主机和所述目标主机属于同一网段时,所述待转发数据中的源MAC地址为源主机的MAC地址,所述待转发数据中的目的MAC地址为目标主机的MAC地址;当所述源主机和所述目标主机不属于同一网段时,所述待转发数据报文中的源MAC地址为源主机MAC地址,所述待转发数据中的目的MAC地址为源主机所在网关的MAC地址,所述发送所述待转发数据报文至所述SDN转发设备的步骤之后还包括:将所述待转发数据报文中的源MAC地址替换为目标主机所在网关的MAC地址,将所述待转发数据报文中的目的MAC地址替换为目标主机的MAC。
优选的,所述根据所述ARP请求判断所述SDN控制器上是否存在匹配所述ARP请求的转发表项的步骤之前,还包括:根据访问控制策略建立网关之间的静态路由关系;根据预设的访问控制策略判断所述源主机和所述目标主机是否允许通信;若否,则丢弃该ARP请求。
本发明实施方式中提供的一种SDN网络内的通信装置,应用于SDN网络,所述SDN网络包括SDN控制器及SDN转发设备,其特征在于,所述SDN网络内的通信装置包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的通信程序,所述通信程序被所述处理器执行时实现如下步骤:
接收源主机发起的第一ARP请求;
根据所述第一ARP请求判断所述SDN控制器上是否存在匹配所述第一ARP请求的转发表项;
若没有,则针对所述目标主机发起第二ARP请求;
接收所述目标主机的第二ARP响应,根据所述第一ARP请求和所述第二ARP响应生成转发流表;
下发针对所述第一ARP请求的第一ARP响应以及所述转发流表至所述SDN转发设备;
通过所述SDN转发设备下发所述第一ARP响应至所述源主机,所述源主机根据所述第一ARP响应生成待转发数据报文,并发送所述待转发数据报文至所述SDN转发设备,由所述SDN转发设备根据所述转发流表转发所述待转发数据报文至所述目标主机。
优选的,所述接收源主机发起的第一ARP请求的步骤之后,所述处理器还用于执行所述通信程序,以实现如下步骤:判断所述源主机和所述目标主机是否属于同一网段。
优选的,所述处理器还用于执行所述通信程序,以实现如下步骤:当所述源主机和所述目标主机属于同一网段时,所述第一ARP响应根据所述第二ARP响应生成并包括所述目标主机的MAC地址;当所述源主机和所述目标主机不属于同一网段时,所述第一ARP响应包括所述源主机所在网关的MAC地址。
优选的,所述处理器还用于执行所述通信程序,以实现如下步骤:当所述源主机和所述目标主机属于同一网段时,所述待转发数据中的源MAC地址为源主机的MAC地址,所述待转发数据中的目的MAC地址为目标主机的MAC地址;当所述源主机和所述目标主机不属于同一网段时,所述待转发数据报文中的源MAC地址为源主机MAC地址,所述待转发数据中的目的MAC地址为源主机所在网关的MAC地址,所述发送所述待转发数据报文至所述SDN转发设备的步骤之后还包括:将所述待转发数据报文中的源MAC地址替换为目标主机所在网关的MAC地址,将所述待转发数据报文中的目的MAC地址替换为目标主机的MAC。
优选的,在所述根据所述ARP请求判断所述SDN控制器上是否存在匹配所述ARP请求的转发表项的步骤之前,所述处理器还用于执行所述通信程序,以实现如下步骤:根据访问控制策略建立网关之间的静态路由关系;根据预设的访问控制策略判断所述源主机和所述目标主机是否允许通信;若否,则丢弃该ARP请求。
上述SDN网络内的通信方法及装置,实现了数据报文的高效转发,特别是针对不属于同一网段的两主机之间的通信,通过上述方法,避免了传统网络中每一跳网关均需要的MAC地址替换的操作,提高了数据转发的高效以及传输的准确性。
以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。
附图说明
图1为本发明一种SDN网络内的通信装置10一实施方式的应用环境图。
图2为本发明一种SDN网络内的通信方法一实施方式的流程图。
图3为本发明SDN网络内的通信装置10一实施方式的功能模块图。
图4为本发明SDN网络内的通信装置10又一实施方式的功能模块图。
主要元件符号说明
SDN网络内的通信装置 10
SDN控制器 1
SDN转发设备 2
主机 3
信息接收模块 100
判断模块 102
信息发送模块 104
流表生成模块 106
存储器 108
处理器 110
如下具体实施方式将结合上述附图进一步说明本发明。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明一种SDN网络内的通信装置10一实施方式的应用环境图。在本实施方式中,SDN网络内的通信装置10应用于SDN网络,该SDN网络包括SDN控制器1、SDN转发设备2,以及连接SDN转发设备2的主机3,其中SDN转发设备2可以为SDN交换机,而主机3可以是各种PC机或者其他智能上网终端设备。在上述SDN网络中,各个主机3均可以通过上述SDN网络中的各个设备进行相互的通信。
图2为本发明一种SDN网络内的通信方法一实施方式的流程图,应用于上述SDN网络,描述了主机3中的一个源主机和一个目标主机之间的通信过程。如图2所示,本发明实施例提供的SDN网络内的通信方法,可以包括如下步骤:
步骤S200:接收源主机发起的第一ARP请求。
在网络通信的过程中,无论是通过二层数据转发还是三层数据转发,最终都是通过物理端口实现数据封包的转发,即待转发的数据报文中必须包括一个目的MAC(mediaaccess control)地址并发送到物理端口上。一般情况下,源主机会查看自身存储的ARP表中是否存在目的主机的MAC地址,如果存在目的主机的MAC地址,则直接构建待转发数据报文,包括源IP、源MAC、目的IP、目的MAC,分别对应源主机的IP(Internet Protocol)地址、源主机的MAC地址、目的主机的IP地址、目的主机的MAC地址。如果源主机的ARP表中不存在目的主机的MAC地址,则源主机会发起ARP请求以获取目的主机的MAC地址,进而构建待转发数据报文,其中ARP请求包括源主机的IP和目的主机的IP(在ARP报文中对应的字段的定义是目标主机的IP),在本实施方式中,该ARP请求称之为第一ARP请求。
步骤S202,根据所述第一ARP请求判断所述SDN控制器1上是否存在匹配所述第一ARP请求的转发表项。
在SDN网络中,SDN控制器1上一般会存储针对待转发数据报文的转发表项,并根据这些待转发表项生成转发流表,进而下发转发流表至SDN转发设备2(如SDN交换机)以实现数据报文的转发。在本实施方式中,第一ARP请求包括了源主机IP和目标主机IP,可以使SDN控制器1根据源主机IP和目标主机IP去判断是否存在匹配的转发表项。
步骤S204,若没有,则针对所述目标主机发起第二ARP请求。
在本实施方式中,一旦SDN控制器1上判断存在匹配第一ARP请求的转发表项,则根据匹配的转发表项不仅可以直接回复源主机所需要的MAC地址以构建待转发数据报文,而且还可以据此生成转发流表,下发到转发路径上各个SDN转发设备2上,以使得各个SDN转发设备2根据转发流表实施待转发数据报文的转发。然而一旦SDN控制器1上判断不存在匹配第一ARP请求的转发表项,那么SDN控制器1需要发起第二次ARP请求以获取待转发数据报文所需的目的MAC。
步骤S206,接收所述目标主机的第二ARP响应,根据所述第一ARP请求和所述第二ARP响应生成转发流表。
在本实施方式中,所述目标主机回复的第二ARP响应包括了目标主机的MAC地址,再结合第一ARP请求中的源IP、目标IP,源MAC信息即可以生成转发表项,并根据生成的转发表项生成相应的转发流表。
步骤S208,下发所述第一ARP请求的第一ARP响应以及所述转发流表至所述SDN转发设备2。
步骤S210,通过所述SDN转发设备2下发所述第一ARP响应至所述源主机,所述源主机根据所述第一ARP响应生成待转发数据报文,并发送所述待转发数据报文至所述SDN转发设备2,由所述SDN转发设备2根据所述转发流表转发所述待转发数据报文至所述目标主机。
基于图2所示的SDN网络内的通信方法,本申请提出了更进一步的改进。即在步骤S200接收源主机发起的第一ARP请求之后,还增加一步骤:判断所述源主机和所述目标主机是否属于同一网段。
当判断出源主机和目标主机属于同一网段且SDN控制器1不存在匹配第一ARP请求的转发表项时,其中第一ARP响应则是根据上述第二ARP响应生成并包括所述目标主机的MAC地址。此时,所述待转发数据中的源MAC地址为源主机的MAC地址,所述待转发数据中的目的MAC地址为目标主机的MAC地址。由于此时源主机和目标主机属于同一网段,不涉及三层数据的转发,故SDN转发设备2无需再进行MAC地址的替换即可依据转发流表进行待转发数据报文的转发。
当所述源主机和所述目标主机不属于同一网段时,此时的数据转发必定涉及三层数据转发,即需要通过网关进行数据转发。如此,第一ARP请求请求的是源主机所在网段的MAC地址。由于SDN网络的性质,SDN控制器1知悉其上所有网关的MAC地址,即SDN控制器1可以直接对第一ARP请求作出的响应。故所述第一ARP响应包括所述源主机所在网关的MAC地址。当然,第二ARP响应获取的仍然是目标主机的MAC地址。
当所述源主机和所述目标主机不属于同一网段时,且源主机收到第一ARP响应后,构建待转发数据报文,其中待转发数据中的源MAC地址为源主机MAC地址,所述待转发数据中的目的MAC地址为源主机所在网关的MAC地址。当待转发数据报文发送到SDN转发设备2上后,SDN转发设备2将所述待转发数据中的源MAC地址替换为目的主机所在网关的MAC地址,将所述待转发数据报文中的目的MAC地址替换为转发报文目的主机的MAC。
通过实施上述SDN网络内的通信方法,实现了数据报文的高效转发,特别是针对不属于同一网段的两主机之间的通信,通过上述方法,避免了传统网络中每一跳网关均需要的MAC地址替换的操作,提高了数据转发的高效以及传输的准确性。
图3是本发明SDN网络内的通信装置10一实施方式的功能模块图。其中,SDN网络内通信装置10包括信息接收模块100、判断模块102、信息发送模块104、流表生成模块106。
信息接收模块100用于接收源主机发起的第一ARP请求。
在网络通信的过程中,无论是通过二层数据转发还是三层数据转发,最终都是通过物理端口实现数据封包的转发,即待转发的数据报文中必须包括一个目的MAC(mediaaccess control)地址并发送到物理端口上。一般情况下,源主机会查看自身存储的ARP表中是否存在目的主机的MAC地址,如果存在目的主机的MAC地址,则直接构建待转发数据报文,包括源IP、源MAC、目的IP、目的MAC,分别对应源主机的IP(Internet Protocol)地址、源主机的MAC地址、目的主机的IP地址、目的主机的MAC地址。如果源主机的ARP表中不存在目的主机的MAC地址,则源主机会发起ARP请求以获取目的主机的MAC地址,进而构建待转发数据报文,其中ARP请求包括源主机的IP和目的主机的IP(在ARP报文中对应的字段的定义是目标主机的IP),在本实施方式中,该ARP请求称之为第一ARP请求。
判断模块102用以根据所述第一ARP请求判断所述SDN控制器1上是否存在匹配所述第一ARP请求的转发表项。
在SDN网络中,SDN控制器1上一般会存储针对待转发数据报文的转发表项,并根据这些待转发表项生成转发流表,进而下发转发流表至SDN转发设备2(如SDN交换机)以实现数据报文的转发。在本实施方式中,第一ARP请求包括了源主机IP和目标主机IP,可以使SDN控制器1根据源主机IP和目标主机IP去判断是否存在匹配的转发表项。
信息发送模块104在SDN控制器1上不存在匹配所述第一ARP请求的转发表项时,针对所述目标主机发起第二ARP请求。
在本实施方式中,一旦SDN控制器1上判断存在匹配第一ARP请求的转发表项,则根据匹配的转发表项不仅可以直接回复源主机所需要的MAC地址以构建待转发数据报文,而且还可以据此生成转发流表,下发到转发路径上各个SDN转发设备2上,以使得各个SDN转发设备2根据转发流表实施待转发数据报文的转发。然而一旦SDN控制器1上判断不存在匹配第一ARP请求的转发表项,那么SDN控制器1需要发起第二次ARP请求以获取待转发数据报文所需的目的MAC。
信息接收模块100还用于接收所述目标主机的第二ARP响应,在信息接收模块100接收了第二ARP响应后,流表生成模块106还根据所述第一ARP请求和所述第二ARP响应生成转发流表。
在本实施方式中,所述目标主机回复的第二ARP响应包括了目标主机的MAC地址,再结合第一ARP请求中的源IP、目标IP,源MAC信息即可以生成转发表项,并根据生成的转发表项生成相应的转发流表。
信息发送模块104还用于下发所述第一ARP请求的第一ARP响应以及所述转发流表至所述SDN转发设备2,并通过所述SDN转发设备2下发所述第一ARP响应至所述源主机。
在本实施方式中,针对第一ARP请求,SDN控制器1还是会回复相应的第一ARP响应,同时也会将转发表项下发给转发路径上相应的SDN转发设备2。所述源主机根据所述第一ARP响应生成待转发数据报文,并发送所述待转发数据报文至所述SDN转发设备2,由所述SDN转发设备2根据所述转发流表转发所述待转发数据报文至所述目标主机。
基于上述实施方式,本申请中SDN网络内通信装置10中的判断模块102还用于判断所述源主机和所述目标主机是否属于同一网段。
在判断出源主机和目标主机属于同一网段且SDN控制器1不存在匹配第一ARP请求的转发表项时,其中第一ARP响应则是根据上述第二ARP响应生成并包括所述目标主机的MAC地址。此时,所述待转发数据中的源MAC地址为源主机的MAC地址,所述待转发数据中的目的MAC地址为目的主机的MAC地址。由于此时源主机和目标主机属于同一网段,不涉及三层数据的转发,故SDN转发设备无需再进行MAC地址的替换即可依据转发流表进行待转发数据报文的转发。
在所述源主机和所述目标主机不属于同一网段时,此时的数据转发必定涉及三层数据转发,即需要通过网关进行数据转发。如此,第一ARP请求请求的是源主机所在网段的MAC地址。由于SDN网络的性质,SDN控制器1知悉其上所有网关的MAC地址,即SDN控制器1可以直接对第一ARP请求作出的响应。故所述第一ARP响应包括所述源主机所在网关的MAC地址。当然,第二ARP响应获取的仍然是目标主机的MAC地址。
在所述源主机和所述目标主机不属于同一网段时,且源主机收到第一ARP相应后,构建待转发数据报文,其中待转发数据中的源MAC地址为源主机MAC地址,所述待转发数据中的目的MAC地址为源主机所在网关的MAC地址。当待转发数据报文发送到SDN转发设备2上后,SDN转发设备2将所述待转发数据中的源MAC地址替换为目的主机所在网关的MAC地址,将所述待转发数据报文中的目的MAC地址替换为目的主机的MAC。
通过上述SDN网络内的通信装置10,实现了数据报文的高效转发,特别是针对不属于同一网段的两主机之间的通信,通过上述方法,避免了传统网络中每一跳网关均需要的MAC地址替换的操作,提高了数据转发的高效以及传输的准确性。
图4为本发明SDN网络内的通信装置10又一实施方式的功能模块图。其中SDN网络内的通信装置10应用于SDN网络,所述SDN网络包括SDN控制器1及SDN转发设备2,相比于图3所示的SDN网络内的通信装置10,图4所示功能模块图中的信息接收模块100、判断模块102、信息发送模块104、流表生成模块106以一种通信程序的形式存储于图4中存储器108上,并由图4中处理器110去执行,所述通信程序被所述处理器110执行时实现如下步骤:
接收源主机发起的第一ARP请求;
根据所述第一ARP请求判断所述SDN控制器上是否存在匹配所述第一ARP请求的转发表项;
若没有,则针对所述目的目标主机发起第二ARP请求;
接收所述目的目标主机的第二ARP响应,根据所述第一ARP请求和所述第二ARP响应生成转发流表;
下发针对所述第一ARP请求的第一ARP响应以及所述转发流表至所述SDN转发设备;
通过所述SDN转发设备下发所述第一ARP响应至所述源主机,所述源主机根据所述第一ARP响应生成待转发数据报文,并发送所述待转发数据报文至所述SDN转发设备,由所述SDN转发设备根据所述转发流表转发所述待转发数据报文至所述目标主机。
进一步的,在接收源主机发起的第一ARP请求之后,还包括一步骤:判断所述源主机和所述目标主机是否属于同一网段。
当判断出源主机和目标主机属于同一网段且SDN控制器1不存在匹配第一ARP请求的转发表项时,其中第一ARP响应则是根据上述第二ARP响应生成并包括所述目标主机的MAC地址。此时,所述待转发数据中的源MAC地址为源主机的MAC地址,所述待转发数据中的目的MAC地址为目标主机的MAC地址。由于此时源主机和目标主机属于同一网段,不涉及三层数据的转发,故SDN转发设备无需再进行MAC地址的替换即可依据转发流表进行待转发数据报文的转发。
当所述源主机和所述目标主机不属于同一网段时,此时的数据转发必定涉及三层数据转发,即需要通过网关进行数据转发。如此,第一ARP请求请求的是源主机所在网段的MAC地址。由于SDN网络的性质,SDN控制器1知悉其上所有网关的MAC地址,即SDN控制器1可以直接对第一ARP请求作出的响应。故所述第一ARP响应包括所述源主机所在网关的MAC地址。当然,第二ARP响应获取的仍然是目标主机的MAC地址。
在所述源主机和所述目标主机不属于同一网段时,当源主机收到第一ARP相应后,构建待转发数据报文,其中待转发数据中的源MAC地址为源主机MAC地址,所述待转发数据中的目的MAC地址为源主机所在网关的MAC地址。当待转发数据报文发送到SDN转发设备2上后,SDN转发设备2将所述待转发数据中的源MAC地址替换为目的主机所在网关的MAC地址,将所述待转发数据报文中的目的MAC地址替换为目的主机的MAC。
通过实施上述SDN网络内的通信方法,实现了数据报文的高效转发,特别是针对不属于同一网段的两主机之间的通信,通过上述方法,避免了传统网络中每一跳网关均需要的MAC地址替换的操作,提高了数据转发的高效以及传输的准确性。
本实施方式中,针对第一ARP请求,SDN控制器1还是会回复相应的第一ARP响应,同时也会将转发表项下发给转发路径上相应的SDN转发设备2。
进一步的,所述根据所述ARP请求判断所述SDN控制器上是否存在匹配所述ARP请求的转发表项的步骤之前,还包括:根据访问控制策略建立网关之间的静态路由关系;根据预设的访问控制策略判断所述源主机和所述目标主机是否允许通信;若否,则丢弃该ARP请求。
基于上述实施例的另一方面,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或多个程序,所述一个或者多个程序可被一个或多个处理器执行,以实现上述SDN网络内的通信方法的步骤。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (6)

1.一种SDN网络内的通信方法,应用于SDN网络,所述SDN网络包括SDN控制器及SDN转发设备,其特征在于,所述方法包括:
接收源主机发起的第一ARP请求;
根据所述第一ARP请求判断所述SDN控制器上是否存在匹配所述第一ARP请求的转发表项;
若没有,则针对目标主机发起第二ARP请求;
接收所述目标主机的第二ARP响应,根据所述第一ARP请求和所述第二ARP响应生成转发流表;
下发针对所述第一ARP请求的第一ARP响应以及所述转发流表至所述SDN转发设备;
通过所述SDN转发设备下发所述第一ARP响应至所述源主机,所述源主机根据所述第一ARP响应生成待转发数据报文,并发送所述待转发数据报文至所述SDN转发设备,由所述SDN转发设备根据所述转发流表转发所述待转发数据报文至所述目标主机;
所述接收源主机发起的第一ARP请求的步骤之后还包括:
判断所述源主机和所述目标主机是否属于同一网段;
当所述源主机和所述目标主机属于同一网段时,所述第一ARP响应根据所述第二ARP响应生成并包括所述目标主机的MAC地址;
当所述源主机和所述目标主机不属于同一网段时,所述第一ARP响应包括所述源主机所在网关的MAC地址。
2.如权利要求1所述的SDN网络内的通信方法,其特征在于,所述方法包括:
当所述源主机和所述目标主机属于同一网段时,所述待转发数据中的源MAC地址为源主机的MAC地址,所述待转发数据中的目的MAC地址为所述目标主机的MAC地址;
当所述源主机和所述目标主机不属于同一网段时,所述待转发数据报文中的源MAC地址为源主机MAC地址,所述待转发数据中的目的MAC地址为源主机所在网关的MAC地址,所述发送所述待转发数据报文至所述SDN转发设备的步骤之后还包括:将所述待转发数据报文中的源MAC地址替换为目标主机所在网关的MAC地址,将所述待转发数据报文中的目的MAC地址替换为目标主机的MAC。
3.如权利要求1所述的SDN网络内的通信方法,其特征在于,所述根据所述ARP请求判断所述SDN控制器上是否存在匹配所述ARP请求的转发表项的步骤之前,还包括:
根据访问控制策略建立网关之间的静态路由关系;
根据预设的访问控制策略判断所述源主机和所述目标主机是否允许通信;
若否,则丢弃该ARP请求。
4.一种SDN网络内的通信装置,应用于SDN网络,所述SDN网络包括SDN控制器及SDN转发设备,其特征在于,所述SDN网络内的通信装置包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的通信程序,所述通信程序被所述处理器执行时实现如下步骤:
接收源主机发起的第一ARP请求;
根据所述第一ARP请求判断所述SDN控制器上是否存在匹配所述第一ARP请求的转发表项;
若没有,则针对目标主机发起第二ARP请求;
接收所述目标主机的第二ARP响应,根据所述第一ARP请求和所述第二ARP响应生成转发流表;
下发针对所述第一ARP请求的第一ARP响应以及所述转发流表至所述SDN转发设备;
通过所述SDN转发设备下发所述第一ARP响应至所述源主机,所述源主机根据所述第一ARP响应生成待转发数据报文,并发送所述待转发数据报文至所述SDN转发设备,由所述SDN转发设备根据所述转发流表转发所述待转发数据报文至所述目标主机;
所述接收源主机发起的第一ARP请求的步骤之后还包括:
判断所述源主机和所述目标主机是否属于同一网段;
当所述源主机和所述目标主机属于同一网段时,所述第一ARP响应根据所述第二ARP响应生成并包括所述目标主机的MAC地址;
当所述源主机和所述目标主机不属于同一网段时,所述第一ARP响应包括所述源主机所在网关的MAC地址。
5.如权利要求4所述的SDN网络内的通信装置,其特征在于,所述处理器还用于执行所述通信程序,以实现如下步骤:
当所述源主机和所述目标主机属于同一网段时,所述待转发数据中的源MAC地址为源主机的MAC地址,所述待转发数据中的目的MAC地址为所述目标主机的MAC地址;
当所述源主机和所述目标主机不属于同一网段时,所述待转发数据报文中的源MAC地址为源主机MAC地址,所述待转发数据中的目的MAC地址为源主机所在网关的MAC地址,所述发送所述待转发数据报文至所述SDN转发设备的步骤之后还包括:将所述待转发数据报文中的源MAC地址替换为目标主机所在网关的MAC地址,将所述待转发数据报文中的目的MAC地址替换为目标主机的MAC。
6.如权利要求4所述的SDN网络内的通信装置,其特征在于,在所述根据所述ARP请求判断所述SDN控制器上是否存在匹配所述ARP请求的转发表项的步骤之前,所述处理器还用于执行所述通信程序,以实现如下步骤:
根据访问控制策略建立网关之间的静态路由关系;
根据预设的访问控制策略判断所述源主机和所述目标主机是否允许通信;
若否,则丢弃该ARP请求。
CN201710667608.3A 2017-08-07 2017-08-07 一种sdn网络内的通信方法及装置 Active CN107404546B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710667608.3A CN107404546B (zh) 2017-08-07 2017-08-07 一种sdn网络内的通信方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710667608.3A CN107404546B (zh) 2017-08-07 2017-08-07 一种sdn网络内的通信方法及装置

Publications (2)

Publication Number Publication Date
CN107404546A CN107404546A (zh) 2017-11-28
CN107404546B true CN107404546B (zh) 2022-10-14

Family

ID=60402044

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710667608.3A Active CN107404546B (zh) 2017-08-07 2017-08-07 一种sdn网络内的通信方法及装置

Country Status (1)

Country Link
CN (1) CN107404546B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102358518B1 (ko) 2019-01-15 2022-02-08 노키아 테크놀로지스 오와이 데이터 송신을 위한 헤더 정보 스와핑
CN115134299A (zh) * 2021-03-25 2022-09-30 华为技术有限公司 通信方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102938794A (zh) * 2012-11-14 2013-02-20 华为技术有限公司 地址解析协议arp消息转发方法、交换机和控制器
CN104113474A (zh) * 2013-04-22 2014-10-22 华为技术有限公司 转发路径的生成方法、控制器和系统
CN104869058A (zh) * 2015-06-04 2015-08-26 北京京东尚科信息技术有限公司 一种数据报文转发方法和装置
CN106210157A (zh) * 2015-04-30 2016-12-07 中国电信股份有限公司 抑制地址解析协议消息的方法与系统、控制器
CN106453672A (zh) * 2016-06-30 2017-02-22 平安科技(深圳)有限公司 一种实现SDN Overlay网络报文转发的方法及终端

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102938794A (zh) * 2012-11-14 2013-02-20 华为技术有限公司 地址解析协议arp消息转发方法、交换机和控制器
CN104113474A (zh) * 2013-04-22 2014-10-22 华为技术有限公司 转发路径的生成方法、控制器和系统
CN106210157A (zh) * 2015-04-30 2016-12-07 中国电信股份有限公司 抑制地址解析协议消息的方法与系统、控制器
CN104869058A (zh) * 2015-06-04 2015-08-26 北京京东尚科信息技术有限公司 一种数据报文转发方法和装置
CN106453672A (zh) * 2016-06-30 2017-02-22 平安科技(深圳)有限公司 一种实现SDN Overlay网络报文转发的方法及终端

Also Published As

Publication number Publication date
CN107404546A (zh) 2017-11-28

Similar Documents

Publication Publication Date Title
US10284466B2 (en) Service processing method, device, and system
US9571382B2 (en) Method, controller, and system for processing data packet
EP3021538B1 (en) Message transmission method, router, and service switch
EP3017569B1 (en) Virtual network
EP2643952B1 (en) Communication system, communication device, controller, and method and program for controlling forwarding path of packet flow
EP3225014B1 (en) Source ip address transparency systems and methods
EP3130092B1 (en) Proxy of routing protocols to redundant controllers
JP5994851B2 (ja) 転送装置の制御装置、転送装置の制御方法、通信システムおよびプログラム
CN105933225B (zh) 一种基于sdn的策略路由方法和系统
EP3028438B1 (en) Configuration of forwarding rules using the address resolution protocol
US20160330167A1 (en) Arp Implementation Method, Switch Device, and Control Device
US8891536B2 (en) Layer-3 services for united router farm
US11616720B2 (en) Packet processing method and system, and device
US9515927B2 (en) System and method for layer 3 proxy routing
EP2991313B1 (en) Method and system for forwarding information in distributed network
EP2899927B1 (en) Method, device and system for implementing packet routing in network
US9231848B2 (en) Method and system for an overlay management control network
JP2019519146A (ja) ルーティング確立、パケット送信
CN107404546B (zh) 一种sdn网络内的通信方法及装置
CN107465770B (zh) 一种sdn网络与非sdn网络通信的方法及装置
US10104018B2 (en) Method, apparatus, and system for controlling forwarding of service data in virtual network
WO2022089169A1 (zh) 计算路由信息发送方法、装置、设备及存储介质
CN110620715A (zh) 虚拟扩展局域网通信方法、隧道端点和控制器
CN106713146B (zh) 基于软件定义网络的实施路由器发现协议的方法、装置和系统
EP3996350A1 (en) Backup service function notification and synchronization

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