CN112953833B - 基于网桥实现三层路由转发的方法、系统及网关设备 - Google Patents

基于网桥实现三层路由转发的方法、系统及网关设备 Download PDF

Info

Publication number
CN112953833B
CN112953833B CN202110320277.2A CN202110320277A CN112953833B CN 112953833 B CN112953833 B CN 112953833B CN 202110320277 A CN202110320277 A CN 202110320277A CN 112953833 B CN112953833 B CN 112953833B
Authority
CN
China
Prior art keywords
network
data packet
bridge
operating system
layer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110320277.2A
Other languages
English (en)
Other versions
CN112953833A (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.)
Quanxun Huiju Network Technology Beijing Co ltd
Original Assignee
Quanxun Huiju Network Technology Beijing 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 Quanxun Huiju Network Technology Beijing Co ltd filed Critical Quanxun Huiju Network Technology Beijing Co ltd
Priority to CN202110320277.2A priority Critical patent/CN112953833B/zh
Publication of CN112953833A publication Critical patent/CN112953833A/zh
Application granted granted Critical
Publication of CN112953833B publication Critical patent/CN112953833B/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/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/741Routing in networks with a plurality of addressing schemes, e.g. with both IPv4 and IPv6

Abstract

本发明公开基于网桥实现三层路由转发的方法、系统及网关设备,其中,该方法包括:获取网桥需要转发的数据包,并获取所述数据包的目的IP地址,其中,所述网桥为:配置在网关设备操作系统中的虚拟设备;对所述目的IP地址进行路由查询,若有路由命中,则将所述数据包送入当前网桥所在的操作系统协议栈的网络层。该系统采用上述方法,在网桥处理接收到的数据包时筛选出需要按IP地址进行路由转发的数据包,并直接送入操作系统协议栈的网络层,方便于在现有的网络拓扑结构中快速部署新的网关设备。该网关设备内置有上述系统,在以网桥模式部署到现有网络拓扑结构中时,无需手动添加静态路由即可实现数据包的三层路由转发,减少了网络拓扑工作的作业量。

Description

