交换机工作原理-路由交换原理7-【HCNA笔记】

1、交换原理

我们知道交换机有若干个物理端口,端口可以接入主机、路由或其他交换机。同时接入交换机的设备都有一个MAC地址,交换机内部存储着一张缓存表,表上记录着各个端口对应设备的MAC地址。这样当一台主机需要向另一台设备发送数据时,在数据帧中注明目的设备的MAC地址,交换机读取该MAC地址,查询缓存表找到对应的端口号,将帧直接发往该端口对应的设备即可。缓存表示意如下。

端口 MAC地址
0 00-50-BA-CE-07-0C
1 00-50-BA-CE-07-0D
2 00-50-BA-CE-07-0E
3 00-50-BA-CE-07-0F
...  

2、交换机的功能

交换机主要有三个功能:交换、广播、学习。

交换:交换机收到主机A的帧,它查看该帧的目的MAC地址,然后查询缓存表中该MAC地址对应的端口,将帧转发到对应端口即可。

广播:交换机收到主机A的帧,它查看该帧的目的MAC地址,若目的MAC地址为FF-FF-FF-FF-FF-FF,则表明这是一个广播帧,交换机会将这个帧发往所有端口。若目的MAC地址在缓存表中找不到,交换机也会将这个帧广播到所有端口。

学习:最初缓存表中是没有任何MAC地址与端口的对应信息,当它收到某端口的帧时通过读取源MAC地址就知道了该端口对应的MAC地址并记录,通过这个过程就能把各端口对应的MAC地址都记录下来,对于未记录的目的MAC地址则采用广播的方式发出去。

3、交换机的级联

对于大型网络为接入更多设备必然出现级联的情况,然而即使再复杂的级联情况,交换机使用前面叙述的三种功能都能轻松应对。考虑下图所示的连接,SW1连接的主机A1要向SW2连接的主机B1发送数据。这里假设SW1和SW2中的缓存表都是空的。

1)当帧到达SW1时,SW1通过读取帧的源MAC地址获得了如下的缓存表。这里假设A2和A3后续也发出了类似的帧分别发往B2和B3,将其MAC加入缓存表方便后面分析。

SW1缓存表
MAC 端口  
00-50-BA-CE-07-A1 0  
00-50-BA-CE-07-A2 5  
00-50-BA-CE-07-A3 10  

2)SW1再对比帧中目的MAC地址是否记录在缓存表中,当然是没有的。于是SW1向所有端口转发此帧。A2、A3通过查看目的MAC地址得知该帧不是发给自己的于是直接丢弃,与SW1连接的SW2自然也收到该帧,于是SW2通过读取帧的源MAC地址获得了如下的缓存表。因为A1、A2、A3的帧都只会通过SW2的端口0进来,所以这几个MAC地址对应的都是端口0。

SW2缓存表
MAC 端口
00-50-BA-CE-07-A1 0
00-50-BA-CE-07-A2 0
00-50-BA-CE-07-A3 0

3)SW2对比帧中目的MAC地址是否记录在缓存表中,当然没有。于是SW2向所有端口转发这些帧,主机B1、B2、B3通过查看目的MAC地址分别获取了发给自己的帧,同时SW2就得知了各端口连接主机的MAC地址并更新了其缓存表。

SW2缓存表
MAC 端口
00-50-BA-CE-07-A1 0
00-50-BA-CE-07-A2 0
00-50-BA-CE-07-A3 0
00-50-BA-CE-07-B1 4
00-50-BA-CE-07-B2 5
00-50-BA-CE-07-B3 9

4)此时,若主机B1向A1返回一个帧,SW2通过查询缓存表就知道将帧发往其端口0,SW1获取该帧后也可通过查询缓存表得知应将帧发往端口4,于是主机A1就能快速收到来自主机B1的帧的。同时SW1也能得知主机B1、B2、B3的帧来自端口0并将其MAC地址与端口对应关系记录到缓存表中。

SW1缓存表
MAC 端口
00-50-BA-CE-07-A1 4
00-50-BA-CE-07-A2 5
00-50-BA-CE-07-A3 10
00-50-BA-CE-07-B1 0
00-50-BA-CE-07-B2 0
00-50-BA-CE-07-B3 0

对于多层次的级联也是通过这种广播的方式来发现目标主机,交换机通过这种方式很好的实现了二层与三层的隔离,即帧转发完全没有涉及IP地址,仅靠MAC地址就能实现。

【MAC地址冲突的思考】通过前面的叙述我们知道,即使路由器工作在网络层使用IP寻址查找目标主机,而在帧传递时还是依赖于MAC地址,这也就是为什么需要对接入网络的网卡进行统一规划,避免MAC地址冲突。

