CN102404181B - 应用链路状态路由的二层协议中的地址对应关系发送方法 - Google Patents

应用链路状态路由的二层协议中的地址对应关系发送方法 Download PDF

Info

Publication number
CN102404181B
CN102404181B CN201010275209.0A CN201010275209A CN102404181B CN 102404181 B CN102404181 B CN 102404181B CN 201010275209 A CN201010275209 A CN 201010275209A CN 102404181 B CN102404181 B CN 102404181B
Authority
CN
China
Prior art keywords
address
information
arp
correspondence relationship
existing
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
CN201010275209.0A
Other languages
English (en)
Other versions
CN102404181A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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
Priority to CN201410579799.4A priority Critical patent/CN104378302B/zh
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201010275209.0A priority patent/CN102404181B/zh
Priority to EP15151677.0A priority patent/EP2897347B1/en
Priority to EP11823010.1A priority patent/EP2600573B1/en
Priority to ES11823010.1T priority patent/ES2555409T3/es
Priority to ES15151677.0T priority patent/ES2619359T3/es
Priority to PCT/CN2011/074043 priority patent/WO2012031487A1/zh
Publication of CN102404181A publication Critical patent/CN102404181A/zh
Priority to US13/788,514 priority patent/US9749230B2/en
Application granted granted Critical
Publication of CN102404181B publication Critical patent/CN102404181B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/66Layer 2 routing, e.g. in Ethernet based MAN's
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/64Routing or path finding of packets in data switching networks using an overlay routing layer
    • 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

Abstract

本发明实施例的目的是提供一种应用链路状态路由的数据链路层协议中的地址对应关系信息发送与MAC表更新方法和装置,用以解决应用链路状态路由的数据链路层协议中地址对应关系信息请求广播占用带宽多的问题。采用本发明实施例提供的技术方案,由于除了入口网络节点的其他网络节点的地址对应关系信息表中也保存了终端设备的地址对应关系信息,当接收到地址对应关系信息请求后可以直接回应地址对应关系信息响应,不需要广播该请求,减少了应用链路状态路由的数据链路层协议中广播地址对应关系信息请求占用的带宽。

Description