基于网桥实现三层路由转发的方法、系统及网关设备
技术领域
本发明涉及网络通信技术领域,尤其涉及基于网桥实现三层路由转发的方法、系统及网关设备。
背景技术
在为企业、学校等机构添加某些网关设备(例如VPN网关)时,经常因为不能改变现有的网络拓扑而必须以旁路模式部署,或以网桥模式插入到现有网络中。但是,以旁路模式部署网关设备时,需要内网终端用户手动添加静态路由,将访问相应网段的路由指向这台旁路网关;而以网桥模式将网关设备插入到现有网络中时,需要先基于网关设备的操作系统内核配置一个虚拟网桥设备,然后利用该虚拟网桥设备将网关部署到现有网络拓扑结构中,这种部署方式中,请参阅图1,虽然网桥能接收到内网终端的所有数据包,但却不能对经过其的数据包进行三层(网络层)路由转发,进而无法实现网关在网络层以上的网络互连,这是因为网关的操作系统的协议栈对数据包的处理通常是分层进行的,即对接收到的数据包依次进行数据链路层、网络层、传输层、应用层的解析和处理,而传统的网桥仅工作在二层(即数据链路层),只能将数据包按MAC地址进行转发,即:接收到来自内网从属物理接口的数据包,并将该数据包转发到外网从属物理接口,以实现基于MAC地址的二层数据转发,而无法将数据包按IP地址进行三层路由转发。故而,将网关设备以网桥模式部署到现有网络中时,也需要内网终端用户手动添加静态路由才能工作,不够便捷。因此,如何基于工作在二层的网桥实现三层路由转发,是在现有的网络拓扑结构中快速部署新的网关设备时亟需解决的问题。
发明内容
本发明的目的在于提供基于网桥实现三层路由转发的方法、系统及网关设备,在网桥处理接收到的数据包时筛选出需要按IP地址进行路由转发的数据包,并将该数据包直接送入操作系统协议栈的网络层,以减少网络拓扑工作的作业量,方便于快速部署新的网关设备。
为了实现上述目的,本发明提供如下技术方案:
一种基于网桥实现三层路由转发的方法,包括:
获取网桥需要转发的数据包,并获取所述数据包的目的IP地址,其中,所述网桥为:配置在网关设备操作系统中的虚拟设备;
对所述目的IP地址进行路由查询,若所述目的IP地址有路由命中,则将所述数据包送入当前网桥所在的操作系统协议栈的网络层。
优选地,通过网桥的内网从属物理接口获取网桥需要转发的数据包。
具体地,获取所述数据包的目的IP地址的方法包括:
判断所述数据包中是否包含IP数据报;
若包含IP数据报,则解析得到所述IP数据报中的目的IP地址;
若不包含IP数据报,则将所述数据包送入当前网桥的操作系统协议栈的网络层。
进一步地,通过识别所述数据包的网络层协议是否为IP协议,判断所述数据包中是否包含IP数据报;
通过解析所述IP数据报的报头得到所述目的IP地址。
较佳地,对所述目的IP地址进行路由查询的方法包括但不限于:
调用网桥所在的操作系统内核中的路由查询API,并将所述目的IP作为路由查询参数,查询路由表;
若所述路由查询API返回有效的路由表项,则所述目的IP有路由命中,并将所述数据包送入当前网桥所在的操作系统协议栈的网络层;
否则,所述目的IP没有路由命中,并将所述数据包送入当前网桥的操作系统协议栈的网络层。
优选地,将包含有路由命中的目的IP地址的数据包送入当前网桥所在的操作系统协议栈的网络层的方法包括:
将所述数据包中以太网帧的MAC地址修改为当前网桥的虚拟接口的MAC地址,同时将所述数据包的接收接口修改为当前网桥的虚拟接口;
调用网桥的网卡数据包接收API,将修改后的数据包发送到网桥所在的操作系统协议栈的网络层。
一种基于网桥实现三层路由转发的系统,内置于配置有虚拟网桥设备的网关设备的操作系统中,包括数据包获取模块和网络层预处理模块,其中,
所述数据包获取模块用于获取网桥需要转发的数据包,并获取所述数据包的目的IP地址,其中,所述网桥为:配置在网关设备操作系统中的虚拟设备;
所述网络层预处理模块用于对所述目的IP地址进行路由查询,若所述目的IP地有路由命中,则将所述数据包送入当前网桥所在的操作系统协议栈的网络层;
其中,所述网桥为通过网桥模式部署到网络拓扑结构中的网关设备。
一种网关设备,所述网关设备通过网桥模式部署到网络拓扑结构中,所述网关设备的操作系统中配置有虚拟网桥设备,且所述网关设备的操作系统中内置有上述基于网桥实现三层路由转发的系统。
较好地,所述网关设备的操作系统包括但不限于Linux操作系统,并且所述网关设备支持IPv4和/或IPv6的三层路由转发。
一种计算机可读存储介质,具有存储在其上的计算机可读程序指令,所述计算机可读程序指令用于执行上述基于网桥实现三层路由转发的方法。
与现有技术相比,本发明提供的基于网桥实现三层路由转发的方法、系统及网关设备具有以下有益效果:
本发明提供的基于网桥实现三层路由转发的方法,首先获取网桥需要转发的数据包的目的IP地址,当数据包的目的IP地址有路由命中时,将数据包送回当前网桥的操作系统协议栈,则该数据包自动跳过数据链路层直接进入网络层进行基于IP地址的路由转发,无需手动为以网桥模式部署到现有网络拓扑中的网关设备添加静态路由即可实现数据包的三层路由转发,方便于快速部署新的网关设备。
本发明提供的基于网桥实现三层路由转发的系统,采用上述方法,在网桥处理接收到的数据包时筛选出需要按IP地址进行路由转发的数据包,并将该数据包直接送入操作系统协议栈的网络层,以减少网络拓扑工作的作业量,方便于在现有的网络拓扑结构中快速部署新的网关设备。
本发明提供的网关设备,内置有上述基于网桥实现三层路由转发的系统,在以网桥模式部署到现有网络拓扑结构中时,无需手动添加静态路由即可实现数据包的三层路由转发,减少了网络拓扑工作的作业量。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为现有技术中网关设备以网桥模式部署到现有网络拓扑结构中时转发数据的执行过程示意图;
图2为本发明实施例中基于网桥实现三层路由转发的方法流程示意图;
图3为本发明实施例中基于网桥实现三层路由转发的方法执行过程示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其它实施例,均属于本发明保护的范围。
实施例一
请参阅图2或图3,一种基于网桥实现三层路由转发的方法,包括:
通过网桥的内网从属物理接口获取网桥需要转发的数据包,并获取该数据包的目的IP地址,其中,本实施例中的网桥为:配置在网关设备操作系统中的虚拟设备;
对上述目的IP地址进行路由查询,若有该目的IP地址有路由命中,则将该数据包送入当前网桥所在的操作系统协议栈的网络层,以实现对该数据包进行三层路由转发。
本发明提供的基于网桥实现三层路由转发的方法,首先获取网桥需要转发的数据包的目的IP地址,当数据包中的目的IP地址有路由命中时,将数据包送入当前网桥的操作系统协议栈,则该数据包自动跳过数据链路层直接进入网络层进行基于IP地址的路由转发,无需手动为以网桥模式部署到现有网络拓扑中的网关设备添加静态路由即可实现数据包的三层路由转发,方便于快速部署新的网关设备。
具体实施中,上述作为网桥部署到现有网络拓扑结构中的网关设备,操作系统包括但不限于Linux操作系统,并且支持IPv4和/或IPv6的三层路由转发,且该网关设备操作系统中配置的虚拟网桥设备,配置有虚拟接口、内网从属物理接口和外网从属物理接口。本领域技术人员应当理解的是,Linux内核是通过一个虚拟的网桥设备来实现桥接的,而运行着Linux内核的机器本身就是一台主机,有可能就是网络报文(数据包)的目的地,其收到的数据包不仅可能被转发或被丢弃,还可能被送到网络协议栈的上层(网络层),从而被当前设备自己消化。
以一台基于Linux操作系统3.18内核的VPN网关为例,该VPN网关的操作系统中已使用brctl命令配置了虚拟接口名为br0的虚拟的网桥设备,该网桥还被配置了内网从属物理接口eth0和外网从属物理接口eth1。这个虚拟的网桥设备可以绑定若干个以太网接口设备,从而将它们桥接起来。然后利用入口函数从网桥从属物理接口接收数据包,并从中筛选出接收自内网从属物理接口eth0的数据包。在具体实施中,可以利用Linux 3.18内核源代码文件br_input.c中的br_handle_frame函数作为处理接收自网桥从属物理接口的数据包的入口函数,再判断sk_buff类型的结构体所指的数据包是否接收自内网从属物理接口eth0以筛选出接收自内网从属物理接口eth0的数据包。
对于接收自内网从属物理接口eth0的数据包,进一步获取数据包的目的IP地址,具体方法包括:
在网桥所在的操作系统内核(网关设备的操作系统内核)的处理网桥从属物理接口数据包的入口函数中,判断数据包中是否包含IP数据报;
若包含IP数据报,则解析得到IP数据报中的目的IP地址;
若不包含IP数据报,则将数据包转发到当前网桥的外网从属物理接口。
具体实施中,可以通过识别数据包的网络层协议是否为IP协议,判断数据包中是否包含IP数据报,以及通过解析IP数据报的报头得到目的IP地址。这种方式可以方便快捷的识别出包含IP数据报的数据包并获取到该IP数据报中的目的IP地址。
本实施例提供的基于网桥实现三层路由转发的方法中,对所述目的IP地址进行路由查询的方法包括但不限于:
调用网桥所在的操作系统内核中的路由查询API,并将目的IP作为路由查询参数,查询路由表;
若路由查询API返回有效的路由表项,则目的IP有路由命中,并将数据包送入当前网桥所在的操作系统协议栈的网络层;
否则,目的IP没有路由命中,并将数据包转发到当前网桥的外网从属物理接口。
仍以上述基于Linux操作系统3.18内核的VPN网关中配置的虚拟网桥设备实现数据包的三层路由转发为例,以目的IP地址为参数调用Linux内核中IPv4路由查询的关键API“ip_route_output_key函数”查询路由表,若返回的rtable指针不为NULL(空指针)且rtable所指的路由项不是默认路由,则表示有路由命中;其中,默认路由即0.0.0.0/0,也就是如果没有命中到特定网段的路由,就会返回这一条,这里我们认为它没有路由命中。
请继续参阅图3,对所述目的IP地址进行路由查询之后,将包含有路由命中的目的IP地址的数据包送入当前网桥所在的操作系统协议栈的网络层,具体方法包括:
将数据包中以太网帧的MAC地址修改为当前网桥的虚拟接口的MAC地址,同时将数据包的接收接口修改为当前网桥的虚拟接口;
调用网桥的网卡数据包接收API,将修改后的数据包发送到网桥所在的操作系统协议栈的网络层。
在具体实施中,仍以上述基于Linux操作系统3.18内核的VPN网关中配置的虚拟网桥设备实现数据包的三层路由转发为例,将该包含有路由命中的目的IP地址的数据包的以太网帧中的目的MAC地址修改为网桥虚拟接口br0的MAC地址,并将数据包接收接口skb->dev指针修改为网桥虚拟接口br0对应的net_device结构体,然后调用网卡数据包接收API“netif_rx”将数据包重新送回协议栈。这是因为,如果数据包的目的MAC地址为本地MAC地址,该数据包会被传递给上层协议栈,实现数据包从二层(数据链路层)到三层(网络层)的层间传递。之后,该数据包就会跳过数据链路层而直接进入协议栈的网络层,进行真正的IP协议解析、路由查询和三层转发。
同理,本领域技术人员应当理解的是,若利用网关设备中配置的虚拟网桥设备实现IPv6协议下的路由和转发,可采用类似的方法实现,也在本发明的保护范围内。本发明提供的基于网桥实现三层路由转发的方法,实现了将数据包跳过数据链路层直接进入网络层以进行基于IP地址的路由转发,无需手动为以网桥模式部署到现有网络拓扑中的网关设备添加静态路由即可实现数据包的三层路由转发,方便于快速部署新的网关设备。
实施例二
本发明是实施例提供一种基于网桥实现三层路由转发的系统,该系统内置于网关设备的操作系统中,并且该网关设备的操作系统中还配置有虚拟网桥设备。
本实施例提供的基于网桥实现三层路由转发的系统包括:数据包获取模块和网络层预处理模块。其中,数据包获取模块用于获取网桥需要转发的数据包,并获取数据包的目的IP地址,其中,网桥为:配置在网关设备操作系统中的虚拟设备;网络层预处理模块用于对所述目的IP地址进行路由查询,若有路由命中,则将数据包送入当前网桥所在的操作系统协议栈的网络层。
本发明提供的基于网桥实现三层路由转发的系统,采用上述实施例一提供的基于网桥实现三层路由转发的方法,在网桥处理接收到的数据包时筛选出需要按IP地址进行路由转发的数据包,并将该数据包直接送入操作系统协议栈的网络层,以减少网络拓扑工作的作业量,方便于在现有的网络拓扑结构中快速部署新的网关设备。与现有技术相比,本发明实施例提供的基于网桥实现三层路由转发的系统的有益效果与上述实施例一提供的基于网桥实现三层路由转发的方法的有益效果相同,且该系统中的其他技术特征与上一实施例方法公开的特征相同,在此不做赘述。
实施例三
一种网关设备,网关设备通过网桥模式部署到网络拓扑结构中,网关设备的操作系统中配置有虚拟网桥设备,且网关设备的操作系统中内置有上述实施例二中的基于网桥实现三层路由转发的系统。具体实施中,该网关设备操作系统包括但不限于Linux操作系统,并且网关设备支持IPv4和/或IPv6的三层路由转发。
本发明提供的网关设备,内置有上述基于网桥实现三层路由转发的系统,该网关设备在以网桥模式部署到现有网络拓扑结构中时,无需手动添加静态路由即可实现数据包的三层路由转发,减少了网络拓扑工作的作业量。与现有技术相比,由于该网关设备内置的基于网桥实现三层路由转发的系统,采用上述实施例一所述的基于网桥实现三层路由转发的方法,因此,本发明实施例提供的网关设备的有益效果与上述实施例一提供的基于网桥实现三层路由转发的方法的有益效果相同,且该网关设备中的其他技术特征与上一实施例方法公开的特征相同,在此不做赘述。
实施例四
本发明实施例提供一种计算机可读存储介质,具有存储在其上的计算机可读程序指令,计算机可读程序指令用于执行上述实施例一中的基于网桥实现三层路由转发的方法。
本发明实施例提供的计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、系统或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、系统或者器件使用或者与其结合使用。计算机可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读存储介质可以是电子设备中所包含的;也可以是单独存在,而未装配入电子设备中。
上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被电子设备执行时,使得电子设备:获取至少两个网际协议地址;向节点评价设备发送包括所述至少两个网际协议地址的节点评价请求,其中,所述节点评价设备从所述至少两个网际协议地址中,选取网际协议地址并返回;接收所述节点评价设备返回的网际协议地址;其中,所获取的网际协议地址指示内容分发网络中的边缘节点。
或者,上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被电子设备执行时,使得该电子设备:接收包括至少两个网际协议地址的节点评价请求;从所述至少两个网际协议地址中,选取网际协议地址;返回选取出的网际协议地址;其中,接收到的网际协议地址指示内容分发网络中的边缘节点。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,模块的名称在某种情况下并不构成对该单元本身的限定,例如,数据包获取模块还可以被描述为“用于获取网桥需要转发的数据包,并获取数据包的目的IP地址的模块”。
本发明提供的计算机可读存储介质,存储有用于执行上述实施例一中提供的基于网桥实现三层路由转发的方法的计算机可读程序指令,实现了将数据包跳过数据链路层直接进入网络层以进行基于IP地址的路由转发,无需手动为以网桥模式部署到现有网络拓扑中的网关设备添加静态路由即可实现数据包的三层路由转发,方便于快速部署新的网关设备。与现有技术相比,本发明实施例提供的计算机可读存储介质的有益效果与上述实施例一提供的基于网桥实现三层路由转发的方法的有益效果相同,在此不做赘述。
在上述实施方式的描述中,具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (9)

