bridge 网桥 Linux下的虚拟网桥


网桥(Bridge)是早期的两端口二层网络设备,用来连接不同网段。网桥的两个端口分别有一条独立的交换信道,不是共享一条背板总线,可隔离冲突域。网桥比集线器(Hub)性能更好,集线器上各端口都是共享同一条背板总线的。后来,网桥被具有更多端口、同时也可隔离冲突域的交换机(Switch)所取代。
网桥(Bridge)像一个聪明的中继器。中继器从一个网络电缆里接收信号, 放大它们,将其送入下一个电缆。相比较而言,网桥对从关卡上传下来的信息更敏锐一些。网桥是一种对帧进行转发的技术,根据MAC分区块,可隔离碰撞。网桥将网络的多个网段在数据链路层连接起来。
网桥也叫桥接器,是连接两个局域网的一种存储/转发设备,它能将一个大的LAN分割为多个网段,或将两个以上的LAN互联为一个逻辑LAN,使LAN上的所有用户都可访问服务器。
扩展局域网最常见的方法是使用网桥。最简单的网桥有两个端口,复杂些的网桥可以有更多的端口。网桥的每个端口与一个网段相连。
网桥将两个相似的网络连接起来,并对网络数据的流通进行管理。它工
作于数据链路层,不但能扩展网络的距离或范围,而且可提高网络的性能、可靠性和安全性。网络1 和网络2 通过网桥连接后,网桥接收网络1 发送的数据包,检查数据包中的地址,如果地址属于网络1 ,它就将其放弃,相反,如果是网络2 的地址,它就继续发送给网络2.这样可利用网桥隔离信息,将同一个网络号划分成多个网段(属于同一个网络号),隔离出安全网段,防止其他网段内的用户非法访问。由于网络的分段,各网段相对独立(属于同一个网络号),一个网段的故障不会影响到另一个网段的运行。
网桥可以是专门硬件设备,也可以由计算机加装的网桥软件来实现,这时计算机上会安装多个网络适配器(网卡)。
网桥的功能在延长网络跨度上类似于中继器,然而它能提供智能化连接服务,即根据帧的终点地址处于哪一网段来进行转发和滤除。网桥对站点所处网段的了解是靠“自学习”实现的,有透明网桥、转换网桥、封装网桥、源路由选择网桥
网桥的存储和转发功能与中继器相比有优点也有缺点,其优点是:
使用网桥进行互连克服了物理限制,这意味着构成LAN 的数据站总数和网段数很容易扩充。
网桥纳入存储和转发功能可使其适应于连接使用不同MAC 协议的两个LAN,因而构成一个不同LAN 混连在一起的混合网络环境。
网桥的中继功能仅仅依赖于MAC 帧的地址,因而对高层协议完全透明。
网桥将一个较大的LAN 分成段,有利于改善可靠性、可用性和安全性。
网桥的主要缺点是:由于网桥在执行转发前先接收帧并进行缓冲,与中继器相比会引入更多时延。由于网桥不提供流控功能,因此在流量较大时有可能使其过载,从而造成帧的丢失。
网桥的优点多于缺点正是其广泛使用的原因。
网桥工作在数据链路层,将两个LAN连起来,根据MAC地址来转发帧,可以看作一个“低层的路由器”(路由器工作在网络层,根据网络地址如IP地址进行转发)。
远程网桥通过一个通常较慢的链路(如电话线)连接两个远程LAN,对本地网桥而言,性能比较重要,而对远程网桥而言,在长距离上可正常运行是更重要的。
网桥优点
1、过滤通信量。网桥可以使用局域网的一个网段上各工作站之间的信息量局限在本网段的范围内,而不会经过网桥溜到其他网段去。
2、扩大了物理范围,也增加了整个局域网上的工作站的最大数目。
3、可使用不同的物理层,可互连不同的局域网。
4、提高了可靠性。如果把较大的局域网分割成若干较小的局域网,并且每个小的局域网内部的信息量明显地高于网间的信息量,那么整个互连网络的性能就变得更好。
网桥缺点
1、由于网桥对接收的帧要先存储和查找站表,然后转发,这就增加了时延。
2、在MAC子层并没有流量控制功能。当网络上负荷很重时,可能因网桥缓冲区的存储空间不够而发生溢出,以致产生帧丢失的现象。
3、具有不同MAC子层的网段桥接再一起时,网桥在转发一个帧之前,必须修改帧的某些字段的内容,以适合另一个MAC子层的要求,增加时延。
4、网桥只适合于用户数不太多(不超过几百个)和信息量不太大的局域网,否则有时会产生较大的广播风暴。 [1]
特性
数据链路层互联的设备是网桥(bridge),在网络互联中它起到数据接收、地址过滤与数据转发的作用,用来实现多个网络系统之间的数据交换。
网桥的基本特征
1.网桥在数据链路层上实现局域网互连;
2.网桥能够互连两个采用不同数据链路层协议、不同传输介质与不同传输速率的网络
3.网桥以接收、存储、地址过滤与转发的方式实现互连的网络之间的通信;
4.网桥需要互连的网络在数据链路层以上采用相同的协议
5.网桥可以分隔两个网络之间的通信量,有利于改善互连网络的性能与安全性。



