交换机基本原理和转发流程总结_第1页
交换机基本原理和转发流程总结_第2页
交换机基本原理和转发流程总结_第3页
交换机基本原理和转发流程总结_第4页
交换机基本原理和转发流程总结_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、交交换换机机基基本本原原理理和和转转发发流流程程总总结结 关关键键词词: 以太网集线器 Ethernet HUB 交换机 Switch 虚拟局域网 VLAN 路由器 Router 路由表 Route Table 地址解析协议 ARP ARP 表 ARP Table MAC 表 FIB Table 三层硬件转发表 IP fdb Table 计算机网络往往由许多种不同类型的网络互连连接而成。如果几个计算机网络只是在 物理上连接在一起,它们之间并不能进行通信,那么这种“互连”并没有什么实际意义。因 此通常在谈到“互连”时,就已经暗示这些相互连接的计算机是可以进行通信的,也就是说, 从功能上和逻辑上看

2、,这些计算机网络已经组成了一个大型的计算机网络,或称为互联网 络,也可简称为互联网、互连网。下面将从互联网的渐进历程逐一阐述各种设备的工作原 理: 1、Ethernet HUB Ethernet HUB 的中文名称叫做以太网集线器,其基本工作原理是广播技术 (broadcast) ,也就是 HUB 从任何一个端口收到一个 以太网数据帧 后,它都将此 以太 网数据帧广播到其它所有端口, HUB 不记忆哪一个 MAC 地址挂在哪一个端口 这 里所说的广播是指 HUB 将该以太网数据帧发送到所有其它端口,并不是指 HUB 将该 报文改变为广播报文 。 以太网数据帧 中含有源 MAC 地址和目的 MA

3、C 地址,对于与数据帧中目的 MAC 地址相同的计算机执行该报文中所要求的动作 ;对于目的 MAC 地址不存在或没有响 应等情况,HUB 既不知道也不处理 ,只负责转发 。HUB 工作原理: HUB 从某一端口 A 收到的报文将发送到所有端口 ; 报文为非广播报文时, 仅与报文的目的 MAC 地址相同的端口响应用户 A; 报文为广播报文时,所有用户都响应用户 A。 随着网络应用不断丰富,网络结构日渐复杂,导致传统的以太网连接设备HUB 已经越来越不能满足网络规划和系统集成的需要,它的 缺陷主要表现在以下两个方面 : 冲突严重HUB 对所连接的局域网只作信号的中继,所有物理设备构成了一 个冲突域

4、; 广播泛滥。 2、二二层层交交换换技技术术 二层交换机的出现能够在一定程度上解决 HUB 存在的缺陷主要是冲突严重的 问题,其与 HUB 的区别从大的方面来看可以分为以下三点: 从 OSI 体系结构来看, HUB 属于 OSI 模型的第一层物理层设备,而交换机属 于 OSI 的第二层数据链路层设备。也就意味着 HUB 只是对数据的传输起到同步、放大 和整形的作用,对数据传输中的短帧、碎片等无法进行有效的处理,不能保证数据传输 的完整性和正确性;而交换机不但可以对数据的传输做到同步、放大和整形,而且可以 过滤短帧、碎片等。 从工作方式来看, HUB 是一种广播模式, 当 HUB 的某个端口工作

5、的时候,其 他所有端口都能够收听到信息,容易产生广播风暴,当网络较大时网络性能会受到很大 的影响;而当交换机工作的时候,只有发出请求的端口和目的端口之间相互响应而不影 响其他端口,因此交换机就能 够隔离冲突域,并在一定程度上 抑制广播风暴。 从带宽来看, HUB 不管有多少个端口,所有端口都是共享一条带宽,在同一时 刻只能有二个端口传送数据,其他端口只能等待,同时HUB 只能工作在半双工模式下 (半双工模式在通道中同时只能沿着一个方向传输数据 );而对于交换机而言, 每个端口都有一条独占的带宽,当二个端口工作时并不影响其他端口的工作,同时交换 机不但可以工作在半双工模式下而且可以工作在全双工模