应用链路状态路由的二层协议中的地址对应关系发送方法
技术领域
本发明涉及网络通信领域,尤其涉及一种应用链路状态路由的数据链路层协议中的地址对应关系信息发送与MAC表更新方法和装置。
背景技术
多连结透明互连(Transparent Interconnect of Lots of Links,TRILL)是一种应用于路由桥设备(Routing Bridges或RBridges,RB)的协议。TRILL运行在数据链路层(Data Link Layer),即开放式通信系统互联参考模型(Open System Interconnection Reference Model)中的二层。它主要整合了网桥(bridges)和路由器(Routers)的优点,将链路状态路由(Link State Routing)技术用在数据链路层,而且不会干扰上层路由器的工作。TRILL是为了替代生成树协议(Spanning TreeProtocol,STP)而诞生的。相对于STP,TRILL提高了对单播和组播在多路(Multi-Pathing)方面的支持并减低了延迟。
虽然生成树协议几十年来一直都在企业网络(Enterprise Network)中发挥了很大的作用,但它无法满足当前的某些需求,如虚拟机的实时迁移、带宽密集实时媒体应用以及通过网络中心桥接聚合网络结构。
Rbridges运行中间系统到中间系统(Intermediate system tointermediate system,IS-IS)协议,将连接信息广播到所有Rbridges。因此每个Rbridges可以知道所有其他Rbridges及它们之间的连接关系。这样就给了Rbridges足够的信息计算到任意网络节点的单播的最优路径,并可以为未知目的地址,组播或广播的帧计算分发树。
终端地址分发信息(End Station Address DistributionInformation,ESADI)协议是TRILL的一个可选项,用于终端地址的学习以及将终端地址信息分发到远端,通过扩充IS-IS的类型-长度-值(type-length-value,TLV)来进行实现。
TRILL报文的报文头如下所示
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| V | R |M|Op-Length|Hop Count|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Egress RBridge Nickname | Ingress RBridge Nickname |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Options...
+-+-+-+-+-+-+-+-+-+-+-+-
单播报文发送时,第一个收到该报文的RB为入口RB,负责进行TRILL封装。入口RB根据目的介质访问控制(Media Access Control,MAC)地址查找出转发路径上的最后一个RB,称为出口RB。入口RB将出口RB的昵称作为出口路由桥昵称(Egress Rbridge Nickname),把自己的昵称作为入口路由桥昵称(Ingress RBridge Nickname)放在TRILL头中。昵称(Nicknames)是一个动态指定的16位数,作为RBridges的IS-IS标识的缩写使用,以得到紧凑编码的效果。所有的RB之间会运行一个动态的nickname获取的协议。对于组播或广播报文来说,egress RB nickname是表示了一个分发树,该nickname是分发树的根。入口RB负责选择使用哪颗树来进行组播或广播转发。中间的RB(非入口RB和出口RB),每收到一个报文都根据出口RB来决定下一跳的RB的二层地址并把它作为外部二层报文头的目的地址,把自己的二层地址作为外部二层报文头的源地址,并递减跳计数(Hop Count)的值。尽管外部二层报文头每跳都会改变,但是原本的报文(即内层报文)的内容并不会变化。
最短路径桥接(Shortest Path Bridging,SPB)提供和TRILL类似的功能。使用基于IS-IS的链路状态路由技术来扩散和通告拓扑以及逻辑网络的成员关系,在传统以太网架构上提供了逻辑的以太网。
SPB应用MAC-in-MAC的封装方法,将客户以太网帧封装到运营商以太网帧中。
由于MAC-in-MAC增加了业务实例标签(instance tag,I-Tag)字段,运营商利用这个字段,就可以分配服务质量(Quality of Service,QoS)参数和定义用户唯一标识符(instance service identifier,I-SID)。因此,可以给每个客户流量分配唯一的I-Tag,并且可以根据客户而非虚拟局域网(Virtual Local Area Network,VLAN)执行QoS。
SPB通过2层IS-IS协议建立最短转发路径。边缘网桥是客户网络和服务提供商网络之间的接口,类似于TRILL中的RB设备。当以太报文从用户设备到达边缘网桥的时候,这类设备封装带有mac-in-mac帧头的客户以太网帧,并插入相应的目的地址对应的边缘网桥的骨干目的MAC地址(Backbone destination MAC address,B-DA),骨干VLAN标识(VLAN ID)和I-Tag。骨干网中的交换机负责根据骨干虚拟局域网标识(BackboneVLAN identifier,B-VID)使用预定路由在网络中转发帧。采用SPB的骨干网内的交换机与常规以太网交换机的不同之处在于,它们不采用STP方法。
虽然TRILL和SPB只用的封装格式不同,但是两者的用途以及方法类似,都是将链路状态路由应用在数据链路层的协议。
地址解析协议(Address Resolution Protocol,ARP)实现通过网际协议(Internet Protocol,IP)地址得知设备的物理地址的功能。在IP网络环境下,每个主机都分配了一个32位的IP地址,IP地址是在网际范围标识主机的一种逻辑地址。为了让报文在物理网络上传送,必须知道对方目的主机的物理地址,这样就存在把IP地址变换成物理地址的地址转换问题。以以太网环境为例,为了正确地向目的主机传送报文,必须把目的主机的32位的IP地址根据地址对应关系转换成为48位的以太网的地址,即MAC地址。这就需要在网络层有一组服务将IP地址转换为相应物理地址,这组协议就是ARP协议。
由于TRILL和SPB的使用,克服了原来二层网络使用STP带来的问题,从而使得更大规模的二层网络,即大二层网络成为可能。但是大二层网络又会带来其他的一些新问题,由于二层网络的扩大,网络节点数目会大大增加,如果仍然使用传统的ARP协议,那么每个主机的ARP请求都会在VLAN中进行广播,这样广播报文的流量将会占据较多的带宽。另外,边缘的RB,即连接终端设备的RB,由于需要储存所有终端设备的MAC信息,所以MAC表有可能会十分巨大。
发明内容
本发明实施例的目的是提供一种应用链路状态路由的数据链路层协议中的地址对应关系信息发送与MAC表更新方法和装置,用以解决应用链路状态路由的数据链路层协议中地址对应关系信息请求广播占用带宽多的问题。
本发明实施例的目的是通过以下技术方案实现的:
一种应用链路状态路由的数据链路层协议中的地址对应关系信息发送方法,其特征在于,包括:
网络节点接收本地链路上的地址对应关系通告报文;
根据所述地址对应关系通告报文获取第一地址对应关系信息,所述第一地址对应关系信息包括发送所述地址对应关系通告报文的终端设备的介质访问控制MAC地址、发送所述地址对应关系通告报文的终端设备的网际协议IP地址与所述网络节点的设备标识的对应关系;
当所述第一地址对应关系信息不在地址对应关系信息表中时,在所述地址对应关系信息表中记录所述第一地址对应关系信息;
通过控制平面的报文向其他网络节点发送所述第一地址对应关系信息,所述控制平面的报文使所述其他网络节点在其地址对应关系信息表中记录所述第一地址对应关系信息。
一种应用链路状态路由的数据链路层协议中的介质访问控制MAC表更新方法,其特征在于,包括:
关闭网络侧的MAC地址学习功能;
接收地址对应关系通告报文,所述地址对应关系通告报文的封装信息中包含封装所述地址对应关系通告报文的网络节点的设备标识;
根据所述地址对应关系通告报文获取第一地址对应关系信息,所述第一地址对应关系信息包括发送所述地址对应关系通告报文的终端设备的MAC地址、发送所述地址对应关系通告报文的终端设备的网际协议IP地址与所述地址对应关系通告报文中的设备标识的对应关系;
当所述第一地址对应关系信息中的IP地址与地址对应关系信息表中任意一条地址对应关系信息中的IP地址都不同时,在所述地址对应关系信息表中增加所述第一地址对应关系信息;
接收本地链路上的地址对应关系信息请求报文;
当所述地址对应关系信息请求报文中的目标地址与所述地址对应关系信息表中的一条已有地址对应关系信息中的IP地址相同时,生成所述已有地址对应关系信息对应的地址对应关系信息响应报文,向发送所述地址对应关系信息请求报文的终端设备发送所述已有地址对应关系信息对应的地址对应关系信息响应报文,根据所述已有地址对应关系信息更新MAC表。
一种应用链路状态路由的数据链路层协议中的地址对应关系信息发送装置,其特征在于,包括:
接收单元,用于网络节点接收本地链路上的地址对应关系通告报文;
获取单元,用于根据所述地址对应关系通告报文获取第一地址对应关系信息,所述第一地址对应关系信息包括发送所述地址对应关系通告报文的终端设备的介质访问控制MAC地址、发送所述地址对应关系通告报文的终端设备的网际协议IP地址与所述网络节点的设备标识的对应关系;
记录单元,用于当所述第一地址对应关系信息不在地址对应关系信息表中时,在所述地址对应关系信息表中记录所述第一地址对应关系信息;
发送单元,用于通过控制平面的报文向其他网络节点发送所述第一地址对应关系信息,所述控制平面的报文使所述其他网络节点在其地址对应关系信息表中记录所述第一地址对应关系信息。
一种应用链路状态路由的数据链路层协议中的介质访问控制MAC表更新装置,其特征在于,所述更新装置网络侧的MAC地址学习功能处于关闭状态,所述更新装置包括:
第一接收单元,用于接收地址对应关系通告报文,所述地址对应关系通告报文的封装信息中包含封装所述地址对应关系通告报文的网络节点的设备标识;
获取单元,用于根据所述地址对应关系通告报文获取第一地址对应关系信息,所述第一地址对应关系信息包括发送所述地址对应关系通告报文的终端设备的MAC地址、发送所述地址对应关系通告报文的终端设备的网际协议IP地址与所述地址对应关系通告报文中的设备标识的对应关系;
增加单元,用于当所述第一地址对应关系信息中的IP地址与地址对应关系信息表中任意一条地址对应关系信息中的IP地址都不同时,在所述地址对应关系信息表中增加所述第一地址对应关系信息;
第二接收单元,用于接收本地链路上的地址对应关系信息请求报文;
生成单元,用于当所述地址对应关系信息请求报文中的目标地址与所述地址对应关系信息表中的一条已有地址对应关系信息中的IP地址相同时,生成所述已有地址对应关系信息对应的地址对应关系信息响应报文,向发送所述地址对应关系信息请求报文的终端设备发送所述已有地址对应关系信息对应的地址对应关系信息响应报文,根据所述已有地址对应关系信息更新MAC表。
采用本发明实施例提供的技术方案,由于除了入口网络节点的其他网络节点的地址对应关系信息表中也保存了终端设备的地址对应关系信息,当接收到地址对应关系信息请求后可以直接回应地址对应关系信息响应,不需要广播该请求,减少了应用链路状态路由的数据链路层协议中广播地址对应关系信息请求占用的带宽。
附图说明
图1为本发明一个实施例中应用链路状态路由的数据链路层协议中的地址对应关系信息发送方法流程图;
图2为本发明一个实施例中应用链路状态路由的数据链路层协议中的MAC表更新方法流程图;
图3为本发明又一个实施例中应用链路状态路由的数据链路层协议中的地址对应关系信息发送装置框图;
图4为本发明一个实施例中应用链路状态路由的数据链路层协议中的MAC表更新装置框图;
图5为本发明实施例的一个具体应用场景中的地址对应关系信息发送示意图。
具体实施方式
以下结合图1说明本发明一个实施例:
图1为本发明一个实施例中应用链路状态路由的数据链路层协议中的地址对应关系信息发送方法流程图。该方法包括:
102、网络节点接收本地链路上的地址对应关系通告报文。
上述应用链路状态路由的数据链路层协议可以是TRILL,也可以是Shortest Path Bridging。
在TRILL中,该网络节点可以是接收到地址对应关系通告报文的路由桥设备。在SPB中,该网络节点可以是接收到地址对应关系通告报文的边缘网桥设备。
在TRILL中,该网络节点即地址对应关系通告报文的入口RB,也是发送该地址对应关系通告报文的终端设备今后将发送的同一个VLAN下其他报文的入口RB,因此可以简称为入口RB。在SPB中,该网络节点即地址对应关系通告报文的入口边缘网桥设备,也是发送该地址对应关系通告报文的终端设备今后将发送的同一个VLAN下其他报文的入口边缘网桥设备,因此可以简称为入口边缘网桥设备。因此,该网络节点可以统称为入口网络节点。
地址对应关系通告报文中携带有发送该地址对应关系通告报文的终端设备的MAC地址和IP地址。
在网际协议第六版(IPv6)中,地址对应关系通告报文可以是非请求邻居通告(unsolicited NA)报文。unsolicited NA报文的目标地址(Target Address)为发送该报文的终端设备的IP地址,该IP地址可以是本地IP地址或全局IP地址;目的IP地址为全网络节点组播地址(all-nodes multicast address);目标链路层地址(Target Link-LayerAddress)为发送该报文的终端设备的链路层地址,链路层地址在以太网中即为MAC地址;请求标志位(Solicited flag)置零。
在网际协议第四版(IPv4)中,地址对应关系通告报文可以是ARP报文。具体的,该ARP报文可以是免费ARP(gratuitous ARP)报文,可以是反向ARP(Reverse Address Resolution Protocol,RARP)报文,也可以是广播的ARP应答(ARP Reply)报文。免费ARP报文的报文类型是请求,发送方地址为发送该报文的终端设备的IP地址,发送方MAC地址为发送该报文的终端设备的MAC地址,目标IP地址为发送该报文的终端设备的IP地址,目标MAC地址为广播地址。广播的ARP Reply报文的格式基本相同,但报文类型是应答,目标IP地址为广播地址。RARP报文中的报文类型是请求,发送方IP地址为缺省值,例如为全零,因此第一ARP信息中的IP地址也为缺省值。
网络节点接收地址对应关系通告报文时,按照通常方式进行MAC地址学习。
104、根据所述地址对应关系通告报文获取第一地址对应关系信息,所述第一地址对应关系信息包括发送所述地址对应关系通告报文的终端设备的MAC地址、发送所述地址对应关系通告报文的终端设备的IP地址与所述网络节点的设备标识的对应关系。
第一地址对应关系信息即发送地址对应关系通告报文的终端设备的MAC地址、IP地址与该终端设备的入口网络节点的设备标识的对应关系。该终端设备的入口网络节点的设备标识就是接收到该地址对应关系通告报文的网络节点的设备标识。在IPv6中,第一地址对应关系信息包括第一邻居缓存信息。在IPv4中,第一地址对应关系信息包括第一ARP信息。
在TRILL中,上述设备标识可以使用路由桥设备的昵称,也可以直接用路由桥设备的IS-IS标识。在SPB中,该设备标识可以是边缘网桥设备的B-MAC。当网络节点记录自身的设备标识时,可以在地址对应关系信息表中用特殊的标识,例如“本地”(Local),代替网络节点记录自身的实际设备标识。当然,网络节点在发送报文时仍使用自身的实际设备标识。
106、当所述第一地址对应关系信息不在地址对应关系信息表中时,在所述地址对应关系信息表中记录所述第一地址对应关系信息。
地址对应关系信息表为网络节点中用于保存地址对应关系信息的表。在IPv6中,地址对应关系信息表为邻居缓存(Neighbor Cache)信息表。在IPv4中,地址对应关系信息表为ARP信息表。由于第一地址对应关系信息除了MAC地址和IP地址之外还包括入口网络节点的设备标识,因此,与通常的邻居缓存和ARP表相比,邻居缓存信息表和ARP信息表的每个表项都多了设备标识的内容。本领域普通技术人员可以理解,上述地址对应关系信息表可以是一张单独的表,也可以由多个单独的表组合而成。
上述第一地址对应关系信息不在地址对应关系信息表中,是指第一地址对应关系信息中MAC地址、IP地址或设备标识三者当中至少一个不在地址对应关系信息表中,即三者当中至少一个与地址对应关系信息表的所有表项都不同。
在IPv6中,当所述第一邻居缓存信息中的IP地址与所述邻居缓存信息表中任意一条邻居缓存信息中的IP地址都不同时,可以认为是新的终端设备上线或者终端设备变更IP地址。此时,入口网络节点在所述邻居缓存信息表中增加所述第一邻居缓存信息。
当所述第一邻居缓存信息中的IP和MAC地址与所述邻居缓存信息表中的一条已有邻居缓存信息中的IP和MAC地址相同,并且所述第一邻居缓存信息中的设备标识与所述已有邻居缓存信息中的设备标识不同时,可以认为是原先以其他设备为入口网络节点的终端设备更换了接入位置即终端设备发生了迁移。此时入口网络节点用第一邻居缓存信息更新该已有邻居缓存信息。
由于终端设在发送unsolicited NA报文之前,已经进行过重复地址探测(duplicate address detection,DAD),所以通常不会有迁移之外的其他类型的重复地址现象。
在IPv4中,当第一地址对应关系信息中的IP地址不在地址对应关系信息表中,即当第一ARP信息中的IP地址与ARP信息表中任意一条ARP信息中的IP地址都不同时,可以认为是新的终端设备上线或者终端设备变更IP地址。此时,入口网络节点在ARP信息表中增加第一ARP信息。
当第一ARP信息中的IP地址与ARP信息表中的一条已有ARP信息中的IP地址相同,第一ARP信息中的MAC地址与该已有ARP信息中的MAC地址相同,并且第一ARP信息中的设备标识,即入口网络节点自身的设备标识与该已有ARP信息中的设备标识不同时,可以认为是原先以其他设备为入口网络节点的终端设备更换了接入位置即终端设备发生了迁移。此时入口网络节点用第一ARP信息更新该已有ARP信息。由于入口网络节点已进行过MAC地址学习,此时不需要检查或更新MAC表。
当终端设备是虚拟机时,管理程序(Hypervisor)层只是负责虚拟物理设备的作用,其中虚拟网卡以及MAC生成是其管理范畴,而IP地址是由客户操作系统(Guest OS)管理和分配的,与hypervisor层无关。如果要发出带IP信息的ARP报文,就需要Guest OS的协助,但是这就需要针对不同的操作系统类型开发相应的工具。为了简化虚拟机复杂度,虚拟机迁移后通常会利用RARP报文通告迁移,此时,RARP报文中的发送方IP地址为缺省值,例如为全零,因此第一ARP信息中的IP地址也为缺省值。该RARP报文仅用于通告迁移,不需要应答。
因此,当所述第一ARP信息中的IP地址为缺省值,所述第一ARP信息中的MAC地址与所述已有ARP信息中的MAC地址相同,并且所述第一ARP信息中的设备标识与所述已有ARP信息中的设备标识不同时,可以认为是发生了虚拟机迁移。此时入口网络节点用所述第一ARP信息中的设备标识更新所述已有ARP信息中的设备标识,并用所述已有ARP信息中的IP地址替换所述第一ARP信息中的IP地址。此时,之后通过控制平面的报文发送的第一ARP信息或者在TRILL中,TRILL封装单播发送的ARP报文,或者在SPB中,按照MAC-in-MAC封装单播发送的ARP报文中的IP地址都不是缺省值,而是第一ARP信息中的IP地址。
当所述第一ARP信息中的IP地址与所述ARP信息表中的一条已有ARP信息中的IP地址相同,并且所述第一ARP信息中的MAC地址与所述已有ARP信息中的MAC地址不同时,可以认为是发生了地址冲突或者终端设备更换了网卡而仍使用原来的IP地址接入。此时可以有两种做法,一是入口网络节点用第一ARP信息更新已有ARP信息。可选的,还可以封装ARP报文,封装信息中包含所述第一地址对应关系信息中的设备标识,单播发送至上述已有ARP信息中的设备标识对应的网络节点。上述封装报文的方式可以是TRILL封装或MAC-in-MAC封装。二是,在第一ARP信息中的设备标识与已有ARP信息中的设备标识不同的情况下,先不更新已有ARP信息,而是封装ARP报文,封装信息中包含所述第一地址对应关系信息中的设备标识,单播发送至上述已有ARP信息中的设备标识对应的网络节点。该网络节点,即出口网络节点,解封装得到ARP报文后在与封装后的ARP报文对应的本地链路上广播该ARP报文。与封装后的ARP报文对应的本地链路是指,当ARP报文是终端设备从某个VLAN发送到入口网络节点时,出口网络节点在本地链路的该VLAN上广播该ARP报文。如果是地址冲突造成了上述情况,与发送该ARP报文的终端设备有地址冲突的终端设备会回应ARP Reply报文,否则说明是终端设备更换了网卡而仍使用原来的IP地址接入的情况或有地址冲突的终端设备已下线。因此,如果预设时间内未收到与所述第一ARP信息中的IP地址相同的ARP响应报文,即可用第一ARP信息更新已有ARP信息。在第一ARP信息中的设备标识与已有ARP信息中的设备标识相同的情况下,在该ARP报文对应的本地链路广播该ARP报文,即在接收到该ARP报文的VLAN上广播该ARP报文,如果预设时间内未收到与所述第一ARP信息中的IP地址相同的ARP响应报文,则用所述第一ARP信息更新所述已有ARP信息。
当第一地址对应关系信息在地址对应关系信息表中时,可能是收到了重复的ARP报文,可以只在对应的本地链路广播该ARP报文,不需要在网络侧广播该ARP报文,也不需要继续进行108。
108、通过控制平面的报文向其他网络节点发送所述第一地址对应关系信息,所述控制平面的报文使所述其他网络节点在其地址对应关系信息表中记录所述第一地址对应关系信息。
由于控制平面的报文不会触发网络节点进行MAC地址学习,所以不会增加边缘网络节点的MAC表。这里的控制平面的报文是指基于链路状态路由的数据链路层通告报文。在TRILL中,这里的控制平面的报文可以采用ESADI报文,也可以采用其他可以扩散地址对应关系信息的控制平面的报文。在SPB中,控制平面的报文可以采用基于IS-IS TLV定义的格式,该信息至少包括第一地址对应关系信息中的IP地址和MAC地址信息。
当一个网络节点通过控制平面的报文接收到第一地址对应关系信息后,在其地址对应关系信息表中记录该第一地址对应关系信息。由于当第一地址对应关系信息在入口网络节点的地址对应关系信息表中时,入口网络节点不会扩散该第一地址对应关系信息,因此该第一地址对应关系信息必然不在通过控制平面的报文接收到第一地址对应关系信息的网络节点的地址对应关系信息表中。
在IPv6中,当所述第一邻居缓存信息中的IP地址与所述邻居缓存信息表中任意一条邻居缓存信息中的IP地址都不同时,在所述邻居缓存信息表中增加所述第一邻居缓存信息;
当所述第一邻居缓存信息中的IP和MAC地址与所述邻居缓存信息表中的一条已有邻居缓存信息都中的IP和MAC地址相同,所述已有邻居缓存信息中的设备标识与所述网络节点的设备标识不同,可以认为终端设备进行了迁移,并且迁移前的入口网络节点不是本网络节点。并且所述已有邻居缓存信息中的MAC地址与MAC表中的任意一条已有MAC表项的MAC地址都不同时,由于MAC表中没有该终端设备的MAC地址,说明尚没有本地的终端设备与该终端设备进行过通信。通过控制平面的报文接收到第一地址对应关系信息的网络节点只需用所述第一邻居缓存信息更新所述已有邻居缓存信息;
当所述第一邻居缓存信息中的IP和MAC地址与所述邻居缓存信息表中的一条已有邻居缓存信息都中的IP和MAC地址相同,所述已有邻居缓存信息中的设备标识与所述网络节点的设备标识不同,可以认为终端设备进行了迁移,并且迁移前的入口网络节点不是本网络节点。并且所述已有邻居缓存信息中的MAC地址与MAC表中的一条已有MAC表项的MAC地址相同时,由于MAC表中有该终端设备的MAC地址,说明已有本地的终端设备与该终端设备进行过通信。通过控制平面的报文接收到第一地址对应关系信息的网络节点需要用所述第一邻居缓存信息更新所述已有邻居缓存信息和所述已有MAC表项。
由于终端设在发送unsolicited NA报文之前,已经进行过重复地址探测,所以通常不会有迁移之外的其他类型的重复地址现象。
在IPv4中,当所述第一ARP信息中的IP地址与所述ARP信息表中任意一条ARP信息中的IP地址都不同时,通过控制平面的报文接收到第一地址对应关系信息的网络节点在所述ARP信息表中增加第一ARP信息。
当第一ARP信息中的IP地址与ARP信息表中的一条已有ARP信息中的IP地址相同,第一ARP信息中的MAC地址与已有ARP信息中的MAC地址相同,已有ARP信息中的设备标识与通过控制平面的报文接收到第一地址对应关系信息的网络节点的设备标识不同,可以认为终端设备进行了迁移,并且迁移前的入口网络节点不是本网络节点。并且所述已有ARP信息中的MAC地址与MAC表中的任意一条已有MAC表项的MAC地址都不同时,由于MAC表中没有该终端设备的MAC地址,说明尚没有本地的终端设备与该终端设备进行过通信。通过控制平面的报文接收到第一地址对应关系信息的网络节点只需用第一ARP信息更新所述已有ARP信息。
当第一ARP信息中的IP地址与所述ARP信息表中的一条已有ARP信息中的IP地址相同,第一ARP信息中的MAC地址与所述已有ARP信息中的MAC地址相同,所述已有ARP信息中的设备标识与通过控制平面的报文接收到第一地址对应关系信息的网络节点的设备标识不同,可以认为终端设备进行了迁移,并且迁移前的入口网络节点不是本网络节点。并且所述已有ARP信息中的MAC地址与MAC表中的一条已有MAC表项的MAC地址相同时,由于MAC表中有该终端设备的MAC地址,说明已有本地的终端设备与该终端设备进行过通信。通过控制平面的报文接收到第一地址对应关系信息的网络节点需要用第一ARP信息更新所述已有ARP信息和所述已有MAC表项。此时不需要在本地通告该终端设备已进行了迁移,因为对于本地的终端设备来说,无论非本地的终端设备是否进行了迁移,与其通信都只须将报文发送至入口网络节点,后续处理都交给入口网络节点完成,本地的终端设备关于进行了迁移的非本地终端设备的信息,如IP地址、MAC地址、发送端口等都没有改变。
当第一ARP信息中的IP地址与所述ARP信息表中的一条已有ARP信息中的IP地址相同,第一ARP信息中的MAC地址与所述已有ARP信息中的MAC地址不同,并且所述已有ARP信息中的MAC地址与MAC表中的任意一条已有MAC表项的MAC地址都不同时,用第一ARP信息更新所述已有ARP信息。由于尚没有本地的终端设备与该终端设备进行过通信,因此通过控制平面的报文接收到第一地址对应关系信息的网络节点只需要更新ARP信息表即可。
当第一ARP信息中的IP地址与所述ARP信息表中的一条已有ARP信息中的IP地址相同,第一ARP信息中的MAC地址与所述已有ARP信息中的MAC地址不同,并且所述已有ARP信息中的MAC地址与MAC表中的一条已有MAC表项的MAC地址相同时,由于已有本地的终端设备与该终端设备进行过通信,必须更新该本地的终端设备的ARP信息。通过控制平面的报文接收到第一地址对应关系信息的网络节点用第一ARP信息更新所述已有ARP信息和所述已有MAC表项,并生成第一信息对应的ARP报文,在所述控制平面的报文对应的本地链路上广播第一ARP信息对应的ARP报文。由于控制平面的报文中携带了足够重构原先的ARP报文的所有信息,通过控制平面的报文接收到第一地址对应关系信息的网络节点可以生成出和入口网络节点接收到的ARP报文对应的ARP报文,如免费ARP报文或广播的ARP Reply报文,当ARP报文是终端设备从某个VLAN发送到入口网络节点时,控制平面的报文应当含有该VLAN的信息,通过控制平面的报文接收到第一地址对应关系信息的网络节点在本地链路的该VLAN上广播生成出的ARP报文。
对于106中采用封装ARP报文单播发送至已有ARP信息中的设备标识对应的网络节点的方案,上述方案已经足够。然而,如果不采用入口网络节点封装ARP报文单播发送至已有ARP信息中的设备标识对应的网络节点的方案,通过控制平面的报文接收到第一地址对应关系信息的网络节点还需要做以下判断和动作:
当第一ARP信息中的IP地址与所述ARP信息表中的一条已有ARP信息中的IP地址相同,并且所述已有ARP信息中的设备标识与所述网络节点的设备标识相同时,说明可能发生地址冲突的终端设备可能在该网络节点的本地链路上。因此网络节点需要生成第一ARP信息对应的ARP报文,在所述控制平面的报文对应的本地链路上广播第一ARP信息对应的ARP报文。由于控制平面的报文中携带了足够重构原先的ARP报文的所有信息,通过控制平面的报文接收到第一地址对应关系信息的网络节点可以生成出和入口网络节点接收到的ARP报文对应的ARP报文,如免费ARP报文或广播的ARP Reply报文,当ARP报文是终端设备从某个VLAN发送到入口网络节点时,控制平面的报文应当含有该VLAN的信息,通过控制平面的报文接收到第一地址对应关系信息的网络节点在本地链路的该VLAN上广播生成出的ARP报文。
如果网络节点接收到了其他网络节点通过控制平面的报文发送的第二地址对应关系信息,在其地址对应关系信息表中记录该第二地址对应关系信息。第二地址对应关系信息可以是上述其他网络节点根据其从本地链路上接收到的地址对应关系通告报文获取的。
在IPv6中,当所述第二邻居缓存信息中的IP地址与所述邻居缓存信息表中任意一条邻居缓存信息中的IP地址都不同时,在所述邻居缓存信息表中增加所述第二邻居缓存信息;
当所述第二邻居缓存信息中的IP和MAC地址与所述邻居缓存信息表中的一条已有邻居缓存信息都中的IP和MAC地址相同,所述已有邻居缓存信息中的设备标识与所述网络节点的设备标识不同,可以认为终端设备进行了迁移,并且迁移前的入口网络节点不是本网络节点。并且所述已有邻居缓存信息中的MAC地址与MAC表中的任意一条已有MAC表项的MAC地址都不同时,由于MAC表中没有该终端设备的MAC地址,说明尚没有本地的终端设备与该终端设备进行过通信。通过控制平面的报文接收到第二地址对应关系信息的网络节点只需用所述第二邻居缓存信息更新所述已有邻居缓存信息;
当所述第二邻居缓存信息中的IP和MAC地址与所述邻居缓存信息表中的一条已有邻居缓存信息都中的IP和MAC地址相同,所述已有邻居缓存信息中的设备标识与所述网络节点的设备标识不同,可以认为终端设备进行了迁移,并且迁移前的入口网络节点不是本网络节点。并且所述已有邻居缓存信息中的MAC地址与MAC表中的一条已有MAC表项的MAC地址相同时,由于MAC表中有该终端设备的MAC地址,说明已有本地的终端设备与该终端设备进行过通信。通过控制平面的报文接收到第二地址对应关系信息的网络节点需要用所述第二邻居缓存信息更新所述已有邻居缓存信息和所述已有MAC表项。
由于终端设在发送unsolicited NA报文之前,已经进行过重复地址探测,所以通常不会有迁移之外的其他类型的重复地址现象。
在IPv4中,当第二ARP信息中的IP地址与所述ARP信息表中任意一条ARP信息中的IP地址都不同时,网络节点在所述ARP信息表中增加第二ARP信息。
当第二ARP信息中的IP地址与ARP信息表中的一条已有ARP信息中的IP地址相同,第二ARP信息中的MAC地址与已有ARP信息中的MAC地址相同,所述已有ARP信息中的设备标识与所述网络节点的设备标识不同,可以认为终端设备进行了迁移,并且迁移前的网络节点不是本网络节点。并且所述已有ARP信息中的MAC地址与MAC表中的任意一条已有MAC表项的MAC地址都不同时,由于MAC表中没有该终端设备的MAC地址,说明尚没有本地的终端设备与该终端设备进行过通信。网络节点只需用第二ARP信息更新所述已有ARP信息。
当第二ARP信息中的IP地址与所述ARP信息表中的一条已有ARP信息中的IP地址相同,第二ARP信息中的MAC地址与所述已有ARP信息中的MAC地址相同,所述已有ARP信息中的设备标识与所述网络节点的设备标识不同,可以认为终端设备进行了迁移,并且迁移前的网络节点不是本网络节点。并且所述已有ARP信息中的MAC地址与MAC表中的一条已有MAC表项的MAC地址相同时,由于MAC表中有该终端设备的MAC地址,说明已有本地的终端设备与该终端设备进行过通信。网络节点需要用第二ARP信息更新所述已有ARP信息和所述已有MAC表项。此时不需要在本地通告该终端设备已进行了迁移,因为对于本地的终端设备来说,无论非本地的终端设备是否进行了迁移,与其通信都只须将报文发送至入口网络节点,后续处理都交给入口网络节点完成,本地的终端设备关于进行了迁移的非本地终端设备的信息,如IP地址、MAC地址、发送端口等都没有改变。
当第二ARP信息中的IP地址与所述ARP信息表中的一条已有ARP信息中的IP地址相同,第二ARP信息中的MAC地址与所述已有ARP信息中的MAC地址不同,并且所述已有ARP信息中的MAC地址与MAC表中的任意一条已有MAC表项的MAC地址都不同时,用第二ARP信息更新所述已有ARP信息。由于尚没有本地的终端设备与该终端设备进行过通信,因此网络节点只需要更新ARP信息表即可。
当第二ARP信息中的IP地址与所述ARP信息表中的一条已有ARP信息中的IP地址相同,第二ARP信息中的MAC地址与所述已有ARP信息中的MAC地址不同,并且所述已有ARP信息中的MAC地址与MAC表中的一条已有MAC表项的MAC地址相同时,由于已有本地的终端设备与该终端设备进行过通信,必须更新该本地的终端设备的ARP信息。网络节点用第二ARP信息更新所述已有ARP信息和所述已有MAC表项,并生成第二信息对应的ARP报文,在所述控制平面的报文对应的本地链路上广播第二ARP信息对应的ARP报文。由于控制平面的报文中携带了足够重构原先的ARP报文的所有信息,网络节点可以生成出和其他网络节点接收到的ARP报文对应的ARP报文,如免费ARP报文或广播的ARP Reply报文,当ARP报文是终端设备从某个VLAN发送到其他网络节点时,控制平面的报文应当含有该VLAN的信息,网络节点在本地链路的该VLAN上广播生成出的ARP报文。
对于采用封装ARP报文单播发送至已有ARP信息中的设备标识对应的网络节点的方案,上述方案已经足够。然而,如果不采用其他网络节点封装ARP报文单播发送至已有ARP信息中的设备标识对应的网络节点的方案,网络节点还需要做以下判断和动作:
当第二ARP信息中的IP地址与所述ARP信息表中的一条已有ARP信息中的IP地址相同,并且所述已有ARP信息中的设备标识与所述网络节点的设备标识相同时,说明可能发生地址冲突的终端设备可能在网络节点的本地链路上,或者终端设备迁移前的入口网络节点是本网络节点。因此网络节点需要生成第二ARP信息对应的ARP报文,在所述控制平面的报文对应的本地链路上广播第二ARP信息对应的ARP报文。由于控制平面的报文中携带了足够重构原先的ARP报文的所有信息,网络节点可以生成出和其他网络节点接收到的ARP报文对应的ARP报文,如免费ARP报文或广播的ARP Reply报文,当ARP报文是终端设备从某个VLAN发送到其他网络节点时,控制平面的报文应当含有该VLAN的信息,网络节点在本地链路的该VLAN上广播生成出的ARP报文。
由于控制平面的报文不会触发MAC地址学习,因此网络节点需要在合适的时候在MAC表中增加相应表项以保证报文正确转发。网络节点在接收到本地链路上的地址对应关系信息请求报文时,如果地址对应关系信息请求报文中的目标IP地址与地址对应关系信息表中的一条已有地址对应关系信息中的IP地址相同时,则不需要向网络侧转发该地址对应关系信息请求报文。接收到地址对应关系信息请求报文的网络节点生成已有地址对应关系信息对应的地址对应关系信息响应报文,向发送地址对应关系信息请求报文的终端设备发送该响应报文。由于终端设备发送地址对应关系信息请求报文意味着该终端设备很可能接下来就需要与被请求的终端设备通信,因此网络节点此时即根据已有地址对应关系信息更新MAC表。在应用链路状态路由的数据链路层协议中,网络节点的MAC表对应于网络侧的表项保存MAC地址和网络节点的设备标识的对应关系,因此只需要将地址对应关系信息表项中相应内容增加到MAC表即可。
在IPv6中,地址对应关系信息请求报文包括邻居请求(NeighborSolicitation,NS)报文,地址对应关系信息响应报文包括邻居通告(Neighbor Advertisement,NA)报文。NS报文的源地址为发送该NS报文的终端设备的IP地址,目的地址为被请求地址对应关系信息的终端设备的被请求网络节点组播地址(solicited-node multicastaddress),目标地址为被请求地址对应关系信息的终端设备的IP地址。NA报文的源地址为邻居缓存信息表中已有邻居缓存信息的IP地址,目的地址为对应的NS报文的源地址,目标地址为对应的NS报文的目标地址,目标链路层地址为邻居缓存信息表中已有邻居缓存信息的MAC地址,请求标志位置一。
在IPv4中,地址对应关系信息请求报文包括ARP请求(ARP Request)报文,地址对应关系信息响应报文包括ARP应答(ARP Reply)报文。ARP Request报文的报文类型是请求,发送方地址为发送该ARP Request报文的终端设备的IP地址,目标地址为被请求地址对应关系信息的终端设备的IP地址。ARP Reply报文的报文类型是应答,发送方地址为ARP信息表中已有ARP信息的IP地址,目标地址为对应的ARP Request报文的目标地址,目标链路层地址为ARP信息表中已有ARP信息的MAC地址。
ARP信息表或邻居缓存信息表通常由中央处理器(CentralProcessing Unit,CPU)控制和访问,存储在内存中,访问和查找速度较慢,对规格也没有明确限制。而MAC表通常由特殊应用集成电路(Application-specific integrated circuit,ASIC)、元件可编程逻辑门阵列(FPGA,Field Programmable Gate Array)或网络处理器(Network processor,NP)控制和访问,存储在内容可寻址存储器(Content-addressable memory,CAM)中,访问和查找速度快,但是成本高、功耗大,对规格也有一定限制。
由于控制平面的报文不会使边缘网络节点学习MAC地址,并且地址对应关系信息中包括了入口网络节点的设备标识,当接收到地址对应关系信息请求后可以直接根据已有地址对应关系信息更新MAC表,在保证报文正确转发的同时减小了边缘网络节点的MAC表,减小了设备复杂度,降低了对MAC表规格的要求。
可选的,上述方法还可以包括网络节点对本地链路上的终端设备进行老化探测。当需要老化终端设备的地址对应关系信息时,网络节点老化该地址对应关系信息,并可以进一步删除MAC表中相应的表项。网络节点通过控制平面的报文向其他网络节点发送终端设备的地址对应关系信息,接收到该控制平面的报文的其它网络节点根据控制平面报文的指示老化该终端设备的地址对应关系信息,并可以进一步删除MAC表中相应的表项。网络节点都只对自己本地链路上的终端设备进行老化探测,并且不主动老化已保存的地址对应关系信息。举例来说,可以将通过控制平面的报文获得的地址对应关系信息设置为具有较高的信任值(confidence level),如254。只有当探测到本地链路上的终端设备需要老化时,或者接收到其他网络节点通过控制平面的报文发送的老化指示时才老化已保存的地址对应关系信息。
采用本发明实施例提供的技术方案,由于除了入口网络节点的其他网络节点的地址对应关系信息表中也保存了终端设备的地址对应关系信息,当接收到地址对应关系信息请求后可以直接回应地址对应关系信息响应,不需要广播该请求,减少了应用链路状态路由的数据链路层协议中广播地址对应关系信息请求占用的带宽。
另外,由于控制平面的报文不会使边缘网络节点学习MAC地址,并且地址对应关系信息中包括了入口网络节点的设备标识,当接收到地址对应关系信息请求后可以直接根据已有地址对应关系信息更新MAC表,减小了边缘网络节点的MAC表,在保证报文正确转发的同时减小了边缘网络节点的MAC表,减小了设备复杂度,降低了对MAC表规格的要求。
以下结合图2说明本发明另一个实施例:
图2为本发明一个实施例中应用链路状态路由的数据链路层协议中的MAC表更新方法流程图。该方法包括:
202、网络节点关闭网络侧的MAC地址学习功能。
通常网络节点在接收到网络侧的报文时会进行MAC地址学习,即用报文的源MAC地址和入口网络节点的设备标识更新MAC表。本实施例中,关闭该网络侧的MAC地址学习功能,而不改变本地链路侧的MAC地址学习功能。
204、接收地址对应关系通告报文,所述地址对应关系通告报文的封装信息中包含封装所述地址对应关系通告报文的网络节点的设备标识。
在IPv6中,地址对应关系通告报文可以是unsolicited NA报文。unsolicited NA报文的目标地址为发送该报文的终端设备的IP地址,该IP地址可以是本地IP地址或全局IP地址;目的IP地址为全网络节点组播地址;目标链路层地址为发送该报文的终端设备的链路层地址,链路层地址在以太网中即为MAC地址;请求标志位置零。
在IPv4中,地址对应关系通告报文可以是ARP报文。具体的,该ARP报文可以使免费ARP报文,也可以是广播的ARP Reply报文。当发生虚拟机迁移时,虚拟机迁移后会利用RARP报文通告迁移,此时,在本地链路上收到该RARP报文的网络节点根据自身的地址对应关系信息表,将该RARP报文转换为地址对应关系通告报文,如免费ARP报文或广播的ARP Reply报文,封装该地址对应关系通告报文后向网络侧发送,封装信息中包含封装该地址对应关系通告报文的网络节点的设备标识。免费ARP报文的报文类型是请求,发送方IP地址为发送该报文的终端设备的IP地址,发送方MAC地址为发送该报文的终端设备的MAC地址,目标IP地址为发送该报文的终端设备的IP地址,目标MAC地址为广播地址。广播的ARP Reply报文的格式基本相同,但报文类型是应答,目标IP地址为广播地址。RARP报文中的报文类型是请求,发送方IP地址为缺省值,例如为全零,因此第一ARP信息中的IP地址也为缺省值。
入口网络节点在接收到地址对应关系通告报文后,封装该地址对应关系通告报文,封装信息中包含其自身的设备标识,并广播该地址对应关系通告报文。因此其他网络节点可以接收到该封装信息中封装所述地址对应关系通告报文的网络节点的设备标识的地址对应关系通告报文。上述封装报文的方式可以是TRILL封装或MAC-in-MAC封装。
206、根据所述地址对应关系通告报文获取第一地址对应关系信息,所述第一地址对应关系信息包括发送所述地址对应关系通告报文的终端设备的MAC地址、发送所述地址对应关系通告报文的终端设备的网际协议IP地址与所述地址对应关系通告报文中的设备标识的对应关系。
第一地址对应关系信息即发送地址对应关系通告报文的终端设备的MAC地址、IP地址与该终端设备的入口网络节点的设备标识的对应关系。在TRILL中,该终端设备的入口网络节点的设备标识可以从封装后的地址对应关系通告报文的报文头的入口路由桥昵称域获得。在SPB中,该终端设备的入口网络节点的设备标识即B-MAC,可以从封装后的地址对应关系通告报文的骨干源MAC地址(Backbone source MAC address,S-DA)字段获得。在IPv6中,第一地址对应关系信息包括第一邻居缓存信息。在IPv4中,第一地址对应关系信息包括第一ARP信息。
208、当所述第一地址对应关系信息中的IP地址与地址对应关系信息表中任意一条地址对应关系信息中的IP地址都不同时,在所述地址对应关系信息表中增加所述第一地址对应关系信息。
地址对应关系信息表为网络节点中用于保存地址对应关系信息的表。在IPv6中,地址对应关系信息表为邻居缓存信息表。在IPv4中,地址对应关系信息表为ARP信息表。由于第一地址对应关系信息除了MAC地址和IP地址之外还包括入口网络节点的设备标识,因此,与通常的邻居缓存和ARP表相比,邻居缓存信息表和ARP信息表的每个表项都多了设备标识的内容。
在IPv6中,当第一邻居缓存信息中的IP地址与邻居缓存信息表中任意一条邻居缓存信息中的IP地址都不同时,可以认为是新的终端设备上线或者终端设备变更IP地址。此时,接收到封装后的地址对应关系通告报文的网络节点在邻居缓存信息表中增加所述第一邻居缓存信息。
当所述第一邻居缓存信息中的IP和MAC地址与所述邻居缓存信息表中的一条已有邻居缓存信息都中的IP和MAC地址相同,所述已有邻居缓存信息中的设备标识与所述网络节点的设备标识不同,可以认为终端设备进行了迁移,并且迁移前的入口网络节点不是本网络节点。并且所述已有邻居缓存信息中的MAC地址与MAC表中的任意一条已有MAC表项的MAC地址都不同时,由于MAC表中没有该终端设备的MAC地址,说明尚没有本地的终端设备与该终端设备进行过通信。此时接收到封装后的地址对应关系通告报文的网络节点用所述第一邻居缓存信息更新所述已有邻居缓存信息。
当所述第一邻居缓存信息中的IP和MAC地址与所述邻居缓存信息表中的一条已有邻居缓存信息都中的IP和MAC地址相同,所述已有邻居缓存信息中的设备标识与所述网络节点的设备标识不同,可以认为终端设备进行了迁移,并且迁移前的入口网络节点不是本网络节点。并且所述已有邻居缓存信息中的MAC地址与MAC表中的一条已有MAC表项的MAC地址相同时,由于MAC表中有该终端设备的MAC地址,说明已有本地的终端设备与该终端设备进行过通信。此时接收到封装后的地址对应关系通告报文的网络节点用所述第一邻居缓存信息更新所述已有邻居缓存信息和所述已有MAC表项。
由于终端设在发送unsolicited NA报文之前,已经进行过重复地址探测,所以通常不会有迁移之外的其他类型的重复地址现象。
在IPv4中,当第一地址对应关系信息中的IP地址不在地址对应关系信息表中,即当第一ARP信息中的IP地址与ARP信息表中任意一条ARP信息中的IP地址都不同时,可以认为是新的终端设备上线或者终端设备变更IP地址。此时,接收到封装后的地址对应关系通告报文的网络节点在ARP信息表中增加第一ARP信息。
当所述第一ARP信息中的IP地址与所述ARP信息表中的一条已有ARP信息中的IP地址相同,第一ARP信息中的MAC地址与所述已有ARP信息中的MAC地址相同,已有ARP信息中的设备标识与所述网络节点的设备标识不同,可以认为终端设备进行了迁移,并且迁移前的入口网络节点不是本网络节点。并且已有ARP信息中的MAC地址与MAC表中的任意一条已有MAC表项的MAC地址都不同时,由于MAC表中没有该终端设备的MAC地址,说明尚没有本地的终端设备与该终端设备进行过通信。此时接收到封装后的地址对应关系通告报文的网络节点用第一ARP信息更新所述已有ARP信息。
当所述第一ARP信息中的IP地址与所述ARP信息表中的一条已有ARP信息中的IP地址相同,所述第一ARP信息中的MAC地址与所述已有ARP信息中的MAC地址相同,所述已有ARP信息中的设备标识与所述网络节点的设备标识不同,可以认为终端设备进行了迁移,并且迁移前的入口网络节点不是本网络节点。并且所述已有ARP信息中的MAC地址与MAC表中的一条已有MAC表项的MAC地址相同时,由于MAC表中有该终端设备的MAC地址,说明已有本地的终端设备与该终端设备进行过通信。此时接收到封装后的地址对应关系通告报文的网络节点用所述第一ARP信息更新所述已有ARP信息和所述已有MAC表项。
当第一ARP信息中的IP地址与所述ARP信息表中的一条已有ARP信息中的IP地址相同,第一ARP信息中的MAC地址与已有ARP信息中的MAC地址不同,并且已有ARP信息中的MAC地址与MAC表中的任意一条已有MAC表项的MAC地址都不同时,用第一ARP信息更新已有ARP信息。由于尚没有本地的终端设备与该终端设备进行过通信,因此网络节点只需要更新ARP信息表即可。
当所述第一ARP信息中的IP地址与所述ARP信息表中的一条已有ARP信息中的IP地址相同,所述第一ARP信息中的MAC地址与已有ARP信息中的MAC地址不同,并且已有ARP信息中的MAC地址与MAC表中的一条已有MAC表项的MAC地址相同时,由于已有本地的终端设备与该终端设备进行过通信,必须更新该本地的终端设备的ARP信息。网络节点用第一ARP信息更新已有ARP信息和已有MAC表项,在与封装后的ARP报文对应的本地链路上广播解封装后的ARP报文。与封装后的ARP报文对应的本地链路是指,当ARP报文是终端设备从某个VLAN发送到入口网络节点时,接收到封装后的地址对应关系通告报文的网络节点在本地链路的该VLAN上广播解封装后的该ARP报文。
当所述第一ARP信息中的IP地址与所述ARP信息表中的一条已有ARP信息中的IP地址相同,并且所述已有ARP信息中的设备标识与所述网络节点的设备标识相同时,说明可能发生地址冲突的终端设备可能在该网络节点的本地链路上,或者终端设备迁移前的入口网络节点是本网络节点。此时接收到封装后的地址对应关系通告报文的网络节点在与所述封装后的ARP报文对应的本地链路上广播解封装后的所述ARP报文。
210、接收本地链路上的地址对应关系信息请求报文。
在IPv6中,地址对应关系信息请求报文包括邻居请求NS报文,NS报文的源地址为发送该NS报文的终端设备的IP地址,目的地址为被请求地址对应关系信息的终端设备的被请求网络节点组播地址,目标地址为被请求地址对应关系信息的终端设备的IP地址。
在IPv4中,地址对应关系信息请求报文包括ARP Request报文,ARP Request报文发送方地址为发送该ARP Request报文的终端设备的IP地址,目标地址为被请求地址对应关系信息的终端设备的IP地址。
212、当所述地址对应关系信息请求报文中的目标地址与所述地址对应关系信息表中的一条已有地址对应关系信息中的IP地址相同时,生成所述已有地址对应关系信息对应的地址对应关系信息响应报文,向发送所述地址对应关系信息请求报文的终端设备发送所述已有地址对应关系信息对应的地址对应关系信息响应报文,根据所述已有地址对应关系信息更新MAC表。
网络节点在接收到本地链路上的地址对应关系信息请求报文时,如果地址对应关系信息请求报文中的目标地址与地址对应关系信息表中的一条已有地址对应关系信息中的IP地址相同时,则不需要向网络侧转发该地址对应关系信息请求报文,生成已有地址对应关系信息对应的地址对应关系信息响应报文,向发送请求报文的终端设备发送该响应报文。
在IPv6中,地址对应关系信息响应报文包括NA报文,NA报文的源地址为邻居缓存信息表中已有邻居缓存信息的IP地址,目的地址为对应的NS报文的源地址,目标地址为对应的NS报文的目标地址,目标链路层地址为邻居缓存信息表中已有邻居缓存信息的MAC地址,请求标志位置一。
在IPv4中,地址对应关系信息响应报文包括ARP Reply报文,ARPReply报文的发送方地址为ARP信息表中已有ARP信息的IP地址,目标地址为对应的ARP Request报文的目标地址,目标链路层地址为ARP信息表中已有ARP信息的MAC地址。
由于边缘网络节点关闭了网络侧的MAC地址学习功能,因此需要在合适的时候在MAC表中增加相应表项以保证报文正确转发。因为终端设备发送地址对应关系信息请求报文意味着该终端设备很可能接下来就需要与被请求的终端设备通信,因此网络节点此时即根据已有地址对应关系信息更新MAC表。在应用链路状态路由的数据链路层协议中,网络节点的MAC表对应于网络侧的表项保存MAC地址和网络节点的设备标识的对应关系,因此只需要将地址对应关系信息表项中相应内容增加到MAC表即可。
在某些情况下,终端设备可能不发送地址对应关系信息相关消息,直接进行数据报文的通信。此时,为了避免关闭MAC地址学习造成MAC表无法更新,上述方法还可以包括以下步骤。
接收到数据报文的网络节点在MAC表中找不到相应的表项时,如果地址对应关系信息表存在相应表项,则将该表项中相应内容增加到MAC表。
接收到数据报文的网络节点在MAC表中找不到相应的表项时,如果地址对应关系信息表也不存在相应表项,则生成地址对应关系信息请求报文,封装后广播该地址对应关系信息请求报文。其他网络节点接收到该报文后在相应的本地链路广播该地址对应关系信息请求报文。被请求的终端设备发送地址对应关系信息响应报文。被请求的终端设备的入口网络节点将该报文封装后,向接收到数据报文的网络节点发送。接收到数据报文的网络节点根据该地址对应关系信息响应报文更新地址对应关系信息表和MAC表。同时,被请求的终端设备的入口网络节点根据地址对应关系信息响应报文生成相应的地址对应关系信息通告报文,将该报文封装后广播该报文,接收到该广播报文的网络节点按照上述实施例所述方法继续处理。
ARP信息表或邻居缓存信息表通常由CPU控制和访问,存储在内存中,访问和查找速度较慢,对规格也没有明确限制。而MAC表通常由ASIC、FPGA或NP控制和访问,存储在内容可寻址存储器CAM中,访问和查找速度快,但是成本高、功耗大,对规格也有一定限制。
由于关闭了网络侧的MAC地址学习功能,网络侧的地址对应关系通告报文、地址对应关系请求报文或地址对应关系响应报文不会使边缘网络节点学习MAC地址,并且地址对应关系信息中包括了入口网络节点的设备标识,当接收到地址对应关系信息请求后可以直接根据已有地址对应关系信息更新MAC表,在保证报文正确转发的同时减小了边缘网络节点的MAC表,减小了设备复杂度,降低了对MAC表规格的要求。
另外,由于除了入口网络节点的其他网络节点的地址对应关系信息表中也保存了终端设备的地址对应关系信息,当接收到地址对应关系信息请求后可以直接回应地址对应关系信息响应,不需要广播该请求,减少了应用链路状态路由的数据链路层协议中广播地址对应关系信息请求占用的带宽。
以下结合图3说明本发明又一个实施例:
图3为本发明又一个实施例中应用链路状态路由的数据链路层协议中的地址对应关系信息发送装置框图。该发送装置通常由网络中的网络节点实现。上述应用链路状态路由的数据链路层协议可以是TRILL,也可以是Shortest Path Bridging。在TRILL中,该网络节点通常为路由桥设备。在SPB中,该网络节点通常为边缘网桥设备。该发送装置包括:
接收单元302,用于接收本地链路上的地址对应关系通告报文。
在TRILL中,该网络节点可以是接收到地址对应关系通告报文的路由桥设备。在SPB中,该网络节点可以是接收到地址对应关系通告报文的边缘网桥设备。
在TRILL中,该网络节点即地址对应关系通告报文的入口RB,也是发送该地址对应关系通告报文的终端设备今后将发送的同一个VLAN下其他报文的入口RB,因此可以简称为入口RB。在SPB中,该网络节点即地址对应关系通告报文的入口边缘网桥设备,也是发送该地址对应关系通告报文的终端设备今后将发送的同一个VLAN下其他报文的入口边缘网桥设备,因此可以简称为入口边缘网桥设备。因此,该网络节点可以统称为入口网络节点。
地址对应关系通告报文中携带有发送该地址对应关系通告报文的终端设备的MAC地址和IP地址。
在IPv6中,地址对应关系通告报文可以是unsolicited NA报文。unsolicited NA报文的Target Address为发送该报文的终端设备的IP地址,该IP地址可以是本地IP地址或全局IP地址;目的IP地址为all-nodes multicast address;Target Link-Layer Address为发送该报文的终端设备的链路层地址,链路层地址在以太网中即为MAC地址;Solicited flag置零。
在网IPv4中,地址对应关系通告报文可以是ARP报文。具体的,该ARP报文可以是免费ARP报文,可以是RARP报文,也可以是广播的ARP Reply报文。免费ARP报文的报文类型是请求,发送方地址为发送该报文的终端设备的IP地址,发送方MAC地址为发送该报文的终端设备的MAC地址,目标IP地址为发送该报文的终端设备的IP地址,目标MAC地址为广播地址。广播的ARP Reply报文的格式基本相同,但报文类型是应答,目标IP地址为广播地址。RARP报文中的报文类型是请求,发送方IP地址为缺省值,例如为全零,因此第一ARP信息中的IP地址也为缺省值。
网络节点接收地址对应关系通告报文时,按照通常方式进行MAC地址学习。
获取单元304,用于根据所述地址对应关系通告报文获取第一地址对应关系信息,所述第一地址对应关系信息包括发送所述地址对应关系通告报文的终端设备的MAC地址、发送所述地址对应关系通告报文的终端设备的IP地址与所述网络节点的设备标识的对应关系。
第一地址对应关系信息即发送地址对应关系通告报文的终端设备的MAC地址、IP地址与该终端设备的入口网络节点的设备标识的对应关系。该终端设备的入口网络节点的设备标识就是接收到该地址对应关系通告报文的网络节点的设备标识。在IPv6中,第一地址对应关系信息包括第一邻居缓存信息。在IPv4中,第一地址对应关系信息包括第一ARP信息。
在TRILL中,上述设备标识可以使用路由桥设备的昵称,也可以直接用路由桥设备的IS-IS标识。在SPB中,该设备标识可以是边缘网桥设备的B-MAC。当网络节点记录自身的设备标识时,可以在地址对应关系信息表中用特殊的标识,例如“本地”(Local),代替网络节点记录自身的实际设备标识。当然,网络节点在发送报文时仍使用自身的实际设备标识。
记录单元306,用于当所述第一地址对应关系信息不在地址对应关系信息表中时,在所述地址对应关系信息表中记录所述第一地址对应关系信息。
地址对应关系信息表为网络节点中用于保存地址对应关系信息的表。在IPv6中,地址对应关系信息表为邻居缓存(Neighbor Cache)信息表。在IPv4中,地址对应关系信息表为ARP信息表。由于第一地址对应关系信息除了MAC地址和IP地址之外还包括入口网络节点的设备标识,因此,与通常的邻居缓存和ARP表相比,邻居缓存信息表和ARP信息表的每个表项都多了设备标识的内容。本领域普通技术人员可以理解,上述地址对应关系信息表可以是一张单独的表,也可以由多个单独的表组合而成。
上述第一地址对应关系信息不在地址对应关系信息表中,是指第一地址对应关系信息中MAC地址、IP地址或设备标识三者当中至少一个不在地址对应关系信息表中,即三者当中至少一个与地址对应关系信息表的所有表项都不同。
在IPv6中,当所述第一邻居缓存信息中的IP地址与所述邻居缓存信息表中任意一条邻居缓存信息中的IP地址都不同时,可以认为是新的终端设备上线或者终端设备变更IP地址。此时,记录单元306在所述邻居缓存信息表中增加所述第一邻居缓存信息。
当所述第一邻居缓存信息中的IP和MAC地址与所述邻居缓存信息表中的一条已有邻居缓存信息中的IP和MAC地址相同,并且所述第一邻居缓存信息中的设备标识与所述已有邻居缓存信息中的设备标识不同时,可以认为是原先以其他设备为入口网络节点的终端设备更换了接入位置即终端设备发生了迁移。此时记录单元306用第一邻居缓存信息更新该已有邻居缓存信息。
由于终端设在发送unsolicited NA报文之前,已经进行过重复地址探测(duplicate address detection,DAD),所以通常不会有迁移之外的其他类型的重复地址现象。
在IPv4中,当第一地址对应关系信息中的IP地址不在地址对应关系信息表中,即当第一ARP信息中的IP地址与ARP信息表中任意一条ARP信息中的IP地址都不同时,可以认为是新的终端设备上线或者终端设备变更IP地址。此时,记录单元306在ARP信息表中增加第一ARP信息。
当第一ARP信息中的IP地址与ARP信息表中的一条已有ARP信息中的IP地址相同,第一ARP信息中的MAC地址与该已有ARP信息中的MAC地址相同,并且第一ARP信息中的设备标识,即入口网络节点自身的设备标识与该已有ARP信息中的设备标识不同时,可以认为是原先以其他设备为入口网络节点的终端设备更换了接入位置即终端设备发生了迁移。此时记录单元306用第一ARP信息更新该已有ARP信息。由于入口网络节点已进行过MAC地址学习,此时不需要检查或更新MAC表。
当终端设备是虚拟机时,管理程序(Hypervisor)层只是负责虚拟物理设备的作用,其中虚拟网卡以及MAC生成是其管理范畴,而IP地址是由客户操作系统(Guest OS)管理和分配的,与hypervisor层无关。如果要发出带IP信息的ARP报文,就需要Guest OS的协助,但是这就需要针对不同的操作系统类型开发相应的工具。为了简化虚拟机复杂度,虚拟机迁移后通常会利用RARP报文通告迁移,此时,RARP报文中的发送方IP地址为缺省值,例如为全零,因此第一ARP信息中的IP地址也为缺省值。该RARP报文仅用于通告迁移,不需要应答。
因此,当所述第一ARP信息中的IP地址为缺省值,所述第一ARP信息中的MAC地址与所述已有ARP信息中的MAC地址相同,并且所述第一ARP信息中的设备标识与所述已有ARP信息中的设备标识不同时,可以认为是发生了虚拟机迁移。此时记录单元306用所述第一ARP信息中的设备标识更新所述已有ARP信息中的设备标识,并用所述已有ARP信息中的IP地址替换所述第一ARP信息中的IP地址。此时,之后通过控制平面的报文发送的第一ARP信息或者在TRILL中,TRILL封装单播发送的ARP报文,或者在SPB中,按照MAC-in-MAC封装单播发送的ARP报文中的IP地址都不是缺省值,而是第一ARP信息中的IP地址。
当所述第一ARP信息中的IP地址与所述ARP信息表中的一条已有ARP信息中的IP地址相同,并且所述第一ARP信息中的MAC地址与所述已有ARP信息中的MAC地址不同时,可以认为是发生了地址冲突或者终端设备更换了网卡而仍使用原来的IP地址接入。此时可以有两种做法,一是记录单元306用第一ARP信息更新已有ARP信息。可选的,还可以封装ARP报文,封装信息中包含所述第一地址对应关系信息中的设备标识,单播发送至上述已有ARP信息中的设备标识对应的网络节点。上述封装报文的方式可以是TRILL封装或MAC-in-MAC封装。二是,记录单元306在第一ARP信息中的设备标识与已有ARP信息中的设备标识不同的情况下,先不更新已有ARP信息,而是封装ARP报文,封装信息中包含所述第一地址对应关系信息中的设备标识,单播发送至上述已有ARP信息中的设备标识对应的网络节点。该网络节点,即出口网络节点,解封装得到ARP报文后在与封装后的ARP报文对应的本地链路上广播该ARP报文。与封装后的ARP报文对应的本地链路是指,当ARP报文是终端设备从某个VLAN发送到入口网络节点时,出口网络节点在本地链路的该VLAN上广播该ARP报文。如果是地址冲突造成了上述情况,与发送该ARP报文的终端设备有地址冲突的终端设备会回应ARP Reply报文,否则说明是终端设备更换了网卡而仍使用原来的IP地址接入的情况或有地址冲突的终端设备已下线。因此,如果预设时间内未收到与所述第一ARP信息中的IP地址相同的ARP响应报文,记录单元306即可用第一ARP信息更新已有ARP信息。在第一ARP信息中的设备标识与已有ARP信息中的设备标识相同的情况下,在该ARP报文对应的本地链路广播该ARP报文,即在接收到该ARP报文的VLAN上广播该ARP报文,如果预设时间内未收到与所述第一ARP信息中的IP地址相同的ARP响应报文,则记录单元306用所述第一ARP信息更新所述已有ARP信息。
当第一地址对应关系信息在地址对应关系信息表中时,可能是收到了重复的ARP报文,可以只在对应的本地链路广播该ARP报文,不需要在网络侧广播该ARP报文。
发送单元308,用于通过控制平面的报文向其他网络节点发送所述第一地址对应关系信息,所述控制平面的报文使所述其他网络节点在其地址对应关系信息表中记录所述第一地址对应关系信息。
由于控制平面的报文不会触发网络节点进行MAC地址学习,所以不会增加边缘网络节点的MAC表。这里的控制平面的报文是指基于链路状态路由的数据链路层通告报文。在TRILL中,这里的控制平面的报文可以采用ESADI报文,也可以采用其他可以扩散地址对应关系信息的控制平面的报文。在SPB中,控制平面的报文可以采用基于IS-IS TLV定义的格式,该信息至少包括第一地址对应关系信息中的IP地址和MAC地址信息。
当一个网络节点通过控制平面的报文接收到第一地址对应关系信息后,在其地址对应关系信息表中记录该第一地址对应关系信息。由于当第一地址对应关系信息在入口网络节点的地址对应关系信息表中时,发送单元308不会扩散该第一地址对应关系信息,因此该第一地址对应关系信息必然不在通过控制平面的报文接收到第一地址对应关系信息的网络节点的地址对应关系信息表中。
在IPv6中,当所述第一邻居缓存信息中的IP地址与所述邻居缓存信息表中任意一条邻居缓存信息中的IP地址都不同时,在所述邻居缓存信息表中增加所述第一邻居缓存信息;
当所述第一邻居缓存信息中的IP和MAC地址与所述邻居缓存信息表中的一条已有邻居缓存信息都中的IP和MAC地址相同,所述已有邻居缓存信息中的设备标识与所述网络节点的设备标识不同,可以认为终端设备进行了迁移,并且迁移前的入口网络节点不是本网络节点。并且所述已有邻居缓存信息中的MAC地址与MAC表中的任意一条已有MAC表项的MAC地址都不同时,由于MAC表中没有该终端设备的MAC地址,说明尚没有本地的终端设备与该终端设备进行过通信。通过控制平面的报文接收到第一地址对应关系信息的网络节点只需用所述第一邻居缓存信息更新所述已有邻居缓存信息;
当所述第一邻居缓存信息中的IP和MAC地址与所述邻居缓存信息表中的一条已有邻居缓存信息都中的IP和MAC地址相同,所述已有邻居缓存信息中的设备标识与所述网络节点的设备标识不同,可以认为终端设备进行了迁移,并且迁移前的入口网络节点不是本网络节点。并且所述已有邻居缓存信息中的MAC地址与MAC表中的一条已有MAC表项的MAC地址相同时,由于MAC表中有该终端设备的MAC地址,说明已有本地的终端设备与该终端设备进行过通信。通过控制平面的报文接收到第一地址对应关系信息的网络节点需要用所述第一邻居缓存信息更新所述已有邻居缓存信息和所述已有MAC表项。
由于终端设在发送unsolicited NA报文之前,已经进行过重复地址探测,所以通常不会有迁移之外的其他类型的重复地址现象。
在IPv4中,当所述第一ARP信息中的IP地址与所述ARP信息表中任意一条ARP信息中的IP地址都不同时,通过控制平面的报文接收到第一地址对应关系信息的网络节点在所述ARP信息表中增加第一ARP信息。
当第一ARP信息中的IP地址与ARP信息表中的一条已有ARP信息中的IP地址相同,第一ARP信息中的MAC地址与已有ARP信息中的MAC地址相同,已有ARP信息中的设备标识与通过控制平面的报文接收到第一地址对应关系信息的网络节点的设备标识不同,可以认为终端设备进行了迁移,并且迁移前的入口网络节点不是本网络节点。并且所述已有ARP信息中的MAC地址与MAC表中的任意一条已有MAC表项的MAC地址都不同时,由于MAC表中没有该终端设备的MAC地址,说明尚没有本地的终端设备与该终端设备进行过通信。通过控制平面的报文接收到第一地址对应关系信息的网络节点只需用第一ARP信息更新所述已有ARP信息。
当第一ARP信息中的IP地址与所述ARP信息表中的一条已有ARP信息中的IP地址相同,第一ARP信息中的MAC地址与所述已有ARP信息中的MAC地址相同,所述已有ARP信息中的设备标识与通过控制平面的报文接收到第一地址对应关系信息的网络节点的设备标识不同,可以认为终端设备进行了迁移,并且迁移前的入口网络节点不是本网络节点。并且所述已有ARP信息中的MAC地址与MAC表中的一条已有MAC表项的MAC地址相同时,由于MAC表中有该终端设备的MAC地址,说明已有本地的终端设备与该终端设备进行过通信。通过控制平面的报文接收到第一地址对应关系信息的网络节点需要用第一ARP信息更新所述已有ARP信息和所述已有MAC表项。此时不需要在本地通告该终端设备已进行了迁移,因为对于本地的终端设备来说,无论非本地的终端设备是否进行了迁移,与其通信都只须将报文发送至入口网络节点,后续处理都交给入口网络节点完成,本地的终端设备关于进行了迁移的非本地终端设备的信息,如IP地址、MAC地址、发送端口等都没有改变。
当第一ARP信息中的IP地址与所述ARP信息表中的一条已有ARP信息中的IP地址相同,第一ARP信息中的MAC地址与所述已有ARP信息中的MAC地址不同,并且所述已有ARP信息中的MAC地址与MAC表中的任意一条已有MAC表项的MAC地址都不同时,用第一ARP信息更新所述已有ARP信息。由于尚没有本地的终端设备与该终端设备进行过通信,因此通过控制平面的报文接收到第一地址对应关系信息的网络节点只需要更新ARP信息表即可。
当第一ARP信息中的IP地址与所述ARP信息表中的一条已有ARP信息中的IP地址相同,第一ARP信息中的MAC地址与所述已有ARP信息中的MAC地址不同,并且所述已有ARP信息中的MAC地址与MAC表中的一条已有MAC表项的MAC地址相同时,由于已有本地的终端设备与该终端设备进行过通信,必须更新该本地的终端设备的ARP信息。通过控制平面的报文接收到第一地址对应关系信息的网络节点用第一ARP信息更新所述已有ARP信息和所述已有MAC表项,并生成第一信息对应的ARP报文,在所述控制平面的报文对应的本地链路上广播第一ARP信息对应的ARP报文。由于控制平面的报文中携带了足够重构原先的ARP报文的所有信息,通过控制平面的报文接收到第一地址对应关系信息的网络节点可以生成出和入口网络节点接收到的ARP报文对应的ARP报文,如免费ARP报文或广播的ARP Reply报文,当ARP报文是终端设备从某个VLAN发送到入口网络节点时,控制平面的报文应当含有该VLAN的信息,通过控制平面的报文接收到第一地址对应关系信息的网络节点在本地链路的该VLAN上广播生成出的ARP报文。
对于记录单元306中采用封装ARP报文单播发送至已有ARP信息中的设备标识对应的网络节点的方案,上述方案已经足够。然而,如果不采用封装ARP报文单播发送至已有ARP信息中的设备标识对应的网络节点的方案,通过控制平面的报文接收到第一地址对应关系信息的网络节点还需要做以下判断和动作:
当第一ARP信息中的IP地址与所述ARP信息表中的一条已有ARP信息中的IP地址相同,并且所述已有ARP信息中的设备标识与所述网络节点的设备标识相同时,说明可能发生地址冲突的终端设备可能在该网络节点的本地链路上。因此网络节点需要生成第一ARP信息对应的ARP报文,在所述控制平面的报文对应的本地链路上广播第一ARP信息对应的ARP报文。由于控制平面的报文中携带了足够重构原先的ARP报文的所有信息,通过控制平面的报文接收到第一地址对应关系信息的网络节点可以生成出和入口网络节点接收到的ARP报文对应的ARP报文,如免费ARP报文或广播的ARP Reply报文,当ARP报文是终端设备从某个VLAN发送到入口网络节点时,控制平面的报文应当含有该VLAN的信息,通过控制平面的报文接收到第一地址对应关系信息的网络节点在本地链路的该VLAN上广播生成出的ARP报文。
记录单元306还用于当接收单元302接收到了其他网络节点通过控制平面的报文发送的第二地址对应关系信息时,在其地址对应关系信息表中记录该第二地址对应关系信息。第二地址对应关系信息可以是上述其他网络节点根据其从本地链路上接收到的地址对应关系通告报文获取的。
在IPv6中,当所述第二邻居缓存信息中的IP地址与所述邻居缓存信息表中任意一条邻居缓存信息中的IP地址都不同时,记录单元306在所述邻居缓存信息表中增加所述第二邻居缓存信息;
当所述第二邻居缓存信息中的IP和MAC地址与所述邻居缓存信息表中的一条已有邻居缓存信息都中的IP和MAC地址相同,所述已有邻居缓存信息中的设备标识与所述网络节点的设备标识不同,可以认为终端设备进行了迁移,并且迁移前的入口网络节点不是本网络节点。并且所述已有邻居缓存信息中的MAC地址与MAC表中的任意一条已有MAC表项的MAC地址都不同时,由于MAC表中没有该终端设备的MAC地址,说明尚没有本地的终端设备与该终端设备进行过通信。记录单元306只需用所述第二邻居缓存信息更新所述已有邻居缓存信息;
当所述第二邻居缓存信息中的IP和MAC地址与所述邻居缓存信息表中的一条已有邻居缓存信息都中的IP和MAC地址相同,所述已有邻居缓存信息中的设备标识与所述网络节点的设备标识不同,可以认为终端设备进行了迁移,并且迁移前的入口网络节点不是本网络节点。并且所述已有邻居缓存信息中的MAC地址与MAC表中的一条已有MAC表项的MAC地址相同时,由于MAC表中有该终端设备的MAC地址,说明已有本地的终端设备与该终端设备进行过通信。记录单元306需要用所述第二邻居缓存信息更新所述已有邻居缓存信息和所述已有MAC表项。
由于终端设在发送unsolicited NA报文之前,已经进行过重复地址探测,所以通常不会有迁移之外的其他类型的重复地址现象。
在IPv4中,当第二ARP信息中的IP地址与所述ARP信息表中任意一条ARP信息中的IP地址都不同时,网络节点在所述ARP信息表中增加第二ARP信息。
当第二ARP信息中的IP地址与ARP信息表中的一条已有ARP信息中的IP地址相同,第二ARP信息中的MAC地址与已有ARP信息中的MAC地址相同,所述已有ARP信息中的设备标识与所述网络节点的设备标识不同,可以认为终端设备进行了迁移,并且迁移前的网络节点不是本网络节点。并且所述已有ARP信息中的MAC地址与MAC表中的任意一条已有MAC表项的MAC地址都不同时,由于MAC表中没有该终端设备的MAC地址,说明尚没有本地的终端设备与该终端设备进行过通信。记录单元306只需用第二ARP信息更新所述已有ARP信息。
当第二ARP信息中的IP地址与所述ARP信息表中的一条已有ARP信息中的IP地址相同,第二ARP信息中的MAC地址与所述已有ARP信息中的MAC地址相同,所述已有ARP信息中的设备标识与所述网络节点的设备标识不同,可以认为终端设备进行了迁移,并且迁移前的网络节点不是本网络节点。并且所述已有ARP信息中的MAC地址与MAC表中的一条已有MAC表项的MAC地址相同时,由于MAC表中有该终端设备的MAC地址,说明已有本地的终端设备与该终端设备进行过通信。记录单元306需要用第二ARP信息更新所述已有ARP信息和所述已有MAC表项。此时不需要在本地通告该终端设备已进行了迁移,因为对于本地的终端设备来说,无论非本地的终端设备是否进行了迁移,与其通信都只须将报文发送至入口网络节点,后续处理都交给入口网络节点完成,本地的终端设备关于进行了迁移的非本地终端设备的信息,如IP地址、MAC地址、发送端口等都没有改变。
当第二ARP信息中的IP地址与所述ARP信息表中的一条已有ARP信息中的IP地址相同,第二ARP信息中的MAC地址与所述已有ARP信息中的MAC地址不同,并且所述已有ARP信息中的MAC地址与MAC表中的任意一条已有MAC表项的MAC地址都不同时,用第二ARP信息更新所述已有ARP信息。由于尚没有本地的终端设备与该终端设备进行过通信,因此记录单元306只需要更新ARP信息表即可。
当第二ARP信息中的IP地址与所述ARP信息表中的一条已有ARP信息中的IP地址相同,第二ARP信息中的MAC地址与所述已有ARP信息中的MAC地址不同,并且所述已有ARP信息中的MAC地址与MAC表中的一条已有MAC表项的MAC地址相同时,由于已有本地的终端设备与该终端设备进行过通信,必须更新该本地的终端设备的ARP信息。记录单元306用第二ARP信息更新所述已有ARP信息和所述已有MAC表项,并生成第二信息对应的ARP报文,在所述控制平面的报文对应的本地链路上广播第二ARP信息对应的ARP报文。由于控制平面的报文中携带了足够重构原先的ARP报文的所有信息,网络节点可以生成出和其他网络节点接收到的ARP报文对应的ARP报文,如免费ARP报文或广播的ARPReply报文,当ARP报文是终端设备从某个VLAN发送到其他网络节点时,控制平面的报文应当含有该VLAN的信息,网络节点在本地链路的该VLAN上广播生成出的ARP报文。
对于采用封装ARP报文单播发送至已有ARP信息中的设备标识对应的网络节点的方案,上述方案已经足够。然而,如果不采用其他网络节点封装ARP报文单播发送至已有ARP信息中的设备标识对应的网络节点的方案,记录单元306还用于:
当第二ARP信息中的IP地址与所述ARP信息表中的一条已有ARP信息中的IP地址相同,并且所述已有ARP信息中的设备标识与所述网络节点的设备标识相同时,说明可能发生地址冲突的终端设备可能在网络节点的本地链路上,或者终端设备迁移前的入口网络节点是本网络节点。因此记录单元306需要生成第二ARP信息对应的ARP报文,在所述控制平面的报文对应的本地链路上广播第二ARP信息对应的ARP报文。由于控制平面的报文中携带了足够重构原先的ARP报文的所有信息,记录单元306可以生成出和其他网络节点接收到的ARP报文对应的ARP报文,如免费ARP报文或广播的ARP Reply报文,当ARP报文是终端设备从某个VLAN发送到其他网络节点时,控制平面的报文应当含有该VLAN的信息,记录单元306在本地链路的该VLAN上广播生成出的ARP报文。
由于控制平面的报文不会触发MAC地址学习,因此记录单元306需要在合适的时候在MAC表中增加相应表项以保证报文正确转发。网络节点在接收到本地链路上的地址对应关系信息请求报文时,如果地址对应关系信息请求报文中的目标IP地址与地址对应关系信息表中的一条已有地址对应关系信息中的IP地址相同时,则不需要向网络侧转发该地址对应关系信息请求报文。接收到地址对应关系信息请求报文的网络节点生成已有地址对应关系信息对应的地址对应关系信息响应报文,向发送地址对应关系信息请求报文的终端设备发送该响应报文。由于终端设备发送地址对应关系信息请求报文意味着该终端设备很可能接下来就需要与被请求的终端设备通信,因此记录单元306此时即根据已有地址对应关系信息更新MAC表。在应用链路状态路由的数据链路层协议中,网络节点的MAC表对应于网络侧的表项保存MAC地址和网络节点的设备标识的对应关系,因此记录单元306只需要将地址对应关系信息表项中相应内容增加到MAC表即可。
在IPv6中,地址对应关系信息请求报文包括NS报文,地址对应关系信息响应报文包括NA报文。NS报文的源地址为发送该NS报文的终端设备的IP地址,目的地址为被请求地址对应关系信息的终端设备的solicited-node multicast address,目标地址为被请求地址对应关系信息的终端设备的IP地址。NA报文的源地址为邻居缓存信息表中已有邻居缓存信息的IP地址,目的地址为对应的NS报文的源地址,目标地址为对应的NS报文的目标地址,目标链路层地址为邻居缓存信息表中已有邻居缓存信息的MAC地址,请求标志位置一。
在IPv4中,地址对应关系信息请求报文包括ARP请求(ARP Request)报文,地址对应关系信息响应报文包括ARP应答(ARP Reply)报文。ARP Request报文的报文类型是请求,发送方地址为发送该ARP Request报文的终端设备的IP地址,目标地址为被请求地址对应关系信息的终端设备的IP地址。ARP Reply报文的报文类型是应答,发送方地址为ARP信息表中已有ARP信息的IP地址,目标地址为对应的ARP Request报文的目标地址,目标链路层地址为ARP信息表中已有ARP信息的MAC地址。
ARP信息表或邻居缓存信息表通常由CPU控制和访问,存储在内存中,访问和查找速度较慢,对规格也没有明确限制。而MAC表通常由ASIC、FPGA或NP控制和访问,存储在CAM中,访问和查找速度快,但是成本高、功耗大,对规格也有一定限制。
由于控制平面的报文不会使边缘网络节点学习MAC地址,并且地址对应关系信息中包括了入口网络节点的设备标识,当接收到地址对应关系信息请求后可以直接根据已有地址对应关系信息更新MAC表,在保证报文正确转发的同时减小了边缘网络节点的MAC表,减小了设备复杂度,降低了对MAC表规格的要求。
可选的,上述发送装置还可以包括老化单元,用于对本地链路上的终端设备进行老化探测。当需要老化终端设备的地址对应关系信息时,老化单元老化该地址对应关系信息,并可以进一步删除MAC表中相应的表项。老化单元通过控制平面的报文向其他网络节点发送终端设备的地址对应关系信息,接收到该控制平面的报文的其它网络节点的老化单元根据控制平面报文的指示老化该终端设备的地址对应关系信息,并可以进一步删除MAC表中相应的表项。老化单元都只对自己本地链路上的终端设备进行老化探测,并且不主动老化已保存的地址对应关系信息。举例来说,可以将通过控制平面的报文获得的地址对应关系信息设置为具有较高的信任值(confidence level),如254。只有当探测到本地链路上的终端设备需要老化时,或者接收到其他网络节点通过控制平面的报文发送的老化指示时老化单元才老化已保存的地址对应关系信息。
采用本发明实施例提供的技术方案,由于除了入口网络节点的其他网络节点的地址对应关系信息表中也保存了终端设备的地址对应关系信息,当接收到地址对应关系信息请求后可以直接回应地址对应关系信息响应,不需要广播该请求,减少了应用链路状态路由的数据链路层协议中广播地址对应关系信息请求占用的带宽。
另外,由于控制平面的报文不会使边缘网络节点学习MAC地址,并且地址对应关系信息中包括了入口网络节点的设备标识,当接收到地址对应关系信息请求后可以直接根据已有地址对应关系信息更新MAC表,减小了边缘网络节点的MAC表,在保证报文正确转发的同时减小了边缘网络节点的MAC表,减小了设备复杂度,降低了对MAC表规格的要求。
以下结合图4说明本发明另一个实施例:
图4为本发明一个实施例中应用链路状态路由的数据链路层协议中的MAC表更新装置框图。该更新装置通常由网络中的网络节点实现。该更新装置网络侧的MAC地址学习功能处于关闭状态。通常网络节点在接收到网络侧的报文时会进行MAC地址学习,即用报文的源MAC地址和入口网络节点的设备标识更新MAC表。本实施例中,实现该更新装置的网络节点关闭网络侧的MAC地址学习功能,而不改变本地链路侧的MAC地址学习功能。上述应用链路状态路由的数据链路层协议可以是TRILL,也可以是Shortest Path Bridging。在TRILL中,该网络节点通常为路由桥设备。在SPB中,该网络节点通常为边缘网桥设备。该更新装置包括:
第一接收单元402,用于接收地址对应关系通告报文,所述地址对应关系通告报文的封装信息中包含封装所述地址对应关系通告报文的网络节点的设备标识。
在IPv6中,地址对应关系通告报文可以是unsolicited NA报文。unsolicited NA报文的目标地址为发送该报文的终端设备的IP地址,该IP地址可以是本地IP地址或全局IP地址;目的IP地址为全网络节点组播地址;目标链路层地址为发送该报文的终端设备的链路层地址,链路层地址在以太网中即为MAC地址;请求标志位置零。
在IPv4中,地址对应关系通告报文可以是ARP报文。具体的,该ARP报文可以使免费ARP报文,也可以是广播的ARP Reply报文。当发生虚拟机迁移时,虚拟机迁移后会利用RARP报文通告迁移,此时,在本地链路上收到该RARP报文的网络节点根据自身的地址对应关系信息表,将该RARP报文转换为地址对应关系通告报文,如免费ARP报文或广播的ARP Reply报文,封装该地址对应关系通告报文后向网络侧发送,封装信息中包含封装该地址对应关系通告报文的网络节点的设备标识。免费ARP报文的报文类型是请求,发送方IP地址为发送该报文的终端设备的IP地址,发送方MAC地址为发送该报文的终端设备的MAC地址,目标IP地址为发送该报文的终端设备的IP地址,目标MAC地址为广播地址。广播的ARP Reply报文的格式基本相同,但报文类型是应答,目标IP地址为广播地址。RARP报文中的报文类型是请求,发送方IP地址为缺省值,例如为全零,因此第一ARP信息中的IP地址也为缺省值。
入口网络节点在接收到地址对应关系通告报文后,封装该地址对应关系通告报文,封装信息中包含其自身的设备标识,并广播该地址对应关系通告报文。因此其他网络节点的接收单元可以接收到该封装信息中封装所述地址对应关系通告报文的网络节点的设备标识的地址对应关系通告报文。上述封装报文的方式可以是TRILL封装或MAC-in-MAC封装。
获取单元404,用于根据所述地址对应关系通告报文获取第一地址对应关系信息,所述第一地址对应关系信息包括发送所述地址对应关系通告报文的终端设备的MAC地址、发送所述地址对应关系通告报文的终端设备的网际协议IP地址与所述地址对应关系通告报文中的设备标识的对应关系。
第一地址对应关系信息即发送地址对应关系通告报文的终端设备的MAC地址、IP地址与该终端设备的入口网络节点的设备标识的对应关系。在TRILL中,该终端设备的入口网络节点的设备标识可以从封装后的地址对应关系通告报文的报文头的入口路由桥昵称域获得。在SPB中,该终端设备的入口网络节点的设备标识即B-MAC,可以从封装后的地址对应关系通告报文的S-DA字段获得。在IPv6中,第一地址对应关系信息包括第一邻居缓存信息。在IPv4中,第一地址对应关系信息包括第一ARP信息。
增加单元406,用于当所述第一地址对应关系信息中的IP地址与地址对应关系信息表中任意一条地址对应关系信息中的IP地址都不同时,在所述地址对应关系信息表中增加所述第一地址对应关系信息。
地址对应关系信息表为网络节点中用于保存地址对应关系信息的表。在IPv6中,地址对应关系信息表为邻居缓存信息表。在IPv4中,地址对应关系信息表为ARP信息表。由于第一地址对应关系信息除了MAC地址和IP地址之外还包括入口网络节点的设备标识,因此,与通常的邻居缓存和ARP表相比,邻居缓存信息表和ARP信息表的每个表项都多了设备标识的内容。
在IPv6中,当第一邻居缓存信息中的IP地址与邻居缓存信息表中任意一条邻居缓存信息中的IP地址都不同时,可以认为是新的终端设备上线或者终端设备变更IP地址。此时,增加单元406在邻居缓存信息表中增加所述第一邻居缓存信息。
上述更新装置还可以包括更新单元。当所述第一邻居缓存信息中的IP和MAC地址与所述邻居缓存信息表中的一条已有邻居缓存信息都中的IP和MAC地址相同,所述已有邻居缓存信息中的设备标识与所述网络节点的设备标识不同,可以认为终端设备进行了迁移,并且迁移前的入口网络节点不是本网络节点。并且所述已有邻居缓存信息中的MAC地址与MAC表中的任意一条已有MAC表项的MAC地址都不同时,由于MAC表中没有该终端设备的MAC地址,说明尚没有本地的终端设备与该终端设备进行过通信。此时更新单元用所述第一邻居缓存信息更新所述已有邻居缓存信息。
当所述第一邻居缓存信息中的IP和MAC地址与所述邻居缓存信息表中的一条已有邻居缓存信息都中的IP和MAC地址相同,所述已有邻居缓存信息中的设备标识与所述网络节点的设备标识不同,可以认为终端设备进行了迁移,并且迁移前的入口网络节点不是本网络节点。并且所述已有邻居缓存信息中的MAC地址与MAC表中的一条已有MAC表项的MAC地址相同时,由于MAC表中有该终端设备的MAC地址,说明已有本地的终端设备与该终端设备进行过通信。此时更新单元用所述第一邻居缓存信息更新所述已有邻居缓存信息和所述已有MAC表项。
由于终端设在发送unsolicited NA报文之前,已经进行过重复地址探测,所以通常不会有迁移之外的其他类型的重复地址现象。
在IPv4中,当第一地址对应关系信息中的IP地址不在地址对应关系信息表中,即当第一ARP信息中的IP地址与ARP信息表中任意一条ARP信息中的IP地址都不同时,可以认为是新的终端设备上线或者终端设备变更IP地址。此时,增加单元406在ARP信息表中增加第一ARP信息。
当所述第一ARP信息中的IP地址与所述ARP信息表中的一条已有ARP信息中的IP地址相同,第一ARP信息中的MAC地址与所述已有ARP信息中的MAC地址相同,已有ARP信息中的设备标识与所述网络节点的设备标识不同,可以认为终端设备进行了迁移,并且迁移前的入口网络节点不是本网络节点。并且已有ARP信息中的MAC地址与MAC表中的任意一条已有MAC表项的MAC地址都不同时,由于MAC表中没有该终端设备的MAC地址,说明尚没有本地的终端设备与该终端设备进行过通信。此时更新单元用第一ARP信息更新所述已有ARP信息。
当所述第一ARP信息中的IP地址与所述ARP信息表中的一条已有ARP信息中的IP地址相同,所述第一ARP信息中的MAC地址与所述已有ARP信息中的MAC地址相同,所述已有ARP信息中的设备标识与所述网络节点的设备标识不同,可以认为终端设备进行了迁移,并且迁移前的入口网络节点不是本网络节点。并且所述已有ARP信息中的MAC地址与MAC表中的一条已有MAC表项的MAC地址相同时,由于MAC表中有该终端设备的MAC地址,说明已有本地的终端设备与该终端设备进行过通信。此时更新单元用所述第一ARP信息更新所述已有ARP信息和所述已有MAC表项。
当第一ARP信息中的IP地址与所述ARP信息表中的一条已有ARP信息中的IP地址相同,第一ARP信息中的MAC地址与已有ARP信息中的MAC地址不同,并且已有ARP信息中的MAC地址与MAC表中的任意一条已有MAC表项的MAC地址都不同时,更新单元用第一ARP信息更新已有ARP信息。由于尚没有本地的终端设备与该终端设备进行过通信,因此更新单元只需要更新ARP信息表即可。
当所述第一ARP信息中的IP地址与所述ARP信息表中的一条已有ARP信息中的IP地址相同,所述第一ARP信息中的MAC地址与已有ARP信息中的MAC地址不同,并且已有ARP信息中的MAC地址与MAC表中的一条已有MAC表项的MAC地址相同时,由于已有本地的终端设备与该终端设备进行过通信,必须更新该本地的终端设备的ARP信息。更新单元用第一ARP信息更新已有ARP信息和已有MAC表项,在与封装后的ARP报文对应的本地链路上广播解封装后的ARP报文。与封装后的ARP报文对应的本地链路是指,当ARP报文是终端设备从某个VLAN发送到入口网络节点时,接收到封装后的地址对应关系通告报文的网络节点在本地链路的该VLAN上广播解封装后的该ARP报文。
当所述第一ARP信息中的IP地址与所述ARP信息表中的一条已有ARP信息中的IP地址相同,并且所述已有ARP信息中的设备标识与所述网络节点的设备标识相同时,说明可能发生地址冲突的终端设备可能在该网络节点的本地链路上,或者终端设备迁移前的入口网络节点是本网络节点。此时更新单元在与所述封装后的ARP报文对应的本地链路上广播解封装后的所述ARP报文。
第二接收单元408,用于接收本地链路上的地址对应关系信息请求报文。
在IPv6中,地址对应关系信息请求报文包括邻居请求NS报文,NS报文的源地址为发送该NS报文的终端设备的IP地址,目的地址为被请求地址对应关系信息的终端设备的被请求网络节点组播地址,目标地址为被请求地址对应关系信息的终端设备的IP地址。
在IPv4中,地址对应关系信息请求报文包括ARP Request报文,ARP Request报文发送方地址为发送该ARP Request报文的终端设备的IP地址,目标地址为被请求地址对应关系信息的终端设备的IP地址。
生成单元410,用于当所述地址对应关系信息请求报文中的目标地址与所述地址对应关系信息表中的一条已有地址对应关系信息中的IP地址相同时,生成所述已有地址对应关系信息对应的地址对应关系信息响应报文,向发送所述地址对应关系信息请求报文的终端设备发送所述已有地址对应关系信息对应的地址对应关系信息响应报文,根据所述已有地址对应关系信息更新MAC表。
网络节点在接收到本地链路上的地址对应关系信息请求报文时,如果地址对应关系信息请求报文中的目标地址与地址对应关系信息表中的一条已有地址对应关系信息中的IP地址相同时,则不需要向网络侧转发该地址对应关系信息请求报文,生成单元410生成已有地址对应关系信息对应的地址对应关系信息响应报文,向发送请求报文的终端设备发送该响应报文。
在IPv6中,地址对应关系信息响应报文包括NA报文,NA报文的源地址为邻居缓存信息表中已有邻居缓存信息的IP地址,目的地址为对应的NS报文的源地址,目标地址为对应的NS报文的目标地址,目标链路层地址为邻居缓存信息表中已有邻居缓存信息的MAC地址,请求标志位置一。
在IPv4中,地址对应关系信息响应报文包括ARP Reply报文,ARPReply报文的发送方地址为ARP信息表中已有ARP信息的IP地址,目标地址为对应的ARP Request报文的目标地址,目标链路层地址为ARP信息表中已有ARP信息的MAC地址。
由于边缘网络节点关闭了网络侧的MAC地址学习功能,因此需要在合适的时候在MAC表中增加相应表项以保证报文正确转发。因为终端设备发送地址对应关系信息请求报文意味着该终端设备很可能接下来就需要与被请求的终端设备通信,因此生成单元410此时即根据已有地址对应关系信息更新MAC表。在应用链路状态路由的数据链路层协议中,网络节点的MAC表对应于网络侧的表项保存MAC地址和网络节点的设备标识的对应关系,因此只需要将地址对应关系信息表项中相应内容增加到MAC表即可。
在某些情况下,终端设备可能不发送地址对应关系信息相关消息,直接进行数据报文的通信。此时,为了避免关闭MAC地址学习造成MAC表无法更新,上述更新装置还可以包括以下单元。
MAC增加单元,用于接收到数据报文的网络节点在MAC表中找不到相应的表项时,如果地址对应关系信息表存在相应表项,则将该表项中相应内容增加到MAC表。
广播单元,用于接收到数据报文的网络节点在MAC表中找不到相应的表项时,如果地址对应关系信息表也不存在相应表项,则生成地址对应关系信息请求报文,封装后广播该地址对应关系信息请求报文。其他网络节点接收到该报文后在相应的本地链路广播该地址对应关系信息请求报文。被请求的终端设备发送地址对应关系信息响应报文。被请求的终端设备的入口网络节点将该报文封装后,向接收到数据报文的网络节点发送。接收到数据报文的网络节点根据该地址对应关系信息响应报文更新地址对应关系信息表和MAC表。同时,被请求的终端设备的入口网络节点根据地址对应关系信息响应报文生成相应的地址对应关系信息通告报文,将该报文封装后广播该报文,接收到该广播报文的网络节点按照上述实施例所述方法继续处理。
ARP信息表或邻居缓存信息表通常由CPU控制和访问,存储在内存中,访问和查找速度较慢,对规格也没有明确限制。而MAC表通常由ASIC、FPGA或NP控制和访问,存储在内容可寻址存储器CAM中,访问和查找速度快,但是成本高、功耗大,对规格也有一定限制。
由于关闭了网络侧的MAC地址学习功能,网络侧的地址对应关系通告报文、地址对应关系请求报文或地址对应关系响应报文不会使边缘网络节点学习MAC地址,并且地址对应关系信息中包括了入口网络节点的设备标识,当接收到地址对应关系信息请求后可以直接根据已有地址对应关系信息更新MAC表,在保证报文正确转发的同时减小了边缘网络节点的MAC表,减小了设备复杂度,降低了对MAC表规格的要求。
另外,由于除了入口网络节点的其他网络节点的地址对应关系信息表中也保存了终端设备的地址对应关系信息,当接收到地址对应关系信息请求后可以直接回应地址对应关系信息响应,不需要广播该请求,减少了应用链路状态路由的数据链路层协议中广播地址对应关系信息请求占用的带宽。
以下结合图5说明本发明实施例的一个具体应用场景:
图5为本发明实施例的一个具体应用场景中的地址对应关系信息发送示意图。
该具体应用场景应用于基于TRILL的IPv4网络中。其中,RB1至RB6为路由桥设备,RB1为S1和S3的路由桥设备,RB2为S2的路由桥设备。
RB1接收到S1发送的免费ARP报文后,获取第一ARP信息,即S1的MAC地址、S1的IP地址和RB1自身的昵称的对应关系。RB1发现该对应关系不在ARP信息表中,则在ARP信息表中记录该对应关系。RB1根据该对应关系生成ESADI报文,根据S1的MAC地址和IP地址填写ESADI报文的相应TLV,将RB1自身的昵称作为入口路由桥昵称,广播该ESADI报文。RB2至RB6都接收到该报文,根据相应TLV中的MAC地址和IP地址以及入口路由桥昵称获取第一ARP信息,各路由桥设备都发现第一ARP信息不在其ARP信息表中,则在各自的ARP信息表中记录第一ARP信息。
当S2需要和S1通信时,发送ARP Request报文,RB2接收到该ARPRequest报文后,发现ARP Request中的目标IP地址在其ARP信息表中有相应表项,则生成相应的ARP Reply报文,向S2发送该ARP Reply报文。RB2将其ARP信息表中相应表项的S1的MAC地址和RB1的昵称写入MAC表。
假设这之后S1迁移到了RB2下(图中虚线位置)。S1发送的免费ARP报文,RB2接收到S1发送的免费ARP报文后,获取第一ARP信息,即S1的MAC地址、S1的IP地址和RB2自身的昵称的对应关系。RB2发现该对应关系不在ARP信息表中,则在ARP信息表中记录该对应关系。具体的,S1的MAC地址和IP地址都没有改变,已有ARP信息中的设备标识即RB1昵称与RB2自身的设备标识不同,可以认为S1进行了迁移,并且迁移前的路由桥设备即RB1不是本路由桥设备。由于RB2已对S1发送的免费ARP报文进行过MAC地址学习,此时不需要检查或更新MAC表。
RB2根据第一ARP信息生成ESADI报文,根据S1的MAC地址和IP地址填写ESADI报文的相应TLV,将RB2自身的昵称作为入口路由桥昵称,广播该ESADI报文。RB1,RB3至RB6都接收到该报文,根据相应TLV中的MAC地址和IP地址以及入口路由桥昵称获取第一ARP信息。
对于RB3至RB6,第一ARP信息中的IP地址与RB3至RB6的ARP信息表中的一条已有ARP信息中的IP地址相同,第一ARP信息中的MAC地址与RB3至RB6中该已有ARP信息中的MAC地址相同,该已有ARP信息中的设备标识即RB1的昵称与RB3至RB6的昵称不同,因此RB3至RB6更新各自的已有ARP信息。如果,RB4下有终端设备曾试图与S1通信,则其MAC表中会有相应MAC表项,此时还需要更新该MAC表项。此时RB4不需要在本地通告该终端设备已进行了迁移,因为对于RB4本地的终端设备来说,无论S1是否进行了迁移,与S1通信都只须将报文发送至RB4,后续处理都交给RB4完成,本地的终端设备关于S1的信息,如IP地址、MAC地址、发送端口等都没有改变。
对于RB1,第一ARP信息中的IP地址与RB1的ARP信息表中的一条已有ARP信息中的IP地址相同,第一ARP信息中的MAC地址与RB1中该已有ARP信息中的MAC地址相同,该已有ARP信息中的设备标识即RB1的昵称,与RB1的设备标识即RB1的昵称相同,因此RB1更新已有ARP信息。因为S1在RB1上线时,RB1已经对S1的免费ARP报文做过MAC地址学习,因此,还需要更新MAC表。RB1生成第一ARP信息对应的免费ARP报文,在ESADI报文对应VLAN的本地链路上广播该免费ARP报文。如果原先S1与RB1之间还有一个交换机(switch),并且原先与S1同在RB1下的S3也在该switch下,因为该交换机,在S1在RB1上线时已根据RB1广播的免费ARP报文得到了S1的信息,如果该交换机不知道S1已经发生了迁移,则S3需要和S1通信时,该交换机会将接收到的S3发往S1的报文向原先S1所在的端口转发而不会发往RB。所以RB1需要广播与第一ARP信息对应的该免费ARP报文,以更新本地链路上个终端设备例如S3的关于S1的ARP及MAC信息。
RB1至RB6对本地链路上的终端设备进行老化探测。当S1下线后,RB2发现需要对S1的ARP及MAC信息进行老化。RB2老化该ARP信息,并进一步删除MAC表中相应的表项。RB2广播需要老化S1信息的ESADI报文,RB1,RB3至RB6各自老化S1的ARP信息,并进一步删除MAC表中相应的表项。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于计算机可读存储介质中,所述存储介质可以是ROM/RAM,磁盘或光盘等。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (26)