网桥路由器本身是一种路由器,不过由于使用的场合不同,有时作为路由器使用,有时却作为网桥来使用。对于网桥路由器,如果接收到一个使用与路由器具有相同协议的数据包时,就作为路由器使用,否则,就作为网桥来转发数据。
局域网互连产品中,最主要的是网桥和路由器。路由器克服了网桥互连的缺点,适用于各种局域网间互连及局域网与广域网互连,特别适用于大规模网络互连环境;网桥适用于同种局域网互连,对上层协议透明,可同时有多个不同网络协议运行于互连网中。根据OSI中网络层功能,为实现不同类型网络层协议的相互转换,可将网络层进一步划分成三个子层:子网访问子层、子网增强子层和网际子层。这样可实现不同子网协议的互相转换
网桥是存储转发设备,用于连接两个以上在MAC子层之上同构的LAN,网桥的操作涉及到OSI的数据链路层,利用MAC和MAC地址以及存储转发功能作局域网间的信息帧交换。
网桥的互连特点是将实际上的局域网连成逻辑上单一的局域网,一个局域网上的用户可以通过网桥访问另一个局域网上的资源。网桥需要处理MAC帧,即对通过网络连接到达网桥的某个口而进入网桥的MAC帧进行分析判断和转发工作;网桥接收帧,并送到数据链路层进行差错校验,然后送至物理层,通过物理传输介质到另一个子网,在转发帧之前,网桥对帧的内容和格式不作修改或很少修改。
(1)帧的发送和接受:网桥从它所连接LAN端口中接收无差错帧,从帧中获得目标站地址的名字,以得知目标站是否属于本网桥所连接的另一个LAN。若是,便接收该帧并做进一步处理;否则将该帧抛弃。由此可见,网桥相当于一个过滤器,它仅把发往目标LAN B的帧送入B网,从而有效减少了通往B网的信息流量。
(2)缓冲管理:网桥中有两类缓冲区。一类是接收缓冲区,用于暂存从端口收到的、要发往另一个LAN的帧;另一类是发送缓冲区,用于暂存已经过协议转换等处理后要发送到相邻LAN的帧。缓冲区容量应足够大,否则将造成帧的丢失。
(3)协议转换:网桥的协议转换功能仅限于MAC子层和物理层。即将源LAN中的帧格式和物理层规程转换为目标LAN所采用的帧格式和物理层规程。
(4)差错控制:一是对所接收的帧进行差错检测(接收帧是否非法帧、CRC校验码是否出错、帧长是否超长或小于最小长度等);二是生成新CRC码(当把帧转发至与本网桥连接的另一个使用不同MAC规程的LAN时,要重新为所形成的MAC帧构成新CRC码,并填入到新MAC帧的CRC字段)。
(5)网桥采用了分层路径选择的特性,分清本地的数据流量,实现辅助路径选择,而不影响本地网的性能。网桥接收的资料包仅扫描网络地址并把资料包送到合适的网络。
较复杂的网桥支持两个网间复合网桥连接,为传输高容量数据流、实现冗余处理能力以及可靠的配置提供必要的能力。重构、初始化和连续操作经常是自动的。例如:采用生成树协议网桥能促进灵活而可靠的网络设计与实现。它使网桥连接的网络接受指示,确定何时接收或拒绝特殊的信息,这样资料就会沿特定的路线流动,一旦网络发生故障,网桥将自动地选择其它路径,确保网络连续操作。
路由器工作在ISO/ OSI的第三层即网络层。它需要处理网络层的数据分组、网络地址、决定数据分组的转发、决定网络中信息的完整路由等,由于处理层次较高,因而路由器具有更高的网络互联功能。
路由器功能编辑
(1)选择最佳传输路径:在信息到达路由器时,先被放入分组队列中,再由路由器依次从队列中取出分组,查看分组头中的目标地址和路由表,如果到达目标结点前存在多条路由,路由器会按某种路由选择策略从中选出一条路由,将分组信息转发出去。当网络拓扑结构发生变化时,路由器还可以调整路由表使所选择的路由还是最佳的,这一功能可以很好均衡网络中的信息流量,避免出现网络拥挤现象。
(2)支持多种协议的路由选择:利用路由器不仅能连接同构型LAN,还能连接LAN和WAN。例如使用一个多协议路由器连接以太网、令牌环网、FDDI网等。
(3)流量控制:路由器不仅有更多的缓冲,还能控制收发双方的数据流量,使两者更匹配。
(4)分段和重新组装功能:通过路由器互联的多个网络中,所采用的数据单元大小可能不同,如源站所用数据单元较大,而目标站所用数据单元较小,使目标站无法接收,此时路由器可将由源站发出的数据分组分成若干段后,分别封装再发往目标。反之,若路由器收到的分组较小,而在通往目标站的路由上所有各结点都能接收较大的分组,此时路由器可以把属于同一报文的多个小分组按序号装成大分组后传送,以提高传输效率。
(5)网络管理功能:路由器是连接多种网路的汇集点,网络之间的信息流都要通过路由器,利用路由器监视网络中的信息流动、监视网络设备工作、对信息和设备进行管理等是比较方便的。
路由器在网络层提供连接服务,用路由器连接的网络可以使用在数据链路层和物理层上完全不同的协议。由于路由器操作的OSI层次比网桥高,所以路由器提供的服务更为完善。路由器可根据传输费用、转接时延、网络拥塞或信源和终点间的距离来选择最佳路径。路由器的服务通常要由端用户设备明确地请求,它处理的仅仅是由其他端用户设备要求寻址的报文。
路由器与网桥的一个重要区别是:路由器了解整个网络,维持互连网络的拓扑并了解网络的状态,因而它可以使用最有效的路径发送数据包。