1.一种基于网桥实现三层路由转发的方法,其特征在于,包括:
通过网桥的内网从属物理接口获取网桥需要转发的数据包,并获取所述数据包的目的IP地址,其中,所述网桥为:配置在网关设备操作系统中的虚拟设备;
通过网桥所在的操作系统内核中的路由查询API对所述目的IP地址进行路由查询,若所述目的IP地址有路由命中,则通过网桥的网卡数据包接收API将所述数据包送入当前网桥所在的操作系统协议栈的网络层。
2.根据权利要求1所述的基于网桥实现三层路由转发的方法,其特征在于,获取所述数据包的目的IP地址的方法包括:
判断所述数据包中是否包含IP数据报;
若包含IP数据报,则解析得到所述IP数据报中的目的IP地址;
若不包含IP数据报,则将所述数据包转发到当前网桥的外网从属物理接口。
3.根据权利要求2所述的基于网桥实现三层路由转发的方法,其特征在于,通过识别所述数据包的网络层协议是否为IP协议,判断所述数据包中是否包含IP数据报;
通过解析所述IP数据报的报头得到所述目的IP地址。
4.根据权利要求1所述的基于网桥实现三层路由转发的方法,其特征在于,所述通过网桥所在的操作系统内核中的路由查询API对所述目的IP地址进行路由查询,包括:
调用网桥所在的操作系统内核中的路由查询API,并将所述目的IP作为路由查询参数,查询路由表;
若所述路由查询API返回有效的路由表项,则所述目的IP有路由命中,并将所述数据包送入当前网桥所在的操作系统协议栈的网络层;
否则,所述目的IP没有路由命中,并将所述数据包转发到当前网桥的外网从属物理接口。
5.根据权利要求1或4所述的基于网桥实现三层路由转发的方法,其特征在于,所述通过网桥的网卡数据包接收API将包含有路由命中的目的IP地址的数据包送入当前网桥所在的操作系统协议栈的网络层,包括:
将所述数据包中以太网帧的MAC地址修改为当前网桥的虚拟接口的MAC地址,同时将所述数据包的接收接口修改为当前网桥的虚拟接口;
调用网桥的网卡数据包接收API,将修改后的数据包发送到网桥所在的操作系统协议栈的网络层。
6.一种基于网桥实现三层路由转发的系统,其特征在于,内置于配置有虚拟网桥设备的网关设备的操作系统中,包括数据包获取模块和网络层预处理模块,其中,
所述数据包获取模块用于通过网桥的内网从属物理接口获取网桥需要转发的数据包,并获取所述数据包的目的IP地址,其中,所述网桥为:配置在网关设备操作系统中的虚拟设备;
所述网络层预处理模块用于通过网桥所在的操作系统内核中的路由查询API对所述目的IP地址进行路由查询,若所述目的IP地址有路由命中,则通过网桥的网卡数据包接收API将所述数据包送入当前网桥所在的操作系统协议栈的网络层。
7.一种网关设备,其特征在于,所述网关设备通过网桥模式部署到网络拓扑结构中,所述网关设备的操作系统中配置有虚拟网桥设备,且所述网关设备的操作系统中内置有权利要求6所述的基于网桥实现三层路由转发的系统。
8.根据权利要求7所述的网关设备,其特征在于,所述网关设备操作系统包括但不限于Linux操作系统,并且所述网关设备支持IPv4和/或IPv6的三层路由转发。
9.一种计算机可读存储介质,其特征在于,具有存储在其上的计算机可读程序指令,所述计算机可读程序指令用于执行权利要求1至5中任一项所述的基于网桥实现三层路由转发的方法。
CN202110320277.2A 2021-03-25 2021-03-25 基于网桥实现三层路由转发的方法、系统及网关设备 Active CN112953833B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110320277.2A CN112953833B (zh) 2021-03-25 2021-03-25 基于网桥实现三层路由转发的方法、系统及网关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110320277.2A CN112953833B (zh) 2021-03-25 2021-03-25 基于网桥实现三层路由转发的方法、系统及网关设备