1.一种应用链路状态路由的数据链路层协议中的地址对应关系信息发送方法,其特征在于,包括:
网络节点接收本地链路上的地址对应关系通告报文;
根据所述地址对应关系通告报文获取第一地址对应关系信息,所述第一地址对应关系信息包括发送所述地址对应关系通告报文的终端设备的介质访问控制MAC地址、发送所述地址对应关系通告报文的终端设备的网际协议IP地址与所述网络节点的设备标识的对应关系;
当所述第一地址对应关系信息不在地址对应关系信息表中时,在所述地址对应关系信息表中记录所述第一地址对应关系信息;
通过控制平面的报文向其他网络节点发送所述第一地址对应关系信息,所述控制平面的报文使所述其他网络节点在其地址对应关系信息表中记录所述第一地址对应关系信息;
所述方法还包括:
接收所述本地链路上的地址对应关系信息请求报文;
当所述地址对应关系信息请求报文中的目标地址与所述地址对应关系信息表中的一条已有地址对应关系信息中的IP地址相同时,生成所述已有地址对应关系信息对应的地址对应关系信息响应报文,向发送所述地址对应关系信息请求报文的终端设备发送所述已有地址对应关系信息对应的地址对应关系信息响应报文,根据所述已有地址对应关系信息更新MAC表。
2.根据权利要求1所述的方法,其特征在于,还包括:
对本地链路上的终端设备进行老化探测;
当需要老化所述终端设备的地址对应关系信息时,通过控制平面的报文向其他网络节点发送所述终端设备的地址对应关系信息,所述控制平面的报文使所述其他网络节点在其地址对应关系信息表中老化所述终端设备的地址对应关系信息。
3.根据权利要求1或2所述的方法,其特征在于,所述方法应用于IPv6中,所述地址对应关系通告报文包括非请求邻居通告unsolicitedNA报文,所述地址对应关系信息包括邻居缓存信息,所述第一地址对应关系信息包括第一邻居缓存信息,所述地址对应关系信息表包括邻居缓存信息表。
4.根据权利要求3所述的方法,其特征在于,所述当所述第一地址对应关系信息不在地址对应关系信息表中时,在所述地址对应关系信息表中记录所述第一地址对应关系信息,包括:
当所述第一邻居缓存信息中的IP地址与所述邻居缓存信息表中任意一条邻居缓存信息中的IP地址都不同时,在所述邻居缓存信息表中增加所述第一邻居缓存信息;
当所述第一邻居缓存信息中的IP和MAC地址与所述邻居缓存信息表中的一条已有邻居缓存信息中的IP和MAC地址相同,并且所述第一邻居缓存信息中的设备标识与所述已有邻居缓存信息中的设备标识不同时,用所述第一邻居缓存信息更新所述已有邻居缓存信息。
5.根据权利要求4所述的方法,其特征在于,还包括:
接收其他网络节点通过控制平面的报文发送的第二邻居缓存信息;
当所述第二邻居缓存信息中的IP地址与所述邻居缓存信息表中任意一条邻居缓存信息中的IP地址都不同时,在所述邻居缓存信息表中增加所述第二邻居缓存信息;
当所述第二邻居缓存信息中的IP和MAC地址与所述邻居缓存信息表中的一条已有邻居缓存信息都中的IP和MAC地址相同,所述已有邻居缓存信息中的设备标识与所述网络节点的设备标识不同,并且所述已有邻居缓存信息中的MAC地址与MAC表中的任意一条已有MAC表项的MAC地址都不同时,用所述第二邻居缓存信息更新所述已有邻居缓存信息;
当所述第二邻居缓存信息中的IP和MAC地址与所述邻居缓存信息表中的一条已有邻居缓存信息都中的IP和MAC地址相同,所述已有邻居缓存信息中的设备标识与所述网络节点的设备标识不同,并且所述已有邻居缓存信息中的MAC地址与MAC表中的一条已有MAC表项的MAC地址相同时,用所述第二邻居缓存信息更新所述已有邻居缓存信息和所述已有MAC表项。
6.根据权利要求1所述的方法,其特征在于,所述方法应用于IPv4中,所述地址对应关系通告报文包括地址解析协议ARP报文,所述地址对应关系信息包括ARP信息,所述第一地址对应关系信息包括第一ARP信息,所述地址对应关系信息表包括ARP信息表。
7.根据权利要求6所述的方法,其特征在于,所述当所述第一地址对应关系信息不在地址对应关系信息表中时,在所述地址对应关系信息表中记录所述第一地址对应关系信息,包括:
当所述第一ARP信息中的IP地址与所述ARP信息表中任意一条ARP信息中的IP地址都不同时,在所述ARP信息表中增加所述第一ARP信息。
8.根据权利要求7所述的方法,其特征在于,所述当所述第一地址对应关系信息不在地址对应关系信息表中时,在所述地址对应关系信息表中记录所述第一地址对应关系信息,还包括:
当所述第一ARP信息中的IP地址与所述ARP信息表中的一条已有ARP信息中的IP地址相同,所述第一ARP信息中的MAC地址与所述已有ARP信息中的MAC地址相同,并且所述第一ARP信息中的设备标识与所述已有ARP信息中的设备标识不同时,用所述第一ARP信息更新所述已有ARP信息。
9.根据权利要求7所述的方法,其特征在于,所述当所述第一地址对应关系信息不在地址对应关系信息表中时,在所述地址对应关系信息表中记录所述第一地址对应关系信息,还包括:
当所述第一ARP信息中的IP地址为缺省值,所述第一ARP信息中的MAC地址与所述已有ARP信息中的MAC地址相同,并且所述第一ARP信息中的设备标识与所述已有ARP信息中的设备标识不同时,用所述第一ARP信息中的设备标识更新所述已有ARP信息中的设备标识,并用所述已有ARP信息中的IP地址替换所述第一ARP信息中的IP地址。
10.根据权利要求7所述的方法,其特征在于,所述当所述第一地址对应关系信息不在地址对应关系信息表中时,在所述地址对应关系信息表中记录所述第一地址对应关系信息,还包括:
当所述第一ARP信息中的IP地址与所述ARP信息表中的一条已有ARP信息中的IP地址相同,并且所述第一ARP信息中的MAC地址与所述已有ARP信息中的MAC地址不同时,用所述第一ARP信息更新所述已有ARP信息。
11.根据权利要求8至10任一项所述的方法,其特征在于,在所述地址对应关系信息表中记录所述第一地址对应关系信息之后,还包括:
封装所述ARP报文,封装信息中包含所述第一地址对应关系信息中的设备标识,单播发送至所述已有ARP信息中的设备标识对应的网络节点。
12.根据权利要求6所述的方法,其特征在于,当所述第一ARP信息中的IP地址与所述ARP信息表中的一条已有ARP信息中的IP地址相同,所述第一ARP信息中的MAC地址与所述已有ARP信息中的MAC地址不同,并且所述第一ARP信息中的设备标识与所述已有ARP信息中的设备标识不同时,
所述在ARP信息表中记录所述第一ARP信息,还包括,封装所述ARP报文,封装信息中包含所述第一地址对应关系信息中的设备标识,单播发送至所述已有ARP信息中的设备标识对应的网络节点,如果预设时间内未收到与所述第一ARP信息中的IP地址相同的ARP响应报文,则用所述第一ARP信息更新所述已有ARP信息;
所述通过控制平面的报文向其他网络节点发送所述第一ARP信息,包括,如果预设时间内未收到与所述第一ARP信息中的IP地址相同的ARP响应报文,则通过控制平面的报文向其他网络节点发送所述第一ARP信息。
13.根据权利要求6所述的方法,其特征在于,还包括:
接收其他网络节点通过控制平面的报文发送的第二ARP信息;
当所述第二ARP信息中的IP地址与所述ARP信息表中任意一条ARP信息中的IP地址都不同时,在所述ARP信息表中增加所述第二ARP信息。
14.根据权利要求13所述的方法,其特征在于,还包括:
当所述第二ARP信息中的IP地址与所述ARP信息表中的一条已有ARP信息中的IP地址相同,所述第二ARP信息中的MAC地址与所述已有ARP信息中的MAC地址相同,所述已有ARP信息中的设备标识与所述网络节点的设备标识不同,并且所述已有ARP信息中的MAC地址与MAC表中的任意一条已有MAC表项的MAC地址都不同时,用所述第二ARP信息更新所述已有ARP信息;
当所述第二ARP信息中的IP地址与所述ARP信息表中的一条已有ARP信息中的IP地址相同,所述第二ARP信息中的MAC地址与所述已有ARP信息中的MAC地址相同,所述已有ARP信息中的设备标识与所述网络节点的设备标识不同,并且所述已有ARP信息中的MAC地址与MAC表中的一条已有MAC表项的MAC地址相同时,用所述第二ARP信息更新所述已有ARP信息和所述已有MAC表项。
15.根据权利要求13所述的方法,其特征在于,还包括:
当所述第二ARP信息中的IP地址与所述ARP信息表中的一条已有ARP信息中的IP地址相同,所述第二ARP信息中的MAC地址与所述已有ARP信息中的MAC地址不同,并且所述已有ARP信息中的MAC地址与MAC表中的任意一条已有MAC表项的MAC地址都不同时,用所述第二ARP信息更新所述已有ARP信息;
当所述第二ARP信息中的IP地址与所述ARP信息表中的一条已有ARP信息中的IP地址相同,所述第二ARP信息中的MAC地址与所述已有ARP信息中的MAC地址不同,并且所述已有ARP信息中的MAC地址与MAC表中的一条已有MAC表项的MAC地址相同时,用所述第二ARP信息更新所述已有ARP信息和所述已有MAC表项,并生成第二ARP信息对应的ARP报文,在所述控制平面的报文对应的本地链路上广播所述第二ARP信息对应的ARP报文。
16.根据权利要求13至15任一项所述的方法,其特征在于,还包括:
当所述第二ARP信息中的IP地址与所述ARP信息表中的一条已有ARP信息中的IP地址相同,并且所述已有ARP信息中的设备标识与所述网络节点的设备标识相同时,生成第二ARP信息对应的ARP报文,在所述控制平面的报文对应的本地链路上广播所述第二ARP信息对应的ARP报文。
17.一种应用链路状态路由的数据链路层协议中的介质访问控制MAC表更新方法,其特征在于,包括:
关闭网络侧的MAC地址学习功能;
接收地址对应关系通告报文,所述地址对应关系通告报文的封装信息中包含封装所述地址对应关系通告报文的网络节点的设备标识;
根据所述地址对应关系通告报文获取第一地址对应关系信息,所述第一地址对应关系信息包括发送所述地址对应关系通告报文的终端设备的MAC地址、发送所述地址对应关系通告报文的终端设备的网际协议IP地址与所述地址对应关系通告报文中的设备标识的对应关系;
当所述第一地址对应关系信息中的IP地址与地址对应关系信息表中任意一条地址对应关系信息中的IP地址都不同时,在所述地址对应关系信息表中增加所述第一地址对应关系信息;
接收本地链路上的地址对应关系信息请求报文;
当所述地址对应关系信息请求报文中的目标地址与所述地址对应关系信息表中的一条已有地址对应关系信息中的IP地址相同时,生成所述已有地址对应关系信息对应的地址对应关系信息响应报文,向发送所述地址对应关系信息请求报文的终端设备发送所述已有地址对应关系信息对应的地址对应关系信息响应报文,根据所述已有地址对应关系信息更新MAC表。
18.根据权利要求17所述的方法,其特征在于,所述方法应用于IPv6中,所述地址对应关系通告报文包括非请求邻居通告unsolicited NA报文,所述地址对应关系信息包括邻居缓存信息,所述第一地址对应关系信息包括第一邻居缓存信息,所述地址对应关系信息表包括邻居缓存信息表,所述地址对应关系信息请求报文包括邻居请求NS报文,所述地址对应关系信息响应报文包括邻居通告NA报文。
19.根据权利要求18所述的方法,其特征在于,还包括:
当所述第一邻居缓存信息中的IP和MAC地址与所述邻居缓存信息表中的一条已有邻居缓存信息都中的IP和MAC地址相同,所述已有邻居缓存信息中的设备标识与所述网络节点的设备标识不同,并且所述已有邻居缓存信息中的MAC地址与MAC表中的任意一条已有MAC表项的MAC地址都不同时,用所述第一邻居缓存信息更新所述已有邻居缓存信息;
当所述第一邻居缓存信息中的IP和MAC地址与所述邻居缓存信息表中的一条已有邻居缓存信息都中的IP和MAC地址相同,所述已有邻居缓存信息中的设备标识与所述网络节点的设备标识不同,并且所述已有邻居缓存信息中的MAC地址与MAC表中的一条已有MAC表项的MAC地址相同时,用所述第一邻居缓存信息更新所述已有邻居缓存信息和所述已有MAC表项。
20.根据权利要求17所述的方法,其特征在于,所述方法应用于IPv4中,所述地址对应关系通告报文包括地址解析协议ARP报文,所述地址对应关系信息包括ARP信息,所述第一地址对应关系信息包括第一ARP信息,所述地址对应关系信息表包括ARP信息表,所述地址对应关系信息请求报文包括ARP请求Request报文,所述地址对应关系信息响应报文包括ARP应答Reply报文。
21.根据权利要求20所述的方法,其特征在于,在所述根据所述ARP报文获取第一ARP信息之后,还包括:
当所述第一ARP信息中的IP地址与所述ARP信息表中的一条已有ARP信息中的IP地址相同,所述第一ARP信息中的MAC地址与所述已有ARP信息中的MAC地址相同,所述已有ARP信息中的设备标识与所述网络节点的设备标识不同,并且所述已有ARP信息中的MAC地址与MAC表中的任意一条已有MAC表项的MAC地址都不同时,用所述第一ARP信息更新所述已有ARP信息;
当所述第一ARP信息中的IP地址与所述ARP信息表中的一条已有ARP信息中的IP地址相同,所述第一ARP信息中的MAC地址与所述已有ARP信息中的MAC地址相同,所述已有ARP信息中的设备标识与所述网络节点的设备标识不同,并且所述已有ARP信息中的MAC地址与MAC表中的一条已有MAC表项的MAC地址相同时,用所述第一ARP信息更新所述已有ARP信息和所述已有MAC表项。
22.根据权利要求20所述的方法,其特征在于,还包括:
当所述第一ARP信息中的IP地址与所述ARP信息表中的一条已有ARP信息中的IP地址相同,所述第一ARP信息中的MAC地址与所述已有ARP信息中的MAC地址不同,并且所述已有ARP信息中的MAC地址与MAC表中的任意一条已有MAC表项的MAC地址都不同时,用所述第一ARP信息更新所述已有ARP信息;
当所述第一ARP信息中的IP地址与所述ARP信息表中的一条已有ARP信息中的IP地址相同,所述第一ARP信息中的MAC地址与所述已有ARP信息中的MAC地址不同,并且所述已有ARP信息中的MAC地址与MAC表中的一条已有MAC表项的MAC地址相同时,用所述第一ARP信息更新所述已有ARP信息和所述已有MAC表项,在与所述封装信息中包含所述第一地址对应关系信息中的设备标识的ARP报文对应的本地链路上广播解封装后的所述ARP报文。
23.根据权利要求20至22任一项所述的方法,其特征在于,还包括:
当所述第一ARP信息中的IP地址与所述ARP信息表中的一条已有ARP信息中的IP地址相同,并且所述已有ARP信息中的设备标识与所述网络节点的设备标识相同时,在与所述封装信息中包含所述第一地址对应关系信息中的设备标识的ARP报文对应的本地链路上广播解封装后的所述ARP报文。
24.一种应用链路状态路由的数据链路层协议中的地址对应关系信息发送装置,其特征在于,包括:
接收单元,用于网络节点接收本地链路上的地址对应关系通告报文;
获取单元,用于根据所述地址对应关系通告报文获取第一地址对应关系信息,所述第一地址对应关系信息包括发送所述地址对应关系通告报文的终端设备的介质访问控制MAC地址、发送所述地址对应关系通告报文的终端设备的网际协议IP地址与所述网络节点的设备标识的对应关系;
记录单元,用于当所述第一地址对应关系信息不在地址对应关系信息表中时,在所述地址对应关系信息表中记录所述第一地址对应关系信息;
发送单元,用于通过控制平面的报文向其他网络节点发送所述第一地址对应关系信息,所述控制平面的报文使所述其他网络节点在其地址对应关系信息表中记录所述第一地址对应关系信息;
所述接收单元,还用于接收所述本地链路上的地址对应关系信息请求报文;
所述记录单元,还用于当所述地址对应关系信息请求报文中的目标地址与所述地址对应关系信息表中的一条已有地址对应关系信息中的IP地址相同时,生成所述已有地址对应关系信息对应的地址对应关系信息响应报文,向发送所述地址对应关系信息请求报文的终端设备发送所述已有地址对应关系信息对应的地址对应关系信息响应报文,根据所述已有地址对应关系信息更新MAC表。
25.根据权利要求24所述的装置,其特征在于,还包括老化单元,
所述老化单元,用于对本地链路上的终端设备进行老化探测,当需要老化所述终端设备的地址对应关系信息时,通过控制平面的报文向其他网络节点发送所述终端设备的地址对应关系信息,所述控制平面的报文使所述其他网络节点在其地址对应关系信息表中老化所述终端设备的地址对应关系信息。
26.一种应用链路状态路由的数据链路层协议中的介质访问控制MAC表更新装置,其特征在于,所述更新装置网络侧的MAC地址学习功能处于关闭状态,所述更新装置包括:
第一接收单元,用于接收地址对应关系通告报文,所述地址对应关系通告报文的封装信息中包含封装所述地址对应关系通告报文的网络节点的设备标识;
获取单元,用于根据所述地址对应关系通告报文获取第一地址对应关系信息,所述第一地址对应关系信息包括发送所述地址对应关系通告报文的终端设备的MAC地址、发送所述地址对应关系通告报文的终端设备的网际协议IP地址与所述地址对应关系通告报文中的设备标识的对应关系;
增加单元,用于当所述第一地址对应关系信息中的IP地址与地址对应关系信息表中任意一条地址对应关系信息中的IP地址都不同时,在所述地址对应关系信息表中增加所述第一地址对应关系信息;
第二接收单元,用于接收本地链路上的地址对应关系信息请求报文;
生成单元,用于当所述地址对应关系信息请求报文中的目标地址与所述地址对应关系信息表中的一条已有地址对应关系信息中的IP地址相同时,生成所述已有地址对应关系信息对应的地址对应关系信息响应报文,向发送所述地址对应关系信息请求报文的终端设备发送所述已有地址对应关系信息对应的地址对应关系信息响应报文,根据所述已有地址对应关系信息更新MAC表。
CN201010275209.0A 2010-09-08 2010-09-08 应用链路状态路由的二层协议中的地址对应关系发送方法 Active CN102404181B (zh)