6、式下(全双工模式 在通 道中同时双向数据传输的能力 )。 二层交换技术的 工作原理:由于二层 交换技术是在 OSI 七层网络模型中的第二层, 即数据链路层进行操作的,因此交换机对数据报文的转发是建立在MAC(Media Access Control )地址-物理地址基础之上的,对于 IP 网络协议来说,它是透明的, 即交换机在转发数据 报文时,无须知道信源机和信宿机的 IP 地址,只需知其物理地址 (MAC 地址)即可。交换机在工作过程当中会不断的 检测报文的源和目的 MAC 地 址来建立 MAC 地址表,这个表说明了某个 MAC 地址是在哪个端口上被发现的 。这 样当交换机收到一个报文时,它

7、便会看一下该数据报文的目的MAC 地址,核对一下 自己的 MAC 地址表以确认应该从哪个端口把数据报文发出去 ;但若交换机收到的报 文在目的 MAC 地址不能在地址表中找到时,交换机会把IP 报文广播出去这正是 二层交换机的弱点 所在。 二层交换机的报文转发涉及到两个关键的线程: 学习线程: 交换机接收网段上的所有数据帧,利用接收数据帧的源MAC 地址建立 MAC 地址表; 端口移动机制:交换机如果发现一个报文的入端口和报文中源MAC 地址的所 在端口不同,就产生端口移动,将 MAC 地址学习到新的端口; 地址老化机制:如果交换机在很长一段时间内没有收到主机发出的报文,则该主 机对应的 MAC

8、 地址就会被删除,等下次报文来的时候重新学习。 报文转发线程 : 交换机在 MAC 地址表中查找数据帧的目的 MAC 地址,如果找到就将该数据 发送到相应的端口,如果找不到就向所有的端口发送(广播); 如果交换机收到的报文中源 MAC 与目的 MAC 地址相同,则丢弃该报文; 交换机向入端口以外的所有其它端口发送广播报文。 二层交换机的缺点: 传统的以太网交换机 对接收到的数据帧根据 MAC 地址进行 二层转发,因此 将网段上的冲突域限制到了端口级,但却无法限制广播域的大小,在主 机数量很多的情况下,广播泛滥 的现象仍然很严重。 3 3、V VL LA AN N 技技术术 为解决在局域网中存在

9、的广播泛滥 和安全性的问题,引出了 VLAN 即虚拟局域网的 概念,所谓 VLAN 是一种将局域网内 的设备逻辑地而不是物理地划分成一个个网段从 而实现虚拟工作组的新兴技术。 VLAN技术允许网络管理者将一个物理的 LAN逻辑地划分成不同的广播域(或称虚 拟LAN,即VLAN) ,每一个VLAN都包含一组有着相同需求的计算机工作站,与物理上 形成的LAN有着相同的属性。但由于它是逻辑地而不是物理地划分,所以同一个 VLAN内的各个工作站无须被放置在同一个物理空间里,即这些工作站不一定属于同一 个物理LAN网段。一个VLAN内部的广播和单播流量都不会转发到其他 VLAN中,从而 有助于控制流量、

10、减少设备投资、简化网络管理、提高网络的安全性。引入了VLAN以 后,对二层交换机的报文转发线程产生了如下的影响: 1)交换机在MAC地址表中查找数据帧中的目的MAC地址,如果找到(同时还要确保报 文的入VLAN和出VLAN是一致的),就将该数据帧发送到相应的端口,如果找不到, 就向(VLAN内)所有的端口发送; 2)如果交换机收到的报文中源MAC地址和目的MAC地址所在的端口相同,则丢弃该报 文; 3)交换机向(VLAN内)入端口以外的其它所有端口转发广播报文。 Vlan与二层交换的规则与二层交换的规则: 主机和交换机之间传送的是 untagged 报文 交换机之间用干道链路(Trunk)连接