【级联与广播】我们知道当交换机缓存表中没有目的MAC地址时就通过广播的方式传递该帧,其次交换机会定期删除不常用的缓存,那么对于多层次的交换机级联就有可能出现大量的广播包在网络中传递,对于环网甚至可能出现广播包的循环传递导致广播风暴。

【如何通过IP地址知道MAC地址】应用程序向外发送数据包时只指定目标的IP地址,那主机是如何得知IP对应的MAC地址呢,当然是前面讲过的ARP协议啦,也是通过广播的方式询问网络内所有主机的方式来得知目标IP的MAC地址。

【若目的IP位于其他网段】若数据要发往其他网段,主机会将目的MAC地址填为默认网关的MAC,则交换机会将帧发往路由器,路由器根据IP地址进行包转发,这就属于网络层的路由内容,后面会详细讲到。

【交换机与集线器】交换概念的提出是区别于早期的集线器技术,集线器的功能是将A端口收到的数据转发往其余所有端口,类似于广播的概念。这种传输技术缺点在于同一时间只能有一台接入的设备发送数据其他所有设备只能被动接收,对于大型网络这极大地影响传输效率。作为改良的交换技术它先是通过广播的方式获取网络中设备的MAC地址与端口的对应关系并记录到缓存表中,在以后的数据传输中就可以可以将A端口收到的数据转发往目标主机所在的端口,这就实现了接入的主机可将数据直接发往任意指定的其他主机,同时不影响其他接入主机的互相通信,极大地提升了效率。

【冲突域】我们将同一时间只能有一台设备发送数据的情况称为冲突域,即一台设备发送数据时其他所有互连的设备都只能接受不能发送,即为冲突,实际上只有集线器这种情况会形成一个冲突域。

【交换机隔离冲突域】交换机每一个端口的数据都可以并发的向另一个端口转发,所以说交换机可以隔离冲突域。考虑实际情况就是交换机不同端口上接入了若干个集线器,这些集线器分别组成了若干个冲突域,当这些集线器通过交换机连接时,交换机就将这些个冲突域隔离了,通俗点说就是不会形成更大的冲突域,表现形式就是各端口可自由通信。

【不同网段设备连接在交换机上能通信吗】若交换机上分别连接着多个网段的设备,根据交换机的转发原理,似乎是可以通信的,但实际上又确实不能通信,这是怎么回事呢?

我们先梳理一下两台设备互通的整个过程,首先主机A只知道主机B的IP地址不知道MAC地址的,IP报文到达网卡后,网卡可以通过ARP广播的方式通过IP地址找到MAC地址。得到MAC地址的网卡就可以组装帧啦,网卡将该帧发送给交换机,交换机通过MAC地址找到目标主机并转发。但是在ARP广播前发生了什么呢。

原来主机A自己本身有个路由表,表中记录着不同IP地址的数据该发往那个IP地址,其中同网段数据会标明直接从本地网卡出去,不同网段数据会默认发往网关。所以同网段的数据到达网卡后,网卡通过ARP查询IP地址对应的MAC地址并组成帧。不同网段的数据到达网卡后,网卡得知该数据是发往网关的,于是网卡填写目的MAC地址时就填写的是网关的MAC,最后组成的帧将被交换机发往网关。若主机没有配置网关,则发往不同网段的数据还没有到网卡就已经被丢弃了,并提示网络不可达。原因是在数据到达网卡前还要先查看自己的路由表,路由表上有注明的IP才能被发出否则不能发出(默认不认识的IP都是发往网关的)。

所以交换机上连接着的不同网段的设备是不能通信的。

时间: 2025-01-07 15:21:01

交换机工作原理-路由交换原理7-【HCNA笔记】的相关文章

STP原理-路由交换原理11-【HCNA笔记】

1.BPDU报文格式 交换机之间使用BPDU(网桥协议数据单元)来交换STP(生成树协议)信息,BPDU报文分为配置BPDU和TCN BPDU两类分别对应STP的两种应用场景(STP工作在数据链路层). BPDU帧 帧头 Data(BPDU报文) FCS 配置BPDU(Configuration BPDU)报文:用来进行生成树计算和维护生成树拓扑. 配置BPDU报文1 Protocol ID Protocol Version ID BPDU Type Flags Root ID Root Pat

【HCNA笔记】路由交换原理-1 802.3和以太网帧结构

