CN114465776A - 一种泛洪攻击防御方法及相关装置 - Google Patents

一种泛洪攻击防御方法及相关装置 Download PDF

Info

Publication number
CN114465776A
CN114465776A CN202111675698.3A CN202111675698A CN114465776A CN 114465776 A CN114465776 A CN 114465776A CN 202111675698 A CN202111675698 A CN 202111675698A CN 114465776 A CN114465776 A CN 114465776A
Authority
CN
China
Prior art keywords
neighbor cache
node
ipv6 address
entry
area
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202111675698.3A
Other languages
English (en)
Other versions
CN114465776B (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
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202111675698.3A priority Critical patent/CN114465776B/zh
Publication of CN114465776A publication Critical patent/CN114465776A/zh
Priority to PCT/CN2022/141054 priority patent/WO2023125239A1/zh
Application granted granted Critical
Publication of CN114465776B publication Critical patent/CN114465776B/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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/32Flooding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/167Adaptation for transition between two IP versions, e.g. between IPv4 and IPv6

Abstract

本申请提供了一种泛洪攻击防御方法及相关装置,该方法包括:第一节点从第二节点接收第一报文;第一报文包括数据包的源IPv6地址,数据包的源IPv6地址为第一节点的路由表或转发表中的下一跳地址;第一节点建立第一邻居缓存表项,第一邻居缓存表项包括的目的IPv6地址为数据包的源IPv6地址。实施本申请实施例,避免业务中断。

Description

一种泛洪攻击防御方法及相关装置
技术领域
本申请涉及通信技术领域,尤其涉及一种泛洪攻击防御方法及相关装置。
背景技术
目前,互联网协议第6版(internet protocol version6,IPv6)下邻居发现(neighbor discovery,ND)要求邻居请求(neighbor solicitation,NS)报文必须学习。这是因为一个节点在接收到NS报文后,需要反馈邻区公告(neighbor advertisement,NA)报文。而在反馈NA报文之前,该节点需要根据NS报文建立邻居缓存表项。这使得该节点可以从邻居缓存表项中学习到目的IPv6地址,进而可以基于目的IPv6地址正确反馈NA报文。由于邻居缓存表项数量有限,新的邻居缓存表项可能会覆盖旧的邻居缓存表项,特别是当遭受报文泛洪攻击时,该节点将会建立大量邻居缓存表项,这将导致某些业务使用的邻居缓存表项被攻击报文的邻居缓存表项覆盖,使得该节点无法学习到这些业务的邻居缓存表项,进而导致业务中断。
发明内容
本申请提供了一种泛洪攻击防御方法及相关装置,避免业务中断。
第一方面,提供一种泛洪攻击防御方法,该方法包括:第一节点从第二节点接收第一报文;第一报文包括数据包的源IPv6地址,数据包的源IPv6地址为第一节点的路由表或转发表中的下一跳地址;第一节点建立第一邻居缓存表项,第一邻居缓存表项包括的目的IPv6地址为数据包的源IPv6地址。即可以看出,第二节点可以向第一节点发送第一报文,而第一报文包括的数据包的源IPv6地址为第一节点的路由表或转发表中的下一跳地址,因此,第一节点可以建立第一报文对应的表项。这实现了在泛洪攻击场景下,当第一报文中数据包的源IPv6地址为第一节点的路由表或转发表中的下一跳地址时,第一节点仍旧可以建立第一邻居缓存表项,使得第一邻居缓存表项可以保存下来,进而使得第一节点可以学习该邻居缓存表项,并利用学习到的信息进行业务转发,避免了业务中断。
可选的,结合第一方面,第一节点建立第一邻居缓存表项,包括:第一节点将第二邻居缓存表项优先覆盖为第一邻居缓存表项,第二邻居缓存表项包括的目的IPv6地址不是第一节点的路由表或转发表中的下一跳地址。即可以看出,第一节点可以将目的IPv6地址不是第一节点的路由表或转发表中的下一跳地址的第二邻居缓存表项优先覆盖为第一邻居缓存表项,这使得在泛洪攻击场景下,第一邻居缓存表项可以保存下来,进而使得第一节点可以学习该邻居缓存表项,并利用学习到的信息进行业务转发,避免了业务中断。
可选的,结合第一方面,第一节点中存储邻居缓存表项的第一区域已被占满,第一区域为邻居缓存表,第一区域中的邻居缓存表项包括目的IPv6地址,第二邻居缓存表项包含在第一区域中;第一节点将第二邻居缓存表项优先覆盖为第一邻居缓存表项,包括:第一节点将第二邻居缓存表项修改为第一邻居缓存表项。即可以看出,由于泛洪攻击场景导致第一区域已被占满时,第一节点通过将目的IPv6地址不是第一节点的路由表或转发表中的下一跳地址的第二邻居缓存表项修改为第一邻居缓存表项,从而使得第一邻居缓存表项可以保存下来,进而使得第一节点可以学习该邻居缓存表项,并利用学习到的信息进行业务转发,避免了业务中断。
可选的,结合第一方面,第一区域中的邻居缓存表项还包括老化时间,第二邻居缓存表项为第一区域中老化时间最短的邻居缓存表项。即可以看出,由于泛洪攻击场景导致第一区域已被占满时,第一节点通过将目的IPv6地址不是第一节点的路由表或转发表中的下一跳地址,且老化时间最短的第二邻居缓存表项修改为第一邻居缓存表项,从而使得第一邻居缓存表项可以保存下来,进而使得第一节点可以学习该邻居缓存表项,并利用学习到的信息进行业务转发,避免了业务中断。
可选的,结合第一方面,第一节点中存储邻居缓存表项的第二区域已被占满,第二区域为邻居缓存表,第二区域中的邻居缓存表项包括优先级信息和目的IPv6地址,第二邻居缓存表项包含在第二区域中;第一节点将第二邻居缓存表项优先覆盖为第一邻居缓存表项,包括:第一节点将第二邻居缓存表项修改为第一邻居缓存表项,第二邻居缓存表项包括的优先级信息低于第二区域中第三邻居缓存表项包括的优先级信息,第三邻居缓存表项包括的目的IPv6地址是第一节点的路由表或转发表中的下一跳地址。即可以看出,由于泛洪攻击场景导致第二区域已被占满时,第一节点通过将优先级信息低于第三邻居缓存表项的第二邻居缓存表项修改为第一邻居缓存表项,从而使得第一邻居缓存表项可以保存下来,进而使得第一节点可以学习该邻居缓存表项,并利用学习到的信息进行业务转发,避免了业务中断。
可选的,结合第一方面,第二区域中的邻居缓存表项还包括老化时间,第二邻居缓存表项为第二区域中老化时间最短的邻居缓存表项。即可以看出,由于泛洪攻击场景导致第二区域已被占满时,第一节点通过将优先级信息低于第三邻居缓存表项且老化时间最短的第二邻居缓存表项修改为第一邻居缓存表项,从而使得第一邻居缓存表项可以保存下来,进而使得第一节点可以学习该邻居缓存表项,并利用学习到的信息进行业务转发,避免了业务中断。
可选的,结合第一方面,第一节点中存储邻居缓存表项的区域包括第三区域和第四区域,第三区域和第四区域为邻居缓存表,第三区域中的邻居缓存表项包括的目的IPv6地址是第一节点的路由表或转发表中的下一跳地址,第四区域中的邻居缓存表项包括的目的IPv6地址不是第一节点的路由表或转发表中的下一跳地址,第四区域已被占满;第一节点建立邻居缓存表项,包括:第一节点在第三区域建立第一邻居缓存表项。即可以看出,由于泛洪攻击场景导致第四区域已被占满时,第一节点仍旧可以在第三区域建立第一邻居缓存表项,使得第一邻居缓存表项可以保存下来,进而使得第一节点可以学习该邻居缓存表项,并利用学习到的信息进行业务转发,避免了业务中断。
可选的,结合第一方面,第一节点在第三区域,建立第一邻居缓存表项,包括:第一节点确定第三区域中是否存在第四邻居缓存表项,第四邻居缓存表项包括的MAC地址为无效值,且第四邻居缓存表项包括目的IPv6地址为数据包的源IPv6地址;若存在,第一节点则将第四邻居缓存表项修改为第一邻居缓存表项;若不存在,第一节点则在第三区域中建立第一邻居缓存表项。即可以看出,在泛洪攻击场景下,第一节点仍旧可以在第三区域建立第一邻居缓存表项,使得第一邻居缓存表项可以保存下来,进而使得第一节点可以学习该邻居缓存表项,并利用学习到的信息进行业务转发,避免了业务中断。
第二方面,提供一种泛洪攻击防御方法,该方法包括:第一节点获取第一报文对应的第一IPv6地址;第一节点在第一区域中查找第一IPv6地址对应的媒体存取控制MAC地址;第一区域为邻居缓存表;若未在第一区域中查找到第一IPv6地址对应的MAC地址,第一节点根据第一接口的标识信息,从第二区域获取第一IPv6地址对应的MAC地址;第一接口为第一报文的出接口,出接口为以太网下的主接口或虚拟局域网VLAN子接口;或,出接口为以太网链路聚合下的主接口或VLAN子接口;第二区域包括接口的标识信息和MAC地址之间的对应关系;第一节点根据第一IPv6地址对应的MAC地址,发送第一报文。即可以看出,当第一节点未在邻居缓存表中查找到第一IPv6地址对应的MAC地址时,第一节点可以根据第一报文的出接口的标识信息,从第二区域获取第一IPv6地址对应的MAC地址,从而使得第一节点可以第一IPv6地址对应的MAC地址,发送第一报文,这避免了无法从邻居缓存表学习到MAC地址所导致的业务中断的问题。
可选的,结合第二方面,第一报文包括源IPv6地址和目的IPv6地址;若源IPv6地址和目的IPv6地址不是同网段的地址,第一IPv6地址是第一节点根据第一报文从第一节点的路由表或转发表中获取的下一跳地址;若源IPv6地址和目的IPv6地址是同网段的地址,第一IPv6地址为目的IPv6地址。即可以看出,通过判断源IPv6地址和目的IPv6地址是否为同网段的地址,进而可以确定出不同组网场景下的第一IPv6地址。
可选的,结合第二方面,在第一节点根据第一接口的标识信息,从第二区域获取第一IPv6地址对应的MAC地址之前,方法还包括:第一节点从第一接口获取路由公告(routeradvertisement,RA)报文或动态主机配置协议(dynamic host configuration protocol,DHCP)报文;RA报文或DHCP报文包括数据包的源MAC地址;第一节点根据第一接口的标识信息和源MAC地址,在第二区域中建立第一接口的标识信息和源MAC地址之间的对应关系。即可以看出,第一节点通过从第一接口获取RA报文或DHCP报文,使得第一节点可以根据第一接口的标识信息以及RA报文或DHCP报文包括数据包的源MAC地址,在第二区域中建立第一接口的标识信息和源MAC地址之间的对应关系,这使得在泛洪攻击场景下,第一接口的标识信息和源MAC地址之间的对应关系可以保存下来,进而使得第一节点可以根据第一接口的标识信息和源MAC地址之间的对应关系学习MAC地址,并利用学习到的MAC地址进行业务转发,避免了业务中断。
可选的,结合第二方面,第一节点从第一接口获取RA报文,包括:若从第一接口接收到一个路由器节点发送的RA报文,第一节点将一个路由器节点发送的RA报文确定为RA报文;若从第一接口接收到多个路由器节点发送的RA报文,第一节点将多个路由器节点发送的RA报文中优先级高的RA报文确定为RA报文。即可以看出,在第一节点接收到一个或多个路由器节点发送的RA报文时,第一节点针对不同情况选择出对应的RA报文,为后续在第二区域中建立第一接口的标识信息和源MAC地址之间的对应关系做准备。
可选的,结合第二方面,方法还包括:第一节点发送第二报文;第二报文用于请求第一IPv6地址对应的MAC地址;第一节点接收第三报文,第三报文包括第一IPv6地址对应的MAC地址;第一节点根据第一接口的标识信息,从第二区域获取第一IPv6地址对应的MAC地址,包括:若无法根据第三报文在第一区域中建立邻居缓存表项,第一节点从第二区域中确定与第一接口的标识信息匹配的目标接口的标识信息;第一节点根据第二区域包括的对应关系,获取目标接口的标识信息对应的MAC地址,以作为第一IPv6地址对应的MAC地址。即可以看出,第一节点在无法根据第三报文创建邻居缓存表项的情况下,才会选择从第二区域中确定与第一接口的标识信息匹配的目标接口的标识信息,从而根据第二区域包括的对应关系学习到目标接口的标识信息对应的MAC地址,进而可以利用学习到的MAC地址进行业务转发,避免了业务中断。
第三方面,提供一种通信装置,该通信装置为第一节点,第一节点包括收发模块和处理模块;收发模块,用于从第二节点接收第一报文;第一报文包括数据包的源互联网协议第6版IPv6地址,数据包的源IPv6地址为第一节点的路由表或转发表中的下一跳地址;处理模块,用于建立第一邻居缓存表项,第一邻居缓存表项包括的目的IPv6地址为数据包的源IPv6地址。
可选的,结合第三方面,在第一节点建立第一邻居缓存表项时,处理模块,用于将第二邻居缓存表项优先覆盖为第一邻居缓存表项,第二邻居缓存表项包括的目的IPv6地址不是第一节点的路由表或转发表中的下一跳地址。
可选的,结合第三方面,第一节点中存储邻居缓存表项的第一区域已被占满,第一区域为邻居缓存表,第一区域中的邻居缓存表项包括目的IPv6地址,第二邻居缓存表项包含在第一区域中;在将第二邻居缓存表项优先覆盖为第一邻居缓存表项时,处理模块,用于将第二邻居缓存表项修改为第一邻居缓存表项。
可选的,结合第三方面,第一区域中的邻居缓存表项还包括老化时间,第二邻居缓存表项为第一区域中老化时间最短的邻居缓存表项。
可选的,结合第三方面,第一节点中存储邻居缓存表项的第二区域已被占满,第二区域为邻居缓存表,第二区域中的邻居缓存表项包括优先级信息和目的IPv6地址,第二邻居缓存表项包含在第二区域中;在将第二邻居缓存表项优先覆盖为第一邻居缓存表项时,处理模块,用于将第二邻居缓存表项修改为第一邻居缓存表项,第二邻居缓存表项包括的优先级信息低于第二区域中第三邻居缓存表项包括的优先级信息,第三邻居缓存表项包括的目的IPv6地址是第一节点的路由表或转发表中的下一跳地址。
可选的,结合第三方面,第二区域中的邻居缓存表项还包括老化时间,第二邻居缓存表项为第二区域中老化时间最短的邻居缓存表项。
可选的,结合第三方面,第一节点中存储邻居缓存表项的区域包括第三区域和第四区域,第三区域和第四区域为邻居缓存表,第三区域中的邻居缓存表项包括的目的IPv6地址是第一节点的路由表或转发表中的下一跳地址,第四区域中的邻居缓存表项包括的目的IPv6地址不是第一节点的路由表或转发表中的下一跳地址,第四区域已被占满;在第一节点建立邻居缓存表项时,处理模块,用于在第三区域建立第一邻居缓存表项。
可选的,结合第三方面,在第三区域,建立第一邻居缓存表项时,处理模块,用于:确定第三区域中是否存在第四邻居缓存表项,第四邻居缓存表项包括的MAC地址为无效值,且第四邻居缓存表项包括目的IPv6地址为数据包的源IPv6地址;若存在,则将第四邻居缓存表项修改为第一邻居缓存表项;若不存在,则在第三区域中建立第一邻居缓存表项。
第四方面,提供一种通信装置,该通信装置为第一节点,第一节点包括收发模块和处理模块;处理模块,用于获取第一报文对应的第一IPv6地址;处理模块,还用于在第一区域中查找第一IPv6地址对应的媒体存取控制MAC地址;第一区域为邻居缓存表;若未在第一区域中查找到第一IPv6地址对应的MAC地址,处理模块,还用于根据第一接口的标识信息,从第二区域获取第一IPv6地址对应的MAC地址;第一接口为第一报文的出接口,出接口为以太网下的主接口或虚拟局域网VLAN子接口;或,出接口为以太网链路聚合下的主接口或VLAN子接口;第二区域包括接口的标识信息和MAC地址之间的对应关系;收发模块,用于根据第一IPv6地址对应的MAC地址,发送第一报文。
可选的,结合第四方面,第一报文包括源IPv6地址和目的IPv6地址;若源IPv6地址和目的IPv6地址不是同网段的地址,第一IPv6地址是第一节点根据第一报文从第一节点的路由表或转发表中获取的下一跳地址;若源IPv6地址和目的IPv6地址是同网段的地址,第一IPv6地址为目的IPv6地址。
可选的,结合第四方面,收发模块,还用于从第一接口获取路由请求路由通告RA报文或动态主机配置协议DHCP报文;RA报文或DHCP报文包括数据包的源MAC地址;处理模块,还用于根据第一接口的标识信息和源MAC地址,在第二区域中建立第一接口的标识信息和源MAC地址之间的对应关系。
可选的,结合第四方面,在从第一接口获取RA报文时,若处理模块通过收发模块从第一接口接收到一个路由器节点发送的RA报文,处理模块,用于将一个路由器节点发送的RA报文确定为RA报文;若处理模块通过收发模块从第一接口接收到多个路由器节点发送的RA报文,处理模块,用于将多个路由器节点发送的RA报文中优先级高的RA报文确定为RA报文。
可选的,结合第四方面,收发模块,还用于发送第二报文;第二报文用于请求第一IPv6地址对应的MAC地址;收发模块,还用于接收第三报文,第三报文包括第一IPv6地址对应的MAC地址;在根据第一接口的标识信息,从第二区域获取第一IPv6地址对应的MAC地址时,处理模块,还用于:若无法根据第三报文在第一区域中建立邻居缓存表项,从第二区域中确定与第一接口的标识信息匹配的目标接口的标识信息;根据第二区域包括的对应关系,获取目标接口的标识信息对应的MAC地址,以作为第一IPv6地址对应的MAC地址。
第五方面,提供一种通信装置,包括处理器和存储器,处理器调用存储器中存储的计算机程序实现如第一方面或第二方面任一项所述的方法。
在一种可能的设计中,该通信装置可以是实现第一方面或第二方面中方法的芯片或者包含芯片的设备。
第六方面,提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当所述计算机程序被运行时,实现如第一方面或第二方面任一项所述的方法。
第七方面,提供一种包含指令的计算机程序产品,当其在计算机上执行时,使得第一方面或第二方面任一项所述的方法被执行。
第八方面,提供一种通信系统,该通信系统包括以下一项或多项:上述第一节点、上述第二节点。
附图说明
下面将对实施例描述中所需要使用的附图作简单地介绍。
其中:
图1为本申请实施例提供的一种通信系统的基础架构;
图2为本申请实施例提供的又一种通信系统的基础架构;
图3为本申请实施例提供的一种泛洪攻击防御方法的流程示意图;
图4为本申请实施例提供的又一种泛洪攻击防御方法的流程示意图;
图5为本申请实施例提供的一种通信装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。其中,本申请实施例中的术语“系统”和“网络”可被互换使用。除非另有说明,“/”表示前后关联的对象是一种“或”的关系,例如,A/B可以表示A或B;本申请中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,其中A,B可以是单数或者复数。并且,在本申请的描述中,除非另有说明,“多个”是指两个或多于两个。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是一个,也可以是多个。另外,为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对网元和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
在本申请实施例中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
以下的具体实施方式,对本申请的目标、技术方案和有益效果进行了进一步详细说明,所应理解的是,以下仅为本申请的具体实施方式而已,并不用于限定本申请的保护范围,凡在本申请的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本申请的保护范围之内。
在本申请的各个实施例中,如果没有特殊说明以及逻辑冲突,不同的实施例之间的术语和/或描述具有一致性、且可以相互引用,不同的实施例中的技术特征根据其内在的逻辑关系可以组合形成新的实施例。
下面对本申请所涉及到的一些部分名词进行解释说明。可以理解的,当本申请中其他地方涉及到以下名词时,后续不再解释说明。
1、邻居发现(neighbordiscovey,ND)
ND协议替代了互联网协议第4版(internet protocol version 4,IPv4)的地址解析协议(address resolution protocol,ARP)、网络控制报文协议路由器发现(internetcontrol message protocol router discovery,ICMPRouterDiscovery)和网络控制报文协议重定向(internet control message protocol redirect)消息,并对其进行了改进。具体的,ND协议所提供的功能包括:地址解析、无状态地址自动配置以及路由重定向等。其中,地址解析功能用于确定目标节点的MAC地址,完成三层网络与二层网络的互通。
ND协议通过节点间交互邻居请求(neighbor solicitation,NS)和邻居公告(neighbor advertisement,NA)报文来完成IPv6地址到媒体访问控制(media accesscontrol,MAC)地址的解析,用解析得到的MAC地址和IPv6地址等信息来建立邻居缓存表中的邻居缓存表项。
示例性的,第一节点向第二节点发送NS报文,该NS报文包括第一节点的IPv6地址、第一节点的MAC地址和第二节点的对应的组播地址。当第二节点接收该NS报文后,第二节点根据该NS报文包括的组播地址来处理NS报文,如第二节点可以先判断该组播地址是否为自身对应的组播地址,若是,则根据NS报文包括的第一节点的IPv6地址、第一节点的MAC地址来更新自己的邻居缓存表。换句话来说,第二节点可以根据NS报文包括的第一节点的IPv6地址、第一节点的MAC地址在邻居缓存表中建立邻居缓存表项。
可以理解的,根据ND协议,第二节点在接收NS报文时,必须对NS报文进行反馈,即第二节点需要向发送NS报文的第二节点发送NA报文,该NA报文包括第二节点的IPv6地址和MAC地址。第二节点在接收到NA报文后,第二节点可以根据NA报文包括的第二节点的IPv6地址和MAC地址,更新自己的邻居缓存表。换句话来说,第一节点可以根据NA报文包括的第二节点的IPv6地址和MAC地址在邻居缓存表中建立邻居缓存表项。这样,第一节点和第二节点都会获知对方的MAC地址,从而可以相互通信。
2、邻居缓存表
其中,邻居缓存表用于存储邻居缓存表项。邻居缓存表可以包括一个或多个邻居缓存表项,在此不做限定。
可选的,邻居缓存表中的邻居缓存表项可以通过以下任意方式实现,在此不做限制。
方式1.1、目的IPv6地址、MAC地址、状态和老化时间。即,邻居缓存表中的邻居缓存表项包括目的IPv6地址、MAC地址、状态和老化时间。可以理解的,邻居缓存表中的邻居缓存表项还可以包括目的IPv6地址、MAC地址、状态和老化时间之间的对应关系。
方式1.2、目的IPv6地址、MAC地址、状态、老化时间和优先级信息。即,邻居缓存表中的邻居缓存表项包括目的IPv6地址、MAC地址、状态、老化时间和优先级信息。可以理解的,邻居缓存表中的邻居缓存表项还可以包括目的IPv6地址、MAC地址、状态、老化时间和优先级信息之间的对应关系。
其中,邻居缓存表中的目的IPv6地址可以是第一节点的路由表或转发表中的下一跳地址,和/或,邻居缓存表中的目的IPv6地址不是第一节点的路由表或转发表中的下一跳地址,在此不做限制。本申请中,路由表可以称为路由信息库(routing information base,RIB),转发表可以称为转发信息库(forwarding information base,FIB)。可以理解的,第一节点可以动态配置第一节点的路由表或转发表中的下一跳地址,即第一节点的路由表或转发表中的下一跳地址可能会动态调整。如在第一时刻,邻居缓存表项A包括的目的IPv6地址不是第一节点的路由表或转发表中的下一跳地址;在第二时刻,第一节点重新调整了第一节点的路由表或转发表中的下一跳地址,此时,邻居缓存表项A包括的目的IPv6地址变成第一节点的路由表或转发表中的下一跳地址。第一时刻早于第二时刻。
其中,状态可以包括以下一项:未完成(Incomplete)状态、可达(Reachable)状态、过时(Stale)状态、延迟(Delay)状态、探测(Probe)状态和空(Empty)状态。可以理解的,不同节点之间可以通过邻居缓存表项管理彼此之间的状态。如在第一节点与第二节点通信时,第一节点会主动发起邻居缓存表项的学习,并会根据报文的触发和第二节点的反馈进行邻居缓存表项的状态迁移。具体的,邻居缓存表项包括的状态可以从未完成状态变更为可达状态、从可达状态变更为空状态等等,在此不一一举例。可以理解的,邻居缓存表项包括的状态从未完成状态变更为可达状态,表明两个节点均已获知对方的MAC地址,此时两个节点可以通信。邻居缓存表项包括的状态从可达状态变更为空状态,即表明删除该邻居缓存表项。
其中,设置老化时间的作用在于:当某个邻居缓存表项在设置的老化时间内没有再接收到更新该邻居缓存表项的报文时,则删除该邻居缓存表项,即老化掉该邻居缓存表项。
需要说明的,在邻居缓存表项包括的IPv6地址是第一节点的路由表或转发表中的下一跳地址情况下,该邻居缓存表项包括的优先级信息高于IPv6地址不是第一节点的路由表或转发表中的下一跳地址的邻居缓存表项对应的优先级信息。
示例性的,邻居缓存表项A包括的IPv6地址是第一节点的路由表或转发表中的下一跳地址,邻居缓存表项B包括的IPv6地址不是第一节点的路由表或转发表中的下一跳地址,那么,邻居缓存表项A包括的优先级信息高于邻居缓存表项B包括的优先级信息。
3、路由公告(router advertisement,RA)报文、动态主机配置协议(dynamic hostconfiguration protocol,DHCP)报文可以用于实现IPv6地址的配置。
示例性的,节点A可以发送路由请求(router solicitation,RS)报文、,RS报文用于请求网络前缀信息。当路由器节点接收RS报文后,可以发送RA报文,RA报文可以包括网络前缀信息。当节点A接收RA报文后,可以根据RA报文包括的网络前缀信息和节点A的接口的标识信息实现IPv6地址的配置。其中,接口的标识信息可以为以太网下的主接口或虚拟局域网(virtual local area network,VLAN)子接口的标识信息;或,接口的标识信息可以为以太网链路聚合(TRUNK)下的主接口或VLAN子接口的标识信息,在此不做限定。如,接口的标识信息可以为ETH_0/vlan 200,ETH_0/vlan 200表示以太网的主接口0下的VLAN子接口200。
其中,RA报文例如可以是路由器节点发送的报文,RA报文包括的源MAC地址例如可以为路由器节点的MAC地址,路由器节点的MAC地址例如可以为节点A的转发表中的下一跳地址对应的MAC地址。因此,本申请中,在建立RA报文包括的源MAC地址和节点A的接口的标识信息之间的对应关系后,在发送某个报文时,节点A可以该报文对应的接口的标识信息和对应关系学习到该报文对应的MAC地址。
另外,RA报文还可以包括路由器节点的优先级信息,以使得某个节点可以根据路由器节点的优先级信息向优先级高的路由器节点发送报文。可以理解的,在本申请中,第一节点可以接收到一个或多个路由器节点发送的RA报文。若第一节点接收到一个路由器节点发送的RA报文,第一节点则直接根据RA报文包括的源MAC地址以及RA报文对应的接口的标识信息,建立RA报文对应的表项;若第一节点接收到多个路由器节点发送的多个RA报文,第一节点则根据每个RA报文包括的优先级信息,选择多个RA报文中优先级高的RA报文包括的源MAC地址以及优先级高的RA报文对应的接口的标识信息,建立优先级高的RA报文对应的表项。需要说明的,在本申请中,一个路由器节点可以周期性发送RA报文,但在一个时刻一个路由器节点仅发送一个RA报文。
其中,动态主机配置协议(dynamic host configuration protocol,DHCP)报文可以为DHCP响应报文,DHCP响应报文可以为IPv6下的动态主机配置协议(dynamic hostconfiguration protocol for IPv6,DHCPv6)响应报文。如,节点A通过获取DHCPv6响应报文包括的IPv6地址以实现IPv6地址的配置。可以理解的,在IPv6场景下,DHCP报文需要通过路由器节点发送到需要配置IPv6地址的节点上,所以DHCP报文在经过路由器节点后,其包括的源MAC地址会更改为路由器节点的MAC地址,路由器节点的MAC地址例如可以为节点A的转发表中的下一跳地址对应的MAC地址。进一步的,本申请中,在建立DHCP报文包括的源MAC地址和节点A的接口的标识信息之间的对应关系后,在发送某个报文时,节点A可以该报文对应的接口的标识信息和对应关系学习到该报文对应的MAC地址。
另外,RA报文或DHCP报文还可以包括以下至少一项:源IPv6地址、目的IPv6地址、目的MAC地址等,在本申请中,不做限制。
应理解的,本申请实施例的技术方案可以应用于长期演进(long termevolution,LTE)架构、第五代移动通信技术(5th generation mobile networks,5G)等。本申请实施例的技术方案还可以应用于未来其它的通信系统,例如6G通信系统等,在未来通信系统中,可能保持功能相同,但名称可能会改变。
下面介绍本申请实施例提供的通信系统的基础架构。
参见图1,图1为本申请实施例提供的一种通信系统的基础架构。如图1所示,该通信系统可以包括集中单元(central unit,CU)、分布单元(Distributed Unit,DU)、射频单元(radio unit,RU)和路由器节点。图1仅为示意图,并不构成对本申请提供的技术方案的适用场景的限定。
其中,图1中的DU和CU可以分开部署,或者,集成在基带单元(baseband unit,BBU)上,在此不做限定。当DU和CU集成在BBU上时,图1中不包括中传(Midhaul)。
其中,在本申请中,路由器节点可以为3层交换机。
另外,结合图1,可以看出,泛洪攻击的攻击点可以在前传(Fronthaul)、中传(Midhaul)、回传(Backhaul),因此,在前传、中传、回传等场景下,可能发生某些业务使用的邻居缓存表项被攻击报文的邻居缓存表项覆盖的情况。换句话来说,在前传、中传、回传等场景下,第一节点可以为图1所示的CU、DU、RU或路由器节点,在此不做限定。当然,在DU和RU集成在BBU上时,第一节点可以为BBU。
参见图2,图2为本申请实施例提供的又一种通信系统的基础架构。如图2所示,该通信系统可以包括网元和路由器节点。图2仅为示意图,并不构成对本申请提供的技术方案的适用场景的限定。
其中,网元例如可以为核心网设备、安全网关、主机节点或电信设备等,在此不做限。核心网设备例如可以为:5G网络架构中数据网络(data network,DN)包括的网元、5G网络架构中运营商网络包括的网元等。电信设备例如可以为计费网关、域名管理系统(domainname system,DNS)、内容分发网络(content delivery network,CDN)等,在此不做限定。
另外,结合图2,可以看出,泛洪攻击的攻击点可以在网元与路由器节点之间的传输网,因此,在该场景下,第一节点可以为图2所示的网元或路由器节点,在此不做限定。
需要说明的,在本申请中,第二节点为与第一节点通信的其他节点,具体的类型在此不做限定。
以下结合附图,说明本申请实施例提供的技术方案。应理解的,本申请主要通过两种方案来避免业务中断。方案一,即在确定NS报文或NA报文包括的数据包的源IPv6地址为第一节点的路由表或转发表中的下一跳地址时,建立邻居缓存表项,使得建立的邻居缓存表项可以保存下来,进而使得第一节点可以学习该邻居缓存表项,并利用学习到的信息进行业务转发,如利用学习到的MAC地址进行业务转发,避免了业务中断,具体可以参考图3;方案二,即,在邻居缓存表未查找到IPv6地址对应的MAC地址时,可以基于出接口的标识信息获取到IPv6地址对应的MAC地址,从而可以基于IPv6地址对应的MAC地址进行业务转发,避免了业务中断,具体可以参考图4。
参见图3,图3为本申请实施例提供的一种泛洪攻击防御方法的流程示意图。如图3所示,该方法包括但不限于以下步骤:
301.第二节点向第一节点发送第一报文,第一报文包括数据包的源IPv6地址,数据包的源IPv6地址为第一节点的路由表或转发表中的下一跳地址。
相应的,第一节点从第二节点接收第一报文。如,第一节点通过第一接口从第二节点接收第一报文,其中,第一接口为以太网下的主接口或虚拟局域网VLAN子接口;或,第一接口为以太网链路聚合下的主接口或VLAN子接口。应理解的,第一节点可以包括多个接口,多个接口可以包括第一接口。当第一节点通过多个接口中除第一接口之外的其他接口接收到NS报文或NA报文时,具体的建立邻居缓存表项的方式,可以参考第一节点通过第一接口接收到NS报文或NA报文时建立邻居缓存表项的过程,在此不加赘述。
可选的,第一报文可以为NS报文或NA报文,在此不做限制。其中,NS报文或NA报文还可以包括以下至少一项:数据包的源MAC地址、数据包的目的IPv6地址、数据包的目的MAC地址等,在此不做限定。
其中,路由表、转发表可以参考上述相关描述,在此不加赘述。
302.第一节点建立第一邻居缓存表项,第一邻居缓存表项包括的目的IPv6地址为数据包的源IPv6地址。
可选的,第一邻居缓存表项还可以包括以下至少一项:MAC地址、状态、老化时间,第一邻居缓存表项包括的MAC地址为数据包的源MAC地址。第一邻居缓存表项还可以包括目的IPv6地址与MAC地址、状态和老化时间中一项或多项的对应关系。其中,关于状态,可以参考上述相关描述,在此不加赘述。另外,第一邻居缓存表项还可以包括优先级信息。可以理解的,第一邻居缓存表项还可以包括目的IPv6地址与MAC地址、状态、老化时间和优先级信息中一项或多项的对应关系。
其中,第一邻居缓存表项可以存储在第一接口下存储表项的一个区域,一个区域为一个邻居缓存表,一个邻居缓存表可以包括一个或多个邻居缓存表项。可以理解的,邻居缓存表可以采用上述方式1.1或方式1.2实现。另外,一个邻居缓存表可以均是目的IPv6地址是第一节点的路由表或转发表中的下一跳地址的邻居缓存表项,如第三区域;或,一个邻居缓存表可以均是目的IPv6地址不是第一节点的路由表或转发表中的下一跳地址的邻居缓存表项,如第四区域;或,一个邻居缓存表可以既有目的IPv6地址是第一节点的路由表或转发表中的下一跳地址的邻居缓存表项,也可以有目的IPv6地址不是第一节点的路由表或转发表中的下一跳地址的邻居缓存表项,如第一区域或第二区域。
示例性的,当第一节点的邻居缓存表包括目的IPv6地址、MAC地址、状态和老化时间,且邻居缓存表均是目的IPv6地址是第一节点的路由表或转发表中的下一跳地址的邻居缓存表项时,可以参见表1,表1为本申请实施例提供的一种第一节点的邻居缓存表。结合表1,可以看出,该邻居缓存表包括目的IPv6地址为2222::1111的邻居缓存表项以及目的IPv6地址为2431::2331的邻居缓存表项,且2222::1111和2431::2331均是第一节点的路由表或转发表中的下一跳地址。另外,目的IPv6地址为2222::1111的邻居缓存表项以及目的IPv6地址为2431::2331的邻居缓存表项还包括MAC地址、状态和老化时间,如目的IPv6地址为2222::1111的邻居缓存表项包括的MAC地址为XX:XX:XX:XX:XX:XX,即表明该MAC地址为有效值,换句话来说,目的IPv6地址为2222::1111的邻居缓存表项包括的MAC地址为与第一节点通信的节点的MAC地址,即第一节点已学习到邻居缓存表项;而目的IPv6地址为2431::2331的邻居缓存表项包括的MAC地址为00:00:00:00:00:00,即表明该MAC地址为无效值,换句话来说,此时,第一节点未获知与第一节点通信的节点的MAC地址,即第一节点未学习到邻居缓存表项。目的IPv6地址为2222::1111的邻居缓存表项包括的状态为可达状态,即表明第一节点以及与第一节点通信的节点双方都已获知对方的MAC地址;目的IPv6地址为2431::2331的邻居缓存表项包括的状态为未完成状态,即表明第一节点未获知与第一节点通信的节点的MAC地址,而与第一节点通信的节点也未获知第一节点的MAC地址。另外,目的IPv6地址为2222::1111的邻居缓存表项包括的老化时间为5分,目的IPv6地址为2431::2331的邻居缓存表项包括的老化时间为NULL。
需要说明的,第一节点在配置路由表或转发表中的下一跳地址的邻居缓存表项时,可以配置MAC地址为无效值的邻居缓存表项,也可以不配置MAC地址为无效值的邻居缓存表项,在此不做限定。应理解的,在第一节点配置了MAC地址为无效值的邻居缓存表项的情况下,后续第一节点在学习到邻居缓存表项后,可以优先覆盖MAC地址为无效值的邻居缓存表项。在第一节点未配置MAC地址为无效值的邻居缓存表项的情况下,后续第一节点在学习到邻居缓存表项后,可以新建邻居缓存表项。
表1
Figure BDA0003451211400000111
又示例性的,当第一节点的邻居缓存表包括目的IPv6地址、MAC地址、状态和老化时间,且邻居缓存表均是目的IPv6地址不是第一节点的路由表或转发表中的下一跳地址的邻居缓存表项时,可以参见表2,表2为本申请实施例提供的又一种第一节点的邻居缓存表。结合表2,可以看出,该邻居缓存表包括目的IPv6地址为2000::1000的邻居缓存表项以及目的IPv6地址为2001::2000的邻居缓存表项,且2000::1000和2001::2000均不是第一节点的路由表或转发表中的下一跳地址。另外,目的IPv6地址为2000::1000的邻居缓存表项以及目的IPv6地址为2001::2000的邻居缓存表项还包括MAC地址、状态和老化时间,如目的IPv6地址为2000::1000的邻居缓存表项以及目的IPv6地址为2001::2000的邻居缓存表项包括的MAC地址为XX:XX:XX:XX:XX:XX,即表明该MAC地址为有效值。换句话来说,第一节点已学习到邻居缓存表项。目的IPv6地址为2000::1000的邻居缓存表项以及目的IPv6地址为2001::2000的邻居缓存表项包括的状态均为可达状态,即表明第一节点以及与第一节点通信的节点双方都已获知对方的MAC地址。另外,目的IPv6地址为2000::1000的邻居缓存表项包括的老化时间为8分钟,目的IPv6地址为2001::2000的邻居缓存表项包括的老化时间为10分钟。
表2
Figure BDA0003451211400000112
Figure BDA0003451211400000121
又示例性的,当第一节点的邻居缓存表包括目的IPv6地址、MAC地址、状态、老化时间和优先级信息,且该邻居缓存表既有目的IPv6地址是第一节点的路由表或转发表中的下一跳地址的邻居缓存表项,也有目的IPv6地址不是第一节点的路由表或转发表中的下一跳地址的邻居缓存表项时,可以参见表3,表3为本申请实施例提供的又一种第一节点的邻居缓存表。结合表3,可以看出,该邻居缓存表包括目的IPv6地址为2000::1000的邻居缓存表项、目的IPv6地址为2001::2000的邻居缓存表项、目的IPv6地址为2222::1111的邻居缓存表项以及目的IPv6地址为2431::2331的邻居缓存表项,且2000::1000和2001::2000均不是第一节点的路由表或转发表中的下一跳地址,2222::1111和2431::2331均是第一节点的路由表或转发表中的下一跳地址。而目的IPv6地址为2000::1000的邻居缓存表项以及目的IPv6地址为2001::2000的邻居缓存表项包括的优先级信息为低,目的IPv6地址为2222::1111的邻居缓存表项以及目的IPv6地址为2431::2331的邻居缓存表项包括的优先级信息为高。换句话来说,目的IPv6地址是第一节点的路由表或转发表中的下一跳地址的邻居缓存表项包括的优先级信息高于目的IPv6地址不是第一节点的路由表或转发表中的下一跳地址的邻居缓存表项包括的优先级信息。另外,关于表3中其余内容,可以参考表1以及表2,在此不加赘述。
表3
Figure BDA0003451211400000122
需要说明的,第一区域、第二区域、第三区域和第四区域均是邻居缓存表。其中,第一区域可以采用上述方式1.1或方式1.2实现;第二区域可以采用上述方式1.2实现;第一区域、第三区域可以采用上述方式1.1或方式1.2实现;第四区域中的任意区域可以采用上述方式1.1或方式1.2实现。另外,在一种可能的实施方式中,第一邻居缓存表项可以存储在第一接口下存储表项的第一区域;在又一种可能的实施方式中,第一邻居缓存表项可以存储在第一接口下存储表项的第二区域;在另一种可能的实施方式中,第一邻居缓存表项可以存储在第一接口下存储表项的第三区域。应理解的,第三区域和第四区域为第一接口下存储表项的不同区域。
可选的,步骤302,可以通过以下任意方式实现,在此不做限制。
方式2.1、第一节点将第二邻居缓存表项优先覆盖为第一邻居缓存表项,第二邻居缓存表项包括的目的IPv6地址不是第一节点的路由表或转发表中的下一跳地址。即可以看出,第一节点可以将目的IPv6地址不是第一节点的路由表或转发表中的下一跳地址的第二邻居缓存表项优先覆盖为第一邻居缓存表项,这使得在泛洪攻击场景下,第一邻居缓存表项可以保存下来,进而使得第一节点可以学习该邻居缓存表项,并利用学习到的信息进行业务转发,避免了业务中断。
方式2.2、第一节点中存储邻居缓存表项的区域包括第三区域和第四区域,第三区域和第四区域为邻居缓存表,第三区域中的邻居缓存表项包括的目的IPv6地址是第一节点的路由表或转发表中的下一跳地址,第四区域中的邻居缓存表项包括的目的IPv6地址不是第一节点的路由表或转发表中的下一跳地址,第四区域已被占满;第一节点在第三区域建立第一邻居缓存表项。即可以看出,由于泛洪攻击场景导致第四区域已被占满时,第一节点仍旧可以在第三区域建立第一邻居缓存表项,使得第一邻居缓存表项可以保存下来,进而使得第一节点可以学习该邻居缓存表项,并利用学习到的信息进行业务转发,避免了业务中断。
其中,第二邻居缓存表项还可以包括上述方式1.1或方式1.2中除目的IPv6地址之外的其他内容,在此不加赘述。
可选的,上述方式2.1,可以通过以下任意方式实现,在此不做限制。
方式3.1、第一节点中存储邻居缓存表项的第一区域已被占满,第一区域为邻居缓存表,第一区域中的邻居缓存表项包括目的IPv6地址,第二邻居缓存表项包含在第一区域中;第一节点将第二邻居缓存表项修改为第一邻居缓存表项。即可以看出,由于泛洪攻击场景导致第一区域已被占满时,第一节点通过将目的IPv6地址不是第一节点的路由表或转发表中的下一跳地址的第二邻居缓存表项修改为第一邻居缓存表项,从而使得第一邻居缓存表项可以保存下来,进而使得第一节点可以学习该邻居缓存表项,并利用学习到的信息进行业务转发,避免了业务中断。
方式3.2、第一节点中存储邻居缓存表项的第二区域已被占满,第二区域为邻居缓存表,第二区域中的邻居缓存表项包括优先级信息和目的IPv6地址,第二邻居缓存表项包含在第二区域中;第一节点将第二邻居缓存表项修改为第一邻居缓存表项,第二邻居缓存表项包括的优先级信息低于第二区域中第三邻居缓存表项包括的优先级信息,第三邻居缓存表项包括的目的IPv6地址是第一节点的路由表或转发表中的下一跳地址。即可以看出,由于泛洪攻击场景导致第二区域已被占满时,第一节点通过将优先级信息低于第三邻居缓存表项的第二邻居缓存表项修改为第一邻居缓存表项,从而使得第一邻居缓存表项可以保存下来,进而使得第一节点可以学习该邻居缓存表项,并利用学习到的信息进行业务转发,避免了业务中断。
其中,第一区域已被占满,即表明第一区域所能存储的邻居缓存表项的数目达到预设第一最大数目。类似的,第二区域已被占满,即表明第二区域所能存储的邻居缓存表项的数目达到预设第二最大数目;第四区域已被占满,即表明第四区域所能存储的邻居缓存表项的数目达到预设第三最大数目。预设第一最大数目、预设第二最大数目和预设第三最大数目可以相同或不同,在此不做限定。另外,预设第一最大数目、预设第二最大数目和预设第三最大数目可以为协议预定义的数目或固定值等等,在此不做限定。
可选的,针对方式3.1,第二邻居缓存表项可以为第一区域中老化时间最短的邻居缓存表项。即可以看出,由于泛洪攻击场景导致第一区域已被占满时,第一节点通过将目的IPv6地址不是第一节点的路由表或转发表中的下一跳地址,且老化时间最短的第二邻居缓存表项修改为第一邻居缓存表项,从而使得第一邻居缓存表项可以保存下来,进而使得第一节点可以学习该邻居缓存表项,并利用学习到的信息进行业务转发,避免了业务中断。
可选的,针对方式3.2,第二邻居缓存表项可以为第二区域中老化时间最短的邻居缓存表项。即可以看出,由于泛洪攻击场景导致第二区域已被占满时,第一节点通过将优先级信息低于第三邻居缓存表项且老化时间最短的第二邻居缓存表项修改为第一邻居缓存表项,从而使得第一邻居缓存表项可以保存下来,进而使得第一节点可以学习该邻居缓存表项,并利用学习到的信息进行业务转发,避免了业务中断。
另外,在本申请中,优先级信息低的邻居缓存表项无法覆盖优先级信息高的邻居缓存表项。换句话来说,目的IPv6地址不是第一节点的路由表或转发表中的下一跳地址的邻居缓存表项无法覆盖目的IPv6地址是第一节点的路由表或转发表中的下一跳地址的邻居缓存表项。其次,在某一时刻,目的IPv6地址不是第一节点的路由表或转发表中的下一跳地址的邻居缓存表项,在另一时刻,第一节点重新调整了第一节点的路由表或转发表中的下一跳地址,此时,该邻居缓存表项包括的目的IPv6地址变成第一节点的路由表或转发表中的下一跳地址,此时,第一节点可以更改该邻居缓存表项包括的优先级信息。如在第一时刻,邻居缓存表项A包括的目的IPv6地址不是第一节点的路由表或转发表中的下一跳地址,在第二时刻,第一节点重新调整了第一节点的路由表或转发表中的下一跳地址,此时,邻居缓存表项A包括的目的IPv6地址变成第一节点的路由表或转发表中的下一跳地址。因此,在第二时刻,第一节点可以更改邻居缓存表项A包括的优先级信息。这是因为第一节点可以动态配置第一节点的路由表或转发表中的下一跳地址,即第一节点的路由表或转发表中的下一跳地址可能会动态调整。
可选的,针对方式2.2,第一节点在第三区域,建立第一邻居缓存表项,包括:第一节点确定第三区域中是否存在第四邻居缓存表项,第四邻居缓存表项包括的MAC地址为无效值,且第四邻居缓存表项包括目的IPv6地址为数据包的源IPv6地址;若存在,第一节点则将第四邻居缓存表项修改为第一邻居缓存表项;若不存在,第一节点则在第三区域中建立第一邻居缓存表项。即可以看出,在泛洪攻击场景下,第一节点仍旧可以在第三区域建立第一邻居缓存表项,使得第一邻居缓存表项可以保存下来,进而使得第一节点可以学习该邻居缓存表项,并利用学习到的信息进行业务转发,避免了业务中断。
其中,第四邻居缓存表项还可以包括上述方式1.1或方式1.2中除MAC地址之外的其他内容,在此不加赘述。
其中,第四邻居缓存表项包括的MAC地址为无效值,可以理解为:第四邻居缓存表项包括的MAC地址为0。换句话来说,第四邻居缓存表项包括的MAC地址即为第一节点的路由表或转发表生效但第一节点未学习到邻居缓存表项时的MAC地址。第一节点的路由表或转发表生效,可以理解为:第一节点在配置路由表或转发表中的下一跳地址的邻居缓存表项时,配置了MAC地址为无效地址的邻居缓存表项。
另外,第一节点可以动态配置第一节点的路由表或转发表中的下一跳地址,即第一节点的路由表或转发表中的下一跳地址可能会动态调整,因此,可能会存在第四区域中的邻居缓存表项迁移至第三区域的情况。如,在第一时刻,第四区域中的一个邻居缓存表项包括的目的IPv6地址不是第一节点的路由表或转发表中的下一跳地址;在第二时刻,第一节点重新调整了第一节点的路由表或转发表中的下一跳地址,此时,第四区域中的该邻居缓存表项包括的目的IPv6地址变成第一节点的路由表或转发表中的下一跳地址,此时,第一节点可以将该邻居缓存表项从第四区域迁移至第三区域。
参见图4,图4为本申请实施例提供的又一种泛洪攻击防御方法的流程示意图。如图4所示,该方法包括但不限于以下步骤:
401.第一节点获取第一报文对应的第一IPv6地址。
其中,第一报文例如可以为NS报文、NA报文或其他报文,在此不做限定。第一报文可以包括以下至少一项:源IPv6地址、目的IPv6地址、源MAC地址、目的MAC地址等,在此不做限制。另外,源IPv6地址为第一节点的IPv6地址,源MAC地址为第一节点的MAC地址,目的MAC地址为第一IPv6地址对应的MAC地址。
可选的,若源IPv6地址和目的IPv6地址不是同网段的地址,第一IPv6地址是第一节点根据第一报文从第一节点的路由表或转发表中获取的下一跳地址;若源IPv6地址和目的IPv6地址是同网段的地址,第一IPv6地址为目的IPv6地址。即可以看出,通过判断源IPv6地址和目的IPv6地址是否为同网段的地址,进而可以确定出不同组网场景下的第一IPv6地址。
其中,源IPv6地址和目的IPv6地址不是同网段的地址,可以理解为:第一网络地址和第二网络地址不同。第一网络地址是第一节点根据源IPv6地址与子网掩码按位相与得到,第二网络地址是第一节点根据目的IPv6地址与子网掩码按位相与得到。同理,源IPv6地址和目的IPv6地址是同网段的地址,可以理解为:第一网络地址和第二网络地址相同。
其中,第一IPv6地址是根据第一报文从第一节点的路由表或转发表中获取的下一跳地址,可以理解为:第一IPv6地址是根据源IPv6地址和/或目的IPv6地址从第一节点的路由表或转发表中获取的下一跳地址。
402.第一节点在第一区域中查找第一IPv6地址对应的MAC地址;第一区域为邻居缓存表。
其中,步骤402中的邻居缓存表可以采用上述方式1.1或方式1.2实现,在此不做限定。可以理解的,步骤402中的邻居缓存表为第二接口下的邻居缓存表,第二接口为第一节点根据第一节点的路由表或转发表确定的接口。第二接口可以为以太网下的主接口或虚拟局域网VLAN子接口;或,第二接口可以为以太网链路聚合下的主接口或VLAN子接口,在此不做限定。
可选的,步骤402可以包括:第一节点查找第一区域中,目的IPv6地址与第一IPv6地址相同的邻居缓存表项中的MAC地址,以作为第一IPv6地址对应的MAC地址。即可以看出,实现了MAC地址的学习。
403.若未在第一区域中查找到第一IPv6地址对应的MAC地址,第一节点根据第一接口的标识信息,从第二区域获取第一IPv6地址对应的MAC地址;第一接口为第一报文的出接口;第二区域包括接口的标识信息和MAC地址之间的对应关系。
其中,出接口为以太网下的主接口或虚拟局域网VLAN子接口;或,出接口为以太网链路聚合下的主接口或VLAN子接口。可以理解的,第一接口的标识信息可以为以太网下的主接口或虚拟局域网VLAN子接口的标识信息;或,以太网链路聚合下的主接口或VLAN子接口的标识信息。
可选的,第一接口和第二接口为同一接口。
其中,第二区域包括接口的标识信息和MAC地址之间的对应关系,可以理解为:第二区域包括第一节点的多个接口的标识信息和一个MAC地址之间的对应关系,或,第一节点的多个接口的标识信息和多个MAC地址之间一一对应的关系。第一节点的多个接口可以包括第一接口。需要说明的,除第一接口之外的其他接口,第一节点在根据其他接口的标识信息,从第二区域获取MAC地址的过程,可以参考根据第一接口的标识信息,从第二区域获取MAC地址的过程,在此不加赘述。
可选的,在第一节点根据第一接口的标识信息,从第二区域获取第一IPv6地址对应的MAC地址之前,本方案还可以包括:第一节点从第一接口获取RA报文或DHCP报文;RA报文或DHCP报文包括数据包的源MAC地址;第一节点根据第一接口的标识信息和源MAC地址,在第二区域中建立第一接口的标识信息和源MAC地址之间的对应关系。即可以看出,第一节点通过从第一接口获取RA报文或DHCP报文,使得第一节点可以根据第一接口的标识信息以及RA报文或DHCP报文包括数据包的源MAC地址,在第二区域中建立第一接口的标识信息和源MAC地址之间的对应关系,这使得在泛洪攻击场景下,第一接口的标识信息和源MAC地址之间的对应关系可以保存下来,进而使得第一节点可以根据第一接口的标识信息和源MAC地址之间的对应关系学习MAC地址,并利用学习到的MAC地址进行业务转发,避免了业务中断。
其中,关于RA报文或DHCP报文,可以参考上述相关描述,在此不加赘述。
可选的,第一节点从第一接口获取RA报文,包括:若从第一接口接收到一个路由器节点发送的RA报文,第一节点将一个路由器节点发送的RA报文确定为RA报文;若从第一接口接收到多个路由器节点发送的该RA报文,第一节点将多个路由器节点发送的RA报文中优先级高的RA报文确定为RA报文。即可以看出,在第一节点接收到一个或多个路由器节点发送的RA报文时,第一节点针对不同情况选择出对应的RA报文,为后续在第二区域中建立第一接口的标识信息和源MAC地址之间的对应关系做准备。
可选的,本方案还可以包括:第一节点发送第二报文;第二报文用于请求第一IPv6地址对应的MAC地址;第一节点接收第三报文,第三报文包括第一IPv6地址对应的MAC地址;第一节点根据第一接口的标识信息,从第二区域获取第一IPv6地址对应的MAC地址,包括:若无法根据第三报文在第一区域中建立邻居缓存表项,第一节点从第二区域中确定与第一接口的标识信息匹配的目标接口的标识信息;第一节点根据第二区域包括的对应关系,获取目标接口的标识信息对应的MAC地址,以作为第一IPv6地址对应的MAC地址。即可以看出,第一节点在无法根据第三报文创建邻居缓存表项的情况下,才会选择从第二区域中确定与第一接口的标识信息匹配的目标接口的标识信息,从而根据第二区域包括的对应关系学习到目标接口的标识信息对应的MAC地址,进而可以利用学习到的MAC地址进行业务转发,避免了业务中断。
其中,第二报文为NS报文,NS报文可以包括以下一项或多项:源IPv6地址、目的IPv6地址、源MAC地址、目的MAC地址等,在此不做限定。该源IPv6地址为第一节点的IPv6地址,目的IPV6地址为其他节点的IPv6地址;同理,源MAC地址为第一节点的MAC地址,目的MAC地址为其他节点的MAC地址。
其中,第三报文为NA报文,NA报文可以包括以下一项或多项:源IPv6地址、目的IPv6地址、源MAC地址、目的MAC地址等,在此不做限定。该源IPv6地址为其他节点的IPv6地址,源MAC地址为其他节点的MAC地址,目的MAC地址为第一节点的MAC地址。可以理解的,第二报文中的源MAC地址为第三报文的目的MAC地址,第二报文中的目的MAC地址为第三报文的源MAC地址。
可选的,第一节点发送第二报文,可以发生在第一节点未在第一区域中查找到第一IPv6地址对应的MAC地址之后。换句话来说,当第一节点未在第一区域中查找到第一IPv6地址对应的MAC地址时,第一节点可以发送第二报文,从而请求第一IPv6地址对应的MAC地址。
其中,无法根据第三报文在第一区域中建立邻居缓存表项,是因为第一区域已被占满。换句话来说,在泛洪攻击导致第一区域已被占满的情况下,第一节点无法在第一区域中建立包含第三报文中源IPv6地址和源MAC地址的邻居缓存表项。
404.第一节点根据第一IPv6地址对应的MAC地址,发送第一报文。
示例性的,第一节点根据第一IPv6地址对应的MAC地址,向第二节点发送第一报文。第二节点的MAC地址可以为第一IPv6地址对应的MAC地址。
可以看出,上述技术方案中,当第一节点未在邻居缓存表中查找到第一IPv6地址对应的MAC地址时,第一节点可以根据第一报文的出接口的标识信息,从第二区域获取第一IPv6地址对应的MAC地址,从而使得第一节点可以第一IPv6地址对应的MAC地址,发送第一报文,这避免了无法从邻居缓存表学习到MAC地址所导致的业务中断的问题。
上述主要从各个网元之间交互的角度对本申请提供的方案进行了介绍。可以理解的是,上述实现各网元为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对第一节点、第二节点等进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中,上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用集成的单元的情况下,参见图5,图5为本申请实施例提供的一种通信装置的结构示意图。该通信装置500可应用于上述图3-图4所示的方法中,如图5所示,该通信装置500包括:处理模块501和收发模块502。处理模块501可以是一个或多个处理器,收发模块502可以是转发单元,转发单元可以是独立的芯片或逻辑上软件设计来实现。该通信装置可用于实现上述任一方法实施例中涉及第一节点、第二节点,或用于实现上述任一方法实施例中涉及网元的功能。该网元或者网络功能既可以是硬件设备中的网络元件,也可以是在专用硬件上运行的软件功能,或者是平台(例如,云平台)上实例化的虚拟化功能。可选的,该通信装置500还可以包括存储模块503,用于存储通信装置500的程序代码和数据。
一种实例,当该通信装置作为第一节点或为应用于第一节点中的芯片,并执行上述方法实施例中由第一节点执行的步骤。收发模块502用于支持与第二节点等之间的通信,如收发模块502用于通过图3-图4中第一节点执行的发送和/或接收的动作,具体的,收发模块502用于支持第一节点执行步骤301、步骤404中的一个或多个步骤,和/或用于本文中所描述的技术的其他过程。处理模块501可用于支持通信装置500执行上述方法实施例中的处理动作,例如,处理模块501用于支持执行步骤302、步骤401-步骤403中的一个或多个步骤,和/或用于本文所描述的处理动作。
示例性的,收发模块502,用于从第二节点接收第一报文;第一报文包括数据包的源IPv6地址,数据包的源IPv6地址为第一节点的路由表或转发表中的下一跳地址;处理模块501,用于建立第一邻居缓存表项,第一邻居缓存表项包括的目的IPv6地址为数据包的源IPv6地址。
又示例性的,处理模块501,用于获取第一报文对应的第一IPv6地址;处理模块501,还用于在第一区域中查找第一IPv6地址对应的媒体存取控制MAC地址;第一区域为邻居缓存表;若未在第一区域中查找到第一IPv6地址对应的MAC地址,处理模块501,还用于根据第一接口的标识信息,从第二区域获取第一IPv6地址对应的MAC地址;第一接口为第一报文的出接口,出接口为以太网下的主接口或虚拟局域网VLAN子接口;或,出接口为以太网链路聚合下的主接口或VLAN子接口;第二区域包括接口的标识信息和MAC地址之间的对应关系;收发模块502,用于根据第一IPv6地址对应的MAC地址,发送第一报文。
一种实例,当该通信装置作为第二节点或为应用于第二节点中的芯片,并执行上述方法实施例中由第二节点执行的步骤。收发模块502用于支持与第一节点等之间的通信,如收发模块502用于通过图3-图4中第二节点执行的发送和/或接收的动作,具体的,收发模块502用于支持第二节点执行步骤301,和/或用于本文中所描述的技术的其他过程。处理模块501可用于支持通信装置500执行上述方法实施例中的处理动作。
在一种可能的实施方式中,当第一节点或第二节点为芯片时,收发模块502可以是转发单元,转发单元可以是独立的芯片或逻辑上软件设计来实现。转发单元通过总线与处理器相连。
处理模块501可以是处理器,该处理器可以执行存储模块存储的计算机执行指令,以使该芯片执行图3至图4实施例涉及的方法。
进一步的,处理器可以包括控制器、运算器和寄存器。示例性的,控制器主要负责指令译码,并为指令对应的操作发出控制信号。运算器主要负责执行定点或浮点算数运算操作、移位操作以及逻辑操作等,也可以执行地址运算和转换。寄存器主要负责保存指令执行过程中临时存放的寄存器操作数和中间操作结果等。具体实现中,处理器的硬件架构可以是专用集成电路(application specific integrated circuits,ASIC)架构、无互锁管道阶段架构的微处理器(microprocessor without interlocked piped stagesarchitecture,MIPS)架构、进阶精简指令集机器(advanced RISC machines,ARM)架构或者网络处理器(network processor,NP)架构等等。处理器可以是单核的,也可以是多核的。
该存储模块可以为该芯片内的存储模块,如寄存器、缓存等。存储模块也可以是位于芯片外部的存储模块,如只读存储器(Read Only Memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(Random Access Memory,RAM)等。
需要说明的,处理器、转发单元各自对应的功能既可以通过硬件设计实现,也可以通过软件设计来实现,还可以通过软硬件结合的方式来实现,这里不作限制。
本申请实施例还提供一种通信装置,包括处理器和存储器,处理器调用存储器中存储的计算机程序实现如图3-图4所述实施例。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当所述计算机程序被运行时,实现如图3-图4所述实施例。
本申请实施例还提供一种包含指令的计算机程序产品,当其在计算机上执行时,使得图3-图4所述实施例被执行。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本申请实施例方案的目标。另外,在本申请各个实施例中的各网元单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件网元单元的形式实现。
上述集成的单元如果以软件网元单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,云服务器,或者网络设备等)执行本申请各个实施例上述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (28)

1.一种泛洪攻击防御方法,其特征在于,所述方法包括:
第一节点从第二节点接收第一报文;所述第一报文包括数据包的源互联网协议第6版IPv6地址,所述数据包的源IPv6地址为所述第一节点的路由表或转发表中的下一跳地址;
所述第一节点建立第一邻居缓存表项,所述第一邻居缓存表项包括的目的IPv6地址为所述数据包的源IPv6地址。
2.根据权利要求1所述的方法,其特征在于,所述第一节点建立第一邻居缓存表项,包括:
所述第一节点将第二邻居缓存表项优先覆盖为所述第一邻居缓存表项,所述第二邻居缓存表项包括的目的IPv6地址不是所述第一节点的路由表或转发表中的下一跳地址。
3.根据权利要求2所述的方法,其特征在于,所述第一节点中存储邻居缓存表项的第一区域已被占满,所述第一区域为邻居缓存表,所述第一区域中的邻居缓存表项包括目的IPv6地址,所述第二邻居缓存表项包含在所述第一区域中;所述第一节点将第二邻居缓存表项优先覆盖为所述第一邻居缓存表项,包括:
所述第一节点将所述第二邻居缓存表项修改为所述第一邻居缓存表项。
4.根据权利要求3所述的方法,其特征在于,所述第一区域中的邻居缓存表项还包括老化时间,所述第二邻居缓存表项为所述第一区域中老化时间最短的邻居缓存表项。
5.根据权利要求2所述的方法,其特征在于,所述第一节点中存储邻居缓存表项的第二区域已被占满,所述第二区域为邻居缓存表,所述第二区域中的邻居缓存表项包括优先级信息和目的IPv6地址,所述第二邻居缓存表项包含在所述第二区域中;所述第一节点将第二邻居缓存表项优先覆盖为所述第一邻居缓存表项,包括:
所述第一节点将所述第二邻居缓存表项修改为所述第一邻居缓存表项,所述第二邻居缓存表项包括的优先级信息低于所述第二区域中第三邻居缓存表项包括的优先级信息,所述第三邻居缓存表项包括的目的IPv6地址是所述第一节点的路由表或转发表中的下一跳地址。
6.根据权利要求5所述的方法,其特征在于,所述第二区域中的邻居缓存表项还包括老化时间,所述第二邻居缓存表项为所述第二区域中老化时间最短的邻居缓存表项。
7.根据权利要求1所述的方法,其特征在于,所述第一节点中存储邻居缓存表项的区域包括第三区域和第四区域,所述第三区域和所述第四区域为邻居缓存表,所述第三区域中的邻居缓存表项包括的目的IPv6地址是所述第一节点的路由表或转发表中的下一跳地址,所述第四区域中的邻居缓存表项包括的目的IPv6地址不是所述第一节点的路由表或转发表中的下一跳地址,所述第四区域已被占满;所述第一节点建立所述邻居缓存表项,包括:
所述第一节点在所述第三区域建立所述第一邻居缓存表项。
8.根据权利要求7所述的方法,其特征在于,所述第一节点在所述第三区域,建立所述第一邻居缓存表项,包括:
所述第一节点确定所述第三区域中是否存在第四邻居缓存表项,所述第四邻居缓存表项包括的媒体存取控制MAC地址为无效值,且所述第四邻居缓存表项包括目的IPv6地址为所述数据包的源IPv6地址;
若存在,所述第一节点则将所述第四邻居缓存表项修改为所述第一邻居缓存表项;
若不存在,所述第一节点则在所述第三区域中建立所述第一邻居缓存表项。
9.一种泛洪攻击防御方法,其特征在于,所述方法包括:
第一节点获取第一报文对应的第一互联网协议第6版IPv6地址;
所述第一节点在第一区域中查找所述第一IPv6地址对应的媒体存取控制MAC地址;所述第一区域为邻居缓存表;
若未在所述第一区域中查找到所述第一IPv6地址对应的MAC地址,所述第一节点根据第一接口的标识信息,从第二区域获取所述第一IPv6地址对应的MAC地址;所述第一接口为所述第一报文的出接口,所述出接口为以太网下的主接口或虚拟局域网VLAN子接口;或,所述出接口为以太网链路聚合下的主接口或VLAN子接口;所述第二区域包括接口的标识信息和MAC地址之间的对应关系;
所述第一节点根据所述第一IPv6地址对应的MAC地址,发送所述第一报文。
10.根据权利要求9所述的方法,其特征在于,所述第一报文包括源IPv6地址和目的IPv6地址;
若源IPv6地址和目的IPv6地址不是同网段的地址,所述第一IPv6地址是所述第一节点根据所述第一报文从所述第一节点的路由表或转发表中获取的下一跳地址;
若源IPv6地址和目的IPv6地址是同网段的地址,所述第一IPv6地址为所述目的IPv6地址。
11.根据权利要求9所述的方法,其特征在于,在所述第一节点根据所述第一接口的标识信息,从第二区域获取所述第一IPv6地址对应的MAC地址之前,所述方法还包括:
所述第一节点从所述第一接口获取路由通告RA报文或动态主机配置协议DHCP报文;所述RA报文或所述DHCP报文包括数据包的源MAC地址;
所述第一节点根据所述第一接口的标识信息和所述源MAC地址,在所述第二区域中建立所述第一接口的标识信息和所述源MAC地址之间的对应关系。
12.根据权利要求11所述的方法,其特征在于,所述第一节点从所述第一接口获取RA报文,包括:
若从所述第一接口接收到一个路由器节点发送的RA报文,所述第一节点将所述一个路由器节点发送的RA报文确定为所述RA报文;
若从所述第一接口接收到多个路由器节点发送的所述RA报文,所述第一节点将所述多个路由器节点发送的RA报文中优先级高的RA报文确定为所述RA报文。
13.根据权利要求9-12任意一项所述的方法,其特征在于,所述方法还包括:
所述第一节点发送第二报文;所述第二报文用于请求所述第一IPv6地址对应的MAC地址;
所述第一节点接收第三报文,所述第三报文包括所述第一IPv6地址对应的MAC地址;
所述第一节点根据所述第一接口的标识信息,从第二区域获取所述第一IPv6地址对应的MAC地址,包括:
若无法根据所述第三报文在所述第一区域中建立邻居缓存表项,所述第一节点从所述第二区域中确定与所述第一接口的标识信息匹配的目标接口的标识信息;
所述第一节点根据所述第二区域包括的对应关系,获取所述目标接口的标识信息对应的MAC地址,以作为所述第一IPv6地址对应的MAC地址。
14.一种通信装置,其特征在于,所述通信装置为第一节点,所述第一节点包括收发模块和处理模块;
所述收发模块,用于从第二节点接收第一报文;所述第一报文包括数据包的源互联网协议第6版IPv6地址,所述数据包的源IPv6地址为所述第一节点的路由表或转发表中的下一跳地址;
所述处理模块,用于建立第一邻居缓存表项,所述第一邻居缓存表项包括的目的IPv6地址为所述数据包的源IPv6地址。
15.根据权利要求14所述的装置,其特征在于,在第一节点建立第一邻居缓存表项时,所述处理模块,用于将第二邻居缓存表项优先覆盖为所述第一邻居缓存表项,所述第二邻居缓存表项包括的目的IPv6地址不是所述第一节点的路由表或转发表中的下一跳地址。
16.根据权利要求15所述的装置,其特征在于,所述第一节点中存储邻居缓存表项的第一区域已被占满,所述第一区域为邻居缓存表,所述第一区域中的邻居缓存表项包括目的IPv6地址,所述第二邻居缓存表项包含在所述第一区域中;在将第二邻居缓存表项优先覆盖为所述第一邻居缓存表项时,所述处理模块,用于将所述第二邻居缓存表项修改为所述第一邻居缓存表项。
17.根据权利要求16所述的装置,其特征在于,所述第一区域中的邻居缓存表项还包括老化时间,所述第二邻居缓存表项为所述第一区域中老化时间最短的邻居缓存表项。
18.根据权利要求15所述的装置,其特征在于,所述第一节点中存储邻居缓存表项的第二区域已被占满,所述第二区域为邻居缓存表,所述第二区域中的邻居缓存表项包括优先级信息和目的IPv6地址,所述第二邻居缓存表项包含在所述第二区域中;在将第二邻居缓存表项优先覆盖为所述第一邻居缓存表项时,所述处理模块,用于将所述第二邻居缓存表项修改为所述第一邻居缓存表项,所述第二邻居缓存表项包括的优先级信息低于所述第二区域中第三邻居缓存表项包括的优先级信息,所述第三邻居缓存表项包括的目的IPv6地址是所述第一节点的路由表或转发表中的下一跳地址。
19.根据权利要求18所述的装置,其特征在于,所述第二区域中的邻居缓存表项还包括老化时间,所述第二邻居缓存表项为所述第二区域中老化时间最短的邻居缓存表项。
20.根据权利要求14所述的装置,其特征在于,所述第一节点中存储邻居缓存表项的区域包括第三区域和第四区域,所述第三区域和所述第四区域为邻居缓存表,所述第三区域中的邻居缓存表项包括的目的IPv6地址是所述第一节点的路由表或转发表中的下一跳地址,所述第四区域中的邻居缓存表项包括的目的IPv6地址不是所述第一节点的路由表或转发表中的下一跳地址,所述第四区域已被占满;在第一节点建立所述邻居缓存表项时,所述处理模块,用于在所述第三区域建立所述第一邻居缓存表项。
21.根据权利要求20所述的装置,其特征在于,在所述第三区域,建立所述第一邻居缓存表项时,所述处理模块,用于:
确定所述第三区域中是否存在第四邻居缓存表项,所述第四邻居缓存表项包括的媒体存取控制MAC地址为无效值,且所述第四邻居缓存表项包括目的IPv6地址为所述数据包的源IPv6地址;
若存在,则将所述第四邻居缓存表项修改为所述第一邻居缓存表项;
若不存在,则在所述第三区域中建立所述第一邻居缓存表项。
22.一种通信装置,其特征在于,所述通信装置为第一节点,所述第一节点包括收发模块和处理模块;
所述处理模块,用于获取第一报文对应的第一互联网协议第6版IPv6地址;
所述处理模块,还用于在第一区域中查找所述第一IPv6地址对应的媒体存取控制MAC地址;所述第一区域为邻居缓存表;
若未在所述第一区域中查找到所述第一IPv6地址对应的MAC地址,所述处理模块,还用于根据第一接口的标识信息,从第二区域获取所述第一IPv6地址对应的MAC地址;所述第一接口为所述第一报文的出接口,所述出接口为以太网下的主接口或虚拟局域网VLAN子接口;或,所述出接口为以太网链路聚合下的主接口或VLAN子接口;所述第二区域包括接口的标识信息和MAC地址之间的对应关系;
所述收发模块,用于根据所述第一IPv6地址对应的MAC地址,发送所述第一报文。
23.根据权利要求22所述的装置,其特征在于,所述第一报文包括源IPv6地址和目的IPv6地址;
若源IPv6地址和目的IPv6地址不是同网段的地址,所述第一IPv6地址是所述第一节点根据所述第一报文从所述第一节点的路由表或转发表中获取的下一跳地址;
若源IPv6地址和目的IPv6地址是同网段的地址,所述第一IPv6地址为所述目的IPv6地址。
24.根据权利要求22所述的装置,其特征在于,
所述收发模块,还用于从所述第一接口获取路由通告RA报文或动态主机配置协议DHCP报文;所述RA报文或所述DHCP报文包括数据包的源MAC地址;
所述处理模块,还用于根据所述第一接口的标识信息和所述源MAC地址,在所述第二区域中建立所述第一接口的标识信息和所述源MAC地址之间的对应关系。
25.根据权利要求24所述的装置,其特征在于,在从所述第一接口获取RA报文时,
若所述处理模块通过所述收发模块从所述第一接口接收到一个路由器节点发送的RA报文,所述处理模块,用于将所述一个路由器节点发送的RA报文确定为所述RA报文;
若所述处理模块通过所述收发模块从所述第一接口接收到多个路由器节点发送的所述RA报文,所述处理模块,用于将所述多个路由器节点发送的RA报文中优先级高的RA报文确定为所述RA报文。
26.根据权利要求22-25任意一项所述的装置,其特征在于,
所述收发模块,还用于发送第二报文;所述第二报文用于请求所述第一IPv6地址对应的MAC地址;
所述收发模块,还用于接收第三报文,所述第三报文包括所述第一IPv6地址对应的MAC地址;
在根据所述第一接口的标识信息,从第二区域获取所述第一IPv6地址对应的MAC地址时,所述处理模块,还用于:
若无法根据所述第三报文在所述第一区域中建立邻居缓存表项,从所述第二区域中确定与所述第一接口的标识信息匹配的目标接口的标识信息;根据所述第二区域包括的对应关系,获取所述目标接口的标识信息对应的MAC地址,以作为所述第一IPv6地址对应的MAC地址。
27.一种通信装置,其特征在于,包括处理器和存储器,所述处理器调用所述存储器中存储的计算机程序实现如权利要求1-13任一项所述的方法。
28.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,当所述计算机程序被运行时,实现如权利要求1-13任一项所述的方法。
CN202111675698.3A 2021-12-31 2021-12-31 一种泛洪攻击防御方法及相关装置 Active CN114465776B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202111675698.3A CN114465776B (zh) 2021-12-31 2021-12-31 一种泛洪攻击防御方法及相关装置
PCT/CN2022/141054 WO2023125239A1 (zh) 2021-12-31 2022-12-22 一种泛洪攻击防御方法及相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111675698.3A CN114465776B (zh) 2021-12-31 2021-12-31 一种泛洪攻击防御方法及相关装置

Publications (2)

Publication Number Publication Date
CN114465776A true CN114465776A (zh) 2022-05-10
CN114465776B CN114465776B (zh) 2023-09-12

Family

ID=81407032

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111675698.3A Active CN114465776B (zh) 2021-12-31 2021-12-31 一种泛洪攻击防御方法及相关装置

Country Status (2)

Country Link
CN (1) CN114465776B (zh)
WO (1) WO2023125239A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115396401A (zh) * 2022-10-28 2022-11-25 北京连星科技有限公司 基于IPv6特性构建柔性扩展网络的方法、系统及介质
CN116094998A (zh) * 2022-12-29 2023-05-09 天翼云科技有限公司 一种基于ovs的邻居表项的vxlan报文的转发方法及装置
WO2023125239A1 (zh) * 2021-12-31 2023-07-06 华为技术有限公司 一种泛洪攻击防御方法及相关装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010072096A1 (zh) * 2008-12-25 2010-07-01 中兴通讯股份有限公司 IPv6环境下提高邻居发现安全性的方法及宽带接入设备
CN102244651A (zh) * 2010-05-14 2011-11-16 杭州华三通信技术有限公司 防止非法邻居发现协议报文攻击的方法和接入设备
CN103036794A (zh) * 2011-10-10 2013-04-10 华为技术有限公司 一种报文的学习方法、装置和系统
CN103139071A (zh) * 2011-11-29 2013-06-05 华为技术有限公司 报文转发方法、装置和系统
CN106789662A (zh) * 2016-01-04 2017-05-31 新华三技术有限公司 一种路由公告方法及装置
CN112887209A (zh) * 2019-11-30 2021-06-01 华为技术有限公司 关于数据传输的表项建立方法及相关设备
CN113037879A (zh) * 2019-12-24 2021-06-25 中兴通讯股份有限公司 Arp学习方法和节点设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114465776B (zh) * 2021-12-31 2023-09-12 华为技术有限公司 一种泛洪攻击防御方法及相关装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010072096A1 (zh) * 2008-12-25 2010-07-01 中兴通讯股份有限公司 IPv6环境下提高邻居发现安全性的方法及宽带接入设备
CN102244651A (zh) * 2010-05-14 2011-11-16 杭州华三通信技术有限公司 防止非法邻居发现协议报文攻击的方法和接入设备
CN103036794A (zh) * 2011-10-10 2013-04-10 华为技术有限公司 一种报文的学习方法、装置和系统
CN103139071A (zh) * 2011-11-29 2013-06-05 华为技术有限公司 报文转发方法、装置和系统
CN106789662A (zh) * 2016-01-04 2017-05-31 新华三技术有限公司 一种路由公告方法及装置
CN112887209A (zh) * 2019-11-30 2021-06-01 华为技术有限公司 关于数据传输的表项建立方法及相关设备
CN113037879A (zh) * 2019-12-24 2021-06-25 中兴通讯股份有限公司 Arp学习方法和节点设备

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023125239A1 (zh) * 2021-12-31 2023-07-06 华为技术有限公司 一种泛洪攻击防御方法及相关装置
CN115396401A (zh) * 2022-10-28 2022-11-25 北京连星科技有限公司 基于IPv6特性构建柔性扩展网络的方法、系统及介质
CN115396401B (zh) * 2022-10-28 2023-01-31 北京连星科技有限公司 基于IPv6特性构建柔性扩展网络的方法、系统及介质
CN116094998A (zh) * 2022-12-29 2023-05-09 天翼云科技有限公司 一种基于ovs的邻居表项的vxlan报文的转发方法及装置

Also Published As

Publication number Publication date
CN114465776B (zh) 2023-09-12
WO2023125239A1 (zh) 2023-07-06

Similar Documents

Publication Publication Date Title
US11115375B2 (en) Interoperability between data plane learning endpoints and control plane learning endpoints in overlay networks
US10425325B2 (en) Optimizing traffic paths to orphaned hosts in VXLAN networks using virtual link trunking-based multi-homing
CN109257265B (zh) 一种泛洪抑制方法、vxlan网桥、网关及系统
US9385949B2 (en) Routing controlled by subnet managers
US9253140B2 (en) System and method for optimizing within subnet communication in a network environment
US9559952B2 (en) Routing internet protocol version 6 link-local addresses in a network environment
US20190007312A1 (en) Techniques for routing and forwarding between multiple virtual routers implemented by a single device
US9438531B2 (en) LISP stretched subnet mode for data center migrations
JP6080313B2 (ja) 仮想ネットワークを実装及び管理するシステム及び方法
CN114465776B (zh) 一种泛洪攻击防御方法及相关装置
CN113261242B (zh) 通信系统和由通信系统实现的方法
EP3130092B1 (en) Proxy of routing protocols to redundant controllers
CN106572021B (zh) 一种实现网络虚拟化叠加的方法与网络虚拟化边缘节点
CN103841028A (zh) 一种报文转发方法及设备
CN108429680B (zh) 一种基于虚拟私有云的路由配置方法、系统、介质及设备
CN107094110B (zh) 一种dhcp报文转发方法及装置
JP6118122B2 (ja) 通信装置及びその制御方法、プログラム
US20200296039A1 (en) Dynamic next-hop selection for routes in a network fabric
US10530873B1 (en) Techniques for optimizing EVPN-IRB for IPv6-enabled data centers with top-of-rack deployments
US20190253380A1 (en) Layer 2 address connectivity updates for packet routing
CN106911549B (zh) 一种数据报文处理方法及装置
CN113037883B (zh) 一种mac地址表项的更新方法及装置
CN110752989A (zh) 一种东西向流量转发方法与装置
CN116489068A (zh) 路由反射对等端点的自动发现
CN116547955A (zh) 用于使用定向跟踪传播网络状态更新的方法和装置

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