Priority Applications (8)

Application Number Priority Date Filing Date Title
CN201010275209.0A CN102404181B (zh) 2010-09-08 2010-09-08 应用链路状态路由的二层协议中的地址对应关系发送方法
CN201410579799.4A CN104378302B (zh) 2010-09-08 2010-09-08 地址对应关系发送方法和路由桥设备
EP11823010.1A EP2600573B1 (en) 2010-09-08 2011-05-13 Method for transmitting addresses correspondence relationship in second-layer protocol using link status routing
ES11823010.1T ES2555409T3 (es) 2010-09-08 2011-05-13 Método para transmitir una relación de correspondencia de direcciones en un protocolo de segunda capa utilizando el enrutamiento de estado de enlace
EP15151677.0A EP2897347B1 (en) 2010-09-08 2011-05-13 Method for transmitting addresses correspondence relationship in second-layer protocol using link status routing
ES15151677.0T ES2619359T3 (es) 2010-09-08 2011-05-13 Método para transmitir una relación de correspondencia de direcciones en un protocolo de segunda capa utilizando el enrutamiento de estado de enlace
PCT/CN2011/074043 WO2012031487A1 (zh) 2010-09-08 2011-05-13 应用链路状态路由的二层协议中的地址对应关系发送方法
US13/788,514 US9749230B2 (en) 2010-09-08 2013-03-07 Method of sending address correspondence in a second layer protocol of applying link state routing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010275209.0A CN102404181B (zh) 2010-09-08 2010-09-08 应用链路状态路由的二层协议中的地址对应关系发送方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201410579799.4A Division CN104378302B (zh) 2010-09-08 2010-09-08 地址对应关系发送方法和路由桥设备

