转:
一、交换机的工作原理
当交换机收到数据时,它会检测它的目的MAC地址,然后把数据从目的主机所在的插口转发出去。交换机之所以能实现这一功能,是因为交换机内部有一个MAC地址表,MAC地址表记录了网路中所有MAC地址与该交换机各端口的对应信息。某一数据帧须要转发时,交换机依据该数据帧的目的MAC地址来查找MAC地址表,从而得到该地址对应的端口,即晓得具有该MAC地址的设备是联接在交换机的那个端口上,然后交换机把数据帧从该端口转发出去。
1.交换机按照收到数据帧中的源MAC地址构建该地址同交换机端口的映射,并将其写入MAC地址表中。
2.交换机将数据帧中的目的MAC地址同已完善的MAC地址表进行比较,以决定由那个端口进行转发。
3.如数据帧中的目的MAC地址不在MAC地址表中,则向所有端口转发。这一过程称为泛洪(flood)。
4.广播帧和组播帧向所有的端口转发。
例:某网路如图1所示。
图1 交换机地址表
表1端口/MAC地址映射表
MAC地址
端口
00-10-B5-4B-30-85
E0/1
00-10-B5-4B-30-90
E0/2
00-10-B5-4B-30-65
E0/24
假设主机pc1向主机pc7发送一个数据帧,该数据帧被送到交换机后,交换机首先查MAC地址表,发现主机pc7联接在E0/24插口上,就将数据帧从E0/24插口转发出去。
二、MAC地址表的建立过程
为快速转发报文,以太网交换机须要构建和维护MAC地址表。交换机采用源MAC地址学习的方式构建MAC地址表。
(1)交换机初始状态
交换机的初始状态MAC地址表为空,如图2所示。
图2 交换机地址表初始状态
(2)地址表源MAC地址学习
当计算机PC1要发送数据帧给计算机PC6时,因此时地址表是空的,交换机将向除PC1联接端口E0/1以外的其他所有端口转发数据帧。在转发之前,首先检测该数据帧的源MAC地址(00-10-B5-4B-30-85),并在交换机的MAC地址表中添加一条记录(00-10-B5-4B-30-85,E0/1)使之和端口E0/1相对应。
(3)计算机PC6接收数据帧
计算机PC6收到发送的数据帧后,用该数据帧的目的MAC地址和本机的MAC地址比较,发现PC1找的正是它,则接收该数据帧,其他计算机遗弃数据帧。
计算机PC6回复PC1时,交换机直接从端口E0/1转发,并学习到(00-10-B5-4B-30-65)为PC6联接的端口,将其添加到地址表中,如图3所示。
图3 地址表源MAC地址学习
交换机的其他端口借助源MAC地址学习的方式在MAC地址表中不断添加新的MAC地址与端口号的对应信息。直到MAC地址表添加完整为止。
为了保证MAC地址表中的信息才能实时地反映网路情况,每个学习到的记录都有一个老化时间,如果在老化时间内收到地址信息则刷新记录。对没有收到相应的地址信息的则删掉该记录。例如,计算机PC6停止了和交换机通讯,达到老化时间后,交换机会将其对应的记录从MAC地址表中删掉。
也可以手工添加交换机的MAC地址表的静态记录,手工配置的静态记录没有老化时间的限制。由于MAC地址表中对于同一个MAC地址只能有一条记录,所以假如手工配置了MAC地址和端口号对应关系后,交换机就不再动态学习这台计算机的MAC地址了。
三、交换机的三个主要功能
a -- 学习
以太网交换机了解每一端口相连设备的MAC地址,并将地址同相应的端口映射上去储存在交换机缓存中的MAC地址表中.
b -- 转发/过滤
当一个数据帧的目的地址在MAC地址表中有映射时,它被转发到联接目的节点的端口而不是所有端口(如该数据帧为广播/组播帧则转发至所有端口)
c -- 消除回路
当交换机包括一个冗余回路时,以太网交换机通过生成树协议防止回路的形成,同时容许存在后备路径。
四、交换机的工作特点
1.交换机的每一个端口所联接的网关都是一个独立的冲突域。
2.交换机所联接的设备依然在同一个广播域内,也就是说,交换机不隔绝广播(惟一的例外是在配有VLAN的环境中)。
3.交换机根据帧头的信息进行转发,因此说交换机是工作在数据链路层的网路设备(此处所述交换机仅指传统的二层交换设备)。
五、交换机的分类
依照交换机处理帧时不同的操作模式,主要可分为两类:
a -- 存储转发
交换机在转发之前必须接收整个帧交换机是干嘛用的,并进行错误校检,如无错误再将这一帧发往目的地址。帧通过交换机的转发信噪比随帧宽度的不同而变化。
b -- 直通式
交换机只要检测到帧头中所包含的目的地址就立刻转发该帧,而无需等待帧全部的被接收,也不进行错误校准。由于以太网帧头的宽度总是固定的,因此帧通过交换机的转发信噪比也保持不变。
六、二、三、四层交换机对比
多种理解的说法:
1.
二层交换(也称为桥接)是基于硬件的桥接。基于每位末端站点的惟一MAC地址转发数据包。二层交换的高性能可以形成降低各子网主机数目的网路设计。其一直有桥接所具有的特点和限制。
三层交换是基于硬件的路由选择。路由器和第三层交换机对数据包交换操作的主要区别在于化学上的施行。
四层交换的简单定义是:不仅基于MAC(第二层桥接)或源/目的地IP地址(第三层路由选择),同时也基于TCP/UDP应用端口来作出转发决定的能力。其使网路在决定路由时才能分辨应用。能够基于具体应用对数据流进行优先级界定。它为基于策略的服务质量技术提供了愈加细化的解决方案。提供了一种可以分辨应用类型的方式。
2.
二层交换机 基于MAC地址
三层交换机 具有VLAN功能 有交换和路由///基于IP,就是网路
四层交换机 基于端口,就是应用
3.
二层交换技术从集线器发展到VLAN(虚拟局域网),在局域网建设和整修中得到了广泛的应用。第二层交换技术是工作在OSI七层网路模型中的第二层,即数据链路层。它根据所接收到数据包的目的MAC地址来进行转发,对于网路层或则高层合同来说是透明的。它不处理网路层的IP地址,不处理高层合同的例如TCP、UDP的端口地址,它只须要数据包的化学地址即MAC地址,数据交换是靠硬件来实现的,其速率相当快,这是二层交换的一个明显的优点。但是,它不能处理不同IP子网之间的数据交换。传统的路由器可以处理大量的跨越IP子网的数据包,但是它的转发效率比二层低,因此要想借助二层转发效率高这一优点,又要处理三层IP数据包,三层交换技术就诞生了。
三层交换技术的工作原理
第三层交换工作在OSI七层网路模型中的第三层即网路层,是借助第三层合同中的IP包的榆林信息来对后续数据业务流进行标记,具有同一标记的业务流的后续报文被交换到第二层数据链路层,从而打通源IP地址和目的IP地址之间的一条通路。这条通路经过第二层链路层。有了这条通路,三层交换机就没有必要每次将接收到的数据包进行拆包来判定路由,而是直接将数据包进行转发,将数据流进行交换
下面看一下详尽剖析:
1、二层交换技术
二层交换技术是发展比较成熟,二层交换机属数据链路层设备,可以辨识数据包中的MAC地址信息,根据MAC地址进行转发,并将这种MAC地址与对应的端口记录在自己内部的一个地址表中。
具体的工作流程如下:
(1) 当交换机从某个端口收到一个数据包,它先读取牡丹江中的源MAC地址,这样它就晓得源MAC地址的机器是连在那个端口上的;
(2) 再去读取牡丹江中的目的MAC地址,并在地址表中查找相应的端口;
(3) 如表中有与这目的MAC地址对应的端口,把数据包直接复制到这端口上;
(4) 如表中找不到相应的端口则把数据包广播到所有端口上,当目的机器对源机器回应时,交换机又可以学习一目的MAC地址与那个端口对应,在上次传送数据时就不再须要对所有端口进行广播了。
不断的循环这个过程,对于全网的MAC地址信息都可以学习到,二层交换机就是这样构建和维护它自己的地址表。
从二层交换机的工作原理可以推知以下三点:
(1) 由于交换机对多数端口的数据进行同时交换,这就要求具有很宽的交换总线带宽,如果二层交换机有N个端口,每个端口的带宽是M,交换机总线带宽超过N×M,那么这交换机就可以实现线速交换;
(2) 学习端口联接的机器的MAC地址,写入地址表,地址表的大小(一般两种表示方法:一为BEFFER RAM,一为MAC表项数值),地址表大小影响交换机的接入容量;
(3) 还有一个就是二层交换机通常都富含专门用于处理数据包转发的ASIC(Application specific Integrated Circuit)芯片,因此转发速率可以做到十分快。由于各个厂家采用ASIC不同,直接影响产品性能。
以上三点也是衡量二三层交换机性能好坏的主要技术参数,这一点请你们在考虑设备选型时注意比较。
2、路由技术
路由器工作在OSI模型的第三层---网络层操作,其工作模式与二层交换相像,但路由器工作在第三层,这个区别决定了路由和交换在传递包时使用不同的控制信息,实现功能的方法就不同。工作原理是在路由器的内部也有一个表,这个表所标识的是假如要去某一个地方,下一步应当向哪里走,如果能从路由表中找到数据包下一步往哪里走,把链路层信息加上转发出去;如果不能晓得下一步迈向哪里,则将此包扔掉,然后返回一个信息交给源地址。
路由技术实质上来说不过两种功能:决定最优路由和转发数据包。路由表中写入各类信息,由路由算法估算出抵达目的地址的最佳路径,然后由相对简单直接的转发机制发送数据包。接受数据的下一台路由器根据相同的工作方式继续转发,依次类推,直到数据包抵达目的路由器。
而路由表的维护,也有两种不同的形式。一种是路由信息的更新,将部份或则全部的路由信息公布出去,路由器通过相互学习路由信息,就把握了全网的拓扑结构,这一类的路由协议称为距离矢量路由协议;另一种是路由器将自己的链路状态信息进行广播,通过相互学习把握全网的路由信息,进而估算出最佳的转发路径,这类路由合同称为链路状态路由协议。
由于路由器须要做大量的路径估算工作,一般处理器的工作能力直接决定其性能的好坏。当然这一判别还是对中高端路由器而言,因为高端路由器常常采用分布式处理系统体系设计。
3、三层交换技术
近年来的对三层技术的宣传,耳朵都能起血泡,到处都在喊三层技术,有人说这是个十分新的技术,也有人说,三层交换嘛,不就是路由器和二层交换机的堆叠,也没有哪些新的玩意儿,事实果真如此吗?下面先来通过一个简单的网路来瞧瞧三层交换机的工作过程。
组网比较简单
使用IP的设备A------------------------三层交换机------------------------使用IP的设备B
比如A要给B发送数据,已知目的IP,那么A就用子网掩码取得网路地址,判断目的IP是否与自己在同一公网。
如果在同一公网,但不知道转发数据所需的MAC地址,A就发送一个ARP恳求,B返回其MAC地址,A用此MAC封装数据包并发献给交换机,交换机起用二层交换模块,查找MAC地址表,将数据包转发到相应的端口。
如果目的IP地址显示不是同一公网的,那么A要实现和B的通信,在流缓存条目中没有对应MAC地址条目,就将第一个正常数据包发送向一个缺省网段,这个缺省网段通常在操作系统中早已设好,对应第三层路由模块,所以可见对于不是同一子网的数据交换机是干嘛用的,最先在MAC表中放的是缺省网段的MAC地址;然后就由三层模块接收到此数据包,查询路由表以确定抵达B的路由,将构造一个新的帧头,其中以缺省网段的MAC地址为源MAC地址,以主机B的MAC地址为目的MAC地址。通过一定的辨识触发机制,确立主机A与B的MAC地址及转发端口的对应关系,并记录进流缓存条目表,以后的A到B的数据,就直接交由二层交换模块完成。这就一般所说的一次路由多次转发。