11、 交换机用 Tag 来标识报文所属的 VLAN 干道链路上传输的是 Tagged Frame 不同 VLAN 之间在二层不能相互通讯 虚拟局域网将一组位于不同物理网段上的用户在逻辑上划分成一个局域网内,在功 能和操作上与传统 LAN 基本相同,可以提供一定范围内终端系统的互联。 VLAN 的优势 主要表现在以下四个方面: 1)建立虚拟工作组模型,使虚拟局域网中的各个设备很容易相互访问; 2)限制广播范围 ; 3) 增加网络的安全性; 4)动态网络管理。 VLAN 的划分:的划分: 基于端口的 VLAN; 基于 MAC 的 VLAN; 基于协议的 VLAN; 基于 IP 地址的 VLAN; 基于

12、 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 Source Mac

13、 Length /type FCS 662 4215004 Data 4 Destination Mac Source Mac Length /type FCS 662 4615004 Data Vlan tag 22 Vlan Protocal ID = 0 x8100cfipriorityVlan ID 1bit3 bit12 bit 图 1 VLAN Identified( VLAN ID ): 这是一个12位的域,指明 VLAN的ID,一共4096 个,每个支持 802.1Q协议的主机发送出来的数据包都会包含这个域,以指明自己所 属的VLAN。 Canonical Format Ind

14、icator( CFI ):这一位主要用于总线型的以太网与FDDI、令牌环网 交换数据时的祯格式。 Priority:这3 位指明祯的优先级。一共有 8种优先级,主要用于当交换机阻塞时, 优先发送优先级高的数据包。 在交换机中,直接与主机相连的端口是无法识别 802.1Q报文的,那么这种端口称 为 Access端口;对于交换机相连的端口,可以识别和发送 802.1Q报文,那么这种端口 称为Tag Aware 端口。 工作原理:在交换机中的报文转发过程中,802.1Q 报文标识了报文所属的 VLAN;在跨 越交换机的报文中,带有 VLAN 标签信息的报文尤其显得重要。例如,定义交换机中的 1 端

15、 口属于 VLAN 2,且该端口类型为 Acess,当 1 端口接收到一个数据报文后,交换机会查看 该报文中没有 802.1Q 标签,若没有交换机根据 1 端口所属的 VLAN 2,自动给该数据包添 加一个 VLAN 2 的标签头,然后再将数据包交给数据库查询模块,数据库查询模块会根据数 据包的目的地址和所属的 VLAN 进行查找,之后交给转发模块,转发模块看到这是一个包含 标签头的数据包,根据报文的出端口的性质来决定是否保留还是去掉标签头。如果端口是 Tag Aware 端口,则保留标签,否则删除标签头。一般情况下,两个交换机互连的端口一 般都是 Tag Aware 端口, 交换机和交换机之

16、间交换数据包时是没有必要去掉标签的。 VLAN的的IVL和和SVL方式方式 IVL: Independent Vlan Learning SVL: Shared Vlan Learning MAC1 VLAN1 PORT1 MAC2 VLAN2 PORT2 MAC2 VLAN2 PORT2 MAC3 VLAN3 PORT3 MAC1 VLAN1 PORT1 MAC2 VLAN2 PORT2 MAC3 VLAN3 PORT3 IVLSVL 图2 在IVL方式下: 每个VLAN都有自己的对应的MAC地址表(抽象的概念并不是物理的) ,相互之间没有影响。一个MAC地址可以被学习到不同的VLAN中,因

17、此对一个用户来说 如果属于多个VLAN,那么每个VLAN内的信息都需要重新学习。而SVL方式下,一个地址 表项对所有的VLAN都通用,表中的MAC用户不能有重复。 PVLAN PVLAN,Primary-VLAN特性的简称,主要通过将用户划入不同的VLAN,实现用户 之间二层报文的隔离。为客户提供了更多的解决方案。 在PVLAN的设计中采用了多个Secondary VLAN包含在一个Primary VLAN中的方式, 给用户提供了灵活的配置方式。如果用户希望实现二层报文的隔离,可以采用了为每个用 户分配一个Secondary vlan的方式,每个VLAN中只包含用户连接的端口和Uplink p

