CN111416887B - 地址检测的方法、装置、交换机及存储介质 - Google Patents
地址检测的方法、装置、交换机及存储介质 Download PDFInfo
- Publication number
- CN111416887B CN111416887B CN202010245453.6A CN202010245453A CN111416887B CN 111416887 B CN111416887 B CN 111416887B CN 202010245453 A CN202010245453 A CN 202010245453A CN 111416887 B CN111416887 B CN 111416887B
- Authority
- CN
- China
- Prior art keywords
- address
- message
- source
- register
- target
- 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
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 26
- 238000000034 method Methods 0.000 claims abstract description 45
- 238000012795 verification Methods 0.000 claims abstract description 17
- 230000006399 behavior Effects 0.000 claims description 34
- 238000004590 computer program Methods 0.000 claims description 10
- 238000000605 extraction Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 abstract description 10
- 238000004891 communication Methods 0.000 abstract description 9
- 238000005516 engineering process Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 230000005236 sound signal Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5046—Resolving address allocation conflicts; Testing of addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/618—Details of network addresses
- H04L2101/622—Layer-2 addresses, e.g. medium access control [MAC] addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/618—Details of network addresses
- H04L2101/659—Internet protocol version 6 [IPv6] addresses
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
Abstract
本公开涉及通信技术领域,具体涉及一种地址检测的方法、装置、交换机及存储介质,用于解决相关技术中IPv6地址配置过程中可能出现的地址伪造或冲突等技术问题。所述地址检测的方法包括:在交换机接收NS报文后,提取所述NS报文中的入端口、源地址及目标地址字段;当基于所述入端口确认存在对应的寄存器索引时,根据所述入端口对应的寄存器索引验证源地址及目标地址;当所述源地址及目标地址通过验证时,提取所述NS报文中的目的MAC字段;根据所述目的MAC查询MAC地址转发匹配行为表,以确定转发端口并基于所述转发端口转发所述NS报文。
Description
技术领域
本公开涉通信技术领域,特别地涉及一种地址检测的方法、装置、交换机及存储介质。
背景技术
重复地址检测(Duplicate Address Detection,DAD)是IPv6地址配置(静态配置,无状态自动配置(Stateless Address Autoconfiguration,SLAAC),动态主机配置(Dynamic Host Configuration Protocol for IPv6(DHCPv6)))过程中的关键步骤,它允许相同链路上的节点使用唯一的IPv6地址进行通讯。DAD过程基于两个NDP(NeighborDiscovery Protocol;邻居发现协议)消息,Neighbor Solicitation(NS;邻居请求协议)以及Neighbor Advertisement(NA;邻居通告协议)。在DAD过程中,主机会发出NS消息来验证它想要配置的IPv6地址的唯一性,如果发现该IPv6地址重复,其余相同链路上的主机会回复NA消息。由于NS消息中目标地址(Target Address)的公开性以及缺乏验证NA消息真实性的安全机制,恶意主机很容易伪造NA消息来破坏DAD过程进而干扰正常主机的IPv6地址配置。
发明内容
本公开提供一种地址检测的方法、装置、交换机及存储介质,以解决相关技术中IPv6地址配置过程中可能出现的地址伪造或冲突等技术问题。
为实现上述目的,本公开实施例的第一方面,提供一种地址检测的方法,所述方法包括:
在交换机接收NS报文后,提取所述NS报文中的入端口、源地址及目标地址字段;
当基于所述入端口确认存在对应的寄存器索引时,根据所述入端口对应的寄存器索引验证源地址及目标地址;
当所述源地址及目标地址通过验证时,提取所述NS报文中的目的MAC字段;
根据所述目的MAC查询MAC地址转发匹配行为表,以确定转发端口并基于所述转发端口转发所述NS报文。
可选地,所述MAC地址转发匹配行为表通过以下步骤获得:
提取所述NS报文中的源MAC地址字段,当基于所述源MAC地址字段没有查询到MAC地址转发匹配行为表时,将所述源MAC地址及入端口发送给所述交换机中的控制器,以使所述控制器下发流表;
根据所述流表、源MAC地址以及入端口进行MAC地址学习,以获得MAC地址转发匹配行为表。
可选地,还包括:
当基于所述入端口确认不存在对应的寄存器索引时,基于所述入端口计算与所述入端口对应的寄存器索引;
将目标地址及表征为暂时的状态值存储到所述寄存器索引对应的寄存器中。
可选地,根据所述入端口对应的寄存器索引验证源地址及目标地址,包括:
读取所述寄存器索引所对应的寄存器值;
判断所述源地址及所述目标地址是否等于所述寄存器值;其中,若所述源地址及所述目标地址等于所述寄存器值,所述源地址及所述目标地址通过验证。
可选地,还包括:
当所述源地址及所述目标地址不等于所述寄存器值时,丢弃所述NS报文。
可选地,还包括:
在交换机接收到根据所述NS报文反馈的NA报文后,提取所述NA报文中的入端口、源地址及目标地址字段;
当基于所述NA报文中的入端口计算出与所述NA报文中的入端口对应的寄存器索引时,根据所述NA报文中的入端口对应的寄存器索引验证所述NA报文中的源地址及目标地址;
当所述NA报文中的源地址及目标地址通过验证时,从命中匹配行为表中提取与所述NA报文中的目标地址对应的索引值,以获取该索引值中所对应的寄存器值,该寄存器值包括IPv6地址及状态值;
如果状态值表征为暂时,重置该索引所对应的寄存器值。
可选地,还包括:
当所述NA报文中的源地址及目标地址没有通过验证时,丢弃所述NA报文。
本公开实施例的第二方面,提供一种地址检测的装置,所述装置包括:
第一提取模块,被配置为在交换机接收NS报文后,提取所述NS报文中的入端口、源地址及目标地址字段;
验证模块,被配置为当基于所述入端口确认存在对应的寄存器索引时,根据所述入端口对应的寄存器索引验证源地址及目标地址;
第二提取模块,被配置为当所述源地址及目标地址通过验证时,提取所述NS报文中的目的MAC字段;
转发模块,被配置为根据所述目的MAC查询MAC地址转发匹配行为表,以确定转发端口并基于所述转发端口转发所述NS报文。
本公开实施例的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一方面中任一项所述方法的步骤。
本公开实施例的第四方面,提供一种交换机,包括:
存储器,其上存储有计算机程序;以及
处理器,用于执行所述存储器中的所述计算机程序,以实现上述第一方面中任一项所述方法的步骤。
采用上述技术方案,至少能够达到如下技术效果:
本公开通过交换机监测IPv6地址配置过程,以建立IPv6地址与链路层属性(例如交换机端口、MAC地址)的绑定表,并将该绑定表存储在交换机的寄存器中,利用交换机提取源及目标地址,从而可直接在交换机上验证源及目标地址的真实性,以过滤伪造的NS/NA消息,确保重复地址检测过程的安全性。本公开计算轻量级,不需在主机及网络设备上实施哈希加密运算,鲁棒性好,不依赖任何中央节点,易于部署,不需修改NDP协议及主机行为。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1是本公开一示例性实施例示出的一种地址检测的方法流程图。
图2是本公开一示例性实施例示出的一种交换机的逻辑结构设计示意框图。
图3是本公开一示例性实施例示出的不同NDP功能下NS/NA消息的不同操作示意表。
图4是本公开一示例性实施例示出的一种地址检测的装置框图。
图5是本公开一示例性实施例示出的交换机框图。
具体实施方式
以下将结合附图及实施例来详细说明本公开的实施方式,借此对本公开如何应用技术手段来解决技术问题,并达到相应技术效果的实现过程能充分理解并据以实施。本申请实施例以及实施例中的各个特征,在不相冲突前提下可以相互结合,所形成的技术方案均在本公开的保护范围之内。
本公开发明人经研究发现,由于NS消息中目标地址的公开性以及缺乏验证NA消息真实性的安全机制,目前存在的解决办法可以分成三类:
(1)隐藏目标地址。这类方法的核心想法是在DAD过程中隐藏NS消息中的目标地址,以使得恶意主机无法得知要配置的IPv6地址信息。
(2)认证NDP消息。这类方法通过在NDP消息中附加消息认证码(MessageAuthentication Code)来使得主机可以区分NDP消息的真实性。
(3)统一回复NA消息。这类方法利用可靠的中央节点来统一地回复NA消息,而忽略其余节点的回复。
前两类方法均需要对NDP协议、主机行为进行修改,部署困难。第三类方法需要依赖一个中央控制节点,存在单点故障问题。
本公开通告使用交换机来监测IPv6地址分配过程,进而创建主机IPv6地址与链路层属性(例如交换机端口、MAC地址)的绑定表,以过滤掉源地址或目标地址伪造的NA消息,是一种从源头上避免重复地址检测攻击方法,该方法具有轻量级、易于部署、鲁棒性好的优势。
实施例一
图1是本公开一示例性实施例示出的一种地址检测的方法流程图,以解决相关技术中IPv6地址配置过程中可能出现的地址伪造或冲突等技术问题。如图1所示,所述地址检测的方法应用于交换机中,该方法可以包括以下步骤:
S11,在交换机接收NS报文后,提取所述NS报文中的入端口、源地址及目标地址字段。
S12,当基于所述入端口确认存在对应的寄存器索引时,根据所述入端口对应的寄存器索引验证源地址及目标地址。
S13,当所述源地址及目标地址通过验证时,提取所述NS报文中的目的MAC字段。
S14,根据所述目的MAC查询MAC地址转发匹配行为表,以确定转发端口并基于所述转发端口转发所述NS报文。
在步骤S11中,当局域网或以太网中的主机在执行IPv6地址配置的过程中,会发送NS报文,处于局域网或以太网中的交换机可以接收主机发送的NS报文。在交换机接收NS报文后,交换机会从所述NS报文头部中提取入端口、源及目标地址字段。
在提取到所述NS报文中的入端口、源地址及目标地址字段后,执行步骤S12,基于所述入端口确认存在对应的寄存器索引时,根据所述入端口对应的寄存器索引验证源地址及目标地址。其中,另外,当基于所述入端口确认不存在与所述入端口对应的寄存器索引时,基于入端口计算所述入端口对应的寄存器索引,并将目标地址及表征为暂时的状态值(即“TENTATIVE”)存储到所述寄存器索引对应的寄存器中。
基于所述入端口确认存在对应的寄存器索引时,根据所述入端口对应的寄存器索引验证源地址及目标地址,包括:基于所述入端口计算是否存在对应的寄存器索引;当根据所述入端口计算出存在与所述入端口对应的寄存器索引,读取所述寄存器索引所对应的寄存器值;判断所述源地址及所述目标地址是否等于所述寄存器值;其中,所述源地址及所述目标地址等于所述寄存器值,所述源地址及目标地址通过验证。
需要说明的是,当所述源地址及所述目标地址不等于所述寄存器值时,即所述源地址及目标地址没有通过验证时,丢弃所述NS报文。
当所述源地址及所述目标地址通过验证时,提取所述NS报文中的目的MAC字段,进而执行步骤S14,根据所述目的MAC查询MAC地址转发匹配行为表,以从所述MAC地址转发匹配行为表中确定转发端口,然后基于所述转发端口转发所述NS报文给对应的其它主机。
其中,所述MAC地址转发匹配行为表通过以下步骤获得:提取所述NS报文中的源MAC地址字段,当基于所述源MAC地址字段没有查询到MAC地址转发匹配行为表时,将源MAC地址及入端口以摘要形式发送给所述交换机中的控制器,以使所述控制器下发流表;根据所述流表、源MAC地址以及入端口进行MAC地址学习,以获得MAC地址转发匹配行为表。
其它主机在接收到NS报文后,会检查NS报文中的IPv6地址是否与自己的地址重复并反馈NA报文,处于局域网或以太网中的交换机可以接收到反馈的NA报文后,提取所述NA报文中的入端口、源地址及目标地址字段;接着,基于所述NA报文中的入端口计算出与所述NA报文中的入端口对应的寄存器索引时,根据所述NA报文中的入端口对应的寄存器索引验证所述NA报文中的源地址及目标地址。
其中,根据所述NA报文中的入端口对应的寄存器索引验证所述NA报文中的源地址及目标地址,包括:基于所述NA报文中的入端口计算是否存在对应的寄存器索引;当根据所述NA报文中的入端口计算出存在与该入端口对应的寄存器索引,读取该寄存器索引所对应的寄存器值;判断所述NA报文中的源地址及所述目标地址是否等于该寄存器值;其中,若所述NA报文中的源地址及所述目标地址等于该寄存器值,所述NA报文中的源地址及目标地址通过验证。
需要说明的是,当所述NA报文中的源地址及所述目标地址不等于所述寄存器值时,即所述源地址及目标地址没有通过验证时,丢弃所述NA报文。
当所述NA报文中的源地址及目标地址通过验证时,从命中匹配行为表中提取与所述NA报文中的目标地址对应的索引值,以获取该索引值中所对应的寄存器值,该寄存器值包括IPv6地址及状态值;如果状态值表征为暂时,即状态值是“TENTATIVE”时,重置该索引所对应的寄存器值,清空绑定项。
其中,所述命中匹配行为表为交换机在接收到NS报文且根据所述NS报文中的目标地址没有查询到命中匹配行为表时,交换机根据所述NS报文中的目标地址计算出所述目标地址在寄存器中对应的索引值,进而根据所述目标地址和对应的索引值创建命中匹配行为表。
本公开通过交换机监测IPv6地址配置过程,以建立IPv6地址与链路层属性(例如交换机端口、MAC地址)的绑定表,并将该绑定表存储在交换机的寄存器中,利用交换机提取源及目标地址,从而可直接在交换机上验证源及目标地址的真实性,以过滤伪造的NS/NA消息,确保重复地址检测过程的安全性。本公开计算轻量级,不需在主机及网络设备上实施哈希加密运算,鲁棒性好,不依赖任何中央节点,易于部署,不需修改NDP协议及主机行为。
值得说明的是,对于图1所示的方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本公开并不受所描述的动作顺序的限制。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本公开所必须的。
实施例二
本公开的地址检测的方法可以是在P4交换机实现的,在P4交换机实现本公开的思路是使用P4交换机来监测IPv6地址配置过程,进而在P4交换机的寄存器中存取IPv6地址与链路层属性的绑定表,利用P4交换机的解析器来提取NS/NA消息中的源、目标地址,以进行源、目标地址的验证,利用P4交换机的控制平面来更新绑定表,以确保绑定表的实时性。
请参照图2和图3,图2是本公开一示例性实施例示出的一种交换机的逻辑结构设计示意框图,图3是本公开一示例性实施例示出的不同NDP功能下NS/NA消息的不同操作示意表。
如图1所示,P4交换机整体上包含两部分:数据平面和控制平面。数据平面程序由P416编写,可编译成json文件后直接配置部署到Tofino硬件交换机或bmv2软件交换机上。控制平面程序由Python编写,可通过notifications-addr与数据平面进行通讯。
其中,数据平面包括解析器、流水线、逆解析器和寄存器。解析器用于提取NS/NA消息的头部(包括目标地址),用于之后流水线的处理。流水线是数据平面的核心处理组件,包括if-else结构以及匹配行为表。解析器与逆解析器分别完成提取数据包头部字段,将数据包头部字段重组成数据包头部功能,流水线是数据平面程序需要实现的核心处理逻辑,里面包括匹配行为表的定义、行为定义,主要完成源、目标地址验证,MAC地址学习,目标地址查询,绑定项更新,数据包转发等功能。
如图2所示,对于不同的NDP功能,流水线将在NS/NA消息上进行不同的操作。首先,流水线基于绑定项验证源及目标地址的真实性以过滤伪造的数据包。其次,将摘要信息(源MAC地址及入端口)发送给控制平面以进行MAC地址学习。接着,查询目标地址以确定是否需要更新寄存器中IP地址与端口的绑定项。最后,基于目的MAC地址转发数据包。控制平面是交换机的本地控制器,它会接收数据平面摘要信息并实时地下发合适流表。
基于P4交换机的安全重复地址检测的方法包含三个核心处理逻辑:(1)源及目标地址验证;(2)MAC地址学习;(3)绑定项更新。
源及目标地址验证包含以下步骤:
步骤(1):提取数据包头部中入端口、源及目标地址字段。
步骤(2):基于入端口计算寄存器索引,读取该寄存器索引所对应的寄存器值。
步骤(3):判断源及目标地址是否等于该寄存器值。
MAC地址学习包含以下步骤:
步骤(1):提取数据包头部中源MAC地址及入端口字段。
步骤(2):将源MAC地址及入端口以摘要形式发送给控制平面。
步骤(3):控制平面下发相应的流表以进行MAC地址学习,进而创建MAC地址转发匹配行为表。
绑定项更新包含以下步骤:
步骤(1):提取数据包头部中目标地址(Target Address)字段。
步骤(2):如果数据包头部是NS,从数据包头部中提取入端口,基于入端口计算寄存器索引,将目标地址及状态值“TENTATIVE”存储到索引对应的寄存器中。
步骤(3):如果数据包头部是NA,从命中匹配行为表项中提取索引值,获取索引值中所对应的寄存器中的IPv6地址及状态值,如果状态值是“TENTATIVE”,重置该索引所对应的寄存器值,清空该绑定项。
本公开的优点在于:
1.计算轻量级。不需给主机或网络设备引入哈希加密计算。
2.鲁棒性好。不需要依赖于任何中央节点,不存在单点故障问题。
3.易于部署。不需要对NDP协议或主机行为进行修改,只需要在网络中添加P4交换机,并为其配置相应的处理逻辑。
实施例三
图4是本公开一示例性实施例示出的一种地址检测的装置,以解决相关技术中IPv6地址配置过程中可能出现的地址伪造或冲突等等技术问题。如图4所示,所述地址检测的方法应用于交换机,该地址检测的装置300包括:
第一提取模块310,被配置为在交换机接收NS报文后,提取所述NS报文中的入端口、源地址及目标地址字段;
验证模块320,被配置为当基于所述入端口确认存在对应的寄存器索引时,根据所述入端口对应的寄存器索引验证源地址及目标地址;
第二提取模块330,被配置为当所述源地址及目标地址通过验证时,提取所述NS报文中的目的MAC字段;
转发模块340,被配置为根据所述目的MAC查询MAC地址转发匹配行为表,以确定转发端口并基于所述转发端口转发所述NS报文。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
实施例四
本公开还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一项可选实施例所述的地址检测的方法步骤。
其中,在所述处理器上运行的计算机程序被执行时所实现的方法可参照本公开地址检测的方法的具体实施例,此处不再赘述。
所述处理器可以是一种集成电路芯片,具有信息处理能力。所述处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(NetworkProcessor,NP)等。
实施例五
本公开还提供一种交换机,包括:
存储器,其上存储有计算机程序;以及
处理器,用于执行所述存储器中的所述计算机程序,以实现上述任一项可选实施例所述的方法步骤。
图5是根据一示例性实施例示出的一种交换机400的框图。如图5所示,该交换机400可以包括:处理器401,存储器402,多媒体组件403,输入/输出(I/O)接口404,以及通信组件405。
其中,处理器401用于控制该交换机400的整体操作,以完成上述的地址检测的方法中的全部或部分步骤。存储器402用于存储各种类型的数据以支持在该交换机400的操作,这些数据例如可以包括用于在该交换机400上操作的任何应用程序或方法的指令,以及应用程序相关的数据。该存储器402可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件403可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器402或通过通信组件405发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口404为处理器401和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件405用于该交换机400与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near Field Communication,简称NFC),2G、3G或4G,或它们中的一种或几种的组合,因此相应的该通信组件405可以包括:Wi-Fi模块,蓝牙模块,NFC模块。
在一示例性实施例中,交换机400可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的地址检测的方法。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,例如包括程序指令的存储器402,上述程序指令可由交换机400的处理器401执行以完成上述的地址检测的方法。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。
Claims (5)
1.一种地址检测的方法,其特征在于,所述方法包括:
在交换机接收NS报文后,提取所述NS报文中的入端口、源地址及目标地址字段;
当基于所述入端口确认存在对应的寄存器索引时,根据所述入端口对应的寄存器索引验证源地址及目标地址;
当所述源地址及目标地址通过验证时,提取所述NS报文中的目的MAC字段;
根据所述目的MAC查询MAC地址转发匹配行为表,以确定转发端口并基于所述转发端口转发所述NS报文;
当所述源地址及所述目标地址不等于所述寄存器值时,丢弃所述NS报文;
所述MAC地址转发匹配行为表通过以下步骤获得:
提取所述NS报文中的源MAC地址字段,当基于所述源MAC地址字段没有查询到MAC地址转发匹配行为表时,将所述源MAC地址及入端口发送给所述交换机中的控制器,以使所述控制器下发流表;
根据所述流表、源MAC地址以及入端口进行MAC地址学习,以获得MAC地址转发匹配行为表;
当基于所述入端口确认不存在对应的寄存器索引时,基于所述入端口计算与所述入端口对应的寄存器索引;
将目标地址及表征为暂时的状态值存储到所述寄存器索引对应的寄存器中;
根据所述入端口对应的寄存器索引验证源地址及目标地址,包括:
读取所述寄存器索引所对应的寄存器值;
判断所述源地址及所述目标地址是否等于所述寄存器值;其中,若所述源地址及所述目标地址等于所述寄存器值,所述源地址及所述目标地址通过验证;
在交换机接收到根据所述NS报文反馈的NA报文后,提取所述NA报文中的入端口、源地址及目标地址字段;
当基于所述NA报文中的入端口计算出与所述NA报文中的入端口对应的寄存器索引时,根据所述NA报文中的入端口对应的寄存器索引验证所述NA报文中的源地址及目标地址;
当所述NA报文中的源地址及目标地址通过验证时,从命中匹配行为表中提取与所述NA报文中的目标地址对应的索引值,以获取该索引值中所对应的寄存器值,该寄存器值包括IPv6地址及状态值;
如果状态值表征为暂时,重置该索引所对应的寄存器值。
2.根据权利要求1所述的方法,其特征在于,还包括:
当所述NA报文中的源地址及目标地址没有通过验证时,丢弃所述NA报文。
3.一种地址检测的装置,其特征在于,所述装置包括:
第一提取模块,被配置为在交换机接收NS报文后,提取所述NS报文中的入端口、源地址及目标地址字段;
验证模块,被配置为当基于所述入端口确认存在对应的寄存器索引时,根据所述入端口对应的寄存器索引验证源地址及目标地址;
第二提取模块,被配置为当所述源地址及目标地址通过验证时,提取所述NS报文中的目的MAC字段;
转发模块,被配置为根据所述目的MAC查询MAC地址转发匹配行为表,以确定转发端口并基于所述转发端口转发所述NS报文;所述MAC地址转发匹配行为表通过以下步骤获得:提取所述NS报文中的源MAC地址字段,当基于所述源MAC地址字段没有查询到MAC地址转发匹配行为表时,将所述源MAC地址及入端口发送给所述交换机中的控制器,以使所述控制器下发流表;根据所述流表、源MAC地址以及入端口进行MAC地址学习,以获得MAC地址转发匹配行为表;当基于所述入端口确认不存在对应的寄存器索引时,基于所述入端口计算与所述入端口对应的寄存器索引;将目标地址及表征为暂时的状态值存储到所述寄存器索引对应的寄存器中;根据所述入端口对应的寄存器索引验证源地址及目标地址,包括:读取所述寄存器索引所对应的寄存器值;判断所述源地址及所述目标地址是否等于所述寄存器值;其中,若所述源地址及所述目标地址等于所述寄存器值,所述源地址及所述目标地址通过验证;在交换机接收到根据所述NS报文反馈的NA报文后,提取所述NA报文中的入端口、源地址及目标地址字段;当基于所述NA报文中的入端口计算出与所述NA报文中的入端口对应的寄存器索引时,根据所述NA报文中的入端口对应的寄存器索引验证所述NA报文中的源地址及目标地址;当所述NA报文中的源地址及目标地址通过验证时,从命中匹配行为表中提取与所述NA报文中的目标地址对应的索引值,以获取该索引值中所对应的寄存器值,该寄存器值包括IPv6地址及状态值;如果状态值表征为暂时,重置该索引所对应的寄存器值。
4.一种交换机,其特征在于,包括:
存储器,其上存储有计算机程序;以及
处理器,用于执行所述存储器中的所述计算机程序,以实现权利要求1至2中任一项所述方法的步骤。
5.一种存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至2中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010245453.6A CN111416887B (zh) | 2020-03-31 | 2020-03-31 | 地址检测的方法、装置、交换机及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010245453.6A CN111416887B (zh) | 2020-03-31 | 2020-03-31 | 地址检测的方法、装置、交换机及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111416887A CN111416887A (zh) | 2020-07-14 |
CN111416887B true CN111416887B (zh) | 2021-07-16 |
Family
ID=71493332
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010245453.6A Active CN111416887B (zh) | 2020-03-31 | 2020-03-31 | 地址检测的方法、装置、交换机及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111416887B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115706708A (zh) * | 2021-08-06 | 2023-02-17 | 中兴通讯股份有限公司 | 信息验证方法及装置、存储介质和电子装置 |
WO2024082081A1 (zh) * | 2022-10-17 | 2024-04-25 | 新华三技术有限公司 | 一种报文处理方法及装置 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100827143B1 (ko) * | 2007-01-16 | 2008-05-06 | 삼성전자주식회사 | 패킷 스위치 장비 및 그 방법 |
CN101267312B (zh) * | 2008-04-30 | 2011-07-13 | 中兴通讯股份有限公司 | 一种网络中防止地址冲突检测欺骗的方法 |
CN101552677B (zh) * | 2009-05-12 | 2011-06-01 | 杭州华三通信技术有限公司 | 一种地址检测报文的处理方法和交换设备 |
CN101552783B (zh) * | 2009-05-20 | 2012-07-04 | 杭州华三通信技术有限公司 | 一种防止伪造报文攻击的方法和装置 |
CN101820432A (zh) * | 2010-05-12 | 2010-09-01 | 中兴通讯股份有限公司 | 无状态地址配置的安全控制方法及装置 |
CN102025734B (zh) * | 2010-12-07 | 2015-06-03 | 中兴通讯股份有限公司 | 一种防止mac地址欺骗的方法、系统及交换机 |
CN102025641B (zh) * | 2010-12-27 | 2015-01-28 | 中兴通讯股份有限公司 | 一种报文过滤方法和交换设备 |
CN102546661B (zh) * | 2012-02-21 | 2015-08-26 | 神州数码网络(北京)有限公司 | 一种防止IPv6网关邻居欺骗攻击的方法及系统 |
CN102546663A (zh) * | 2012-02-23 | 2012-07-04 | 神州数码网络(北京)有限公司 | 一种防止重复地址检测攻击的方法和装置 |
CN104869125B (zh) * | 2015-06-09 | 2020-04-17 | 上海斐讯数据通信技术有限公司 | 基于sdn的动态防mac地址欺骗方法 |
CN105827628A (zh) * | 2016-04-29 | 2016-08-03 | 上海斐讯数据通信技术有限公司 | 一种基于软件定义网络的防源地址欺骗的方法 |
CN107547510B (zh) * | 2017-07-04 | 2020-03-06 | 新华三技术有限公司 | 一种邻居发现协议安全表项处理方法和装置 |
-
2020
- 2020-03-31 CN CN202010245453.6A patent/CN111416887B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111416887A (zh) | 2020-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2012077603A1 (ja) | コンピュータシステム、コントローラ、及びネットワーク監視方法 | |
CN107438068B (zh) | 一种防arp攻击的方法及装置 | |
US8656158B2 (en) | System and method for access network multi-homing | |
US20090172156A1 (en) | Address security in a routed access network | |
CN111416887B (zh) | 地址检测的方法、装置、交换机及存储介质 | |
CN101690082A (zh) | 用于为主机节点防御流氓路由器的安全邻居发现路由器 | |
JPWO2005036831A1 (ja) | フレーム中継装置 | |
US10630700B2 (en) | Probe counter state for neighbor discovery | |
CN110266650B (zh) | Conpot工控蜜罐的识别方法 | |
CN103997489A (zh) | 一种识别DDoS僵尸网络通信协议的方法及装置 | |
US20170264620A1 (en) | Device and method for controlling a communication network | |
Prigent et al. | IpMorph: fingerprinting spoofing unification | |
JPWO2012014509A1 (ja) | 不正アクセス遮断制御方法 | |
CN111385180A (zh) | 通信隧道构建方法、装置、设备及介质 | |
EP3910906A1 (en) | Communication security apparatus, control method, and storage medium storing a program | |
CN101399814B (zh) | 验证数据链路层地址与其发送方关系的方法、系统及装置 | |
CN113992387A (zh) | 资源管理方法、装置、系统、电子设备和可读存储介质 | |
CN110401646B (zh) | IPv6安全邻居发现过渡环境中CGA参数探测方法及装置 | |
Najjar et al. | Neighbor discovery protocol anomaly detection using finite state machine and strict anomaly detection | |
CN106506410B (zh) | 一种安全表项建立方法及装置 | |
KR20080040256A (ko) | IPv6 기반 네트워크상에서의 IP 주소 인증 방법 및IPv6 기반 네트워크 시스템 | |
CN107294989B (zh) | 一种防arp网关欺骗的方法及装置 | |
US20190124093A1 (en) | Detecting IP Address Theft in Data Center Networks | |
CN110611678B (zh) | 一种识别报文的方法及接入网设备 | |
CN105471839A (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 |