CN111447294B - 报文转发方法和装置 - Google Patents
报文转发方法和装置 Download PDFInfo
- Publication number
- CN111447294B CN111447294B CN202010133008.0A CN202010133008A CN111447294B CN 111447294 B CN111447294 B CN 111447294B CN 202010133008 A CN202010133008 A CN 202010133008A CN 111447294 B CN111447294 B CN 111447294B
- Authority
- CN
- China
- Prior art keywords
- address
- user terminal
- message
- user
- abnormal
- 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
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/5007—Internet protocol [IP] addresses
- H04L61/5014—Internet protocol [IP] addresses using dynamic host configuration protocol [DHCP] or bootstrap protocol [BOOTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
-
- 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/5007—Internet protocol [IP] addresses
-
- 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
Abstract
本申请涉及一种报文转发方法和装置。方法包括:当检测到第一用户终端下线时,生成第一用户终端对应的异常用户恢复表项,异常用户恢复表项包括第一用户终端对应的第一IP地址和第一用户终端的MAC地址;当确定第一IP地址被分配给第二用户终端时,生成第一用户终端对应的异常用户地址映射表项,第一用户终端对应的异常用户地址映射表包括第一IP地址、第一用户终端的MAC地址和第一IP地址对应的映射地址;接收第一报文,第一报文的源地址为第一IP地址、源MAC地址为第一用户终端的MAC地址;在第一IP地址和第一用户终端的MAC地址成功匹配异常用户地址映射表项的情况下,替换第一报文的源地址为第一IP地址对应的映射地址,并转发替换源地址后的第二报文。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种报文转发方法和装置。
背景技术
目前接入认证技术可由服务器提供,例如宽带远程接入服务器(BroadbandRemote Access Server,简称:BRAS)。在一个示例中,认证过程具体如下。
用户利用用户终端向服务器发送认证请求报文,服务器对用户终端进行认证,在确定用户终端认证成功后,服务器向用户终端发送认证通过的反馈报文。服务器在确定用户终端认证成功后,还会生成该用户终端对应的转发表项并存储在转发表中,以指导转发该用户终端传输的报文。用户终端接收到认证通过的反馈报文后,通过服务器分配的地址,用户就能够利用用户终端访问网络了,即用户终端成功上线。
服务器还提供异常流量恢复功能,当用户终端由于异常原因下线并再次上线后,服务器可利用异常流量恢复功能指导转发该用户终端传输的报文。具体的,服务器预先存储异常用户恢复表,当服务器监测到用户终端下线后,可删除转发表中该用户终端对应的转发表项,并在异常用户恢复表中存储该转发表项。当服务器再次接收到该用户终端发送的报文后,根据报文携带的报文特征(例如IP地址、MAC地址等)匹配异常用户恢复表,如果匹配成功,则再次生成该用户终端对应的转发表项,以指导转发该用户终端后续传输的报文。
发明人发现可能存在一种情况:当一用户终端A由于异常原因下线后,分配给用户终端A的IP地址有可能会被分配给另一用户终端B,此时服务器会删除异常用户恢复表中用户终端A对应的表项,这样就会导致用户终端A再次上线时无法利用异常流量恢复功能生成对应的转发表项,从而无法转发用户终端A传输的报文。
发明内容
为解决上述问题,本申请提供一种报文转发方法和装置。
第一方面,本申请提供一种报文转发方法,所述方法包括:
当检测到第一用户终端下线时,生成所述第一用户终端对应的异常用户恢复表项,所述异常用户恢复表项包括第一用户终端对应的第一IP地址和第一用户终端的MAC地址;
当确定所述第一IP地址被分配给第二用户终端时,生成所述第一用户终端对应的异常用户地址映射表项,所述第一用户终端对应的异常用户地址映射表包括所述第一IP地址、第一用户终端的MAC地址和所述第一IP地址对应的映射地址;
接收第一报文,所述第一报文的源地址为所述第一IP地址、源MAC地址为第一用户终端的MAC地址;
在所述第一IP地址和第一用户终端的MAC地址成功匹配所述异常用户地址映射表项的情况下,替换所述第一报文的源地址为所述第一IP地址对应的映射地址,并转发替换源地址后的第二报文。
可选的,在转发替换源地址后的第二报文之后,报文转发方法还包括:
接收第三报文,所述第三报文的目的地址为所述第一IP地址对应的映射地址;
在所述第一IP地址对应的映射地址成功匹配所述异常用户地址映射表项的情况下,替换所述第三报文的目的地址为所述第一IP地址,并转发替换目的地址后的第四报文。
可选的,当确定所述第一IP地址被分配给第二用户终端时,还包括:生成所述第一用户终端对应的第一转发表项,所述第一转发表项包括所述第一IP地址对应的映射地址和第一用户终端的MAC地址;则
所述转发替换源地址后的第二报文,包括:依据所述第一转发表项,转发替换源地址后的第二报文。
可选的,在生成所述第一用户终端对应的异常用户地址映射表项之后,还包括:删除所述第一用户终端对应的异常用户恢复表项。
可选的,还包括:
接收携带续约IP地址为所述第一IP地址的第一续约报文,所述第一续约报文的源地址为所述第一IP地址、源MAC地址为第一用户终端的MAC地址;
在所述第一IP地址和第一用户终端的MAC地址成功匹配所述异常用户地址映射表的情况下,替换所述第一续约报文的源地址为所述第一IP地址对应的映射地址;
根据替换源地址的第二续约报文携带的续约IP地址,传输第一拒绝报文,所述第一拒绝报文的目的地址为所述第一IP地址对应的映射地址,所述第二续约报文携带的续约IP地址为所述第一IP地址;
替换所述第一拒绝报文的目的地址为所述第一IP地址,并转发替换目的地址后的第二拒绝报文。
可选的,在传输所述第一拒绝报文后,所述方法还包括:
生成所述第一用户终端对应的新的异常用户恢复表项,所述新的异常用户恢复表项包括第一用户终端的MAC地址和所述第一IP地址对应的映射地址;或
删除所述第一用户终端对应的异常用户地址映射表项,并生成所述第一用户终端对应的新的异常用户恢复表项,所述新的异常用户恢复表项包括第一用户终端的MAC地址和所述第一IP地址对应的映射地址;或
删除所述第一用户终端对应的异常用户地址映射表项、第一转发表项,并生成所述第一用户终端对应的新的异常用户恢复表项,所述新的异常用户恢复表项包括第一用户终端的MAC地址和所述第一IP地址对应的映射地址。
可选的,还包括:
接收所述第一用户终端发送的发现报文,所述发现报文包括第一用户终端的MAC地址;
向所述第一用户终端发送提供报文,所述提供报文包括为所述第一用户终端提供的第二IP地址;
接收所述第一用户终端发送的第一请求报文,所述第一请求报文包括第一用户终端的MAC地址和所述第二IP地址;
向所述第一用户终端发送第一确认报文。
可选的,在所述向所述第一用户终端发送确认报文之后,还包括:
依据所述第一用户终端发送的第五报文,生成所述第一用户终端对应的第二转发表项;所述第五报文的源地址为所述第二IP地址、源MAC地址为所述第一用户终端的MAC地址,所述第二转发表项包括所述第二IP地址和所述第一用户终端的MAC地址;
删除所述第一用户终端对应的异常用户恢复表项。
可选的,在检测到第一用户终端下线后,还包括:
接收所述第一用户终端发送的第六报文,所述第六报文的源地址为所述第一IP地址、源MAC地址为第一用户终端的MAC地址;
在所述第一IP地址和第一用户终端的MAC地址成功匹配所述异常用户恢复表项的情况下,判断地址租约表中所述第一IP地址被分配的终端MAC地址是否为所述第一用户终端的MAC地址;
若否,则为所述第一用户终端分配所述第一IP地址对应的映射地址。
可选的,所述判断地址租约表中第一IP地址被分配的终端MAC地址是否为第一用户终端的MAC地址,若否,则为所述第一用户终端分配所述第一IP地址对应的映射地址,包括:
传输第二请求报文,所述第二请求报文携带所述第一IP地址和所述第一用户终端的MAC地址;
依据所述第二请求报文携带的所述第一IP地址,当在地址租约表中查询到所述第一IP地址被分配的终端MAC地址不为所述第一用户终端的MAC地址时,传输第三拒绝报文;
传输第三请求报文,所述第三请求报文携带为所述第一用户终端提供的第三IP地址和所述第一用户终端的MAC地址,所述第三IP地址为第一IP地址对应的映射地址;
传输第二确认报文。
第二方面,本申请提供一种报文转发装置,包括:用户模块、地址管理模块、接收模块、转发模块;其中
所述用户模块,用于当检测到第一用户终端下线时,生成所述第一用户终端对应的异常用户恢复表项,所述异常用户恢复表项包括第一用户终端对应的第一IP地址和第一用户终端的MAC地址;
所述用户模块,还用于当确定所述第一IP地址被分配给第二用户终端时,生成所述第一用户终端对应的异常用户地址映射表项,所述第一用户终端对应的异常用户地址映射表包括所述第一IP地址、第一用户终端的MAC地址和所述第一IP地址对应的映射地址;
接收模块,用于接收第一报文,所述第一报文的源地址为所述第一IP地址、源MAC地址为第一用户终端的MAC地址;
所述用户模块,还用于在所述第一IP地址和第一用户终端的MAC地址成功匹配所述异常用户地址映射表项的情况下,替换所述第一报文的源地址为所述第一IP地址对应的映射地址;
转发模块,用于转发替换源地址后的第二报文。
第三方面,本申请提供一种服务器,包括处理器CPU和机器可读存储介质,所述机器可读存储介质存储有能够被所述CPU执行的机器可执行指令,所述CPU被所述机器可执行指令促使:实现第一方面任一所述的报文转发方法的步骤。
第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现第一方面任一所述的报文转发方法的步骤。
与现有技术相比,本申请当服务器确定第一用户终端的第一IP地址被分配给第二用户终端,服务器并不删除第一用户终端对应的异常用户恢复表项,而是生成第一用户终端对应的异常用户地址映射表,以利用第一IP地址对应的映射地址转发第一用户终端发送的业务报文。通过设置异常用户地址映射表,虽然第一用户终端实际的IP地址仍然是第一IP地址,但服务器上第一用户终端对应的转发表项存储的是第一IP地址对应映射地址,因此在服务器上,第一用户终端与第二用户终端不会存在地址冲突,解决了终端地址冲突的问题。
此外,本申请还可以依据异常用户地址映射表,能够生成第一用户终端对应的转发表项,从而实现异常流量恢复功能,并依据转发表项及异常用户地址映射表项,完成终端与网络侧之间双向报文的转发。
附图说明
图1为本申请一实施例提供的接入认证的组网架构图;
图2为本申请一实施例提供的报文转发方法示意图;
图3为本申请再一实施例提供的报文转发方法示意图;
图4为本申请另一实施例提供的报文转发方法示意图;
图5为本申请又一实施例提供的报文转发方法示意图;
图6为本申请一实施例提供的报文转发装置示意图;
图7为本申请再一实施例提供的报文转发装置示意图。
具体实施例
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施例并不代表与本申请相一致的所有实施例。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
目前,接入认证技术已成为网络安全的重要组成部分,接入认证技术包括但不限于以太网承载IP协议(IP over Ethernet,简称:IPoE)认证、Protal认证、认证授权计费(Authentication-Authorization-Accounting,简称:AAA)认证、802.1X认证、点到点连接协议(Point to Point Protocol over Ethernet,简称:PPPoE)认证等。
发明人发现,在接入组网中往往会出现下面的场景:
当一用户终端A由于异常原因下线后,分配给用户终端A的IP地址有可能会被分配给另一用户终端B,此时服务器会删除异常用户恢复表中用户终端A对应的表项,这样就会导致用户终端A再次上线时无法利用异常流量恢复功能生成对应的转发表项,从而无法转发用户终端A利用终端传输的报文。
以图1所示的组网为例,并以接入认证技术为IPoE为例进行说明。假设图1所示是典型的IPOE接入认证的BRAS组网,用户通过交换机及服务器BRAS做IPOE认证,这里BRAS可作为DHCP server(即DHCP服务器)。认证过程可通过现有的方式进行,例如:用户利用终端终端向BRAS发送携带用户信息(例如用户名、密码)的认证请求报文,该认证请求报文可以是DHCP discovery报文(即发现报文),在请求BRAS认证的同时,请求获取地址。BRAS依据获取的用户信息匹配用户数据库,当匹配成功时,确认认证成功。当认证通过后,则向终端反馈携带地址的offer报文(即提供报文),offer报文携带的地址则是为该用户终端分配到的地址,本文可以称为该用户终端对应的地址。终端获取到地址后,用户就能够利用终端终端并通过获取到的地址正常上网了,即用户终端成功上线。应当理解,本例子仅作示例,并不作限定。
如果出现异常情况用户终端在BRAS上下线、但用户终端实际在线的情况下,当异常恢复用户终端再次上线后,BRAS可利用异常流量恢复功能转发终端发送的报文。具体的,利用异常流量恢复功能转发报文的过程为:
在用户终端异常下线的情况下,BRAS删除转发表中该用户终端对应的转发表项,并把该用户终端对应的转发表项的信息记录到异常用户恢复表中,其中,异常用户恢复表的格式与转发表的格式相同。当异常恢复用户终端再次上线后,用户业务报文通过用户终端传输到BRAS,BRAS根据业务报文的IP地址、MAC地址等相关信息匹配异常用户恢复表。如果命中,则生成该用户终端对应的转发表项,并记录在转发表中,从而依据用户终端对应的转发表项,实现了用户业务报文的正常转发。
但如果第一用户终端A因为网络问题在BRAS上被异常下线了,则分配给第一用户终端的IP地址被回收。在第一用户终端A再次上线之前,若BRAS把为第一用户终端A原来分配的IP地址分配给第二用户终端B,那么BRAS会基于该IP地址把对应的异常用户恢复表项删除掉,即异常用户恢复表中不存在第一用户终端A对应的异常用户恢复表项。这样就会导致第一用户终端A再次上线后,无法基于异常用户恢复表生成第一用户终端A对应的转发表项。此外,由于第一用户终端A利用的终端地址仍然是原来的IP地址,因此第一用户终端A利用的终端和第二用户终端B利用的终端还会存在地址冲突。
如图2所示,本申请实施例提供了一种报文转发方法,应用于服务器,该服务器可以集成有DHCP功能,例如集成有DHCP功能的BRAS。图2所示方法至少包括以下202-208。
202、当检测到第一用户终端下线时,生成第一用户终端对应的异常用户恢复表项,异常用户恢复表项包括第一用户终端对应的第一IP地址和第一用户终端的MAC地址。
在本申请实施例中,第一用户利用第一用户终端访问网络,第一用户终端会周期性地向服务器发送心跳报文,服务器在预设周期内接收到第一用户终端发送的心跳报文,则认为第一用户终端在线。当服务器在一个或多个预设周期内(例如3个周期内)未接收到第一用户终端发送的心跳报文,则认为第一用户终端下线。
当服务器检测到第一用户终端下线时,生成第一用户终端对应的异常用户恢复表项,并记录在异常用户恢复表中。第一用户终端对应的异常用户恢复表项包括第一用户终端对应的第一IP地址和第一用户终端的MAC地址。在本申请实施例中,第一用户终端对应的第一IP地址是服务器为第一用户终端分配的IP地址。
在一个示例中,转发表和异常用户恢复表的结构是相同的。服务器删除转发表中第一用户终端对应的转发表项,并把第一用户终端对应的转发表项的信息记录到异常用户恢复表中。转发表或异常用户恢复表主要包含的字段包括IP、MAC、Vlan、Interface、Aging等字段,其他相关的不关键字段(例如出接口等)这里不体现。例如,异常用户恢复表如下表1所示。
表1
Index | IP | MAC | Vlan | Interface | Aging |
1 | IP1 | MAC1 | vlan1 | interface1 | T1 |
IP字段:为异常下线用户终端分配的IP地址。例如:为第一用户终端分配的IP地址,也即第一用户终端对应的第一IP地址。
MAC字段:异常下线用户终端的MAC地址。例如:第一用户终端的MAC地址。
Vlan字段:异常下线用户终端接入的vlan。
Interface字段:异常下线用户终端接入的接口。
Aging字段:表项的老化时间。
应当理解的是,当表1表示转发表时,各字段表示的是在线用户的相关信息。
204、当确定第一IP地址被分配给第二用户终端时,生成第一用户终端对应的异常用户地址映射表项,第一用户终端对应的异常用户地址映射表包括第一IP地址、第一用户终端的MAC地址和第一IP地址对应的映射地址。
在本申请实施例中,在第一用户终端下线后,为第一用户终端分配的第一IP地址将被服务器回收,以再次利用,因此在第一用户终端再次上线之前,第一IP地址有可能被分配给其他用户。当服务器确定第一IP地址被分配给第二用户终端时,生成第一用户终端对应的异常用户地址映射表项,该异常用户地址映射表包括第一IP地址、第一用户终端的MAC地址和第一IP地址对应的映射地址。服务器将第一用户终端对应的异常用户地址映射表项记录在异常用户地址映射表中。本申请实施例在第一用户终端异常下线后、第一用户终端对应的第一地址被分配给第二用户终端的情况下,当第一用户终端再次上线时,能够生成对应的转发表项,转发第一用户终端传输的报文。与现有技术相比,当服务器确定第一IP地址被分配给第二用户终端,服务器并不删除第一用户终端对应的异常用户恢复表项,而是生成第一用户终端对应的异常用户地址映射表,以利用第一IP地址对应的映射地址转发第一用户终端发送的业务报文。
在一个实施例中,异常用户地址映射表可依据异常用户恢复表生成,例如将异常用户恢复表中第一用户终端对应的第一IP地址修改为映射前的IP地址字段,并新增第一IP地址对应的映射地址字段。
在一个示例中,异常用户地址映射表如下表2所示。
表2
Index | IP-b | MAC | Vlan | Interface | IP-a | Aging |
1 | IP1 | MAC1 | vlan1 | interface1 | IP2 | T1 |
IP-b字段:异常下线用户终端映射前的IP地址,也就是为异常下线用户终端分配的IP地址。例如:为第一用户终端分配的IP地址,也即第一用户终端对应的第一IP地址。
MAC字段:异常下线用户终端使用的终端的MAC地址。例如:第一用户终端的MAC地址。
Vlan字段:异常下线用户终端接入的vlan。
Interface字段:异常下线用户终端接入的接口。
IP-a字段:异常下线用户终端映射后的IP地址,即IP-b对应的映射地址,不同于映射前的IP地址。例如第一IP地址对应的映射地址。IP-a的设置能够解决了IP地址冲突的问题,同时可以利用映射后的IP地址传输第一用户终端发送的业务报文,这将在后续进行说明。
Aging字段:表项的老化时间。
206、接收第一报文,第一报文的源地址为第一IP地址、源MAC地址为第一用户终端的MAC地址。
在本申请实施例中,第一用户利用第一用户终端发送第一报文,第一报文为终端发往被访问网络的报文,该报文的源地址为第一IP地址、源MAC地址为第一用户终端的MAC地址。
208、在第一IP地址和第一用户终端的MAC地址成功匹配异常用户地址映射表项的情况下,替换第一报文的源地址为第一IP地址对应的映射地址,并转发替换源地址后的第二报文。
服务器在接收到第一报文后,依据第一报文的源地址、源MAC匹配异常用户地址映射表项,在成功匹配时,替换第一报文的源地址为第一IP地址对应的映射地址,然后再转发替换源地址后的第二报文。
在一个实施例中,可依据第一用户终端对应的第一转发表项转发第二报文。当确定第一IP地址被分配给第二用户终端时,服务器还会生成第一用户终端对应的第一转发表项,其中,第一转发表项包括第一IP地址对应的映射地址和第一用户终端的MAC地址。然后服务器利用第一转发表项,转发第二报文。
在另一个实施例中,可依据第一用户终端对应的异常用户地址映射表项转发第二报文,例如,可依据异常用户地址映射表项中的出接口,转发第二报文。
基于上述实施例,完成了终端到网络侧设备的业务报文的转发。本申请实施例通过设置包括第一IP地址及第一IP地址对应的映射地址,在第一用户终端异常下线后对应的第一地址被分配给第二用户终端的情况下,当第一用户终端再次上线时,替换第一报文的源IP地址为第一IP地址对应的映射地址,从而使替换后的第二报文能够被顺利转发。
结合上述实施例,网络侧设备到终端的报文的转发过程如下。在一个实施例中,在208转发替换源地址后的第二报文之后,报文转发方法还包括S210、S212。
S210、接收第三报文,第三报文为网络侧基于第二报文返回的报文,即第三报文的目的地址为第一IP地址对应的映射地址。
S212、服务器在异常用户地址映射表中匹配第一IP地址对应的映射地址。在第一IP地址对应的映射地址成功匹配异常用户地址映射表项的情况下,替换第三报文的目的地址为第一IP地址,并转发替换目的地址后的第四报文。
通过S210至S212,完成了网络侧到终端的报文的转发。基于本申请实施例提供的方法,并结合前述206-208,在第一用户终端异常下线后对应的第一地址被分配给第二用户终端的情况下,根据第一IP地址对应的映射地址,能够生成第一用户终端对应的转发表项,并依据转发表项及异常用户地址映射表项,完成终端与网络侧之间双向报文的转发。
结合前述任一实施例,在生成第一用户终端对应的异常用户地址映射表项之后,还包括:删除第一用户终端对应的异常用户恢复表项。
在上述实施例中,能够实现终端与网络侧设备之间双向报文的转发,通过设置异常用户地址映射表,虽然第一用户终端实际的IP地址仍然是第一IP地址,但服务器上第一用户终端对应的转发表项存储的是第一IP地址对应映射地址,因此在服务器上,第一用户终端与第二用户终端不会存在地址冲突,解决了终端地址冲突的问题。
结合上述实施例,后续本申请实施例服务器在接收到第一用户终端续约第一IP地址的续约报文时,拒绝第一用户终端续约第一IP地址,从而触发第一用户终端重新向服务器获取新的IP地址,可以从根本上解决终端地址冲突的问题。
在一个实施例中,本申请实施例提供的报文转发方法如图3所示,包括300-306。
300、接收携带续约IP地址为第一IP地址的第一续约报文,第一续约报文的源地址为第一IP地址、源MAC地址为第一用户终端的MAC地址。
302、在第一IP地址和第一用户终端的MAC地址成功匹配异常用户地址映射表的情况下,替换第一续约报文的源地址为第一IP地址对应的映射地址。
304、根据替换源地址的第二续约报文携带的续约IP地址,传输第一拒绝报文,第一拒绝报文的目的地址为第一IP地址对应的映射地址,第二续约报文携带的续约IP地址为第一IP地址。
306、替换第一拒绝报文的目的地址为第一IP地址,并转发替换目的地址后的第二拒绝报文。
基于上述实施例,服务器在接收到第一用户终端续约第一IP地址的续约报文时,返回拒绝报文,以告知第一用户终端无法续约第一IP地址。
在一个实施例中,在传输第一拒绝报文后,本申请实施例提供的报文转发方法还包括:生成第一用户终端对应的新的异常用户恢复表项,新的异常用户恢复表项包括第一用户终端的MAC地址和第一IP地址对应的映射地址。其中,若前述实施例删除了第一用户终端对应的异常用户恢复表项,此时直接在异常用户恢复表中记录第一用户终端对应的新的异常用户恢复表项;若若前述实施例未删除第一用户终端对应的异常用户恢复表项,则更新第一用户终端对应的异常用户恢复表项为新的异常用户恢复表项。
在另一个实施例中,在传输第一拒绝报文后,本申请实施例提供的报文转发方法还包括:删除第一用户终端对应的异常用户地址映射表项,并生成第一用户终端对应的新的异常用户恢复表项,新的异常用户恢复表项包括第一用户终端的MAC地址和第一IP地址对应的映射地址。
在又一个实施例中,在传输第一拒绝报文后,本申请实施例提供的报文转发方法还包括:删除第一用户终端对应的异常用户地址映射表项、第一转发表项,并生成第一用户终端对应的新的异常用户恢复表项,新的异常用户恢复表项包括第一用户终端的MAC地址和第一IP地址对应的映射地址。
在上述实施例中,服务器返回拒绝报文,以告知第一用户终端无法续约第一IP地址。第一用户终端接收到拒绝报文后,重新向服务器获取新的IP地址,获取地址的过程如图4所示,包括400-406。
400、接收第一用户终端发送的发现报文,发现报文包括第一用户终端的MAC地址。
402、向第一用户终端发送提供报文,提供报文包括为第一用户终端提供的第二IP地址。
404、接收第一用户终端发送的第一请求报文,第一请求报文包括第一用户终端的MAC地址和第二IP地址。
406、向第一用户终端发送第一确认报文。
基于400-406,第一用户终端获取到新的IP地址——第二IP地址。
基于该新的IP地址,能够实现第一用户终端与网络侧设备之间报文的双向转发。具体的,在向第一用户终端发送确认报文之后,本申请实施例提供的报文转发方法还包括:
依据第一用户终端发送的第五报文,生成第一用户终端对应的第二转发表项;第五报文的源地址为第二IP地址、源MAC地址为第一用户终端的MAC地址,第二转发表项包括第二IP地址和第一用户终端的MAC地址;
删除第一用户终端对应的异常用户恢复表项。
基于第二转发表项,可实现第一用户终端与网络侧设备之间报文的双向转发,同时删除第一用户终端对应的异常用户恢复表项。具体的,第一用户终端对应的异常用户恢复表项为前述第一用户终端对应的新的异常用户恢复表项。
基于前述任一实施例,服务器在检测到第一用户终端下线后,通过以下过程判断第一IP地址是否被分配给第二用户终端:
接收第一用户终端发送的第六报文,第六报文的源地址为第一IP地址、源MAC地址为第一用户终端的MAC地址;
在第一IP地址和第一用户终端的MAC地址成功匹配异常用户恢复表项的情况下,判断地址租约表中第一IP地址被分配的终端MAC地址是否为第一用户终端的MAC地址;
若否,则为第一用户终端分配第一IP地址对应的映射地址。
在本申请实施例中,当地址租约表中第一IP地址被分配的终端MAC地址不为第一用户终端的MAC地址时,则认为第一IP地址被分配给其他终端。在这里,其他终端可被认为是第二用户终端,第二用户终端为除第一用户终端之外的其他终端。
在一个实施例中,判断地址租约表中第一IP地址被分配的终端MAC地址是否为第一用户终端的MAC地址,若否,则为第一用户终端分配第一IP地址对应的映射地址,包括:
传输第二请求报文,第二请求报文携带第一IP地址和第一用户终端的MAC地址;
依据第二请求报文携带的第一IP地址,当在地址租约表中查询到第一IP地址被分配的终端MAC地址不为第一用户终端的MAC地址时,传输第三拒绝报文;
传输第三请求报文,第三请求报文携带为第一用户终端提供的第三IP地址和第一用户终端的MAC地址,第三IP地址为第一IP地址对应的映射地址;
传输第二确认报文。
结合图1所示的组网,请参阅图5,为本申请实施例提供的一种报文转发的方法,该方法应用于集成有DHCP功能的BRAS,具体的BRAS包括用户模块、DHCP客户端、DHCP服务端、转发模块,其中,用户模块用于管理关于用户的各种数据表,例如转发表、异常用户恢复表、异常用户地址映射表等。图5所示示例以接入认证技术为IPoE为例,则用户模块可以称为IPoE模块。图1中,第一用户利用第一用户终端访问网络,服务器为第一用户终端分配的IP地址为第一IP地址,在第一用户终端成功上线BRAS时,BRAS会在转发表中记录第一用户终端对应的转发表项,转发表如下表3所示。应当理解的是,下述表3-8中其他相关的不关键字段(例如出接口等)这里不体现。
表3
Index | IP | MAC | Vlan | Interface | Aging |
1 | IP1 | MAC1 | vlan1 | interface1 | T1 |
IP字段:为第一用户终端分配的IP地址,也即第一用户终端对应的第一IP地址。
MAC字段:第一用户终端的MAC地址。
Vlan字段:第一用户终端接入的vlan。
Interface字段:第一用户终端接入的接口。
Aging字段:表项的老化时间。
第一用户终端会周期性地向BRAS发送心跳报文,BRAS在预设周期内接收到第一用户终端发送的心跳报文,则认为第一用户终端在线。当BRAS在一个或多个预设周期内(例如3个周期内)未接收到第一用户终端发送的心跳报文,则认为第一用户终端下线。
501、当BRAS的IPoE模块检测到第一用户终端下线时,删除转发表项中第一用户终端对应的转发表项,生成第一用户终端对应的异常用户恢复表项,并记录在异常用户恢复表中。第一用户终端对应的异常用户恢复表项包括第一用户终端对应的第一IP地址和第一用户终端利用的第一用户终端的MAC地址。异常用户恢复表如下表4所示。
表4
Index | IP | MAC | Vlan | Interface | Aging |
1 | IP1 | MAC1 | vlan1 | interface1 | T1 |
IP字段:为异常下线用户终端分配的IP地址。即为第一用户终端分配的IP地址,也即第一用户终端对应的第一IP地址。
MAC字段:异常下线用户终端的MAC地址。例如:第一用户终端的MAC地址。
Vlan字段:异常下线用户终端接入的vlan,即第一用户终端接入的vlan。
Interface字段:异常下线用户终端接入的接口即第一用户终端接入的接口。
Aging字段:表项的老化时间。
502、第二用户终端从interface2的vlan2接入上线,BRAS利用DHCP功能为第二用户终端分配的IP地址为IP1,即第一IP地址,并生成第二用户终端对应的转发表项,如下表5所示。此时服务器并不删除第一用户终端对应的异常用户恢复表项。为第二用户终端分配IP地址的过程可参阅现有技术,在此不再赘述。
表5
503、网络恢复,第一用户终端发送业务报文1(即前述第六报文),业务报文1的源地址为IP1(即第一IP地址)、源MAC地址为MAC1(即第一用户终端的MAC地址)。
504、BRAS的IPoE模块确定IP1和MAC1命中表4的表项。
505、BRAS模拟DHCP客户端传输请求报文,具体的,BRAS的DHCP客户端发BRAS的DHCP服务端发送请求报文-request报文1(即前述第二请求报文),request报文1携带第一IP地址和第一用户终端的MAC地址,即request报文1携带IP1和MAC1。
506、DHCP服务端依据request报文1携带的IP1和MAC1,在地址租约表中查询。DHCP服务端在地址租约表中查询到IP1被分配的终端MAC地址为MAC2,不为MAC1,向DHCP客户端发送拒绝报文-NAK报文1(即前述第三拒绝报文)。
507、DHCP客户端接收到NAK报文1,向DHCP服务端发送第一发现报文-discovery报文1。discovery报文1携带MAC1。
508、DHCP服务端接收到discovery报文1,返回第一提供报文-offer报文1,offer报文1携带提供的IP地址:即IP2(即第三IP地址),此IP地址即为IP1对应的映射地址。
509、DHCP客户端接收到offer报文1,向DHCP服务器端发送请求报文-request报文2(即前述第三请求报文),request报文2携带第一IP地址对应的映射地址和第一用户终端的MAC地址,即request报文2携带IP2和MAC1。
510、DHCP服务端接收到request报文2,返回确认报文-ACK报文1(即前述第二确认报文)。
511、DHCP客户端接收到ACK报文1,生成第一用户终端对应的转发表项,如表6所示,并向IPoE模块下发表6。DHCP客户端还会生成第一用户终端对应的异常用户地址映射表项,如下表7所示,并向IPoE模块下发表7。同时删除表4中第一用户终端对应的异常用户恢复表项。
表6
Index | IP | MAC | Vlan | Interface | Aging |
1 | IP2 | MAC1 | vlan1 | interface1 | T1 |
表7
Index | IP-b | MAC | Vlan | Interface | IP-a | Aging |
1 | IP1 | MAC1 | vlan1 | interface1 | IP2 | T1 |
IP-b字段:异常下线用户终端映射前的IP地址,也就是为异常下线用户终端分配的IP地址。即为第一用户终端分配的IP地址,也即第一用户终端对应的第一IP地址。
MAC字段:异常下线用户终端使用的终端的MAC地址。即第一用户终端的MAC地址。
Vlan字段:异常下线用户终端接入的vlan,即第一用户终端接入的vlan。
Interface字段:异常下线用户终端接入的接口,即第一用户终端接入的接口。
IP-a字段:异常下线用户终端映射后的IP地址,即IP-b对应的映射地址,不同于映射前的IP地址。IP-a的设置能够解决了IP地址冲突的问题,同时可以利用映射后的IP地址传输第一用户终端发送的业务报文,这将在后续进行说明。
Aging字段:表项的老化时间。
512、第一用户终端发送第一报文-业务报文2,业务报文2的源地址SIP为IP1、源MAC地址SMAC为MAC1,接入vlan为vlan1,接入接口为interface1。
513、BRAS接收到业务报文2,IPoE模块判定业务报文的SIP、SMAC、接入vlan、接入接口命中异常用户地址映射表-表7。
514、IPoE模块替换业务报文2的SIP为IP2,得到第二报文-业务报文2’。IPoE模块确定业务报文2’的SIP(即IP2)、SMAC(即MAC1)、接入vlan(即vlan1)、接入接口(即interface1)命中转发表-表6。
515、IPoE模块将业务报文2’发送给转发模块,转发模块依据表6中的出接口转发该业务报文2’。至此完成终端到网络侧设备的报文转发。
516、BRAS接收到第三报文-业务报文3,业务报文3的目的DIP为IP2。
517、IPoE模块确定业务报文3的DIP命中表7,替换业务报文3的DIP为IP1,得到第四报文-业务报文3’。
518、IPoE模块将业务报文3’发送给转发模块,转发模块依据表6中的出接口interface1(即第一用户终端的接入接口)转发该业务报文3’。至此完成网络侧设备到终端的报文转发,从而完成了报文的双向转发。
519、第一用户终端确定到了地址IP1的续约时间。第一用户终端向BRAS发送第一续约报文-request报文3,request报文3的源地址为第一IP地址:IP1、源MAC地址为第一用户终端的MAC地址:MAC1,request报文3携带的续约IP地址为IP1、续约MAC地址为MAC1。
520、IPoE模块确定request报文3命中表7,替换request报文3的SIP为IP1对应的映射地址:IP2,得到第二续约报文-request报文3’。request报文3’携带的续约IP地址为IP1、续约MAC地址为MAC1。
521、IPoE模块向DHCP服务端发送request报文3’。
522、DHCP服务端接收到request报文3’,在地址租约表中查询到IP1被分配的终端MAC地址为MAC2。
523、DHCP服务端向IPoE模块发送第一拒绝报文:NAK报文2,表明续约IP1失败,NAK报文2的DIP为IP2。
524、IPoE模块接收到NAK报文2,IPoE模块替换NAK报文2的DIP命中表7,替换NAK报文2的DIP为IP1,得到第二拒绝报文-NAK报文2’。
IPoE模块删除表6中第一用户终端对应的转发表项及表7中异常用户地址映射表,并生成第一用户终端对应的新的异常用户恢复表项,在异常用户恢复表中记录该新的异常用户恢复表项,具体如表8所示。
表8
Index | IP | MAC | Vlan | Interface | Aging |
1 | IP2 | MAC1 | vlan1 | interface1 | T1 |
525、IPoE模块向第一用户终端发送NAK报文2’。
526、IPoE模块向DHCP服务端发送删除消息,删除消息携带IP2和MAC1,以通知DHCP服务端删除地址租约表中第一用户终端对应的表项。
527、第一用户终端接收到NAK报文2’,向BRAS发送发现报文-discovery报文2。discovery报文2携带MAC1。
528、BRAS的DHCP服务端接收到discovery报文2,向第一用户终端发送提供报文-offer报文2,offer报文2携带为第一用户终端提供的第二IP地址:IP3。
529、第一用户终端接收到offer报文2,向BRAS发送第一请求报文-request报文4,request报文4包括MAC1和IP3。
530、BRAS的DHCP服务端接收到request报文4,在地址租约表中记录第一用户终端对应的表项,向第一用户终端发送第一确认报文-ACK报文2。
第一用户终端接收到ACK报文2,获取到新的IP地址:IP3,之后基于IP3,第一用户利用第一用户终端访问网络即可。
请参阅图6,本申请实施例提供一种报文转发装置,包括:用户模块600、地址管理模块601、接收模块602、转发模块603,地址管理模块可以为DHCP模块,包括DHCP客户端和DHCP服务端。各模块的功能具体如下。
用户模块600,用于当检测到第一用户终端下线时,生成第一用户终端对应的异常用户恢复表项,异常用户恢复表项包括第一用户终端对应的第一IP地址和第一用户终端的MAC地址;
用户模块600,还用于当确定地址管理模块601为第二用户终端分配第一IP地址时,生成第一用户终端对应的异常用户地址映射表项,第一用户终端对应的异常用户地址映射表包括第一IP地址、第一用户终端的MAC地址和第一IP地址对应的映射地址;
接收模块602,用于接收第一报文,第一报文的源地址为第一IP地址、源MAC地址为第一用户终端的MAC地址;
用户模块600,还用于在第一IP地址和第一用户终端的MAC地址成功匹配异常用户地址映射表项的情况下,替换第一报文的源地址为第一IP地址对应的映射地址;
转发模块603,用于转发替换源地址后的第二报文。
可选的,接收模块602,还用于接收第三报文,第三报文的目的地址为第一IP地址对应的映射地址;
用户模块600,还用于在第一IP地址对应的映射地址成功匹配异常用户地址映射表项的情况下,替换第三报文的目的地址为第一IP地址,并向转发模块603发送替换目的地址后的第四报文。
转发模块603,用于转发第四报文。
可选的,用户模块600,还用于生成第一用户终端对应的第一转发表项,第一转发表项包括第一IP地址对应的映射地址和第一用户终端的MAC地址;则转发模块603,用于依据第一转发表项,转发替换源地址后的第二报文。
可选的,在生成第一用户终端对应的异常用户地址映射表项之后,用户模块600,还用于删除第一用户终端对应的异常用户恢复表项。
可选的,用户模块600,还用于:
接收携带续约IP地址为第一IP地址的第一续约报文,第一续约报文的源地址为第一IP地址、源MAC地址为第一用户终端的MAC地址;
在第一IP地址和第一用户终端的MAC地址成功匹配异常用户地址映射表的情况下,替换第一续约报文的源地址为第一IP地址对应的映射地址;
地址管理模块601,用于根据替换源地址的第二续约报文携带的续约IP地址,传输第一拒绝报文,第一拒绝报文的目的地址为第一IP地址对应的映射地址,第二续约报文携带的续约IP地址为第一IP地址;
用户模块600,还用于替换第一拒绝报文的目的地址为第一IP地址;
转发模块603,还用于转发替换目的地址后的第二拒绝报文。
可选的,用户模块600,还用于:
生成第一用户终端对应的新的异常用户恢复表项,新的异常用户恢复表项包括第一用户终端的MAC地址和第一IP地址对应的映射地址;或
删除第一用户终端对应的异常用户地址映射表项,并生成第一用户终端对应的新的异常用户恢复表项,新的异常用户恢复表项包括第一用户终端的MAC地址和第一IP地址对应的映射地址;或
删除第一用户终端对应的异常用户地址映射表项、第一转发表项,并生成第一用户终端对应的新的异常用户恢复表项,新的异常用户恢复表项包括第一用户终端的MAC地址和第一IP地址对应的映射地址。
可选的,地址管理模块601,还用于:
接收第一用户终端发送的发现报文,发现报文包括第一用户终端的MAC地址;
向第一用户终端发送提供报文,提供报文包括为第一用户终端提供的第二IP地址;
接收第一请求报文,第一请求报文包括第一用户终端的MAC地址和第二IP地址;
向第一用户终端发送第一确认报文。
可选的,用户模块600,还用于:
依据第一用户终端发送的第五报文,生成第一用户终端对应的第二转发表项;第五报文的源地址为第二IP地址、源MAC地址为第一用户终端的MAC地址,第二转发表项包括第二IP地址和第一用户终端的MAC地址;
删除第一用户终端对应的异常用户恢复表项。
可选的,用户模块600,还用于:
接收第一用户终端发送的第六报文,第六报文的源地址为第一IP地址、源MAC地址为第一用户终端的MAC地址;
在第一IP地址和第一用户终端的MAC地址成功匹配异常用户恢复表项的情况下,触发地址管理模块601判断地址租约表中第一IP地址被分配的终端MAC地址是否为第一用户终端的MAC地址;
若否,则为第一用户终端分配第一IP地址对应的映射地址。
可选的,地址管理模块601具体用于:
传输第二请求报文,第二请求报文携带第一IP地址和第一用户终端的MAC地址;
依据第二请求报文携带的第一IP地址,当在地址租约表中查询到第一IP地址被分配的终端MAC地址不为第一用户终端的MAC地址时,传输第三拒绝报文;
传输第三请求报文,第三请求报文携带为第一用户终端提供的第三IP地址和第一用户终端的MAC地址,第三IP地址为第一IP地址对应的映射地址;
传输第二确认报文。
基于同一发明构思,本申请实施例还提供了另一种报文转发装置,该装置可以为服务器,例如BRAS。如图7所示,包括处理器710、收发器720和机器可读存储介质730,机器可读存储介质730存储有能够被处理器710执行的机器可执行指令,处理器710被机器可执行指令促使执行本申请实施例所提供的报文转发方法的处理方法。前述图7所示的报文转发装置,可采用如图7所示的报文转发装置硬件结构实现。
上述计算机可读存储介质730可以包括随机存取存储器(英文:Random AccessMemory,简称:RAM),也可以包括非易失性存储器(英文:Non-volatile Memory,简称:NVM),例如至少一个磁盘存储器。可选的,计算机可读存储介质730还可以是至少一个位于远离前述处理器710的存储装置。
上述处理器710可以是通用处理器,包括中央处理器(英文:Central ProcessingUnit,简称:CPU)、网络处理器(英文:Network Processor,简称:NP)等;还可以是数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:ApplicationSpecific Integrated Circuit,简称:ASIC)、现场可编程门阵列(英文:Field-Programmable Gate Array,简称:FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本申请实施例中,处理器710通过读取机器可读存储介质730中存储的机器可执行指令,被机器可执行指令促使能够实现处理器710自身以及调用收发器720执行前述本申请实施例描述的信息更新方法。
另外,本申请实施例提供了一种机器可读存储介质730,机器可读存储介质730存储有机器可执行指令,在被处理器710调用和执行时,机器可执行指令促使处理器710自身以及调用收发器720执行前述本申请实施例描述的报文转发方法。
综上所述,本申请实施例具备以下技术效果:
本申请实施例当服务器确定第一用户终端的第一IP地址被分配给第二用户终端,服务器并不删除第一用户终端对应的异常用户恢复表项,而是生成第一用户终端对应的异常用户地址映射表,以利用第一IP地址对应的映射地址转发第一用户终端发送的业务报文。通过设置异常用户地址映射表,虽然第一用户终端实际的IP地址仍然是第一IP地址,但服务器上第一用户终端对应的转发表项存储的是第一IP地址对应映射地址,因此在服务器上,第一用户终端与第二用户终端不会存在地址冲突,解决了终端地址冲突的问题。
此外,本申请实施例还可以依据异常用户地址映射表,能够生成第一用户终端对应的转发表项,从而实现异常流量恢复功能,并依据转发表项及异常用户地址映射表项,完成终端与网络侧之间双向报文的转发。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (13)
1.一种报文转发方法,其特征在于,所述方法包括:
当检测到第一用户终端下线时,生成所述第一用户终端对应的异常用户恢复表项,所述异常用户恢复表项包括第一用户终端对应的第一IP地址和第一用户终端的MAC地址;
当确定所述第一IP地址被分配给第二用户终端时,生成所述第一用户终端对应的异常用户地址映射表项,所述第一用户终端对应的异常用户地址映射表包括所述第一IP地址、第一用户终端的MAC地址和所述第一IP地址对应的映射地址;
接收第一报文,所述第一报文的源地址为所述第一IP地址、源MAC地址为第一用户终端的MAC地址;
在所述第一IP地址和第一用户终端的MAC地址成功匹配所述异常用户地址映射表项的情况下,替换所述第一报文的源地址为所述第一IP地址对应的映射地址,并转发替换源地址后的第二报文。
2.根据权利要求1所述的方法,其特征在于,还包括:
接收第三报文,所述第三报文的目的地址为所述第一IP地址对应的映射地址;
在所述第一IP地址对应的映射地址成功匹配所述异常用户地址映射表项的情况下,替换所述第三报文的目的地址为所述第一IP地址,并转发替换目的地址后的第四报文。
3.根据权利要求1所述的方法,其特征在于,当确定所述第一IP地址被分配给第二用户终端时,还包括:生成所述第一用户终端对应的第一转发表项,所述第一转发表项包括所述第一IP地址对应的映射地址和第一用户终端的MAC地址;则
所述转发替换源地址后的第二报文,包括:依据所述第一转发表项,转发替换源地址后的第二报文。
4.根据权利要求1所述的方法,其特征在于,在生成所述第一用户终端对应的异常用户地址映射表项之后,还包括:删除所述第一用户终端对应的异常用户恢复表项。
5.根据权利要求1-4任一所述的方法,其特征在于,还包括:
接收携带续约IP地址为所述第一IP地址的第一续约报文,所述第一续约报文的源地址为所述第一IP地址、源MAC地址为第一用户终端的MAC地址;
在所述第一IP地址和第一用户终端的MAC地址成功匹配所述异常用户地址映射表的情况下,替换所述第一续约报文的源地址为所述第一IP地址对应的映射地址;
根据替换源地址的第二续约报文携带的续约IP地址,传输第一拒绝报文,所述第一拒绝报文的目的地址为所述第一IP地址对应的映射地址,所述第二续约报文携带的续约IP地址为所述第一IP地址;
替换所述第一拒绝报文的目的地址为所述第一IP地址,并转发替换目的地址后的第二拒绝报文。
6.根据权利要求5所述的方法,其特征在于,在传输所述第一拒绝报文后,所述方法还包括:
生成所述第一用户终端对应的新的异常用户恢复表项,所述新的异常用户恢复表项包括第一用户终端的MAC地址和所述第一IP地址对应的映射地址;或
删除所述第一用户终端对应的异常用户地址映射表项,并生成所述第一用户终端对应的新的异常用户恢复表项,所述新的异常用户恢复表项包括第一用户终端的MAC地址和所述第一IP地址对应的映射地址;或
删除所述第一用户终端对应的异常用户地址映射表项、第一转发表项,并生成所述第一用户终端对应的新的异常用户恢复表项,所述新的异常用户恢复表项包括第一用户终端的MAC地址和所述第一IP地址对应的映射地址。
7.根据权利要求5或6所述的方法,其特征在于,还包括:
接收所述第一用户终端发送的发现报文,所述发现报文包括第一用户终端的MAC地址;
向所述第一用户终端发送提供报文,所述提供报文包括为所述第一用户终端提供的第二IP地址;
接收所述第一用户终端发送的第一请求报文,所述第一请求报文包括第一用户终端的MAC地址和所述第二IP地址;
向所述第一用户终端发送第一确认报文。
8.根据权利要求7所述的方法,其特征在于,在所述向所述第一用户终端发送确认报文之后,还包括:
依据所述第一用户终端发送的第五报文,生成所述第一用户终端对应的第二转发表项;所述第五报文的源地址为所述第二IP地址、源MAC地址为所述第一用户终端的MAC地址,所述第二转发表项包括所述第二IP地址和所述第一用户终端的MAC地址;
删除所述第一用户终端对应的异常用户恢复表项。
9.根据权利要求1所述的方法,其特征在于,在检测到第一用户终端下线后,还包括:
接收所述第一用户终端发送的第六报文,所述第六报文的源地址为所述第一IP地址、源MAC地址为第一用户终端的MAC地址;
在所述第一IP地址和第一用户终端的MAC地址成功匹配所述异常用户恢复表项的情况下,判断地址租约表中所述第一IP地址被分配的终端MAC地址是否为所述第一用户终端的MAC地址;
若否,则为所述第一用户终端分配所述第一IP地址对应的映射地址。
10.根据权利要求9所述的方法,其特征在于,所述判断地址租约表中所述第一IP地址被分配的终端MAC地址是否为所述第一用户终端的MAC地址,若否,则为所述第一用户终端分配所述第一IP地址对应的映射地址,包括:
DHCP客户端向DHCP服务端发送第二请求报文,所述第二请求报文携带所述第一IP地址和所述第一用户终端的MAC地址;
所述DHCP服务端依据所述第二请求报文携带的所述第一IP地址,在地址租约表中查询,当在地址租约表中查询到所述第一IP地址被分配的终端MAC地址不为所述第一用户终端的MAC地址时,向所述DHCP客户端发送第三拒绝报文;
所述DHCP客户端接收到所述第三拒绝报文,向所述DHCP服务端发送第一发现报文,所述第一发现报文携带所述第一用户终端的MAC地址;
所述DHCP服务端接收到所述第一发现报文,返回第一提供报文,所述第一提供报文携带所述DHCP服务端为所述第一用户终端提供的第三IP地址;
所述DHCP客户端接收到所述第一提供报文,向所述DHCP服务端发送第三请求报文,所述第三请求报文携带所述第三IP地址和所述第一用户终端的MAC地址,所述第三IP地址为第一IP地址对应的映射地址;
所述DHCP服务端接收到所述第三请求报文,返回第二确认报文。
11.一种报文转发装置,其特征在于,包括:用户模块、地址管理模块、接收模块、转发模块;其中
所述用户模块,用于当检测到第一用户终端下线时,生成所述第一用户终端对应的异常用户恢复表项,所述异常用户恢复表项包括第一用户终端对应的第一IP地址和第一用户终端的MAC地址;
所述用户模块,还用于当确定所述第一IP地址被分配给第二用户终端时,生成所述第一用户终端对应的异常用户地址映射表项,所述第一用户终端对应的异常用户地址映射表包括所述第一IP地址、第一用户终端的MAC地址和所述第一IP地址对应的映射地址;
接收模块,用于接收第一报文,所述第一报文的源地址为所述第一IP地址、源MAC地址为第一用户终端的MAC地址;
所述用户模块,还用于在所述第一IP地址和第一用户终端的MAC地址成功匹配所述异常用户地址映射表项的情况下,替换所述第一报文的源地址为所述第一IP地址对应的映射地址;
转发模块,用于转发替换源地址后的第二报文。
12.一种服务器,其特征在于,包括处理器CPU和机器可读存储介质,所述机器可读存储介质存储有能够被所述CPU执行的机器可执行指令,所述CPU被所述机器可执行指令促使:实现权利要求1-10任一所述的报文转发方法的步骤。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-10任一所述的报文转发方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010133008.0A CN111447294B (zh) | 2020-02-29 | 2020-02-29 | 报文转发方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010133008.0A CN111447294B (zh) | 2020-02-29 | 2020-02-29 | 报文转发方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111447294A CN111447294A (zh) | 2020-07-24 |
CN111447294B true CN111447294B (zh) | 2022-04-01 |
Family
ID=71650656
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010133008.0A Active CN111447294B (zh) | 2020-02-29 | 2020-02-29 | 报文转发方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111447294B (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100370768C (zh) * | 2003-07-07 | 2008-02-20 | 华为技术有限公司 | 触发对用户ip地址分配的方法 |
US20160226815A1 (en) * | 2015-01-30 | 2016-08-04 | Huawei Technologies Co., Ltd. | System and method for communicating in an ssl vpn |
CN107547688B (zh) * | 2017-09-06 | 2020-07-10 | 新华三技术有限公司 | 一种报文处理方法和装置 |
CN108206765B (zh) * | 2018-03-30 | 2021-08-06 | 新华三技术有限公司 | PPPoE上线恢复方法、BRAS设备及AAA服务器 |
CN110620694B (zh) * | 2019-09-27 | 2022-07-12 | 新华三信息安全技术有限公司 | 一种客户端上线恢复方法、装置、电子设备及存储介质 |
-
2020
- 2020-02-29 CN CN202010133008.0A patent/CN111447294B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111447294A (zh) | 2020-07-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4664143B2 (ja) | パケット転送装置、通信網及びパケット転送方法 | |
US7415536B2 (en) | Address query response method, program, and apparatus, and address notification method, program, and apparatus | |
US7529810B2 (en) | DDNS server, a DDNS client terminal and a DDNS system, and a web server terminal, its network system and an access control method | |
US7701956B2 (en) | Method and system for using a transfer agent for translating a configuration file | |
JP3372455B2 (ja) | パケット中継制御方法,パケット中継装置およびプログラム記憶媒体 | |
US7346670B2 (en) | Secure storage system | |
US8369346B2 (en) | Method and system for restricting a node from communicating with other nodes in a broadcast domain of an IP (internet protocol) network | |
EP0944209A2 (en) | Quality of service allocation on a network | |
CN105554179B (zh) | 局域网内dns解析方法、系统 | |
WO2006067951A1 (ja) | アクセス制御装置およびアクセス制御方法 | |
JP2008504776A (ja) | 動的デバイスアドレス管理のための方法およびシステム | |
CN112822218B (zh) | 一种接入控制方法及装置 | |
US8082333B2 (en) | DHCP proxy for static host | |
CN104662848B (zh) | 用于动态域名系统(ddns)的方法和系统 | |
KR20120055694A (ko) | 사용자 액세스 방법, 시스템, 및 액세스 서버, 액세스 장치 | |
US7848258B2 (en) | Dynamically transitioning static network addresses | |
CN111478879A (zh) | 一种dhcp续约方法、装置及电子设备、机器可读存储介质 | |
CN108156092B (zh) | 报文传输控制方法和装置 | |
CN111447294B (zh) | 报文转发方法和装置 | |
US9652899B2 (en) | Methods, apparatus and systems for accessing vehicle operational data using an intelligent network router | |
JP2005217757A (ja) | ファイアウオール管理システム、ファイアウオール管理方法、およびファイアウオール管理プログラム | |
US8276204B2 (en) | Relay device and relay method | |
CN106453408B (zh) | 一种防仿冒下线攻击的方法和装置 | |
CN111314503B (zh) | IPoE用户表的恢复方法及装置 | |
CN104601460B (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 |