18、ort;如 果希望实现用户之间二层报文的互通,可以将用户连接的端口划入同一个VLAN中;同时 创建Primary VLAN,该VLAN包含所有Secondary VLAN中包含的端口和Uplink端口,这样 对上层交换机来说,可以认为下层交换机中只有一个Primary VLAN,用来标识设备,而不 必关心Primary VLAN中的端口实际所属的VLAN,简化了配置,节省了VLAN资源。 24 1 v vl la an n 1 1v vl la an n 3 3 v vl la an n 2 2 v vl la an n 4 4 3 ABC 图3 Primary VLAN中的所有端口都不是80

19、2.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方式相

20、结合,则图3中两种情况的地址表如下: PVLANSVL方式:mac A vlan 2 port 2 mac B vlan 3 port 3 mac C vlan 4 port 4 PVLANIVL方式: 1)vlan 2地址表:mac Avlan 2 port 2 2)vlan 3地址表:mac Bvlan 3 port 3 3)vlan 4地址表:mac Cvlan 4 port 4 4)vlan 1地址表:mac Avlan 1 port 2 mac Bvlan 1 port 3 mac Cvlan 1 port 4 采用 VLAN(虚拟局域网)技术确实解决了一些问题,但也引发出一些新的问

21、 题:随着应用的升级,网络规划者可根据情况在交换式局域网环境下将用户划 分在不同 VLAN(虚拟局域网)上,但是 VLAN(虚拟局域网)之间通信是不允许的, 要想通信就需要用路由器/三层交换机来桥接这些 VLAN(虚拟局域网)。 4、三三层层交交换换技技术术 随着网络模式的不断扩展, 网络的流量情况从 80/20 向 20/80 的规则扩展,然而 若仍然使用传统的 路由器,则会在转发数据方面就会出现网络瓶颈的问题 ,因此采用 三层交换机来代替路由器。 三层交换技术 采用 Intranet 关键技术,将第二层交换机和第三层路由器两者的优势 相结合。上面提到,二层交换技术是在 OSI 网络标准模型

22、中的第二层 数据链路层 进行操作的,而三层交换技术是在网络模型中的第三层实现了数据报文的高速转发。 因此简单地说,三层交换技术就是:二层交换技术三层转发技术。下面比较一下三 层交换机和路由器的区别: 性能:传统路由器基于微处理器转发报文,靠软件处理,三层交换机通过 ASIC 硬件来进行报文转发,性能差别很大; 接口类型:三层交换机的接口基本上都是以太网接口没有路由接口类型丰富; 三层交换机可以工作在二层模式,对于不需要路由的报文可以直接交换,而路 由器不具有二层功能。 三层交换技术的 工作原理:假设两个使用 IP 协议的站点 A、B 通过第三层交换机 进行通信,A 在开始发送时,把自己的 IP

23、 地址与 B 的 IP 地址比较,判断 B 是否与自 己在同一子网内。若 B 与 A 在同一子网内,则进行二层的转发 ,A 通过三层交换机转 发,广播一个 ARP 请求报文,B 同样通过三层交换机转发返回其 MAC 地址,在此过程 中,A 与 B 分别将对方的 MAC 地址学习到自己的 MAC 地址表,进行数据的 二层转发; 若两个站点不在同一子网内, A 向“缺省网关”发出 ARP(地址解析)请求报文,而“缺 省网关”的 IP 地址其实是三层交换机的三层交换模块。当A 对“缺省网关”的 IP 地址发 出一个 ARP 请求报文时,网关向 A 回复自己的 MAC 地址,然后 A 再向网关发出数据