1.RAW 802.3帧格式 前导字段 帧起始符 DMAC SMAC Length Data FCS 7字节 1字节 6字节 6字节 2字节 46-1500字节 4字节 前导字段:每个帧以7个字节的前导字段开头,以0.1间隔代码组成,用以通知目标端作好接收准备(10101010 10101010 10101010 10101010 10101010 10101010 10101010). 帧起始符:紧跟前导字段,值为10101011,最后两位'11'表示帧的实际开始.前导字段与起始符由物理设备自

IP路由基础-路由交换原理9-【HCNA笔记】

1.路由原理 数据在网络上传输时,要先查询本机的路由表而后根据路由表的指示,决定是将该包发往交换机进行帧交换还是直接发往路由器进行IP寻址.首先不同的数据在传输层根据不同的协议打包成各种传输报文,报头中记录的内容可以控制传输的过程,如TCP报文.UDP报文等.而后根据目的地不同在网络层被加上了IP报头,其中指明了目的设备的IP地址.将报文递交给网卡之前,设备先查询自己的路由表,如下图所示,这个表中记录着本机的路由策略,即不同类型的IP地址在接下来应当如何被传递.(说明:本机IP是192.168.

IP编址-路由交换原理2-【HCNA笔记】

1.IP报文组成 IP报文由IP报头和Data部分组成,报头由6个数据块组成,其中前5个数据块每块大小是固定的4字节(32位),后一个数据块长度可变,但规定了IP报头最大不能超过60字节,所以IP报头的大小范围在20到60字节. IP报头 Data 数据块1 数据块2 数据块3 数据块4 数据块5 数据块6 4字节 4字节 4字节 4字节 4字节 0-40字节 20-60字节 2.IP报头详解 数据块1(32位=4字节) Version Header Length Type of Service

ICMP协议-路由交换原理4-【HCNA笔记】

1.ICMP数据包格式 ICMP协议属于网络层,是TCP/IP协议族的一个子协议,ICMP数据包被封装在IP报文中.网络中传递的ICMP包示意如下,: ICMP数据包格式 帧头 IP报头 Data(ICMP包) FCS Type Code Checksum data 8位 8位 16位 按需要 Type:消息类型. Code:消息类型的具体参数. Checksum:校验字段,用于检查消息是否完整:在ICMP重定向消息中用于指定网关IP地址:在Echo Reply消息中这个字段包含标识符和序号.

ARP协议-路由交换原理5-【HCNA笔记】

1.ARP报文格式 ARP协议工作在数据链路层,网络中传输的ARP包示意如下(由于字段较多,这里对连续字段进行换行处理): 帧头 Data(ARP包) FCS ARP包: Hardware Type Protocol Type Hardware Length Protocol Length Operation Code 16位 16位 8位 8位 16位 Source Hardware Address Source Protocol Address 48位 32位 Destination Har

802.3和以太网帧结构-路由交换原理1-【HCNA笔记】

1.RAW 802.3帧格式 前导字段 帧起始符 DMAC SMAC Length Data FCS 7字节 1字节 6字节 6字节 2字节 46-1500字节 4字节 前导字段:每个帧以7个字节的前导字段开头,以0.1间隔代码组成,用以通知目标端作好接收准备(10101010 10101010 10101010 10101010 10101010 10101010 10101010). 帧起始符:紧跟前导字段,值为10101011,最后两位‘11’表示帧的实际开始.前导字段与起始符由物理设备自

路由和交换机工作原理

路由器与交换机的工作原理 计算机网络往往由许多种不同类型的网络互连连接而成.如果几个计算机网络只是在物理上连接在一起,它们之间并不能进行通信,那么这种“互连”并没有什么实际意义.因此通常在谈到“互连”时,就已经暗示这些相互连接的计算机是可以进行通信的,也就是说,从功能上和逻辑上看,这些计算机网络已经组成了一个大型的计算机网络,或称为互联网络,也可简称为互联网.互连网. 将网络互相连接起来要使用一些中间设备(或中间系统),ISO的术语称之为中继(relay)系统.根据中继系统所在的层次,可以有以下

ARP协议-攻击与欺骗分析-交换机工作原理--(精华全篇版)

ARP协议攻击与欺骗分析-交换机工作原理 一:交换机的工作原理 (一):实验拓扑 1:主机A与主机B通信 交换机的工作原理 (1):主机A将一个带有主机A的的ip地址和MAC地址的数据进行封装成帧,向局域网中发送广播. (2):交换机1的接口G0/0/1接收到主机A发送来的数据帧,会立即将数据帧的源MA地 址和接收数据帧的接口G0/0/1记录在它的MAC地址表中.此时的源MAC地址是主机A. (3):交换机这个时候查看自己MAC地址表,看看自己的MAC地址表中是否记录了数据帧的目标MAC地址和默