Publications (2)

Publication Number Publication Date
CN112953833A CN112953833A (zh) 2021-06-11
CN112953833B true CN112953833B (zh) 2022-04-15

Family

ID=76228519

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110320277.2A Active CN112953833B (zh) 2021-03-25 2021-03-25 基于网桥实现三层路由转发的方法、系统及网关设备

Country Status (1)

Country Link
CN (1) CN112953833B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114448750A (zh) * 2022-01-19 2022-05-06 深圳市联洲国际技术有限公司 一种纯网桥模式的通信方法、装置、设备及介质
CN115412428B (zh) * 2022-08-04 2023-09-12 广州通则康威智能科技有限公司 一种移动蜂窝网络与有线网络之间的热备份方法及装置

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6971005B1 (en) * 2001-02-20 2005-11-29 At&T Corp. Mobile host using a virtual single account client and server system for network access and management
CN101068229A (zh) * 2007-06-08 2007-11-07 北京工业大学 一种基于网络过滤器的内容过滤网关实现方法
CN101247266A (zh) * 2008-03-21 2008-08-20 深圳国人通信有限公司 以太网中进行数据处理的方法
CN102404220A (zh) * 2011-11-25 2012-04-04 湖南军通信息科技有限公司 一种基于私有协议的安全路由器的设备及实现方法
CN102932229A (zh) * 2012-11-20 2013-02-13 成都卫士通信息产业股份有限公司 一种对数据包进行加解密处理的方法
CN103001883A (zh) * 2012-12-17 2013-03-27 重庆邮电大学 一种基于NetFPGA的可编程虚拟路由器内部通信方法
CN104348929A (zh) * 2014-09-26 2015-02-11 重庆邮电大学 一种用于6LoWPAN接入IPv4 Internet的边缘路由器及接入方法
CN107959631A (zh) * 2017-12-15 2018-04-24 佛山市校友桥网络科技有限公司 一种基于OpenWrt操作系统的6LoWPAN边界路由器的实现方法
CN109361606A (zh) * 2018-09-28 2019-02-19 新华三技术有限公司 一种报文处理系统及网络设备
CN110602262A (zh) * 2018-06-13 2019-12-20 网宿科技股份有限公司 路由器及其处理数据报文的方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6477145B1 (en) * 1998-12-30 2002-11-05 At&T Corp. Method and apparatus for using video memory to buffer data packets for presentation to a data network
US6426944B1 (en) * 1998-12-30 2002-07-30 At&T Corp Method and apparatus for controlling data messages across a fast packet network
US7415019B2 (en) * 2003-08-22 2008-08-19 Samsung Electronics Co., Ltd. Apparatus and method for collecting active route topology information in a mobile ad hoc network
CN1756189B (zh) * 2004-09-30 2010-04-14 北京航空航天大学 基于snmp的ip网络拓扑发现方法
US20110158160A1 (en) * 2009-12-31 2011-06-30 Elster Electricity, Llc Ip encapsulation and routing over wireless radio networks
CN102761483B (zh) * 2012-06-29 2014-12-10 成都卫士通信息产业股份有限公司 一种不占用ip地址的隧道实现方法、系统及设备
CN102801567B (zh) * 2012-08-28 2015-07-08 北京傲天动联技术股份有限公司 分层网络拓扑自动发现的方法和分层网络拓扑组建的方法
CN102868647B (zh) * 2012-09-26 2015-06-03 大唐移动通信设备有限公司 一种基于Linux网络内核的数据处理方法和装置
CN103051477A (zh) * 2012-12-24 2013-04-17 中兴通讯股份有限公司 一种网络拓扑自动获取方法及系统、网络管理系统
CN105072038B (zh) * 2015-08-28 2018-12-21 华讯方舟科技有限公司 一种数据报文转发方法及装置
CN107181812B (zh) * 2017-06-08 2020-05-22 网宿科技股份有限公司 一种加速代理设备、加速代理方法以及一种内容管理系统
US11438252B2 (en) * 2019-04-04 2022-09-06 Microsoft Technology Licensing, Llc Packet drop detection in local networking stack through packet correlation

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6971005B1 (en) * 2001-02-20 2005-11-29 At&T Corp. Mobile host using a virtual single account client and server system for network access and management
CN101068229A (zh) * 2007-06-08 2007-11-07 北京工业大学 一种基于网络过滤器的内容过滤网关实现方法
CN101247266A (zh) * 2008-03-21 2008-08-20 深圳国人通信有限公司 以太网中进行数据处理的方法
CN102404220A (zh) * 2011-11-25 2012-04-04 湖南军通信息科技有限公司 一种基于私有协议的安全路由器的设备及实现方法
CN102932229A (zh) * 2012-11-20 2013-02-13 成都卫士通信息产业股份有限公司 一种对数据包进行加解密处理的方法
CN103001883A (zh) * 2012-12-17 2013-03-27 重庆邮电大学 一种基于NetFPGA的可编程虚拟路由器内部通信方法
CN104348929A (zh) * 2014-09-26 2015-02-11 重庆邮电大学 一种用于6LoWPAN接入IPv4 Internet的边缘路由器及接入方法
CN107959631A (zh) * 2017-12-15 2018-04-24 佛山市校友桥网络科技有限公司 一种基于OpenWrt操作系统的6LoWPAN边界路由器的实现方法
CN110602262A (zh) * 2018-06-13 2019-12-20 网宿科技股份有限公司 路由器及其处理数据报文的方法
CN109361606A (zh) * 2018-09-28 2019-02-19 新华三技术有限公司 一种报文处理系统及网络设备

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Development of Wi-Fi Based Home Energy Monitoring System for Green Internet of Things;Mohamed Hadi Habaebi等;《Journal of Electronic Science and Technology》;20160915(第03期);全文 *
基于透传的IPv6个人区域网无线网关设计;刘本仓等;《电视技术》;20141202(第23期);全文 *
改进及优化Linux网络协议栈;童浩等;《电子科技大学学报》;20071220;全文 *

