桥接模式下分组转发机制的研究
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
桥接模式下分组转发机制的研究
一、为什么要引入桥过滤防火墙
随着现代互联网技术的飞速发展,低廉的联网成本以及高效的网络服务使得接入互联网的用户急剧增加,数量有限的IPv4地址格外紧缺,企业或单位通过NAT(Network Address Transmission)技术实现使用少量的公有IPv4地址供大量的内部主机24小时不间断的访问互联网,再不影响当前网络配置的情况下,网络安全管理需要一个可以对流入流出的数据包进行过滤控制的防火墙来实现对网络的管理,基于路由器的防火墙由于涉及到子网划分以及IP地址分配等问题不被看好,桥过滤的出现使得可以在网络供应商的路由器与企业或单位网络之间安插一个可配置的防火墙,不改变网络结构,更重要的是不需要分配额外的IPv4地址。
图1 桥过滤工作模式示意图
二、桥过滤防火墙的基本概念
1、网桥简介
网桥(Bridge),是一种在链路层实现中继,常用于连接两个或更多个局域网的网络互连设备,用于连接两个或两个以上具有相同通信协议、传输介质及寻址结构的局域网。网桥工作在数据链路层,将两个LAN连起来,先接收帧并送到数据链路层进行差错校验,根据MAC地址来转发帧,然后送到物理层再经物理传输介质送到另一个子网可以看作一个“低层的路由器”(路由器工作在网络层,根据网络地址如IP地址进行转发)。透明网桥(transparent bridge)或生成树网桥(spanning tree bridge),首要关心的是完全透明。装有多个LAN的单位在买回IEEE标准网桥之后,只需把连接插头插入网桥,就可以了。不需要改动硬件和软件,无需设置地址开关,无需装入
路由表或参数。总之什么也不干,只须插入电缆就完事,现有LAN的运行完全不受网桥的任何影响。
2、工作原理
透明网桥以混杂方式工作,它接收与之连接的所有LAN传送的每一帧。当一帧到达时,网桥必须决定将其丢弃还是转发。如果要转发,则必须决定发往哪个LAN。这需要通过查询网桥中一张大型散列表里的目的地址而作出决定。该表可列出每个可能的目的地,以及它属于哪一条输出线路(LAN)。在插入网桥之初,所有的散列表均为空。由于网桥不知道任何目的地的位置,因而采用扩散算法(flooding algorithm):把每个到来的、目的地不明的帧输出到连在此网桥的所有LAN中(除了发送该帧的LAN)。随着时间的推移,网桥将了解每个目的地的位置。一旦知道了目的地位置,发往该处的帧就只放到适当的LAN上,而不再散发。
当计算机和网桥加电、断电或迁移时,网络的拓扑结构会随之改变。为了处理动态拓扑问题,每当增加散列表项时,均在该项中注明帧的到达时间。每当目的地已在表中的帧到达时,将以当前时间更新该项。这样,从表中每项的时间即可知道该机器最后帧到来的时间。网桥中有一个进程定期地扫描散列表,清除时间早于当前时间若干分钟的全部表项。于是,如果从LAN上取下一台计算机,并在别处重新连到LAN上的话,那么在几分钟内,它即可重新开始正常工作而无须人工干预。这个算法同时也意味着,如果机器在几分钟内无动作,那么发给它的帧将不得不散发,一直到它自己发送出一帧为止。
到达帧的路由选择过程取决于发送的LAN(源LAN)和目的地所在的LAN(目的LAN),如下所示:
(1)、如果源LAN和目的LAN相同,则丢弃该帧。
(2)、如果源LAN和目的LAN不同,则转发该帧。
(3)、如果目的LAN未知,则进行扩散。
3、网桥与交换机、路由器等网络设备的区别
交换机的工作原理与桥的相似,桥接模式有时候也叫交换(switch)模式,可以把交换机当做多端口的桥,此时所谈及的交换机工作数据链路层,成为二层交换机。顾名思义,所谓二层交换机,其进行转发的依据就是以太网帧的二层信息,即MAC地址且是帧的目的MAC地址。交换机接收到一个以太网帧后,然后根据该帧的目的MAC,把报文从正确的端口转发出去,该过程称为二层交换(如图1所示),对应的设备称为二层交换机。在这里稍微提一下,在二层交换机之前用于二层交换机的设备是透明网桥,它和二层交换机的最大区别就是:透明网桥只有两个端口,而交换机的端口数目远远超过两个。
图 1 交换机工作在链路层
目前的交换机都采用硬件来实现其转发过程,该器件一般称为ASIC (Application Specific Integrated Circuit ),也俗称为交换引擎。对于二层交换机来说,ASIC 将维护一张二层转发表L2FDB (Layer 2 forwarding database )。表项的主要内容是MAC 地址和交换机端口的对应关系。图1即为二层交换机结构示意图。
图 2 二层交换机结构示意图
下面就详细了解一下二层交换机的转发过程,以图1为例进行说明。
交换机从端口1接收到一个以太网帧,其转发流程如下:
根据帧的目的MAC 查MAC 转发表(即L2FDB),查找相应的出端口。根据现有L2FDB 表,
报文应该从端口2发送出去;
L2FDB port2port3port4port5port6MAC MAC MAC MAC MAC MAC
二层交换引擎
Switch
ASIC
●如果在L2FDB表中查找不到该目的MAC,则该报文将通过广播的方式向交换机所有
端口转发;
●同时该以太网帧的源MAC将被学习到接收到报文的端口上,即端口1;
●L2FDB表中MAC地址通过老化机制来更新;
●在转发的过程中,不会对帧的内容进行修改。
图 3 二层交换机的转发流程
路由器是工作在网络层,其数据包处理过程如图4所示。路由器的基本功能是,把数据(IP 报文)传送到正确的网络,为了完成“路由”的工作,在路由器中保存着各种传输路径的相关数据--路由表(Routing Table),供路由选择时使用。路由表中保存着子网的标志信息、网上路由器的个数和下一个路由器的名字等内容。路由表可以是由系统管理员固定设置好的,也可以由系统动态修改,可以由路由器自动调整,也可以由主机控制。在路由器中涉及到两个有关地址的名字概念,那就是:静态路由表和动态路由表。由系统管理员事先设置好固定的路由表称之为静态(static)路由表,一般是在系统安装时就根据网络的配置情况预先设定的,它不会随未来网络结构的改变而改变。动态(Dynamic)路由表是路由器根据网络系统的运行情况而自动调整的路由表。路由器根据路由选择协议(Routing Protocol)提供的功能,自动学习和记忆网络运行情况,在需要时自动计算数据传输的最佳路径。细分则包括:
●IP数据报的转发,包括数据报的寻径和传送;
●子网隔离,抑制广播风暴;
●维护路由表,并与其它路由器交换路由信息,这是IP报文转发的基础;
●IP数据报的差错处理及简单的拥塞控制;
●实现对IP数据报的过滤和记帐。