主页 > 交换机 >

相易机基础道理和转发流程总结

浏览1574 好评 0 点赞105

  交换机基本原理和转发流程总结_计算机硬件及网络_IT/计算机_专业资料。交换机基本原理和转发流程

  交换机基本原理和转发流程总结 关键词: 以太网集线器 Ethernet HUB 交换机 Switch 虚拟局域网 VLAN 路由器 Router 路由表 Route Table 地址解析协议 ARP ARP 表 ARP Table MAC 表 FIB Table 三层硬件转发表 IP fdb Table 计算机网络往往由许多种不同类型的网络互连连接而成。 如果几个计算机网络只是在物 理上连接在一起,它们之间并不能进行通信,那么这种“互连”并没有什么实际意义。因此通 常在谈到“互连”时,就已经暗示这些相互连接的计算机是可以进行通信的,也就是说,从功 能上和逻辑上看,这些计算机网络已经组成了一个大型的计算机网络,或称为互联网络,也 可简称为互联网、互连网。下面将从互联网的渐进历程逐一阐述各种设备的工作原理: 1、 Ethernet HUB Ethernet HUB 的 中 文 名 称 叫 做 以 太 网 集 线 器 , 其 基 本 工 作 原 理 是 广 播 技 术 ( broadcast) ,也就是 HUB 从任何一个端口收到一个以太网数据帧后,它都将此以太 网数据帧广播到其它所有端口, HUB 不记忆哪一个 MAC 地址挂在哪一个端口——这 里所说的广播是指 HUB 将该以太网数据帧发送到所有其它端口,并不是指 HUB 将该 报文改变为广播报文。 以太网数据帧中含有源 MAC 地址和目的 MAC 地址,对于与数据帧中目的 MAC 地址相同的计算机执行该报文中所要求的动作; 对于目的 MAC 地址不存在或没有响应 等情况, HUB 既不知道也不处理,只负责转发。 HUB 工作原理: ① HUB 从某一端口 A 收到的报文将发送到所有端口; ② 报文为非广播报文时,仅与报文的目的 MAC 地址相同的端口响应用户 A; ③ 报文为广播报文时,所有用户都响应用户 A。 随着网络应用不断丰富,网络结构日渐复杂,导致传统的以太网连接设备 HUB 已 经越来越不能满足网络规划和系统集成的需要,它的缺陷主要表现在以下两个方面: ① 冲突严重—— HUB 对所连接的局域网只作信号的中继, 所有物理设备构成了一 个冲突域; ② 广播泛滥。 2、二层交换技术 1 二层交换机的出现能够在一定程度上解决 HUB 存在的缺陷——主要是冲突严重的 问题,其与 HUB 的区别从大的方面来看可以分为以下三点: ① 从 OSI 体系结构来看, HUB 属于 OSI 模型的第一层物理层设备,而交换机属 于 OSI 的第二层数据链路层设备。也就意味着 HUB 只是对数据的传输起到同步、放大 和整形的作用,对数据传输中的短帧、碎片等无法进行有效的处理,不能保证数据传 输的完整性和正确性;而交换机不但可以对数据的传输做到同步、放大和整形,而且 可以过滤短帧、碎片等。 ② 从工作方式来看, HUB 是一种广播模式,当 HUB 的某个端口工作的时候,其 他所有端口都能够收听到信息,容易产生广播风暴,当网络较大时网络性能会受到很 大的影响;而当交换机工作的时候,只有发出请求的端口和目的端口之间相互响应而 不影响其他端口,因此交换机就能够隔离冲突域,并在一定程度上抑制广播风暴。 ③ 从带宽来看,HUB 不管有多少个端口,所有端口都是共享一条带宽,在同一时 刻只能有二个端口传送数据,其他端口只能等待,同时 HUB 只能工作在半双工模式下 (半双工模式——在通道中同时只能沿着一个方向传输数据);而对于交换机而言, 每个端口都有一条独占的带宽,当二个端口工作时并不影响其他端口的工作,同时交 换机不但可以工作在半双工模式下而且可以工作在全双工模式下(全双工模式——在 通道中同时双向数据传输的能力)。 二层交换技术的工作原理:由于二层交换技术是在 OSI 七层网络模型中的第二层, 即数据链路层进行操作的, 因此交换机对数据报文的转发是建立在 MAC ( Media Access Control )地址 --物理地址基础之上的,对于 IP 网络协议来说,它是透明的,即交换 机在转发数据报文时,无须知道信源机和信宿机的 IP 地址,只需知其物理地址( MAC 地址)即可。交换机在工作过程当中会不断的检测报文的源和目的 MAC 地址来建立 MAC 地址表,这个表说明了某个 MAC 地址是在哪个端口上被发现的。这样当交换机 收到一个报文时,它便会看一下该数据报文的目的 MAC 地址,核对一下自己的 MAC 地址表以确认应该从哪个端口把数据报文发出去;但若交换机收到的报文在目的 MAC 地址不能在地址表中找到时, 交换机会把 IP 报文广播出去——这正是二层交换机的弱 点所在。 二层交换机的报文转发涉及到两个关键的线程: ? 学习线程: ①交换机接收网段上的所有数据帧,利用接收数据帧的源 MAC 地址建立 MAC 地 址表; ②端口移动机制: 交换机如果发现一个报文的入端口和报文中源 MAC 地址的所在 端口不同,就产生端口移动,将 MAC 地址学习到新的端口; ③地址老化机制:如果交换机在很长一段时间内没有收到主机发出的报文,则该 主机对应的 MAC 地址就会被删除,等下次报文来的时候重新学习。 2 ? 报文转发线程: ① 交换机在 MAC 地址表中查找数据帧的目的 MAC 地址,如果找到就将该数据 发送到相应的端口,如果找不到就向所有的端口发送(广播); ② 如果交换机收到的报文中源 MAC 与目的 MAC 地址相同,则丢弃该报文; ③ 交换机向入端口以外的所有其它端口发送广播报文。 二层交换机的缺点: 传统的以太网交换机对接收到的数据帧根据 MAC 地址进行二 层转发,因此将网段上的冲突域限制到了端口级,但却无法限制广播域的大小,在主 机数量很多的情况下,广播泛滥的现象仍然很严重。 3、 VLAN 技术 为解决在局域网中存在的广播泛滥和安全性的问题,引出了 VLAN 即虚拟局域网的 概念, 所谓 VLAN 是一种将局域网内的设备逻辑地而不是物理地划分成一个个网段从而 实现虚拟工作组的新兴技术。 VLAN技术允许网络管理者将一个物理的 LAN逻辑地划分成不同的广播域(或称 虚拟 LAN,即 VLAN) ,每一个 VLAN 都包含一组有着相同需求的计算机工作站,与物 理上形成的 LAN有着相同的属性。但由于它是逻辑地而不是物理地划分,所以同一个 VLAN内的各个工作站无须被放置在同一个物理空间里, 即这些工作站不一定属于同一 个物理 LAN网段。一个 VLAN 内部的广播和单播流量都不会转发到其他 VLAN 中,从而 有助于控制流量、减少设备投资、简化网络管理、提高网络的安全性。引入了VLAN以 后,对二层交换机的报文转发线程产生了如下的影响: 1) 交换机在MAC地址表中查找数据帧中的目的MAC地址,如果找到(同时还要确保报文 的入VLAN和出VLAN是一致的),就将该数据帧发送到相应的端口,如果找不到,就 向(VLAN内)所有的端口发送; 2) 3) 如果交换机收到的报文中源MAC地址和目的MAC地址所在的端口相同, 则丢弃该报文; 交换机向(VLAN内)入端口以外的其它所有端口转发广播报文。 Vlan与二层交换的规则: ? 主机和交换机之间传送的是 untagged 报文 ? 交换机之间用干道链路(Trunk)连接 ? 交换机用 Tag 来标识报文所属的 VLAN ? 干道链路上传输的是 Tagged Frame ? 不同 VLAN 之间在二层不能相互通讯 虚拟局域网将一组位于不同物理网段上的用户在逻辑上划分成一个局域网内,在 功能和操作上与传统 LAN 基本相同,可以提供一定范围内终端系统的互联。 VLAN 的优 势主要表现在以下四个方面: 1) 建立虚拟工作组模型,使虚拟局域网中的各个设备很容易相互访问; 3 2) 限制广播范围; 3) 增加网络的安全性; 4) 动态网络管理。 VLAN 的划分: ? ? ? ? ? ? 基于端口的 VLAN; 基于 MAC 的 VLAN; 基于协议的 VLAN; 基于 IP 地址的 VLAN; 基于 IP 子网的 VLAN; 基于组合策略的 VLAN。 802.1Q 协议规定了一段新的以太网祯字段,与标准的以太网祯头相比, VLAN 报文 格式在源地址后增加了一个 4 字节的 802.1Q 标签。 4 个字节的 802.1Q 标签中,包含 了 2 个字节的标签协议标识( TPID--Tag Protocol Identifier ,它的值是 8100),和 两个字节的标签控制信息( TCI--Tag Control Information ), TPID 是 IEEE 定义的新 的类型,表明这是一个加了 802.1Q 标签的报文。如图 1 所示: Destination Mac 6 Source Mac 6 Length /type Data 46~1500 FCS 4 2 Destination Mac 6 Source Mac 6 Vlan tag 4 Length /type Data 42~1500 FCS 4 2 2 Vlan Protocal ID = 0x8100 priority 3 bit cfi 1bit 2 Vlan ID 12 bit 图1 ? VLAN Identified( VLAN ID ): 这是一个 12位的域,指明 VLAN 的 ID,一共 4096个, 每个支持 802.1Q协议的主机发送出来的数据包都会包含这个域, 以指明自己所属的 VLAN 。 ? Canonical Format Indicator( CFI ):这一位主要用于总线型的以太网与FDDI、令牌环网 交换数据时的祯格式。 ? Priority:这 3 位指明祯的优先级。一共有 8种优先级,主要用于当交换机阻塞时, 优先发送优先级高的数据包。 4 在交换机中,直接与主机相连的端口是无法识别 802.1Q 报文的,那么这种端口称 为 Access端口;对于交换机相连的端口,可以识别和发送 802.1Q报文,那么这种端口 称为 Tag Aware 端口。 工作原理:在交换机中的报文转发过程中,802.1Q 报文标识了报文所属的 VLAN;在跨 越交换机的报文中,带有 VLAN 标签信息的报文尤其显得重要。例如,定义交换机中的 1 端 口属于 VLAN 2,且该端口类型为 Acess,当 1 端口接收到一个数据报文后,交换机会查看 该报文中没有 802.1Q 标签,若没有交换机根据 1 端口所属的 VLAN 2,自动给该数据包添加 一个 VLAN 2 的标签头,然后再将数据包交给数据库查询模块,数据库查询模块会根据数据 包的目的地址和所属的 VLAN 进行查找,之后交给转发模块,转发模块看到这是一个包含标 签头的数据包,根据报文的出端口的性质来决定是否保留还是去掉标签头。如果端口是 Tag Aware 端口,则保留标签,否则删除标签头。一般情况下,两个交换机互连的端口一般都是 Tag Aware 端口, 交换机和交换机之间交换数据包时是没有必要去掉标签的。 VLAN的IVL和SVL方式 ? ? IVL: Independent Vlan Learning SVL: Shared Vlan Learning MAC1 MAC2 VLAN1 PORT1 VLAN2 PORT2 VLAN2 PORT2 VLAN3 PORT3 MAC1 MAC2 MAC3 VLAN1 PORT1 VLAN2 PORT2 VLAN3 PORT3 MAC2 MAC3 IVL 图2 SVL 在IVL方式下: 每个VLAN都有自己的对应的MAC地址表 (抽象的概念并不是物理的) , 相互之间没有影响。一个MAC地址可以被学习到不同的VLAN中,因此对一个用户来说如 果属于多个VLAN,那么每个VLAN内的信息都需要重新学习。而SVL方式下,一个地址表 项对所有的VLAN都通用,表中的MAC用户不能有重复。 PVLAN PVLAN,Primary-VLAN特性的简称,主要通过将用户划入不同的VLAN,实现用户之 间二层报文的隔离。为客户提供了更多的解决方案。 在PVLAN的设计中采用了多个Secondary VLAN包含在一个Primary VLAN中的方式, 给 用户提供了灵活的配置方式。 如果用户希望实现二层报文的隔离, 可以采用了为每个用户分 5 配一个Secondary vlan的方式,每个VLAN中只包含用户连接的端口和Uplink port;如果希望 实现用户之间二层报文的互通,可以将用户连接的端口划入同一个 VLAN 中;同时创建 Primary VLAN, 该VLAN包含所有Secondary VLAN中包含的端口和Uplink端口, 这样对上层 交换机来说,可以认为下层交换机中只有一个Primary VLAN,用来标识设备,而不必关心 Primary VLAN中的端口实际所属的VLAN,简化了配置,节省了VLAN资源。 图3 Primary VLAN 中的所有端口都不是 802.1Q 的 Trunk 端口,包括与其它交换机相连的 Uplink口。 每个端口的PVID就是它所属Secsondary VLAN的ID, Uplink端口的PVID是Primary VLAN的ID。 如图3所示, 在交换机中可以实现端口同时属于多个VLAN, 其中端口1为Uplink 端口,属于Primary VLAN 1,端口2,3,4为接入端口,分别属于Secsondary VLAN 2,3,4。 这样,从 PVLAN 的端口接收到的报文,可以被所有 Secsondary VLAN 接收到,而每个 Secondary之间,则由于VLAN的隔离作用,而不能互通报文。 将PVLAN与VLAN的IVL、SVL方式相结合,则图3中两种情况的地址表如下: ? PVLAN+SVL方式:mac A mac B mac C ? PVLAN+IVL方式: 1) 2) 3) 4) vlan 2地址表:mac A vlan 3地址表:mac B vlan 4地址表:mac C vlan 1地址表:mac A mac B mac C vlan 2 port 2 vlan 3 port 3 vlan 4 port 4 vlan 1 port 2 vlan 1 port 3 vlan 1 port 4 vlan 2 vlan 3 vlan 4 port 2 port 3 port 4 采用 VLAN(虚拟局域网)技术确实解决了一些问题,但也引发出一些新的问 题: 随着应用的升级,网络规划者可根据情况在交换式局域网环境下将用户划分 在不同 VLAN(虚拟局域网)上,但是 VLAN(虚拟局域网)之间通信是不允许的,要 想通信就需要用路由器/三层交换机来桥接这些 VLAN(虚拟局域网)。 6 4、三层交换技术 随着网络模式的不断扩展,网络的流量情况从 80/20 向 20/80 的规则扩展,然而若 仍然使用传统的路由器,则会在转发数据方面就会出现网络瓶颈的问题,因此采用三 层交换机来代替路由器。 三层交换技术采用 Intranet 关键技术,将第二层交换机和第三层路由器两者的优 势相结合。上面提到,二层交换技术是在 OSI 网络标准模型中的第二层——数据链路 层进行操作的,而三层交换技术是在网络模型中的第三层实现了数据报文的高速转发。 因此简单地说,三层交换技术就是:二层交换技术+三层转发技术。下面比较一下三 层交换机和路由器的区别: ① 性能:传统路由器基于微处理器转发报文,靠软件处理,三层交换机通过 ASIC 硬件来进行报文转发,性能差别很大; ② 接口类型:三层交换机的接口基本上都是以太网接口没有路由接口类型丰富; ③ 三层交换机可以工作在二层模式,对于不需要路由的报文可以直接交换,而路 由器不具有二层功能。 三层交换技术的工作原理:假设两个使用 IP 协议的站点 A、 B 通过第三层交换机 进行通信, A 在开始发送时,把自己的 IP 地址与 B 的 IP 地址比较,判断 B 是否与自 己在同一子网内。若 B 与 A 在同一子网内,则进行二层的转发, A 通过三层交换机转 发,广播一个 ARP 请求报文, B 同样通过三层交换机转发返回其 MAC 地址,在此过程 中,A 与 B 分别将对方的 MAC 地址学习到自己的 MAC 地址表,进行数据的二层转发;若 两个站点不在同一子网内, A 向 “缺省网关 ”发出 ARP(地址解析 )请求报文,而 “缺省网 关 ”的 IP 地址其实是三层交换机的三层交换模块。当 A 对 “缺省网关 ”的 IP 地址发出一 个 ARP 请求报文时, 网关向 A 回复自己的 MAC 地址, 然后 A 再向网关发出数据报文, 这时如果三层交换模块在以前的通信过程中已经知道 B 的 MAC 地址, 就通过三层硬件 转发表 IP fdb Table 直接将报文发送出去; 否则三层交换模块根据路由信息向 B 广播一 个 ARP 请求,B 得到此 ARP 请求后向三层交换模块回复其 MAC 地址,三层交换模块 将地址保存到三层硬件转发表,这样后面的工作就可以重复上面的操作,使得报文的 转发过程得以高效执行。 举例: 7 图4 如图 4 所示:交换机上划分了两个 VLAN —— VLAN1 和 VLAN2,同时交换机中 配置了路由接口来实现 VLAN1 和 VLAN2 的互通。 可以看到主机 A 和 B 属于 VLAN1, 网关为 1.1.1.1;主机 C 属于 VLAN2,网关为 2.2.2.2,另外还假设主机 A、B、C 的 ARP 表里面均没有彼此的 MAC 地址。 ? 三层交换机的二层转发( A 向 B 发起 Ping 请求): 1) 2) A 检查报文的目的 IP 地址,发现和自己在同一网段,需要进行二层转发; A 检查自己的 ARP 表, 发现 B 的 MAC 地址不在自己的 ARP 表里 (注意: ARP 表里记录了 IP 地址和 MAC 地址之间的对应关系,因而需要首先检查 ARP 表, 通过目的 IP 地址得到 MAC 地址,再进行数据报文的发送操作); 3) A—— Switch 发出 ARP 请求报文 (注意: ① ARP 请求报文是广播报文; ② 事 实上,在二层转发时是 A—— B 发出 ARP 请求报文,但需要经过交换机进行 转发); 4) Switch 学习 A 的 MAC 地址到自己的 MAC 地址表(注意:MAC 地址表是二层 转发引擎, 并且在二层转发时不能学习到 Switch 的 ARP 表和三层硬件转发表) , 并广播 ARP 请求报文; 5) 6) 7) 8) 9) B 接收到 ARP 请求报文,学习 A 的 MAC 地址到自己的 ARP 表; B—— Switch 发出 ARP 回应报文; Switch 学习 B 的 MAC 地址到自己的 MAC 地址表, 并向 A 发出 ARP 回应报文; A 接受到 B 的 ARP 回应报文,并学习 B 的 MAC 的地址; A—— Switch 发出 ICMP 请求报文; 10) Switch—— B 转发 ICMP 请求报文; 11) B—— Switch 发出 ICMP 回应报文; 12) Switch—— A 转发 ICMP 回应报文。 ? 三层交换机的三层转发( A 向 C 发起 Ping 请求): 1) A 检查报文的目的 IP 地址,发现和自己不在同一网段,则需要进行三层转发, 通过网关转发报文信息; 2) 3) 4) A 检查自己的 ARP 表,发现网关的 MAC 地址不在自己的 ARP 表里; A—— Switch (网关)发出 ARP 请求报文; Switch 将 A 的 MAC 地址学习到自己的 MAC 地址表、 ARP 表和三层硬件转发 表(即 IP fdb Table); 5) 6) 7) Switch—— A 发出 ARP 回应报文; A 接收 ARP 回应报文,并学习 Switch( VLAN1 路由口)的 MAC 地址; A—— Switch 发出 ICMP 请求报文 (注意: 报文中的目的 MAC 地址是 VLAN1 的,源 MAC 地址是 A 的,目的 IP 地址是 C 的,源 IP 地址是 A 的); 8 8) Switch 接收 ICMP 请求报文,判断出该报文是三层报文(原因:目的 MAC 地 址与 Switch 的 MAC 地址相同); 9) Switch 检查自己的路由信息表,发现报文的目的 IP 地址在自己的直连网段; 10) Switch—— C 发出 ARP 请求报文,该报文在 VLAN2 内广播; 11) C 接受到 ARP 请求报文,并学习 Switch( VLAN2 路由接口)的 MAC 地址; 12) C—— Switch 发出 ARP 回应报文; 13) Switch 学习 C 的 MAC 地址; 14) Switch—— C 转发 ICMP 请求报文(注意:目的 MAC 地址是 C 的,源 MAC 地址是 VLAN2 的,目的 IP 地址是 C 的,源 IP 地址是 A 的); 15) C—— Switch 发出 ICMP 回应报文; 16) Switch—— A 转发 ICMP 回应报文。 从上面的例子可以看到,三层交换机划分了两个 VLAN , A 与 B 之间的通信是在 一个 VLAN 内完成的,相对于交换机而言属于二层数据流;而 A 与 C 之间的通信需要 跨越 VLAN,因此属于三层数据流。下面讨论三层转发技术需要特别注意的几个问题: ? 交换机如何判断一个报文是二层报文还是三层报文呢?从上面的例子中可以看出, 从 A 到 B 的报文由于在同一个 VLAN 内部,因此目的 MAC 地址是 B 的 MAC 地 址; 而从 A 到 C 的报文由于需要跨越 VLAN , 这样报文的目的 MAC 地址是 Switch 设备虚接口上 VLAN1 的 MAC 地址。简单来说,就是当报文的目的 MAC 地址与 Switch 的 MAC 地址相同时,该报文就为三层报文。 ? 三层转发的几个相关的数据表格: MAC 地址表 ( FIB Table ) , 路由表 ( Route Table ) , ARP 表( ARP Table ),三层硬件转发表( IP fdb Table )。 MAC 地址表是二层转 发引擎,主要记录 MAC 地址和报文发出的端口信息之间的对应关系;路由表记录 路由信息; ARP 表服务于三层转发,主要记录 IP 地址与 MAC 地址之间的对应关 系;三层硬件转发表能够记录路由接口和 VLAN 的对应关系,以及下一跳的 MAC 地址和对应端口信息。其中三层硬件转发表( IP fdb Table )的所有信息均来源于 ARP 表和 MAC 地址表,当这两个表发生变化时, IP fdb Table 也随着变化。 ? 三层转发流程中围绕涉及 IP fdb Table 到两个关键的线程:①转发线程——硬件根 据报文中的信息查找 IP fdb Table 来转发报文;②学习线程——软件根据相关的 信息来学习和维护 IP fdb Table 以保证路由的畅通。三层交换机之所以转发报文 的速度很快, 在很大程度上都是这个三层硬件转发表的功劳,因为当它记录了报文 的目的 MAC 地址时,就可以直接通过硬件来实现转发,速度极快。 综上,本文重点讨论了各种网络设备的交换原理和报文的转发流程,其中以三层 交换机的报文转发流程为例,将三层交换的二层转发和三层转发进行了详细的描述。 需要特别指出的是,在研究报文转发流程时要注意二层和三层的报文转发过程的不同 以及四种数据表格之间的区别和联系。 9

本站文章于2019-11-07 19:14,互联网采集,如有侵权请发邮件联系我们,我们在第一时间删除。 转载请注明:相易机基础道理和转发流程总结
已点赞:105 +1

上一篇:

下一篇:



关于我们

  • 关于我们
  • 品牌介绍
  • 诚聘英才
  • 联系我们

学生/家长

  • 帮我选学校
  • 帮我选专业
  • 投诉/建议

教育机构

  • 如何合作
  • 联系方式

其他

  • 投稿合作
  • 权利声明
  • 法律声明
  • 隐私条款
全国统一客服电话
4006-023-900
周一至周六 09:00-17:00 接听
IT培训联盟官方公众号
扫描访问手机版
家电维修|北京赛车pk10