本篇文章核心内容:
(1)如何通过数据链路层对以太网进行扩展
(2)交换机和路由器的区别
1、在数据链路层扩展以太网
之所以说在数据链路层扩展以太网那是因为也可以在物理层通过使用多个集线器的方式扩展以太网。
在数据链路层扩展以太网要使用网桥(bridge)。网桥工作在数据链路层,它根据MAC帧的目的地址对收到的帧进行转发和过滤。当网桥收到一个帧时,并不是向所有的接口转发此帧,而是先检查此帧的目的MAC地址,然后在确定将此帧转发到哪一个接口,或者是把它丢弃(即过滤)。
1.1、网桥的内部结构
通过网桥连接起来的多个以太网,其中原来的每个以太网可以称为一个网段。
网桥转发依靠转发表来转发帧。转发表也叫转发数据库或路由目录。
网桥是通过内部的接口管理软件和网桥协议实体来完成操作的。
注:网桥在转发帧时,不改变帧的源地址。
1.2、透明网桥
“透明”指的是以太网上站点并不知道所发送的帧将经过哪几个网桥,以太网上的站点看不见以太网上的网桥。透明网桥还是一种即插即用的设备。
当网桥刚刚接到以太网上的时候,其转发表是空的,这时若网桥收到一个帧,它将怎样处理呢?网桥将按照自学习算法处理收到的帧(这样就逐步建立转发表),并按照转发表把帧转发出去。这种自学习的算法并不复杂,因为:若从某个站A发出的帧从接口x进入了某网桥,那么从这个接口沿相反方向一定可以把一个帧传送到A。 所以网桥只要每收到一个帧,就记录下其源地址和进入网桥的接口,作为转发表中的一个项目。(注:转发表中并没有“源地址”这一栏,而只有“地址”这一栏。)在建立转发表时是把帧首部中的源地址写在“地址”这一栏的下面。在转发帧时,则是根据收到的帧首部中的目的地址来转发的。这时就把“地址”栏下已经记录的源地址当作目的地址,把记录下的进入进口当作转发接口来转发。
网桥的自学习和转发帧的一般步骤:
- 网桥收到一帧后先进行自学习。查找转发表中与收到的帧的源地址有无相匹配的项目。如没有,就在转发表中增加一个项目(源地址,进入的接口和时间)。如有,则把原有的项目进行更新。
- 转发帧。查找转发表中与收到的帧的目的地址有无相匹配的项目。如没有,则通过所有其他接口(进入网桥的接口除外)。如有,则按转发表中给出的接口进行转发。但应注意,若转发表中给出的接口就是该帧进入网桥的接口,则应丢弃这个帧(因为这个帧不需要网桥进行转发)。
透明网桥还使用了一个生成树算法,即互连在一起的网桥在进行彼此通信后,就能找出原来的网络拓扑的子集。在这个子集里,整个连通的网络中不存在回路,即在任何两个站间只有一条路径。
1.3、源路由网桥
透明网桥最大的优点就是容易安装,一接上就能工作。但是网络资源的利用还不充分。因此,另一种由发送帧的源站负责路由选择的网桥就问世了,这就是源路由网桥。
源路由网桥是在发送帧是把详细的信息放在帧的首部中。
这里的关键是源站用什么样的方法才能知道应当选择什么样的路由。
为了发现合适的路由,源站以广播的方式向欲通信的目的站发送一个发现帧作为探测之用。发现帧将在整个以太网中沿着所有可能的路由传送。在传送过程中,每个发现帧都记录所经过的路由。当这些发现帧到达目的站时,就沿着各自的路由返回源站。源站在得知这些路由后,从所有可能的路由中选择一个最佳路由。
1.4、多接口网桥——以太网交换机
从技术上讲,网桥的接口数很少,一般只有2~4个,而以太网交换机通常由十几个接口。因此,以太网交换机实质上就是一个多接口的网桥和工作在物理层的转发器、集线器有很大的区别。此外,以太网交换机的每个接口都直接与单个主机火另一个集线器相连(注:普通网桥的接口往往是连接到以太网的一个网段),并且一般都工作在全双工方式。
特别要指出的是,利用以太网交换机可以很方便的实现虚拟局域网VLAN。
2、交换机和路由器的区别
一般人觉得交换机和路由器长得差不多,都是一个盒子几个插口,都是网络用的东西,就以为是一种东西,其实不然,这两个还真不是一样的东西,这两者在功用上还是有很大区别的。
2.1、交换机
我们经常说到的以太网交换机实际是一个基于网桥技术的多端口第二层网络设备,它为数据帧从一个端口到另一个任意端口的转发提供了低时延、低开销的通路。 交换机内部核心处有一个交换矩阵,为任意两端口间的通信提供通路,或是一个快速交换总线,以使由任意端口接收的数据帧从其他端口送出。
2.2、路由器
而路由器是OSI协议模型的网络层中的分组交换设备(或网络层中继设备),路由器的基本功能是把数据(IP报文)传送到正确的网络。
- 在主干网上,路由器的主要作用是路由选择。主干网上的路由器,必须知道到达所有下层网络的路径。这需要维护庞大的路由表,并对连接状态的变化作出尽可能迅速的反应。路由器的故障将会导致严重的信息传输问题。
- 在地区网中,路由器的主要作用是网络连接和路由选择,即连接下层各个基层网络单位--园区网,同时负责下层网络之间的数据转发。
- 在园区网内部,路由器的主要作用是分隔子网。早期的互连网基层单位是局域网(LAN),其中所有主机处于同一逻辑网络中。随着网络规模的不断扩大,局域网演变成以高速主干和路由器连接的多个子网所组成的园区网。在其中,处个子网在逻辑上独立,而路由器就是唯一能够分隔它们的设备,它负责子网间的报文转发和广播隔离,在边界上的路由器则负责与上层网络的连接。
2.3、交换机和路由器的区别
两者的主要区别在于:
工作层次不同:最初的的交换机是工作在OSI/RM开放体系结构的数据链路层,也就是第二层,而路由器一开始就设计工作在OSI模型的网络层。由于交换机工作在OSI的第二层(数据链路层),所以它的工作原理比较简单,而路由器工作在OSI的第三层(网络层),可以得到更多的协议信息,路由器可以做出更加智能的转发决策。
回路:根据交换机地址学习和站表建立算法,交换机之间不允许存在回路。一旦存在回路,必须启动生成树算法,阻塞掉产生回路的端口。而路由器的路由协议没有这个问题,路由器之间可以有多条通路来平衡负载,提高可靠性。
子网划分:交换机只能识别MAC地址。MAC地址是物理地址,而且采用平坦的地址结构,因此不能根据MAC地址来划分子网。而路由器识别IP地址,IP地址由网络管理员分配,是逻辑地址且IP地址具有层次结构,被划分成网络号和主机号,可以非常方便地用于划分子网,路由器的主要功能就是用于连接不同的网络。
负载集中:交换机之间只能有一条通路,使得信息集中在一条通信链路上,不能进行动态分配,以平衡负载。而路由器的路由协议算法可以避免这一点,OSPF路由协议算法不但能产生多条路由,而且能为不同的网络应用选择各自不同的最佳路由。
广播控制:交换机只能缩小冲突域,而不能缩小广播域。整个交换式网络就是一个大的广播域,广播报文散到整个交换式网络。而路由器可以隔离广播域,广播报文不能通过路由器继续进行广播。
介质相关:交换机作为桥接设备也能完成不同链路层和物理层之间的转换,但这种转换过程比较复杂,不适合ASIC实现,势必降低交换机的转发速度。因此目前交换机主要完成相同或相似物理介质和链路协议的网络互连,而不会用来在物理介质和链路层协议相差甚元的网络之间进行互连。而路由器则不同,它主要用于不同网络之间互连,因此能连接不同物理介质、链路层协议和网络层协议的网络。路由器在功能上虽然占据了优势,但价格昂贵,报文转发速度低。
保密问题:虽说交换机也可以根据帧的源MAC地址、目的MAC地址和其他帧中内容对帧实施过滤,但路由器根据报文的源IP地址、目的IP地址、TCP端口地址等内容对报文实施过滤,更加直观方便。