Also Published As

Publication number Publication date
CN112953833A (zh) 2021-06-11

Similar Documents

Publication Publication Date Title
US10237230B2 (en) Method and system for inspecting network traffic between end points of a zone
KR101868633B1 (ko) 마이그레이션들 동안 네트워크 재구성을 자동화하는 방법
US9596318B2 (en) Dynamic network device processing using external components
CN106850324B (zh) 虚拟网络接口对象
CN112953833B (zh) 基于网桥实现三层路由转发的方法、系统及网关设备
EP3664372A1 (en) Network management method and related device
US10461958B2 (en) Packet transmission method and apparatus
CN113709810B (zh) 一种网络服务质量的配置方法、设备和介质
CN104040538B (zh) 一种互联网应用交互方法、装置及系统
CN113220484A (zh) 一种微服务调用方法、装置、电子设备及存储介质
CN110324244B (zh) 一种基于Linux虚拟服务器的路由方法及服务器
US20130124721A1 (en) Detected IP Link and Connectivity Inference
CN114025000B (zh) 网络访问关系的建立方法、装置、设备及存储介质
CN105939344B (zh) 一种tcp连接的建立方法及装置
US8943123B2 (en) Server apparatus, network access method, and computer program
CN106534398A (zh) 一种用于IPv6网络的装置及方法
CN104994137B (zh) 一种网络透明代理的方法
CN111131135B (zh) 数据传输方法、系统、计算机可读存储介质及电子设备
CN114666249A (zh) 云平台上的流量采集方法、设备以及计算机可读存储介质
CN115277308B (zh) 云资源池sslvpn设备部署方法和装置
CN110650222A (zh) 一种网络访问方法及装置
US11916741B1 (en) Discovery of application relationships in clusters
CN114039814B (zh) 一种报文转发方法、装置、电子设备及存储介质
CN114221808B (zh) 安全策略部署方法、装置、计算机设备及可读存储介质
CN111953565B (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