网桥(Bridge)也称为桥接器,是连接两个局域网的存储转发设备,用它可以使完全具有相同或相似体系结构网络系统的连接,这样不但能扩展网络的距离或范围,而且可提高网络的性能、可靠性和安全性。网桥工作在OSI参考模型的数据链路层(第二层),将两个LAN连起来,根据MAC地址来转发帧,可以看作一个“低层的路由器”(路由器工作在网络层,根据网络地址如IP地址进行转发)。
交换机是主导网络系统的集线设备,大部分交换机是在OSI参考模型的数据链路层(第二层)操作。
如果把集线器看成一条内置的以太网总线,交换机就可以看做由多条总线构成交换矩阵的互联系统。每一个交换机端口对应着一条高出一个数量级的背板带宽总线(Core Bus),背板总线与一个交换引擎(Switch Engining)相连接。不同端口间的数据包经背板总线进入交换引擎,通过存储转发、直通转发和准直通转发模式进行交换。
网桥与交换机的发展与演变
20世纪80年代中期,第一个局域网LAN网桥进入市场。网桥初期主要用于局域网LAN分段、传输距离延伸和增加应用设备,并使局域网突破共享网络带宽的限制。为了能够使局域网LAN满足当时的应用需求,需要扩展局域网系统。同时,为了使网络系统运行更可靠,把一个局域网系统划分为若干个独立的物理网段。实现物理网段之间的连接和扩展局域网系统的需求导致了网桥的发展。可以说,在当时,网桥获得了成功的运用。
随着微电子ASIC、处理器和存储技术的飞速发展,网桥的芯片技术越来越先进,网桥技术与产品得到了不断发展与升级。网络系统设计要求高性能网桥具有多个端口的应用需求提到议事日程。需求与微电子技术的同步发展,进入20世纪90年代以后,8、12、16、24的多端口的网桥的设计与制造成为可能。
值得注意的是,网桥与交换机的区别在与市场,而不在与技术。交换机对网络进行分段的方式与网桥相同,交换机就是一个多端口的网桥。确切地说,高端口密度的网桥就称为局域网交换机。
交换机与网桥的真正区别主要在与现代的交换机与旧式网桥的区别上。
交换机与网桥的区别
局域网交换机的基本功能与网桥一样,具有帧转发、帧过滤和生成树算法功能。但是,交换机与网桥相比还是存在以下不同:
1、交换机工作时,实际上允许许多组端口间的通道同时工作。所以,交换机的功能体现出不仅仅是一个网桥的功能,而是多个网桥功能的集合。即网桥一般分有两个端口,而交换机具有高密度的端口。
2、分段能力的区别
由于交换机能够支持多个端口,因此可以把网络系统划分成为更多的物理网段,这样使得整个网络系统具有更高的带宽。而网桥仅仅支持两个端口,所以,网桥划分的物理网段是相当有限的。
3、传输速率的区别
交换机与网桥数据信息的传输速率相比,交换机要快于网桥。
4、数据帧转发方式的区别
网桥在发送数据帧前,通常要接收到完整的数据帧并执行帧检测序列FCS后,才开始转发该数据帧。交换机具有存储转发和直接转发两种帧转发方式。直接转发方式在发送数据以前,不需要在接收完整个数据帧和经过32bit循环冗余校验码CRC的计算检查后的等待时间。
Linux下的虚拟网桥
网桥是在内核中虚拟出来的,可以将主机上真实的物理网卡(如eth0,eth1),或虚拟的网卡(tap0,tap1,vnet0,vnet1)桥接上来。桥接上来的网卡就相当于网桥上的端口。 端口收到的数据包都提交给这个虚拟的”网桥“,让其进行转发。
网桥其实是不用配置ip的,给网桥配制ip地址,是为了方便网桥所在的主机和网桥所桥接的网卡(包括虚拟网卡)进行通信。一般会配成同一个网段的ip。桥接在网桥上的网卡(包括物理网卡和虚拟网卡)不能配制ip地址。但是其对应的虚拟机可以配制ip地址,如果和网桥的ip是同一个网段的话,网桥所在的物理主机和这个网桥上桥接的网卡所对应的虚拟主机就可以进行通信了(能够ping通)。
在给linux创建虚拟机时,为了方便主机与其虚拟机进行通信,常用到网桥,并且常给网桥配制ip地址。
注意:必须给网桥br0配制IP地址,且保持和tap0所对应的虚拟机网卡上配制的ip地址在同一网段,这样才能从主机中直接访问到虚拟机。


Category web