Publications (2)

Publication Number Publication Date
CN102404181A CN102404181A (zh) 2012-04-04
CN102404181B true CN102404181B (zh) 2014-10-08

Family

ID=45810101

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010275209.0A Active CN102404181B (zh) 2010-09-08 2010-09-08 应用链路状态路由的二层协议中的地址对应关系发送方法

Country Status (5)

Country Link
US (1) US9749230B2 (zh)
EP (2) EP2897347B1 (zh)
CN (1) CN102404181B (zh)
ES (2) ES2555409T3 (zh)
WO (1) WO2012031487A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10171303B2 (en) 2015-09-16 2019-01-01 Avago Technologies International Sales Pte. Limited IP-based interconnection of switches with a logical chassis

Families Citing this family (86)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9716672B2 (en) 2010-05-28 2017-07-25 Brocade Communications Systems, Inc. Distributed configuration management for virtual cluster switching
US8867552B2 (en) 2010-05-03 2014-10-21 Brocade Communications Systems, Inc. Virtual cluster switching
US9270486B2 (en) 2010-06-07 2016-02-23 Brocade Communications Systems, Inc. Name services for virtual cluster switching
US9769016B2 (en) 2010-06-07 2017-09-19 Brocade Communications Systems, Inc. Advanced link tracking for virtual cluster switching
US9806906B2 (en) 2010-06-08 2017-10-31 Brocade Communications Systems, Inc. Flooding packets on a per-virtual-network basis
US9608833B2 (en) 2010-06-08 2017-03-28 Brocade Communications Systems, Inc. Supporting multiple multicast trees in trill networks
US9628293B2 (en) 2010-06-08 2017-04-18 Brocade Communications Systems, Inc. Network layer multicasting in trill networks
US9807031B2 (en) 2010-07-16 2017-10-31 Brocade Communications Systems, Inc. System and method for network configuration
US9736085B2 (en) 2011-08-29 2017-08-15 Brocade Communications Systems, Inc. End-to end lossless Ethernet in Ethernet fabric
JP5610400B2 (ja) * 2011-09-20 2014-10-22 株式会社Pfu ノード検出装置、ノード検出方法、及びプログラム
US9699117B2 (en) 2011-11-08 2017-07-04 Brocade Communications Systems, Inc. Integrated fibre channel support in an ethernet fabric switch
US9450870B2 (en) 2011-11-10 2016-09-20 Brocade Communications Systems, Inc. System and method for flow management in software-defined networks
US9270638B2 (en) * 2012-01-20 2016-02-23 Cisco Technology, Inc. Managing address validation states in switches snooping IPv6
US8995272B2 (en) 2012-01-26 2015-03-31 Brocade Communication Systems, Inc. Link aggregation in software-defined networks
US9742693B2 (en) 2012-02-27 2017-08-22 Brocade Communications Systems, Inc. Dynamic service insertion in a fabric switch
US9154416B2 (en) 2012-03-22 2015-10-06 Brocade Communications Systems, Inc. Overlay tunnel in a fabric switch
CN102647484B (zh) * 2012-04-13 2014-11-26 成都安可信电子股份有限公司 一种同步通信网络终端地址搜索方法
US9374301B2 (en) 2012-05-18 2016-06-21 Brocade Communications Systems, Inc. Network feedback in software-defined networks
US10277464B2 (en) 2012-05-22 2019-04-30 Arris Enterprises Llc Client auto-configuration in a multi-switch link aggregation
WO2013177289A1 (en) 2012-05-23 2013-11-28 Brocade Communications Systems, Inc. Layer-3 overlay gateways
CN102724120B (zh) 2012-06-08 2015-12-16 华为技术有限公司 通告传输路径信息的方法及路由网桥
US9019967B2 (en) * 2012-07-30 2015-04-28 Dell Products L.P. VLAN advertisement and automated configuration
US9026625B2 (en) * 2012-08-06 2015-05-05 American Megatrends, Inc. System and method of MAC address assignment using dynamic MAC address protocol
US9602430B2 (en) 2012-08-21 2017-03-21 Brocade Communications Systems, Inc. Global VLANs for fabric switches
CN102882781B (zh) 2012-10-11 2015-03-18 华为技术有限公司 一种报文发送的方法、路由器桥及系统
CN103780468B (zh) * 2012-10-22 2019-06-14 中兴通讯股份有限公司 智能终端接入trill网络的方法、智能终端及路由网桥
CN103780486B (zh) * 2012-10-26 2017-03-08 杭州华三通信技术有限公司 一种trill网络中的镜像报文传输方法和设备
US9401872B2 (en) 2012-11-16 2016-07-26 Brocade Communications Systems, Inc. Virtual link aggregations across multiple fabric switches
CN103873365B (zh) * 2012-12-13 2019-08-30 中兴通讯股份有限公司 Trill网中智能终端报文通告方法及装置
CN103905571B (zh) * 2012-12-26 2018-01-12 中国电信股份有限公司 用于更新地址信息的方法、装置和系统
US9413691B2 (en) 2013-01-11 2016-08-09 Brocade Communications Systems, Inc. MAC address synchronization in a fabric switch
US9350680B2 (en) 2013-01-11 2016-05-24 Brocade Communications Systems, Inc. Protection switching over a virtual link aggregation
US9548926B2 (en) 2013-01-11 2017-01-17 Brocade Communications Systems, Inc. Multicast traffic load balancing over virtual link aggregation
US9565113B2 (en) 2013-01-15 2017-02-07 Brocade Communications Systems, Inc. Adaptive link aggregation and virtual link aggregation
CN103944826B (zh) * 2013-01-22 2017-03-15 杭州华三通信技术有限公司 Spbm网络中的表项聚合方法及设备
US9094285B2 (en) * 2013-01-25 2015-07-28 Argela Yazilim ve Bilisim Teknolojileri San. ve Tic. A.S. Automatic discovery of multiple controllers in Software Defined Networks (SDNs)
CN103973825B (zh) * 2013-02-01 2017-12-22 中兴通讯股份有限公司 叠加网络中通告mac地址可达性的方法、节点设备及发送方法
US9565099B2 (en) 2013-03-01 2017-02-07 Brocade Communications Systems, Inc. Spanning tree in fabric switches
US9088608B2 (en) * 2013-03-12 2015-07-21 Cisco Technology, Inc. Throttling and limiting the scope of neighbor solicitation (NS) traffic
CN104052666B (zh) 2013-03-14 2018-05-11 新华三技术有限公司 实现主机路由可达的方法和装置
EP2975808B1 (en) * 2013-03-15 2020-07-29 Huawei Technologies Co., Ltd. Method for packet processing and packet device and system
US9401818B2 (en) 2013-03-15 2016-07-26 Brocade Communications Systems, Inc. Scalable gateways for a fabric switch
CN103269299B (zh) * 2013-04-22 2016-03-09 杭州华三通信技术有限公司 Spbm网络中的报文转发方法及装置
US9565028B2 (en) 2013-06-10 2017-02-07 Brocade Communications Systems, Inc. Ingress switch multicast distribution in a fabric switch
US20150023359A1 (en) * 2013-07-19 2015-01-22 Brocade Communications Systems, Inc. Edge extension of an ethernet fabric switch
TWI532353B (zh) * 2013-07-26 2016-05-01 正文科技股份有限公司 社群虛擬網路連線建立方法及網路通信系統
US9806949B2 (en) 2013-09-06 2017-10-31 Brocade Communications Systems, Inc. Transparent interconnection of Ethernet fabric switches
EP2854377B1 (en) * 2013-09-27 2016-07-13 Alcatel Lucent A method for centralized address resolution
US10193748B2 (en) 2013-09-30 2019-01-29 Extreme Networks, Inc. Enabling configuration in networks
US9191233B2 (en) * 2013-09-30 2015-11-17 Avaya Inc. Message transmission in networks
US9954764B2 (en) * 2013-09-30 2018-04-24 Extreme Networks, Inc. Performing MAC-in-MAC encapsulation using shortest path bridging configuration information
US9912612B2 (en) * 2013-10-28 2018-03-06 Brocade Communications Systems LLC Extended ethernet fabric switches
US9548873B2 (en) 2014-02-10 2017-01-17 Brocade Communications Systems, Inc. Virtual extensible LAN tunnel keepalives
US10581758B2 (en) 2014-03-19 2020-03-03 Avago Technologies International Sales Pte. Limited Distributed hot standby links for vLAG
US10476698B2 (en) 2014-03-20 2019-11-12 Avago Technologies International Sales Pte. Limited Redundent virtual link aggregation group
US10063473B2 (en) 2014-04-30 2018-08-28 Brocade Communications Systems LLC Method and system for facilitating switch virtualization in a network of interconnected switches
US9800471B2 (en) 2014-05-13 2017-10-24 Brocade Communications Systems, Inc. Network extension groups of global VLANs in a fabric switch
US9900283B2 (en) * 2014-06-25 2018-02-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Dynamic local media access control (MAC) address assignment
CN105306613A (zh) 2014-07-24 2016-02-03 中兴通讯股份有限公司 Esadi的mac地址通告方法、装置及获取装置
US10616108B2 (en) 2014-07-29 2020-04-07 Avago Technologies International Sales Pte. Limited Scalable MAC address virtualization
US9544219B2 (en) 2014-07-31 2017-01-10 Brocade Communications Systems, Inc. Global VLAN services
US9807007B2 (en) 2014-08-11 2017-10-31 Brocade Communications Systems, Inc. Progressive MAC address learning
CN105515999B (zh) * 2014-09-24 2020-05-19 中兴通讯股份有限公司 端系统地址分发信息协议的快速收敛方法及装置
US9524173B2 (en) 2014-10-09 2016-12-20 Brocade Communications Systems, Inc. Fast reboot for a switch
US9699029B2 (en) 2014-10-10 2017-07-04 Brocade Communications Systems, Inc. Distributed configuration management in a switch group
US9628407B2 (en) 2014-12-31 2017-04-18 Brocade Communications Systems, Inc. Multiple software versions in a switch group
US9626255B2 (en) 2014-12-31 2017-04-18 Brocade Communications Systems, Inc. Online restoration of a switch snapshot
US9942097B2 (en) 2015-01-05 2018-04-10 Brocade Communications Systems LLC Power management in a network of interconnected switches
US10003552B2 (en) 2015-01-05 2018-06-19 Brocade Communications Systems, Llc. Distributed bidirectional forwarding detection protocol (D-BFD) for cluster of interconnected switches
US9763061B2 (en) * 2015-01-22 2017-09-12 Gainspan Corporation Multicast packet delivery in a wireless network operating in storing mode
US9716984B2 (en) * 2015-01-22 2017-07-25 Gainspan Corporation Multicast packet delivery in a wireless network operating in non-storing mode
JP2016158011A (ja) * 2015-02-23 2016-09-01 ルネサスエレクトロニクス株式会社 配信制御装置、データ配信システム、配信制御方法及びプログラム
US9807005B2 (en) 2015-03-17 2017-10-31 Brocade Communications Systems, Inc. Multi-fabric manager
US10038592B2 (en) 2015-03-17 2018-07-31 Brocade Communications Systems LLC Identifier assignment to a new switch in a switch group
US10579406B2 (en) 2015-04-08 2020-03-03 Avago Technologies International Sales Pte. Limited Dynamic orchestration of overlay tunnels
CN104780089B (zh) * 2015-04-17 2018-07-24 新华三技术有限公司 报文隔离方法以及装置
US9813358B2 (en) * 2015-07-08 2017-11-07 Infinera Corporation Systems, methods, and apparatus for ARP mediation
US10439929B2 (en) 2015-07-31 2019-10-08 Avago Technologies International Sales Pte. Limited Graceful recovery of a multicast-enabled switch
US9912614B2 (en) 2015-12-07 2018-03-06 Brocade Communications Systems LLC Interconnection of switches based on hierarchical overlay tunneling
CN105337868B (zh) * 2015-12-09 2018-03-30 上海斐讯数据通信技术有限公司 一种trill网络mac地址学习的方法及装置
DK3629623T3 (da) * 2016-05-13 2021-05-03 Ericsson Telefon Ab L M Systemer og fremgangsmåder til at anbefale en datahastighed i et trådløst kommunikationssystem
US10237090B2 (en) 2016-10-28 2019-03-19 Avago Technologies International Sales Pte. Limited Rule-based network identifier mapping
CN107172229B (zh) * 2017-06-27 2021-05-18 中国联合网络通信集团有限公司 路由器的配置方法及装置
WO2019111466A1 (ja) * 2017-12-08 2019-06-13 日本電気株式会社 情報処理装置、仮想化インフラストラクチャ管理装置、仮想ネットワーク機能の管理方法及びプログラム
CN109474524B (zh) * 2018-05-24 2020-12-15 国网浙江省电力有限公司嘉兴供电公司 一种微电网自组式信息传递方法
CN113347040B (zh) * 2021-06-17 2024-02-02 北京天融信网络安全技术有限公司 配置变更方法、装置及电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1809032A (zh) * 2006-02-20 2006-07-26 杭州华为三康技术有限公司 媒体接入控制层地址的动态学习方法
CN1968184A (zh) * 2005-11-18 2007-05-23 杭州华为三康技术有限公司 区域网络的链路层通信方法及其应用的网络设备

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002061599A1 (en) * 2001-01-25 2002-08-08 Crescent Networks, Inc. Extension of address resolution protocol (arp) for internet protocol (ip) virtual networks
US7398322B1 (en) 2003-05-20 2008-07-08 Sun Microsystems, Inc. System using routing bridges to transparently interconnect multiple network links to form a single virtual network link
US7418505B2 (en) * 2003-05-26 2008-08-26 Ewha University Industry Collaboration Foundation IP address lookup using either a hashing table or multiple hash functions
CN101136785A (zh) * 2006-09-01 2008-03-05 鸿富锦精密工业(深圳)有限公司 机顶盒地址检测系统及其方法
US8208463B2 (en) * 2006-10-24 2012-06-26 Cisco Technology, Inc. Subnet scoped multicast / broadcast packet distribution mechanism over a routed network
US7697556B2 (en) 2006-10-26 2010-04-13 Telefonaktiebolaget L M Ericsson (Publ) MAC (media access control) tunneling and control and method
US8166205B2 (en) * 2007-07-31 2012-04-24 Cisco Technology, Inc. Overlay transport virtualization
GB2463307B (en) * 2008-07-08 2012-12-12 Gnodal Ltd A Method of controlling data propagation within a network
US8208377B2 (en) * 2009-03-26 2012-06-26 Force10 Networks, Inc. MAC-address based virtual route aggregation
WO2011044174A1 (en) * 2009-10-05 2011-04-14 Callspace, Inc Contextualized telephony message management
US8619595B2 (en) * 2010-02-05 2013-12-31 Cisco Technology, Inc. Fault isolation in trill networks
US8634308B2 (en) * 2010-06-02 2014-01-21 Brocade Communications Systems, Inc. Path detection in trill networks

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1968184A (zh) * 2005-11-18 2007-05-23 杭州华为三康技术有限公司 区域网络的链路层通信方法及其应用的网络设备
CN1809032A (zh) * 2006-02-20 2006-07-26 杭州华为三康技术有限公司 媒体接入控制层地址的动态学习方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
draft-ietf-trill-rbridge-protocol-16-Routing Bridges (RBridges):Base Protocol Specification;TRILL Working Group;《INTERNET-DRAFT》;20100303;第1.4节,2.2节,4.1节,4.2节 *
TRILL Working Group.draft-ietf-trill-rbridge-protocol-16-Routing Bridges (RBridges):Base Protocol Specification.《INTERNET-DRAFT》.2010,第1.4节,2.2节,4.1节,4.2节.

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10171303B2 (en) 2015-09-16 2019-01-01 Avago Technologies International Sales Pte. Limited IP-based interconnection of switches with a logical chassis