24、 报文,这时如果三层交换模块在以前的通信过程中已经知道B 的 MAC 地址,就通过 三层硬件转发表 IP fdb Table 直接将报文发送出去 ;否则三层交换模块根据路由信息向 B 广播一个 ARP 请求,B 得到此 ARP 请求后向三层交换模块回复其 MAC 地址,三层 交换模块将地址保存到三层硬件转发表 ,这样后面的工作就可以重复上面的操作, 使 得报文的转发过程得以高效执行 。 举例: vlan 1 vlan 2 A B C 1.1.1.1 255.255.0.0 1.1.1.2 255.255.0.0 2.2.2.2 255.255.0.0 2.2.2.1 255.255.0.0 1

25、.1.1.3 255.255.0.0 图 4 如图 4 所示:交换机上划分了两个 VLANVLAN1 和 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)A 检查报文的目的 IP 地址,发现和自己在同一网段 ,需要进行二层转发 ; 2)A 检查自己的 ARP 表,发现 B 的 MAC 地址不在自己的

26、ARP 表里(注意: ARP 表里记录了 IP 地址和 MAC 地址之间的对应关系,因而需要 首先检查 ARP 表,通过目的 IP 地址得到 MAC 地址,再进行数据报文的发送操作 ); 3)A Switch 发出 ARP 请求报文(注意: ARP 请求报文是广播报文 ; 事实上,在二层转发时是 AB 发出 ARP 请求报文,但需要经过交换机进 行转发); 4)Switch 学习 A 的 MAC 地址到自己的 MAC 地址表(注意: MAC 地址表是二 层转发引擎,并且 在二层转发时不能学习到 Switch 的 ARP 表和三层硬件转发 表),并广播 ARP 请求报文; 5)B 接收到 ARP

27、 请求报文,学习 A 的 MAC 地址到自己的 ARP 表; 6)B Switch 发出 ARP 回应报文; 7)Switch 学习 B 的 MAC 地址到自己的 MAC 地址表,并向 A 发出 ARP 回应报 文; 8)A 接受到 B 的 ARP 回应报文,并学习 B 的 MAC 的地址; 9)A Switch 发出 ICMP 请求报文; 10) SwitchB 转发 ICMP 请求报文; 11) B Switch 发出 ICMP 回应报文; 12) SwitchA 转发 ICMP 回应报文。 三层交换机的三层转发 (A 向 C 发起 Ping 请求): 1)A 检查报文的目的 IP 地址,

28、发现和自己不在同一网段 ,则需要进行三层转发, 通过网关转发报文信息; 2)A 检查自己的 ARP 表,发现网关的 MAC 地址不在自己的 ARP 表里; 3)ASwitch(网关)发出 ARP 请求报文; 4)Switch 将 A 的 MAC 地址学习到自己的 MAC 地址表、ARP 表和三层硬件转 发表(即 IP fdb Table); 5)SwitchA 发出 ARP 回应报文; 6)A 接收 ARP 回应报文,并学习 Switch(VLAN1 路由口)的 MAC 地址; 7)ASwitch 发出 ICMP 请求报文(注意:报文中的目的 MAC 地址是 VLAN1 的,源 MAC 地址是

29、 A 的,目的 IP 地址是 C 的,源 IP 地址是 A 的); 8)Switch 接收 ICMP 请求报文,判断出该报文是三层报文(原因:目的MAC 地址与 Switch 的 MAC 地址相同); 9)Switch 检查自己的路由信息表,发现报文的目的 IP 地址在自己的直连网段; 10) SwitchC 发出 ARP 请求报文,该报文在 VLAN2 内广播; 11) C 接受到 ARP 请求报文,并学习 Switch(VLAN2 路由接口)的 MAC 地址; 12) CSwitch 发出 ARP 回应报文; 13) Switch 学习 C 的 MAC 地址; 14) SwitchC 转发 ICMP 请求报文(注意:目的 MAC 地址是 C 的,源 MAC 地址是 VLAN2 的,目的 IP 地址是 C 的,源 IP 地址是 A 的); 15) CSwitch 发出 ICMP 回应报文; 16) SwitchA 转发 ICMP 回应报文。 从上面的例子可以看到,三层交换机划

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论