嘉兴网站如何制作,济南百度开户电话,网页设计视频网站,金融网站织梦模板哈工大计算机网络课程局域网详解之#xff1a;交换机概念 文章目录 哈工大计算机网络课程局域网详解之#xff1a;交换机概念以太网交换机#xff08;switch#xff09;交换机#xff1a;多端口间同时传输交换机转发表#xff1a;交换表交换机#xff1a;自学习交换机互…哈工大计算机网络课程局域网详解之交换机概念 文章目录 哈工大计算机网络课程局域网详解之交换机概念以太网交换机switch交换机多端口间同时传输交换机转发表交换表交换机自学习交换机互联组织机构Institutional网络交换机 VS 路由器 在介绍完局域网中最具代表性的以太网技术后接下来我们继续来看一下在局域网中使用非常广泛也是非常重要的网络设备交换机。 以太网交换机switch
本节主要面向以太网来介绍其中使用的交换机。
作为以太网交换机来说是一个典型的数据链路层设备可以实现对链路层数据帧的存储-转发。在存储-转发的过程中交换机是通过检验到达数据帧的目的MAC地址选择性selectively向一个或多个数据链路转发帧。
同时交换机作为链路层设备在每个接口中发送/接收数据帧时实际上都是利用CSMA/CD协议来访问链路发送数据帧的。
最典型也是使用最广泛的一类交换机叫做透明transparent交换机。这里透明的意思是指
主机感知不到交换机的存在。
因此这类透明交换机就是一种即插即用的设备。也就是说作为标准的链路层设备交换机可以直接接入到网络就可以工作而不需要复杂的配置和管理。
交换机多端口间同时传输
交换机在现在的网络中使用最广泛的场景比如在以太网中通过把计算机利用一个点对点链路直接接入到交换机的一个接口上从而构成了一个局域网有时也被称为交换以太网。示例图如下所示 这些主机都是通过一个独享的或非共享的链路直接与交换机相连。作为交换机可以在这些互联的主机之间实现数据帧的存储-转发。同时正如上面介绍的交换在每段链路上都是遵循CSMA/CD协议来收发数据帧。由于在上述网络中每个主机都是点对点与交换机连接的每段链路一个独立的冲突域所以不会发送冲突且可以实现全双工。
交换机可以在这些所有互联的主机之间实现并行的交换传输。比如A-A‘之间进行通信和B-B‘之间进行通信是可以同时进行的互不干扰没有冲突。
交换机转发表交换表
作为交换机如何保证数据能够动态的在多个不同的接口之间进行交换传输呢
比如还是上面的示例图交换机怎么知道A‘实际指的是MAC地址可以通过接口4到达而B‘可以通过接口5到达
这里就涉及交换机里一个非常重要的概念交换表。
每个交换机都会维护一个交换表switch table交换表中的每条记录entry记录了MAC地址与相应接口的转发映射关系类似路由器中的转发表。
比如每个entry的格式主机MAC地址到达主机的接口时间戳。这个时间戳的设置是当时间戳设置的时间超时之后会把该条记录从交换表中清除再重新学习获取。看起来很像路由表
接下来还有一个疑问就是上面交换机中的交换表是怎么构建出来的 我们在网络层中介绍过路由器中的转发表是利用一些路由协议e.g. OSPF、BGP根据算法来计算得到的转发信息。这里的交换表是这样做的吗
交换机自学习
实际上交换表的构造方法跟网络层中路由转发表的构造方法有很大差异。这个差异在于交换机获取交换表的信息是通过自学习来完成的。
交换机通过自学习获知到达主机的接口信息。学习的过程大致如下
当收到帧时交换机“学习”到发送帧的主机通过帧的源MAC地址位于收到该帧的接口所连接的LAN网段。学到该信息之后就可以将发送主机的MAC地址/接口信息记录到交换表中。
下面以一个示例来看一下自学习的过程。还是上面的示例图假设主机A要向目的主机A‘发送数据帧。A和A‘实际上都是指MAC地址 数据帧从主机A发送后到达交换机此时交换机就可以根据数据帧的源MAC地址学习到当MAC地址为A时其接口对应的是1。也就是说交换机学习到了将来如何有数据帧需要发送给主机A则会通过接口1来转发。
同时由于初始时交换表是空的不清楚应用通过哪个接口来转发该数据帧。此时会采用一种泛洪的方式也就是除了接口1之外其余的接口都会转发一个该帧的副本。 主机接收到后会比对数据帧中的目的MAC地址因此只有主机A‘会正确接收该数据帧其他主机则直接丢弃。
作为交换机在整个自学习过程中有时也被称为一个帧过滤/转发过程。
交换机事实上就是利用收到数据帧的目的MAC地址去检索交换表来决定从哪个接口转发数据帧。在这个过程中也同时利用帧的源MAC地址来进行自学习。
接下来我们对上面介绍的过程进行汇总来描述一个帧转发过程。
当交换机收到帧时 记录帧的源MAC地址与输入链路接口。 利用目的MAC地址检索交换表。 if在交换表中检索到与目的MAC地址匹配的入口entry then { if 目的主机位于收到帧的网段 then 丢弃帧 else 将帧转发到该入口指向的接口 } else 泛洪flood/* 向除收到该帧的接口之外的所有接口转发 */
交换机互联
作为利用交换机连接的局域网显然不会只有一台交换机来连接所有的主机。有的时候可能是接口的限制或是网络距离的需要需要对网络进行扩展。最典型的扩展方式就是利用多交换机互联之后构成一个更大范围的层级结构的局域网。 这种网络结构在现在的局域网中是非常常见的。那么在上面的层级结构中主干交换机S1、S2、S3、S4又是如何来构建交换表的呢
需要再次强调的是上述A、B、C…这些实际上指代的都是主机的MAC地址。
假设此时A向G发送数据帧S1怎么知道通过S4转发S4又怎么知道通过S3转发
显然这个过程也是要通过自学习来完成的。这个过程实际上与单一交换机情形相同。比如上面的例子中S1不知道如何转发数据帧时采用的方式仍然是泛洪。泛洪之后把数据帧传输到了S4S4同样不知道如何转发则仍然继续泛洪。以此类推最终S3经过泛洪把数据帧的一个副本传输给了G。而在这个过程中每个交换机都会自学习来学习各自交换表中的转发映射关系。
组织机构Institutional网络
交换机在实际局域网中使用非常广泛比如下图的示例网络就是一些比较典型的组织机构网络的一个缩影。 事实上比如像校园网、小型中小企业的网络等它们的网络构成大部分都由我们图中所示的网络特点。
比如通过一个局域网的边缘路由器与外部网络连接一般是连接到一个ISP网络上。在网络组织内部利用交换机连接交换机交换机连接主机这样的方式构成一个组织内部网络。
从这个网络中可以看出如果说路由器右边连接的网络不再包含网络层第三层设备的话显然这样的网络对应的就是一个IP子网。在这个IP子网中任何一个交换机在工作过程中如何收到在这个网络范围内的任何一个主机发送的广播数据帧目的MAC地址是全1此时所有交换机都会把这个广播帧转发到所有的其他接口上去也就是上面讲过的泛洪。因此对于这样一个IP子网来说也被称为一个广播域。
再结合之前介绍过的冲突域的概念如果交换机的某个接口所连接的网络不再经过另外一个交换机或网络设备的话这样的网络就是一个冲突域。
上面的示例网络可以看得出来由于每个交换机的接口最多只连接一个主机所以每个冲突域都只有一台主机。
交换机 VS 路由器
在现在的网络中经常会需要用到交换机和路由器等设备因此我们对交换机和路由器设备进行一个简单的对比来加深理解。
交换机 vs 路由器
两者均为存储-转发设备 路由器网络层设备检测网络层分组首部处理的是IP数据报。交换机链路层设备检测链路层帧的首部处理的是链路层数据帧。 二者均使用转发表 路由器利用路由算法路由协议计算设置转发表的转发映射关系依据IP地址。交换机利用自学习、泛洪构建转发表依据MAC地址。
可以参照下面的示意图来理解。 进一步的可以把在网络中尤其是局域网中常用的一些网络设备对其功能和局限性进行一个简单对比