Also Published As

Publication number Publication date
ES2555409T3 (es) 2015-12-30
EP2600573A1 (en) 2013-06-05
EP2897347A1 (en) 2015-07-22
CN102404181A (zh) 2012-04-04
ES2619359T3 (es) 2017-06-26
WO2012031487A1 (zh) 2012-03-15
EP2897347B1 (en) 2016-12-28
EP2600573A4 (en) 2013-06-19
EP2600573B1 (en) 2015-09-23
US9749230B2 (en) 2017-08-29
US20130294451A1 (en) 2013-11-07

Similar Documents

Publication Publication Date Title
CN102404181B (zh) 应用链路状态路由的二层协议中的地址对应关系发送方法
CN104935516B (zh) 基于软件定义网络的通信系统及方法
CN102971992B (zh) 虚拟专用局域网设备、网络组件和数据帧转发方法
CN102859973B (zh) 一种地址解析的方法,装置和系统
CN103944826B (zh) Spbm网络中的表项聚合方法及设备
CN100563211C (zh) 一种虚拟网关、虚拟子网的实现方法以及系统
CN102273177B (zh) 用于邻居发现协议调解的方法
CN103269299B (zh) Spbm网络中的报文转发方法及装置
US9749239B2 (en) Transparent Rbridge
CN103270736A (zh) 用于大型二层中目标主机的代表网关和代理以及通过重复因特网协议地址进行地址解析
CN104378297A (zh) 一种报文转发方法及设备
CN107317752B (zh) 一种转发数据报文的方法及装置
CN103139075B (zh) 一种报文传输方法和设备
US10382391B2 (en) Systems and methods for managing network address information
CN101110746B (zh) 运营商边缘设备、城域以太接入网及其处理数据的方法
JP2019521619A (ja) パケット転送
CN104378302B (zh) 地址对应关系发送方法和路由桥设备
CN104079466A (zh) 一种报文处理方法和设备
CN103152265B (zh) 一种spb网络中的报文转发方法和设备
CN101924698B (zh) 基于ip单播路由的二层域负载均衡方法、系统和设备
CN103873339A (zh) 一种虚拟网关路由器的分配方法和装置
CN112367238B (zh) 报文处理方法及装置
CN113328937A (zh) 分布式聚合的实现方法及装置
US10212079B2 (en) Router advertisement caching
CN105306613A (zh) Esadi的mac地址通告方法、装置及获取装置

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