著录项信息
专利名称 | 双模式防火墙 |
申请号 | CN200480033474.0 | 申请日期 | 2004-11-16 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2006-12-13 | 公开/公告号 | CN1879388 |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04L29/06 | IPC分类号 | H;0;4;L;2;9;/;0;6查看分类表>
|
申请人 | 思科技术公司 | 申请人地址 | 美国加利福尼亚州
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 思科技术公司 | 当前权利人 | 思科技术公司 |
发明人 | 卡迈史·阿库恩迪;托马斯·谷尔特;约翰·格瓦弗;拉詹·古雅尔 |
代理机构 | 北京东方亿思知识产权代理有限责任公司 | 代理人 | 王怡 |
摘要
提供了用于实现双模式防火墙的方法和设备。某些实现方式提供了一种网络设备中的防火墙,其充当用于第2层流量的网桥,并且还充当用于第3层流量的路由器。在某些实现方式中,基于处理分组的接口的配置,确定是充当用于分组的网桥还是路由器。在某些实现方式中,网络设备检查每个分组的目的地来确定是充当用于该分组的网桥还是路由器。防火墙根据在该防火墙中实现的策略来筛选第2和第3层流量。
1.一种防火墙,包括:
第一端口,配置为用于与第一网络内的第一设备通信;
第二端口,配置为用于与所述第一网络内的第二设备通信;
第三端口,配置为用于在所述第一网络和第二网络之间通信;以及
至少一个处理器,配置为:
确定传入分组的第一部分应当被桥接,所述第一部分具有所述第一网络内的第一目的地地址和第一源地址;
对所述第一部分应用第一筛选过程;
确定传入分组的第二部分应当被路由,所述第二部分具有在所述第一网络外的第二目的地地址或第二源地址;以及
对所述第二部分应用第二筛选过程。
2.如权利要求1所述的防火墙,其中,所述至少一个处理器配置为根据生成树协议控制所述第一设备和所述第二设备之间的流量。
3.如权利要求1所述的防火墙,其中,所述至少一个处理器配置为根据分组的第2层头部中的一个或多个字段,控制所述第一设备和所述第二设备之间的流量。
4.如权利要求1所述的防火墙,其中,所述至少一个处理器配置为对分组执行初始校验,其中所述初始校验的过程是从以下组中选择出的:用于广播的校验、用于多播的校验、以及用于因特网协议片段的校验。
5.如权利要求1所述的防火墙,其中,所述至少一个处理器配置为根据在第3到第7层中的一层或多层中实现的安全策略,应用所述第一筛选过程。
6.如权利要求3所述的防火墙,其中,所述至少一个处理器配置为根据应用到所述分组的第2层头部中的一个或多个字段的第2层访问列表,控制所述第一设备和所述第二设备之间的流量。
7.如权利要求1所述的防火墙,其中,所述至少一个处理器配置为根据在第3到第7层中的一层或多层中实现的安全策略,应用所述第二筛选过程。
8.如权利要求1所述的防火墙,还包括配置为构造网桥表的控制平面。
9.如权利要求8所述的防火墙,其中,所述控制平面还配置为检查DHCP、ARP或OSPF分组中的一种或多种。
10.如权利要求8所述的防火墙,其中,所述控制平面还配置为构造路由表。
11.如权利要求1所述的防火墙,还包括配置为强制执行筛选策略的数据平面。
12.如权利要求11所述的防火墙,其中,所述数据平面还配置为确定是桥接还是路由分组。
13.如权利要求12所述的防火墙,其中,所述数据平面还配置为在发送分组之前重写分组头部。
14.一种用于实现防火墙的设备,包括:
用于接收传入分组的装置;
用于确定所述传入分组的第一部分应当被桥接的装置,所述第一部分具有第一网络内的第一目的地地址和第一源地址;
用于对所述第一部分应用第一筛选过程的装置;
用于确定传入分组的第二部分应当被路由的装置,所述第二部分具有在所述第一网络外的第二目的地地址或第二源地址;以及
用于对所述第二部分应用第二筛选过程的装置。
15.如权利要求14所述的设备,还包括用于致使所述防火墙基于所述第一部分的媒体访问控制地址信息执行网桥查找的装置。
16.如权利要求14所述的设备,其中,所述用于应用第一筛选过程的装置还包括用于致使所述防火墙执行访问列表校验的装置。
17.如权利要求14所述的设备,其中,所述用于应用第二筛选过程的装置还包括用于致使所述防火墙执行访问列表校验的装置。
18.一种用于实现防火墙的方法,包括:
接收传入分组;
确定所述传入分组的第一部分应当被桥接,所述第一部分具有第一网络内的第一目的地地址和第一源地址;
对所述第一部分应用第一筛选过程;
确定所述传入分组的第二部分应当被路由,所述第二部分具有在所述第一网络外的第二目的地地址或第二源地址;以及
对所述第二部分应用第二筛选过程。
19.如权利要求18所述的方法,其中,所述确定第一部分应当被桥接的步骤包括基于所述第一部分的媒体访问控制地址信息执行网桥查找。
20.如权利要求18所述的方法,其中,所述第二筛选过程包括执行访问列表校验。
21.如权利要求18所述的方法,其中,所述第一筛选过程包括应用在第3到第7层中的一层或多层中实现的安全策略。
双模式防火墙\n技术领域\n[0001] 本发明涉及网络技术。更具体地说,本发明涉及防火墙。\n背景技术\n[0002] 防火墙是一种重要的工具,用于保护网络或网络的多个部分。一般而言,防火墙用于对网络的多个部分之间(例如,子网之间)的、专用网络和其他网络(例如,因特网)之间等的流量进行过滤。防火墙基于在防火墙中配置的策略检查从例如一个子网路由到另一个子网的分组。术语“分组”在这里宽泛地用来包括帧、真正的分组和类似的数据单元。\n[0003] 如果防火墙布置在专用网络和因特网之间,则因特网在该防火墙“外部”,而该专用网络在该防火墙“内部”。例如,防火墙可以配置为准许防火墙内部的节点不受限制地访问因特网,同时检查来自防火墙外部的分组,以过滤出“垃圾邮件”、病毒等。\n[0004] 当前的防火墙一般工作在第3层(L3),尽管某些工作在第2层(L2)。因此,部署防火墙一般意味着在内部和外部网段之间存在第3层(子网)隔离部分。如果防火墙在例如充当具有预先存在的子网隔离部分的路由器的网络设备上运行,则这是可接受的。然而,当要将防火墙放置在现有网络内时,情况就变得复杂。在这种情形中,网络必须重新被划分为子网,以围绕防火墙构建该网络,该任务是乏味并且资源密集的。\n[0005] 因此,希望实现改进的方法和设备以实现防火墙。\n发明内容\n[0006] 提供了用于实现双模式防火墙的方法和设备。某些实现方式提供了一种网络设备中的防火墙,其充当用于第2层流量的网桥,并且还充当用于第3层流量的路由器。在某些实现方式中,基于处理分组的接口的配置,确定是充当用于分组的网桥还是路由器。在某些实现方式中,网络设备检查每个分组的目的地来确定是充当用于该分组的网桥还是路由器。防火墙根据在该防火墙中实现的策略来筛选第2和第3层流量。\n[0007] 本发明的某些实施例提供了一种防火墙。该防火墙包括:配置为用于与第一网络内的第一设备通信的第一端口;配置为用于与第一网络内的第二设备通信的第二端口;配置为用于在第一网络和第二网络之间通信的第三端口;以及至少一个处理器。\n[0008] 这一个或多个处理器配置为执行以下操作:确定传入分组的第一部分应当被桥接,所述第一部分具有第一网络内的第一目的地地址和第一源地址;对所述第一部分应用第一筛选过程;确定传入分组的第二部分应当被路由;以及对所述第二部分应用第二筛选过程。\n[0009] 这一个或多个处理器可以配置为根据生成树协议控制第一网络内的(例如,第一设备和第二设备之间的)流量,并且可以配置为根据分组的第2层头部中的一个或多个字段,控制第一设备和第二设备之间的流量。\n[0010] 这一个或多个处理器可以配置为对分组执行初始校验,例如校验分组应当被广播还是多播,或者校验因特网协议片段。筛选过程可以基于对第2到第7层中的一层或多层的检查实现。这一个或多个处理器可以配置为允许动态主机配置协议(“DHCP”)分组在检查或不检查的情况下通过。\n[0011] 这一个或多个处理器可以配置为根据应用到分组的第2层头部中的一个或多个字段的第2层访问列表,控制第一设备和第二设备之间的流量。所述字段例如可以是源媒体访问控制地址字段、目的地媒体访问控制字段或者协议字段。\n[0012] 本发明的某些实现方式提供了一种实现防火墙的方法。该方法包括以下步骤:接收第一分组和第二分组;确定第一分组应当被桥接,第一分组具有第一网络内的第一目的地地址和第一源地址;对第一分组应用第一筛选过程;确定第二分组应当被路由;以及对第二分组应用第二筛选过程。\n[0013] 桥接步骤可以包括基于第一分组的媒体访问控制地址信息执行网桥查找。筛选过程可以基于对第2层到第7层中的一层或多层的检查实现。筛选过程可以包括执行访问列表校验。\n[0014] 本发明的替换实施例提供了一种包含在计算机可读介质中的计算机程序。所述计算机程序包括用于控制防火墙执行以下步骤的指令:接收第一分组和第二分组;确定第一分组应当被桥接,第一分组具有第一网络内的第一目的地地址和第一源地址;对第一分组应用第一筛选过程;确定第二分组应当被路由;以及对第二分组应用第二筛选过程。\n[0015] 该计算机程序还可以包括用于致使防火墙基于第一分组的媒体访问控制地址信息执行网桥查找的指令。该计算机程序还可以包括用于致使防火墙执行访问列表校验的指令。筛选过程可以基于对第2层到第7层中的一层或多层的检查实现。\n附图说明\n[0016] 图1是示出了防火墙的某些用途的网络图。\n[0017] 图2是示出了根据本发明某些方面的双模式防火墙的网络图。\n[0018] 图3是概括了根据本发明的方法的某些通用概念的流程图。\n[0019] 图4是示出了根据本发明的方法的更多细节的流程图。\n[0020] 图5示出了可以配置为实现本发明的某些方面的网络设备的简化版本。\n具体实施方式\n[0021] 在下面的描述中,阐述了很多具体细节,以便于充分理解本发明。但是,没有这些具体细节中的全部或一些,也可以实施本发明,这对于本领域的技术人员来说是很明显的。\n在另外一些例子里,没有详细描述公知的过程步骤,以免淡化了本发明。\n[0022] 图1示出了防火墙在各种网络中的某些用途。家庭办公室135包括个人计算机140、电话145、无线接入点150和打印机155。服务提供者已安装了客户家庭设备(“CPE”)160来向家庭办公室135提供因特网接入。CPE160例如可以向家庭办公室135中的元件提供DCHP地址。\n[0023] 安装L3防火墙165可能带来复杂的问题,除非根据本发明配置防火墙。例如,现有技术的L3防火墙不一定通过动态主机配置协议(“DHCP”)地址。(本领域技术人员知道,DHCP提供了一种用于动态分配IP地址的机制,以便在主机不再需要地址时可以重用这些地址。)如果DHCP地址不能通过,则家庭办公室135中的设备将需要重新编号。防火墙将需要网络地址转换(“NAT”)。但是,某些防火墙(尤其是以家庭使用为市场的廉价防火墙)可能不允许应用程序与NAT一起运行。根据本发明的网络设备可以提供第2层(“L2”)流量的透明转发和L3路由能力,并且在L2和L3中实现安全策略。例如,家庭办公室135除了过滤来自因特网130的垃圾邮件之外,还可以实现无线接入点150和家庭办公室135的其他元件之间的L2筛选。\n[0024] 分支办公网络105包括经由以太网连接到网络设备120的主机110,其中网络设备120包括防火墙。网络设备120经由广域网(“WAN”)125连接到因特网130。如果网络设备120是根据本发明配置的,则网络设备120可以提供节点110之间的L2流量的透明转发、WAN125上的L3路由能力、以及在L2和L3中实现安全策略。例如,网络设备120可以实现L2安全策略,L2安全策略准许节点110a向节点110b发送分组,但是反之不可。网络设备120还可以实现L3安全策略,L3安全策略限制因特网130和分支办公网络105之间的流量。类似的功能也可以由网络设备175提供给局域网170。\n[0025] 根据本发明配置的网络设备可以充当路由器,也可以充当网桥(例如,IEEE802.1d网桥)。优选实施例执行基本桥接操作,用于在端口上获知媒体访问控制(“MAC”)地址,来限制冲突域。优选实施例还运行生成树协议(“STP”)来防止在网络拓扑中形成环。STP例如在美国专利No.6,535,491中有所描述,该专利通过引用整体结合于此。网络设备的某些这种实施例维护将MAC地址映射到目的地端口的桥接表。\n[0026] 网络设备可以充当各种媒体之间的透明网桥,所述媒体例如是以太网、令牌环和FDDI。另外,网络设备还可以工作为一侧的LAN媒体和另一侧的ATM、帧中继、PPP等之间的传输网桥。优选实施例使用“网桥群组”的概念来标识要桥接的接口。根据某些实施例,透明桥接模块从网络设备的设备驱动器中被调用,并且在中断上下文中执行。优选地,也存在用于桥接不能在中断路径中桥接的某些分组的处理路径。某些L3特征可能不被桥接模块的桥接代码调用。\n[0027] 网络设备优选在L2和L3中实现安全策略。例如,某些实施例支持在配置为用于桥接的接口上的MAC(L2)访问列表。某些这种网络设备确定是否要根据分组中的目的地L2和/或L3地址来桥接或路由分组。\n[0028] 根据本发明的某些网络设备可以在某些接口上桥接,并且向用于路由的路由代码呈现为L3网桥群组虚拟接口(“BVI”)。BVI是用于集成路由和桥接(IRB)特征的接口。\n利用IRB,可以在单个交换路由器内的网桥群组和被路由的接口之间路由给定的协议。具体而言,本地或不可路由的流量将在同一网桥群组中的桥接的接口之间被桥接,而可路由的流量将被路由到其他被路由的接口或网桥群组。\n[0029] 由于桥接是发生在数据链路层(第2层)中,而路由是发生在网络层(第3层)中,因此它们具有不同的协议配置模型。例如,利用IP,网桥群组接口属于同一网络,并且具有共同的IP网络地址。相反,每个被路由的接口代表不同的网络,并且具有其自身的IP网络地址。IRB利用BVI的概念来使这些接口能够交互给定协议的分组。\n[0030] BVI是网络设备内的虚拟接口,并且象正常的被路由接口一样动作。BVI不支持桥接,但是它实际上代表与交换路由器内的被路由接口相对应的网桥群组。接口号是BVI和网桥群组之间的链路。\n[0031] 现在将参考图2描述对双模式防火墙的高级别描述。在本示例中,当主机205向主机210发送分组时,网络设备215根据L2地址桥接该分组,其中L2地址在本实例中是MAC地址。在这里,接口220和225配置为用于桥接。网络设备接收到该分组,确定主机205和\n210在同一个网桥群组中,并且确定出主机205被准许向主机210发送分组,然后将该分组桥接到主机210。在这里,主机205和210在同一子网内(10.10.10),所以无需在网络200中创建额外的子网来安装网络设备215。\n[0032] 接口223连接到BVI230,其是用于网络200中的所有主机的默认网关。在本示例中,如果网络200中的任意主机需要发送分组到因特网240(或者到网络200外的任意网络),则主机将该分组的地址设定为BVI的MAC地址。优选地,BVI将根据在L3中实现的安全策略来路由(或不路由)分组。类似地,网络设备215优选根据在L3中实现的安全策略对由BVI从网络200的外部(例如,从因特网240)接收到的分组执行筛选和转发判决。但是,安全策略可以是基于对第2到第7层中的一层或多层进行检查实现的。优选地,在L3防火墙255上实现的新特征自动为L2防火墙235工作。\n[0033] 根据本发明的优选实施例,配置L2防火墙包括如上所述配置网桥群组,并且将接口放入网桥群组中。网桥群组将指示出哪个接口可以从另一个接口接收分组。配置L2防火墙还包括根据本领域技术人员已知的方法来实现安全策略、用于检查/审查分组的功能等。例如,访问控制列表(“ACL”)可以根据安全策略而被实现在网桥中的任何接口上。尽管安全策略可以仅基于在L2中的检查,但是安全策略也可以基于对层L2到L7中的一层或多层的检查。与上述L3防火墙的情形一样,该配置隐含有“内部”或“外部”接口的概念。\n[0034] 现在参考图3和图4解释配置为双模式防火墙的网络设备的操作。图3提供了对该操作的非常宽广的概述,而图4更详细概括了某些实现方式的操作。\n[0035] 图3的方法300开始于步骤305,在该步骤中网络设备的接口接收到分组。在步骤\n310中,确定出分组是否需要被路由或桥接。如果分组应当被桥接,则在步骤320中例如根据L2ACL筛选分组。在步骤320中,根据在从L2到L7中的任意预定的一层或多层的检查确定是否桥接分组。根据步骤320的判决,分组被丢弃(步骤325)或者被桥接(步骤330)。\n[0036] 如果分组应当被路由,则过程从步骤310继续到步骤340。在步骤340中,根据在从L2到L7中的任意预定的一层或多层的检查确定是否路由分组。根据步骤340的判决,分组被丢弃(步骤345)或者被路由(步骤350)。\n[0037] 现在参考图4,解释某些实现方式的进一步细节。在步骤405中,分组从网络设备的接口到达,并且被在第1层工作的网络驱动器获得。网络驱动器将分组转发到用于确定在分组到达的接口上是否配置了桥接的模块(例如,桥接模块245)(步骤415)。\n[0038] 如果在接口上配置了桥接,则在步骤420中判决分组应当被桥接还是被路由。根据某些实现方式,步骤420中的判决是根据分组的MAC地址是否在桥接表中而作出的。本领域技术人员知道,桥接表通常是通过“监听”网络并存储MAC地址填充的。如果分组的MAC地址在桥接表中,则分组将被桥接。如果分组的MAC地址不在桥接表中,则分组将被发送到路由器方以进一步处理。\n[0039] 对于MAC地址在桥接表中的分组,过程前进到步骤425,在该步骤中,查找桥接表查找来确定用于该分组的输出接口。然后,在步骤430中,检查输入接口来确定输入接口是否是BVI。如果是,则根据优选实施例,将假设分组已经穿过L3防火墙。如果不是,则根据在层L2到L7中的任意层处应用的安全策略对分组进行评估(步骤435)。然后,分组被发送到网络驱动器(步骤440),然后发送出出口端口(步骤445)。\n[0040] 如果在入口接口上未配置桥接,则步骤415后到达步骤450,在该步骤中,为L3模块准备分组。例如,在步骤450中,数据可以被缓存到将在稍后在L3处理中使用的数据结构中。在步骤455中,进行IP访问校验和IP路由判决。在步骤460中,根据L3防火墙的安全策略对分组进行评估。\n[0041] 在步骤465中,输出接口被评估以确定该接口是否是BVI。如果输出接口是BVI,则在步骤470中输入接口被标记为BVI,并且分组被发送到桥接模块(例如,桥接模块245),以进一步处理。然后,分组经过步骤425、430和440,随后在步骤445中被发送出适当的接口。如果输出接口不是BVI,则该过程从步骤465到达步骤475:分组被当作正常路由的分组,被发送到网络驱动器(步骤440),然后发送出适当的接口(步骤445)。\n[0042] 桥接模块和L3防火墙代码之间的L2软件接口优选地关注调用IPACL。在这种实现方式中,L2软件接口调用所有IP分组的入站和出站IPACL,而不考虑是否在分组的输入和输出接口上配置了检查。所需要的仅是在网桥群组中的任意一个接口上配置了ACL。例如,假设接口A、B和C在网桥群组中,在A上配置了检查(进入方向),并且在C上配置了IPACL(进入方向)。在本示例中,从C到B的分组将受到IP ACL校验,尽管在B或C上未配置检查。否则,从C到A的分组将受到ACL校验,但是从C到B的分组则不会这样。\n[0043] 网桥一侧的客户应当能够从在另一侧的DHCP服务器获得IP地址。为了帮助实现该功能,L2防火墙优选允许DHCP分组在不被检查的情况下被桥接,并且不影响网络上的现有DHCP操作。但是,DHCP分组在其他实现方式中被检查。在某些实现方式中,其他类型的分组,例如,OSPF分组、BGP分组、ARP分组等也可以在不被检查的情况下通过。但是,在其他实现方式中这种分组被检查。\n[0044] 本发明的各种实现方式为外出到因特网(在路由器接口的外部)的流量提供了NAT,同时仍使用专用地址用于在内部网桥接口之间的桥接。此外,本发明提供了以下能力:\n在防火墙上运行路由协议,并且允许动态路由而不是配置静态路线。本发明还提供了将DHCP请求通过网桥接口从主机中继到连接到一个路由器接口的DHCP服务器的能力。这些和其他特征提供了容易的部署,在该部署中可用诸如DHCP之类的服务。\n[0045] 图5图示了可以配置来实现本发明的某些方法的网络设备的示例。网络设备560包括主中央处理单元(CPU)562、接口568和总线567(例如,PCI总线)。一般而言,接口568包括端口569,端口569适于与适当的介质通信。在某些实施例中,一个或多个接口568包括至少一个独立处理器574,并且在某些实例中,还包括易失性RAM。独立处理器574例如可以是ASIC或任何其他适当的处理器。根据某些这种实施例,这些独立处理器574至少执行这里所述逻辑的某些功能。在某些实施例中,一个或多个接口568控制诸如媒体控制和管理之类的通信密集任务。通过为通信密集任务提供独立的处理器,接口568允许主微处理器562有效地执行其他功能,例如,路由计算、网络诊断、安全功能等。\n[0046] 接口568一般作为接口卡提供(有时称作“线路卡”)。一般而言,接口568控制通过网络发送和接收数据分组,并且有时还支持与网络设备560一起使用的其他外设。可以提供的接口有FC接口、以太网接口、帧中继接口、线缆接口、DSL接口、令牌环接口等。另外,也可以提供各种甚高速接口,例如,快速以太网接口、G比特以太网接口、ATM接口、HSSI接口、POS接口、FDDI接口、ASI接口、DHEI接口等。\n[0047] 在本发明的某些实现方式中,当在适当的软件或固件的控制下动作时,CPU562可以负责实现与期望的网络设备的功能相关联的特定功能。根据某些实施例,CPU562在软件控制下完成所有这些功能,所述软件包括操作系统(例如,Cisco IOS、由Cisco Systems,Inc.开发的专有操作系统,等)和任何合适的应用软件。\n[0048] CPU562可以包括一个或多个处理器563,例如来自Motorola微处理器族或者MIPS微处理器族的处理器。在替换实施例中,处理器563是专门设计的硬件,用于控制网络设备\n560的操作。在特定实施例中,存储器561(例如,非易失性RAM和/或ROM)还形成CPU562的一部分。但是,存在多种可以将存储器耦合到系统的方式。存储器块561可以用于各种目的,例如,缓存和/或存储数据、编程指令等。\n[0049] 不考虑网络设备的配置,可以采用一个或多个存储器或存储器模块(例如,存储器块565),这些存储器或存储器模块配置来存储数据、用于通用网络操作的程序指令和/或与这里所述的技术的功能相关的其他信息。程序指令例如可以控制操作系统和/或一个或多个应用程序的操作。\n[0050] 由于这种信息和程序指令可以用来实现这里所述的系统/方法,所以本发明涉及计算机可读介质,所述计算机可读介质包括用于执行这里所述的各种操作的程序指令、状态信息等。机器可读介质的示例包括但不限于:磁介质,例如硬盘、软盘和磁带;光介质,例如CD-ROM盘;磁光介质;以及专门配置为存储并执行程序指令的硬件设备,例如只读存储器器件(ROM)和随机访问存储器(RAM)。本发明还可以实现在通过适当介质传输的载波中,所述介质例如是频道、光线路、电线等。程序指令的示例既包括机器代码,例如由编译器产生的机器代码,又包括包含可由计算机利用解释器执行的高层代码的文件。\n[0051] 尽管图5示出的系统图示了本发明的一个特定网络设备,但是该网络设备绝不是可在其上实现本发明的唯一的网络设备体系结构。例如,经常使用具有单个处理器的体系结构,该处理器处理通信和路由计算等。此外,其他类型的接口和介质也可以用于该网络设备。接口/线路卡之间的通信路径可以是基于总线的(如图5所示),或者基于交换结构的(例如,交叉开关)。\n[0052] 其他实施例\n[0053] 一般而言,本发明的技术可以实现在软件和/或硬件上。例如,它们可以被实现在操作系统内核中、独立的用户进程中、绑定到网络应用的库程序包中、专门构造的机器上、或者网络接口卡上。在本发明的特定实施例中,本发明的技术可以实现在诸如操作系统之类的软件中,或者在操作系统上运行的应用程序中。\n[0054] 本发明的技术的软件或者软件和/或硬件的混合实现可以被实现在由存储在存储器中的计算机程序有选择地激活或重配置的通用可编程机器上。这种可编程机器可以是设计为处理网络流量的网络设备,例如上面参考图5描述的网络设备。在替换实施例中,本发明的技术可以实现在通用网络主机上,例如个人计算机或工作站上。此外,本发明可以至少部分实现在网络设备或通用计算设备的卡(例如接口卡)上。\n[0055] 本发明的另一实施例涉及将功能分离成两部分。一部分为控制平面,该部分构造网桥表,提供对需要透明通过的DHCP、ARP或OSPF的任何检查(如果要求的话),构造路由表等。另一部分是数据平面,该部分强制执行筛选策略,判定是桥接还是路由分组,并且在发送分组之前相应地重写分组头部,维护流的状态等。控制平面例如可以实现在通用CPU中,而数据平面可以实现在网络处理器中。该特定实现方式既提供了功能的灵活性,又提供了所要求的通过防火墙的数据速率。任何策略改变(例如,对OSPF分组检查到何种程度,以及应当检查哪些分组)都可以实现在通用CPU中,并且不影响网络处理器中的数据速率。\n[0056] 尽管在这里示出并描述了本发明的示例性实施例和应用,但是可以作出仍在本发明的原理、范围和精神内的各种变动和修改,并且在研读本申请后,本领域技术人员将清楚这些变动和修改。\n[0057] 因此,本实施例应当被认为是示例性的,而非限制性的,并且本发明不局限于这里给出的细节,而是可以在所附权利要求书的范围和等同物内作出修改。
法律信息
- 2012-07-04
- 2007-02-07
- 2006-12-13
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2003-10-08
|
2002-03-21
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |