一种报文转发方法及装置与流程

文档序号:18619989发布日期:2019-09-06 22:23阅读:151来源:国知局
一种报文转发方法及装置与流程
本发明涉及网络通信
技术领域
,尤其涉及一种报文转发方法及装置。
背景技术
:在一些公共环境下,例如商场、酒店等,可能存在各种临时接入的终端设备。不同终端设备上的IP(InternetProtocol,互联网协议)配置并不一样。如果终端设备配置的是静态IP地址,且该IP地址和接入的网关属于不同网段,则不能进行正常上网,需要由终端用户修改为DHCP(DynamicHostConfigurationProtocol,动态主机设置协议)自动配置,或者询问管理员合适的IP配置,体验较差。即插即用网关功能主要用于屏蔽终端设备IP地址和网关设备本地网段地址的差异,以实现终端设备在不改变现有IP配置的情况下,即可通过网关设备连接外网。在网关设备上开启了即插即用网关功能后,虽然终端设备的IP地址和网关接口地址不在同一网段,网关设备收到终端设备发送的ARP(AddressResolutionProtocol,地址解析协议)请求后,仍然会以网关的MAC(MediaAccessControl,媒体访问控制)地址应答该ARP请求。网关设备接收到终端设备发送的报文时,会为终端设备分配一个与网关接口IP地址同网段的代理IP地址,并把报文中的源IP地址替换成代理IP地址。网关设备收到目的设备的应答报文后,会把报文中的目的IP地址由分配的代理IP地址替换回终端设备的IP地址。这样,就可以保证设备可以正常访问外网。然而实践发现,目前的即插即用网关功能实现方案中,当两个终端设备(假设为终端设备A和终端设备B)均接入网关设备的使能即插即用网关功能的接口,则当终端设备A发送给终端设备B(或终端设备B发送给终端设备A)的报文到达网关设备时,网关设备将无法根据该报文查询到匹配的非默认路由,进而,网关设备会根据默认路由(若网关设备配置有默认路由)将报文向外网转发或者直接丢弃该报文(若网关设备未配置默认路由),即通过同一网关设备的使能了即插即用网关功能的接口接入的终端设备之间无法相互访问。技术实现要素:有鉴于此,本发明提供一种报文转发方法及装置,以解决现有即插即用网关功能实现方案中通过使能了即插即用网关功能的接口接入的终端设备之间无法相互访问的问题。第一方面,本发明提供一种报文转发方法,应用于网关设备,所述网关设备的至少一个接口使能有即插即用网关功能,所述方法包括:当从第一接口接收到第一终端发送的第一报文,且根据所述第一报文的目的互联网协议IP地址未查询到匹配的非默认路由时,根据所述第一报文的目的IP地址查询用户映射表;当查询到匹配的第一用户映射表项时,根据所述第一用户映射表项中记录的MAC地址信息以及接口信息,通过所述接口信息指示的第二接口向第二终端转发所述第一报文;其中,所述第一类型路由为非默认路由,所述用户映射表记录有第二终端设备的IP地址、MAC地址以及接入的接口信息,所述第二终端设备为通过所述网关设备的第二接口接入的终端设备,所述第一接口、第二接口为任一使能即插即用网关功能的接口。结合第一方面,在第一种可能的实现方式中,所述根据所述第一报文的目的IP地址查询用户映射表之后,还包括:当未查询到匹配的第一用户映射表项时,通过使能即插即用网关功能的接口发送第一地址解析协议ARP探测报文;其中,所述第一ARP探测报文的目的IP地址为所述第一报文的目的IP地址;当从第三接口接收到第一ARP报文时,根据所述第一ARP报文生成对应的用户映射表项,该用户映射表项记录有所述第一ARP报文的源IP地址、源MAC地址以及所述第三接口的信息;其中,所述第三接口为任一使能即插即用网关功能的接口,所述第一ARP报文的源IP地址为所述第一报文的目的IP地址。结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述网关设备记录有发送ARP探测报文的时间;所述通过使能即插即用网关功能的接口发送第一ARP探测报文之前,还包括:查询自身记录的最近一次发送第一ARP探测报文的时间;若当前时间与所述最近一次发送第一ARP探测报文的时间之间的差值大于等于预设时间阈值,则通过使能即插即用网关功能的接口发送第一ARP探测报文;否则,拒绝通过使能即插即用网关功能的接口发送第一ARP探测报文。结合第一方面,在第三种可能的实现方式中,所述用户映射表中还记录有预设标识,所述预设标识用于表明对应的用户映射表项中记录的IP地址为内网IP地址或外网IP地址;所述方法还包括:当从外网接口接收到第二报文时,根据所述第二报文的源IP地址查询所述用户映射表;若存在匹配的第二用户映射表项,且所述第二用户映射表项中记录的预设标识指示所述第二报文的源IP地址为内网IP地址,则将所述第二用户映射表项中记录的预设标识更新为指示所述第二报文的源IP地址为外网IP地址的标识。结合第一方面的第三种可能的实现方式,在第四种可能的实现方式中,所述根据所述第一用户映射表项中记录的MAC地址信息以及接口信息,通过所述接口信息指示的第二接口向第二终端转发所述第一报文之前,还包括:根据所述第一用户映射表项中记录的所述预设标识确定所述第一报文的目的IP地址为内网IP地址或外网IP地址;若为内网IP地址,则根据所述第一用户映射表项中记录的MAC地址信息以及接口信息,通过所述接口信息指示的第二接口向第二终端转发所述第一报文;若为外网IP地址,则在查询到默认路由时,根据所述默认路由对所述第一报文进行转发。第二方面,本发明提供一种报文转发装置,应用于网关设备,所述网关设备的至少一个接口使能有即插即用网关功能,所述装置包括:接收单元,用于接收报文;查询单元,用于根据所述接收单元接收到的报文的目的互联网协议IP地址查询路由表;所述查询单元,还用于当根据所述接收单元从第一接口接收到第一终端发送的第一报文的目的IP地址未查询到匹配的第一类型路由时,根据所述第一报文的目的IP地址查询用户映射表;发送单元,用于当所述查询单元查询到匹配的第一用户映射表项时,根据所述第一用户映射表项中记录的媒体访问控制MAC地址信息以及接口信息,通过所述接口信息指示的第二接口向第二终端转发所述第一报文;其中,所述第一类型路由为非默认路由,所述用户映射表记录有第二终端设备的IP地址、MAC地址以及接入的接口信息,所述第二终端设备为通过所述网关设备的第二接口接入的终端设备,所述第一接口、第二接口为任一使能即插即用网关功能的接口。结合第二方面,在第一种可能的实现方式中,所述发送单元,还用于当所述查询单元未查询到匹配的第一用户映射表项时,通过使能即插即用网关功能的接口发送第一ARP探测报文;其中,所述第一ARP探测报文的目的IP地址为所述第一报文的目的IP地址;所述装置还包括:生成单元,用于当所述接收单元从第三接口接收到第一ARP报文时,根据所述第一ARP报文生成对应的用户映射表项,该用户映射表项记录有所述第一ARP报文的源IP地址、源MAC地址以及所述第三接口的信息;其中,所述第三接口为任一使能即插即用网关功能的接口,所述第一ARP报文的源IP地址为所述第一报文的目的IP地址。结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述网关设备记录有发送ARP探测报文的时间;所述查询单元,还用于当未查询到匹配的第一用户映射表项时,查询自身记录的最近一次发送第一ARP探测报文的时间;所述发送单元,具体用于若当前时间与所述最近一次发送第一ARP探测报文的时间之间的差值大于等于预设时间阈值,则通过使能即插即用网关功能的接口发送第一ARP探测报文;否则,拒绝通过使能即插即用网关功能的接口发送第一ARP探测报文。结合第二方面,在第三种可能的实现方式中,所述用户映射表中还记录有预设标识,所述预设标识用于表明对应的用户映射表项中记录的IP地址为内网IP地址或外网IP地址;所述查询单元,还用于当所述接收单元从外网接口接收到第二报文时,根据所述第二报文的源IP地址查询所述用户映射表;所述装置还包括:更新单元,用于若存在匹配的第二用户映射表项,且所述第二用户映射表项中记录的预设标识指示所述第二报文的源IP地址为内网IP地址,则将所述第二用户映射表项中记录的预设标识更新为指示所述第二报文的源IP地址为外网IP地址的标识。结合第二方面的第三种可能的实现方式,在第四种可能的实现方式中,所述装置还包括:确定单元,用于当所述查询单元查询到匹配的第一用户映射表项时,根据所述第一用户映射表项中记录的所述预设标识确定所述第一报文的目的IP地址为内网IP地址或外网IP地址;所述发送单元,具体用于若为内网IP地址,则根据所述第一用户映射表项中记录的MAC地址信息以及目标接口信息,通过所述接口信息指示的第二接口向第二终端转发所述第一报文;若为外网IP地址,则在查询到默认路由时,根据所述默认路由对所述第一报文进行转发。应用本发明公开的技术方案,通过维护用户映射表,当从使能即插即用网关功能的第一接口接收到第一终端发送的第一报文,且根据第一报文的目的IP地址未查询到匹配的第一类型路由时,根据第一报文的目的IP地址查询用户映射表,并当查询到匹配的第一用户映射表项时,根据第一用户映射表项中记录的MAC地址信息以及接口信息,通过该接口信息指示的第二接口向第二终端转发该第一报文,从而实现了通过同一网关设备的使能了即插即用网关功能的接口接入的终端设备之间的相互访问。附图说明图1是本发明实施例提供的一种报文转发方法的流程示意图;图2是本发明实施例提供的一种具体应用场景的架构示意图;图3是本发明实施例提供的一种报文转发方法的流程示意图;图4是本发明实施例提供的一种报文转发装置的结构示意图;图5是本发明实施例提供的另一种报文转发装置的结构示意图;图6是本发明实施例提供的另一种报文转发装置的结构示意图;图7是本发明实施例提供的另一种报文转发装置的结构示意图;图8是本发明实施例提供的一种报文转发装置的硬件结构示意图。具体实施方式为了使本
技术领域
的人员更好地理解本发明实施例中的技术方案,并使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例中技术方案作进一步详细的说明。请参见图1,为本发明实施例提供的一种报文转发方法的流程示意图,其中,该报文转发方法可以应用于网关设备,该网关设备的至少一个接口使能有即插即用网关功能,如图1所示,该报文转发方法可以包括以下步骤:需要说明的是,本文中提及的使能即插即用网关功能的接口是指使能即插即用网关功能的内网接口。步骤101、当从第一接口接收到第一终端发送的第一报文,且根据第一报文的目的IP地址未查询到匹配的第一类型路由时,根据第一报文的目的IP地址查询用户映射表。本发明实施例中,第一接口并不特指某一固定的接口,而是可以指代网关设备上任一使能即插即用网关功能的接口;同理,第一终端并不特指某一固定的终端设备,而是可以指代任一通过第一接口接入网关设备的终端设备,本发明实施例后续不再复述。本发明实施例中,为了实现通过使能即插即用网关功能的接口接入的终端设备之间能够相互访问,网关设备可以维护一个用于指导通过使能即插即用网关功能的接口接入的终端设备之间进行访问的转发表(本文中称为用户映射表),该用户映射表中可以记录通过使能即插即用网关功能的接口接入的终端设备的IP地址、MAC地址以及接入的接口(网关设备的接口)信息,当网关设备根据接收到的报文查询不到匹配的非默认路由(本文中称为第一类型路由)时,可以通过查询用户映射表指导报文转发。相应地,在本发明实施例中,当网关设备从第一接口接收到第一终端发送的报文(本文中称为第一报文)时,网关设备可以根据该第一报文的目的IP地址查询本地路由表项,以确定是否存在匹配的路由。若网关设备未查询到匹配的第一类型路由,则网关设备可以根据该第一报文的目的IP地址查询用户映射表。其中,默认路由(本文中称为第二类型路由)指目的IP地址为0.0.0.0的路由;非默认路由为除默认路由之外的其他路由。步骤102、当查询到匹配的第一用户映射表项时,根据第一用户映射表项中记录的MAC地址信息以及接口信息,通过该接口信息指示的第二接口向第二终端转发该第一报文。本发明实施例中,当网关设备查询到与第一报文的目的IP地址匹配的用户映射表项(本文中称为第一用户映射表项)时,网关设备可以根据第一用户映射表项中记录的MAC地址信息(下文中称为目标MAC地址信息)以及接口信息(下文中称为目标接口信息),通过目标接口信息指示的接口(本文中称为第二接口)向MAC地址为目标MAC地址的终端设备(本文中称为第二终端)转发该第一报文。其中,用户映射表项中记录的MAC地址信息为用户映射表项中记录的IP地址对应的MAC地址(即使用该IP地址的设备的MAC地址),用户映射表项中记录的接口信息为网关设备上接入使用该IP地址的设备的接口(使能即插即用网关功能的接口)的信息(如接口标识、接口名称等)。需要说明的是,在本发明实施例中,第一接口和第二接口可以为同一接口,也可以为不同接口。举例来说,用户映射表的格式可以如表1所示:表1终端IP终端MAC接口IP1MAC1接口1IP2MAC2接口2………假设网关设备查询到与第一报文的目的IP地址匹配的第一用户映射表项中记录的MAC地址信息为MAC2,目标接口信息为接口2,则网关设备可以根据MAC2封装报文,并通过接口2转发。需要说明的是,在本发明实施例中,用户映射表中记录的信息并不限于上述信息,例如,用户映射表还可以记录终端设备的代理IP地址(即网关设备为通过使能即插即用功能的接口接入的终端设备分配的IP地址)等。此外,在本发明实施例中,若网关设备查询到的匹配的第一用户映射表项中不存在MAC地址和接口信息时,则网关设备可以确定第一用户映射表项为无效用户映射表项,此时,网关设备可以根据第二类型路由(即默认路由)的查询情况确定根据默认路由对该第一报文进行转发(查询到默认路由)或丢弃第一报文(未查询到默认路由),其具体实现可以参见现有技术中根据默认路由对报文进行转发的相关描述,本发明实施例在此不做赘述。可见,在图1所示方法流程中,通过维护用户映射表,当网关设备从使能即插即用网关功能的接口接收到报文,且未查询到匹配的非默认路由时,可以根据报文的目的IP地址查询用户映射表,并当查询到匹配的用户映射表项时,根据该用户映射表项中记录的MAC地址和接口信息对该报文进行转发,实现了通过同一网关设备的使能了即插即用网关功能的接口接入的终端设备之间的交互。可选地,在本发明实施例中,上述根据第一报文的目的IP地址查询用户映射表之后,还可以包括:当未查询到匹配的第一用户映射表项时,通过使能即插即用网关功能的接口发送第一ARP探测报文,该第一ARP探测报文的目的IP地址为第一报文的目的IP地址;当从第三接口接收到第一ARP报文时,根据该第一ARP报文生成对应的用户映射表项,该用户映射表项记录有该第一ARP报文的源IP地址、源MAC地址以及第三接口的信息,该第一ARP报文的源IP地址为第一报文的目的IP地址。本发明实施例中,第三接口并不特指某一固定的接口,而是可以指代网关设备上任一使能即插即用网关功能的接口。其中,第三接口和第一接口可以为同一接口,也可以为不同接口;同理,第三接口和第二接口可以为同一接口,也可以为不同接口。在该实施例中,当网关设备根据第一报文的目的IP地址未查询到匹配的第一用户映射表项时,网关设备可以通过使能即插即用网关功能的接口发送的目的IP地址为第一报文的目的IP地址的ARP探测报文(本文中称为第一ARP探测报文)。其中,当网关设备上存在多个使能即插即用网关功能的接口时,网关设备可以分别通过该多个使能即插即用网关功能的接口发送第一ARP探测报文。需要说明的是,在本发明实施例中,当网关设备根据第一报文的目的IP地址未查询到匹配的第一用户映射表项时,网关设备还可以根据是否查询到默认路由确定根据默认路由对该第一报文进行转发(查询到默认路由)或丢弃第一报文(未查询到默认路由),其具体实现可以参见现有技术中根据默认路由对报文进行转发的相关描述,本发明实施例在此不做赘述。在该实施例中,当网关设备从第三接口接收到源IP地址为第一报文的目的IP地址的ARP报文(如ARP应答报文或ARP请求报文等,本文中称为第一ARP报文)时,网关设备可以根据该第一ARP报文生成对应的用户映射表项,该用户映射表项记录有该第一ARP报文的源IP地址、源MAC地址以及第三接口的信息。进一步地,在该实施例中,考虑到若网关设备发送ARP探测报文过于频发,会占用大量的网络资源,并影响正常业务的运行,因此,为了避免网关设备太过频繁地发送ARP探测报文,对于同一目的IP地址的ARP探测报文,可以控制其发送时间间隔大于等于预设阈值(可以根据实际场景设定,如2秒、3秒等)。可选地,在一个示例中,网关设备可以记录发送ARP探测报文的时间。例如,对于任一IP地址,网关设备可以记录最近一次发送以该IP地址为目的IP地址的ARP探测报文的时间。上述通过使能即插即用网关功能的接口发送第一ARP探测报文之前,还可以包括:查询自身记录的上一次发送第一ARP探测报文的时间;若当前时间与上一次发送第一ARP探测报文的时间之间的差值大于等于预设时间阈值,则通过使能即插即用网关功能的接口发送第一ARP探测报文;否则,拒绝通过使能即插即用网关功能的接口发送第一ARP探测报文。在该示例中,当网关设备根据第一报文的目的IP地址未查询到匹配的用户映射表项时,网关设备可以查询自身记录的最近一次发送第一ARP探测报文的时间,并判断当前时间与该时间(即最近一次发送第一ARP探测报文的时间)之间的差值是否大于等于预设时间阈值。若当前时间与该时间之间的差值大于等于预设时间阈值,则网关设备可以通过使能即插即用网关功能的接口发送第一ARP探测报文;若当前时间与该时间之间的差值小于预设时间阈值,则网关设备可以拒绝通过使能即插即用网关功能的接口发送第一ARP探测报文,以避免ARP探测报文发送过于频繁。需要说明的是,在本发明实施例中,对于某一IP地址,当网关设备未查询到自身记录的最近一次发送目的IP地址为该IP地址的ARP探测报文的时间,则网关设备可以认为当前时间与网关设备最近一次发送目的IP地址为该IP地址的ARP探测报文的时间之间的差值为无限大,即该差值大于预设时间阈值。此外,当网关设备再次发送第一ARP探测报文时,网关设备可以更新自身记录的发送第一ARP探测报文的时间,例如,将最近一次发送第一ARP探测报文的时间更新为此次发送的时间。可选地,在本发明实施例中,上述用户映射表中还可以记录有预设标识,该预设标识可以用于表明对应的用户映射表项中记录的IP地址为内网IP地址或外网IP地址;相应地,上述报文转发方法还可以包括:当从外网接口接收到第二报文时,根据所述第二报文的源IP地址查询所述用户映射表;若存在匹配的第二用户映射表项,且所述第二用户映射表项中记录的预设标识指示第二报文的源IP地址为内网IP地址,则将所述第二用户映射表项中记录的预设标识更新为指示第二报文的源IP地址为外网IP地址的标识。在该实施例中,为了避免非法用户配置公网IP地址干扰用户流量转发,用户映射表中还可以记录用于表明对应的用户映射表中记录的IP地址为内网IP地址或外网IP地址的标识(本文中称为预设标识)。例如,该预设标识可以包括用于表明对应的用户映射表中记录的IP地址为外网IP地址的第一标识值,以及用于表明对应的用户映射表中记录的IP地址为内网IP地址的第二标识值。其中,外网IP地址对应的用户映射表项的优先级高于内网IP地址对应的用户映射表项的优先级。相应地,当网关设备从外网接口接收到报文(本文中称为第二报文)时,可以根据该第二报文的源IP地址查询用户映射表。若网关设备查询到匹配的用户映射表项(本文中称为第二用户映射表项),则网关设备可以进一步获取该第二用户映射表项中记录的预设标识。若该第二用户映射表项中记录的预设标识指示第二报文的源IP地址为内网IP地址(即该预设标识的值为第二标识值),即存在非法用户配置公网IP地址(即使用公网IP地址作为内网终端设备的IP地址),则网关设备可以将该第二用户映射表项中记录的预设标识更新为指示该第二报文的源IP地址为外网IP地址的标识(即将第二用户映射表中记录的预设标识值更新为第一标识值),以避免网关设备根据该第二用户映射表项将报文转发至内网。例如,网关设备查询到匹配的第二用户映射表项,且该第二用户映射表项中记录的预设标识的值为第二标识值时,网关设备可以生成另一用户映射表项,该用户映射表项中记录有第二报文的源IP地址,预设标识的值为第一标识值,其余字段为空,并使用该新生成的用户映射表项覆盖第二用户映射表项。可选地,在该实施例中,上述根据第一用户映射表中记录的MAC地址以及接口信息,通过所述接口信息指示的第二接口向第二终端转发所述第一报文之前,还可以包括:根据第一用户映射表项中记录的预设标识确定第一报文的目的IP地址为内网IP地址或外网IP地址;若为内网IP地址,则根据第一用户映射表项中记录的MAC地址信息以及接口信息,通过所述接口信息指示的第二接口向第二终端转发所述第一报文;若为外网IP地址,则在查询到默认路由时,根据默认路由对第一报文进行转发。在该实施例中,当网关设备根据第一报文的目的IP地址查询匹配的第一用户映射表项时,网关设备还可以进一步确定该第一用户映射表项中记录的预设标识的值。若该预设标识的值为第二标识值,即目的设备为内网终端设备,则网关设备可以根据第一用户映射表项对第一报文进行转发,其具体实现可以参见上文中的相关实现,本发明实施例在此不做赘述。若该预设标识的值为第一标识值,即目的设备为外网设备,则网关设备可以根据是否查询到默认路由确定按照默认路由对该第一报文进行转发(查询到默认路由)或丢弃该第一报文(未查询到默认路由)。为了使本领域技术人员更好地理解本发明实施例提供的技术方案,下面结合具体应用场景对本发明实施例提供的技术方案进行说明。请参见图2,为本发明实施例提供的一种具体应用场景的架构示意图,如图2所示,在该应用场景中,终端设备A和终端设备B接入网关设备的同一网关接口(假设为接口A),该网关接口使能即插即用网关功能。其中,假设网关设备的IP地址为10.0.0.1;终端设备A的IP地址为192.168.1.2,MAC地址为1-1-1;终端设备B的IP地址为192.168.111.2,MAC地址为1-1-2;网关设备为终端设备A和终端设备B分配的代理IP地址分别为10.0.0.2和10.0.0.3。如图3所示,基于图2所示应用场景,本发明实施例提供的报文转发方法实现流程如下:当终端设备A需要访问终端设备B时,终端设备A可以向网关设备发送目的IP地址为192.168.111.2的报文。网关设备从接口A接收到该报文时,可以根据该报文的目的IP地址查询路由表,以确定是否存在匹配的非默认路由。假设网关设备未查询到匹配的非默认路由,此时,网关设备可以根据该报文的目的IP地址查询用户映射表。假设网关设备未查询到匹配的用户映射表项,则一方面,网关设备可以根据默认路由的查询情况确定对按照默认路由对该报文进行转发(查询到默认路由)或丢弃该报文(未查询到默认路由)。另一方面,网关设备可以发送源IP地址为0.0.0.0,目的IP地址为192.168.111.2(即该报文的目的IP地址)的ARP探测报文,并生成如表2所示的表项:表2代理IP终端IP终端MAC接口--192.168.111.2----需要说明的是,用户映射表中还可以记录最近一次发送目的IP地址为对应的用户映射表项中记录的IP地址的ARP探测报文的时间,其具体实现可以参见上文中的相关描述,本发明实施例在此不做赘述。在该实施例中,表2中只有终端IP为有效值,其他均为无效值。后续网关设备根据报文的目的IP地址查询到该用户映射表项,也不会根据该用户映射表项进行转发。当网关设备接收到终端设备B发送的ARP应答报文或其他ARP报文(如ARP请求报文)时,网关设备根据其源IP地址查询到匹配的用户映射表项(即表2所示的用户映射表项),此时,网关设备可以生成如表3所示的用户映射表项:表3代理IP终端IP终端MAC接口10.0.0.3192.168.111.21-1-2接口A当网关设备再次接收到终端设备A发送的目的IP地址为192.168.111.2的报文时,网关设备可以查询到表3所示的用户映射表项,并根据该用户映射表项将报文的目的MAC地址修改为1-1-2,并通过接口A转发,从而实现了终端设备A对终端设备B的访问。其中,终端设备B对终端设备A的访问的实现与之类似,本发明实施例在此不做赘述。进一步地,在该实施例中,为了防止非法用户配置公网IP地址干扰用户流量转发,可以在原有的用户映射表中增加是否外网IP标识,相应地,用户映射表的格式可以如图表4所示:表4代理IP终端IP终端MAC接口是否外网IP10.0.0.2192.168.1.21-1-1接口A否10.0.0.3192.168.111.21-1-2接口A否--114.114.114.114----是当终端设备A访问公网IP(以114.114.114.114为例)时,后续会有源IP地址为114.114.114.114,目的IP地址终端设备A的代理IP(10.0.0.2)的回程报文。网关设备可以根据该回程报文的源IP地址生成表4中的外网IP地址。其中,该是否外网IP标识的值为“是”的用户映射表项的优先级高于记录的IP地址相同,但是否外网IP标识的值为“否”的用户映射表项的优先级;优先级高的用户映射表项可以覆盖优先级低的用户映射表项,优先级低的用户映射表项不可以覆盖优先级高的用户映射表项。通过以上描述可以看出,在本发明实施例提供的技术方案中,通过维护用户映射表,当从使能即插即用网关功能的第一接口接收到第一终端发送的第一报文,且根据第一报文的目的IP地址未查询到匹配的第一类型路由时,根据第一报文的目的IP地址查询用户映射表,并当查询到匹配的第一用户映射表项时,根据第一用户映射表项中记录的MAC地址信息以及接口信息,通过该接口信息指示的第二接口向第二终端转发该第一报文,从而实现了通过同一网关设备的使能了即插即用网关功能的接口接入的终端设备之间的相互访问。相应地,请参见图4,为本发明实施例提供一种报文转发装置的结构示意图,其中,该装置可以应用于上述方法实施例中的网关设备,如图4所示,该报文转发装置可以包括:接收单元410,用于接收报文;查询单元420,用于根据所述接收单元410接收到的报文的目的互联网协议IP地址查询路由表;所述查询单元420,还用于当根据所述接收单元410从第一接口接收到的第一终端发送的第一报文的目的IP地址未查询到匹配的第一类型路由时,根据所述第一报文的目的IP地址查询用户映射表;发送单元430,用于当所述查询单元420查询到匹配的第一用户映射表项时,根据所述第一用户映射表项中记录的媒体访问控制MAC地址信息以及接口信息,通过所述接口信息指示的第二接口向第二终端转发所述第一报文;其中,所述第一类型路由为非默认路由,所述用户映射表记录有第二终端设备的IP地址、MAC地址以及接入的接口信息,所述第二终端设备为通过所述网关设备的第二接口接入的终端设备,所述第一接口、第二接口为任一使能即插即用网关功能的接口。在可选实施例中,所述发送单元430,还用于当所述查询单元420未查询到匹配的第一用户映射表项时,通过使能即插即用网关功能的接口发送第一ARP探测报文;其中,所述第一ARP探测报文的目的IP地址为所述第一报文的目的IP地址;请一并参见图5,为本发明实施例提供的另一种报文转发装置的结构示意图,如图5所示,在图4所示报文转发装置的基础上,图5所示报文转发装置还可以包括:生成单元440,用于当所述接收单元410从第三接口接收到第一ARP报文时,根据所述第一ARP报文生成对应的用户映射表项,该用户映射表项记录有所述第一ARP报文的源IP地址、源MAC地址以及所述第三接口的信息;其中,所述第三接口为任一使能即插即用网关功能的接口,所述第一ARP报文的源IP地址为所述第一报文的目的IP地址。在可选实施例中,所述网关设备记录有发送ARP探测报文的时间;所述查询单元420,还用于当未查询到匹配的第一用户映射表项时,查询自身记录的最近一次发送第一ARP探测报文的时间;所述发送单元430,具体用于若当前时间与所述最近一次发送第一ARP探测报文的时间之间的差值大于等于预设时间阈值,则执行所述通过使能即插即用网关功能的接口发送第一ARP探测报文的步骤;否则,拒绝通过使能即插即用网关功能的接口发送第一ARP探测报文。在可选实施例中,所述用户映射表中还记录有预设标识,所述预设标识用于表明对应的用户映射表项中记录的IP地址为内网IP地址或外网IP地址;所述查询单元420,还用于当所述接收单元410从外网接口接收到第二报文时,根据所述第二报文的源IP地址查询所述用户映射表;请一并参见图6,为本发明实施例提供的另一种报文转发装置的结构示意图,如图6所示,在图4所示报文转发装置的基础上,图6所示报文转发装置还可以包括:更新单元450,用于若存在匹配的第二用户映射表项,且所述第二用户映射表项中记录的预设标识指示所述第二报文的源IP地址为内网IP地址,则将所述第二用户映射表项中记录的预设标识更新为指示所述第二报文的源IP地址为外网IP地址的标识。请一并参见图7,为本发明实施例提供的另一种报文转发装置的结构示意图,如图7所示,在图6所示报文转发装置的基础上,图7所示报文转发装置还可以包括:确定单元460,用于当所述查询单元420查询到匹配的第一用户映射表项时,根据所述第一用户映射表项中记录的所述预设标识确定所述第一报文的目的IP地址为内网IP地址或外网IP地址;所述发送单元430,具体用于若为内网IP地址,则根据所述第一用户映射表项中记录的MAC地址信息以及目标接口信息,通过所述接口信息指示的第二接口向第二终端转发所述第一报文;若为外网IP地址,则在查询到默认路由时,根据所述默认路由对所述第一报文进行转发。请参见图8,为本发明实施例提供的一种报文转发装置的硬件结构示意图。该报文转发装置可以包括处理器801、存储有机器可执行指令的机器可读存储介质802。处理器801与机器可读存储介质802可经由系统总线803通信。并且,通过读取并执行机器可读存储介质802中与报文转发逻辑对应的机器可执行指令,处理器801可执行上文描述的报文转发方法。本文中提到的机器可读存储介质802可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是易失存储器、非易失性存储器或者类似的存储介质。具体地,机器可读存储介质802可以是RAM(RadomAccessMemory,随机存取存储器)、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、DVD等),或者类似的存储介质,或者它们的组合。本发明实施例还提供了一种包括机器可执行指令的机器可读存储介质,例如图8中的机器可读存储介质802,所述机器可执行指令可由报文转发装置中的处理器801执行以实现以上描述的报文转发方法。上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。由上述实施例可见,通过维护用户映射表,当从使能即插即用网关功能的第一接口接收到第一终端发送的第一报文,且根据第一报文的目的IP地址未查询到匹配的第一类型路由时,根据第一报文的目的IP地址查询用户映射表,并当查询到匹配的第一用户映射表项时,根据第一用户映射表项中记录的MAC地址信息以及接口信息,通过该接口信息指示的第二接口向第二终端转发该第一报文,从而实现了通过同一网关设备的使能了即插即用网关功能的接口接入的终端设备之间的相互访问。本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本
技术领域
中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1