app教程网 学习教程 交换机在网络中的作用(网络交换机的作用与功能)

交换机在网络中的作用(网络交换机的作用与功能)

以太网中交换机之间不正确的端口连接会导致网络环路。如果相关交换机不开启STP功能,这种循环会导致数据包无休止的重复转发,形成广播风暴,从而造成网络故障。

有一天,我们在校园网的网络性能监控平台上发现一栋楼的VLAN有问题,它的接入交换机和校园网的连接中断了。检查放置在网络中心的汇聚交换机,发现与其连接的100base-FX端口有大量的传入流量。

流量很小,很不正常。不过这个汇聚交换机性能好像还可以,没有问题。因此,我们在这个汇聚交换机上镜像这个异常端口,并使用协议分析工具Sniffer来捕获数据包。

最多的时候,每秒钟能抓到10万多只。经过对这些数据包的简单分析,我们发现了一些共同的特征。

当时我们急于尽快修复网络,并没有深究这些数据包的特性。我们只看到了第一点,认为网络受到了不明来源的Syn Flood攻击,很可能是一种新的网络病毒引起的,立即禁用了这个汇聚交换机上的端口。

从而避免网络性能的下降。

排除故障

为了在现场测试网络的连通性,在网络中心,我们通过光电转换器将连接到该建筑的接入交换机的多模尾纤连接到具有双绞线的PC,并将其模拟为问题中的VLAN的网关。然后,去现场找楼宇网管,

我想让他尽快帮我们找到并隔离感染了未知病毒的宿主。据该楼网络管理员介绍,昨天网络正常。不过当时大楼某部门正在进行网络调整。今天我发现网络不工作了。不知道跟他们有没有关系。

我们认为调整网络应该和病毒感染关系不大。在大楼的主配线间,我们拔掉接入交换机上的所有网线,连接笔记本电脑,连接网络中心的测试主机。确认链路正常后,我们将剩余的一半网络电缆一次插回交换机。

如果测试后没有问题,继续,否则切换到另一半,逐渐减少疑似网线的数量。我们终于找到了一根会引起问题的网线。只要插上这条网线,楼宇网络就会与模拟网关断开。由楼宇网络管理员识别,

这个网线连接的是昨天做网络调整的部门。他还说,以前部里拉了两根网线,一根主用,一根备用,应该还有一根,亲自在那个开关上找到了另一根。随便插上这两根网线中的一根,网络就没问题,但是只要同时插上,就会出现问题。

如何将两个网络同时接入交换机?

Line会激活网络病毒的SYN Flood攻击?这个时候我们觉得这个现象更像是网络中的一个环路。到了那个部门,发现有三个非管理交换机,都是串联的,但是其中两个是分别通过那两条网线连接到接入交换机的。

导致网络环路。显然,施工人员不清楚网络拓扑结构。当时大楼的网络管理员有事要出去,就沾沾自喜地接错了线,造成了网络事故。很容易找出原因。只需拔掉其中一根上行电缆即可恢复网络连接。经过一番波折,

网络已经恢复正常,但是我们一直在想,是什么干扰了我们的判断?

故障分析

一个典型的网络环路故障,用协议分析工具Sniffer抓了那么多包,经过一番分析,问题没看出来。显然,当我们第一次看到大量的SYN包时,我们产生了错觉,想当然地认为这是SYN Flood攻击。后来,

我们回顾了这次网络环路的故障排除过程,再次仔细分析了捕获到的数据包,并解释了上面提到的这些数据包的五个共同特征,以便以后遇到类似问题时能够及时做出正确的反应。

我们先来看前四个特征:汇聚交换机是网络层设备,大楼所属的VLAN的网络层接口就设置在这个汇聚交换机上。为了实现网络管理策略,将已注册或未注册的IP地址与MAC地址绑定。

只有在三次握手后才能建立TCP连接。这里发起连接的SYN包的长度是28字节,加上14字节的以太网帧头和20字节的IP头。

Sniffer捕获的帧长度为62字节(不包括4字节的错误检测FCS字段)。碰巧当时访问VLAN的单播帧是来自外部网络的TCP请求包。根据以太网桥的转发机制,经过CRC正确性检测后,

由于是静态ARP配置,这个汇聚交换机会将单播帧的源MAC地址转换为本地MAC地址,其目的MAC地址会根据绑定参数进行替换,并重新计算CRC值,更新FCS域。重新包装后,

然后转发给那栋楼的接入交换机。

看最后一个特性:网桥是一个存储转发设备,用来连接类似的局域网。这些网桥监听所有端口上传输的每一个数据帧,并使用网桥表作为数据帧的转发基础。

网桥表是MAC地址和用于到达该地址的端口号的“MAC地址-端口号”列表,它通过使用数据帧的源MAC地址和接收该帧的端口号来刷新。网桥以这种方式使用网桥表:当网桥从端口接收到数据帧时,

会先刷新桥接表,再在其桥接表中查找该帧的目的MAC地址。如果找到,就会从对应这个MAC地址的端口转发该帧(如果这个转发端口与接收端口是相同,就会丢弃该帧)。

如果找不到,就会向除了接收端口以外的其他端口转发该帧,即广播该帧。这里假定在整个转发过程中,网桥A、B、C和D都在其桥接表中查找不到该数据帧的目的MAC地址,即这些网桥都不知道应该从哪个端口转发该帧。

当网桥A从上联端口接收到一个来自上游网络的单播帧时,会广播该帧,网桥B、C收到后也会广播该帧,网桥D收到分别来自网桥B、C的这个单播帧,并分别经网桥C、B传送回网桥A,

到此网桥A收到了该单播帧的两个副本。在这样的循环转发过程中,网桥A不停地在不同端口(这时已经不涉及上联端口了)接收到相同的帧,由于接收端口在改变,桥接表也在改变“源MAC端口号”的列表内容。

前面已经假定网桥的桥接表中没有该帧的目的MAC地址,网桥A在分别收到这两个单播帧后,都只能再次向除了接收端口以外的其他端口广播该帧,故该帧也会向上联端口转发。

就每个单播帧而言,网桥A重复前面提到的过程,理论上,广播一次会收到21个帧,广播两次就会收到22个帧,…,广播到第n次就会收到2n个帧。总之,网桥A照这样转发下去,很快就会形成广播风暴,

这个单播帧的副本最终会消耗完100BASE-X端口带宽。尽管在这期间上联端口会有许多数据帧在相互碰撞而变的不完整,令Sniffer捕获不到,但可以想象得到这个单播帧的重复出现次数仍然会非常多。

我们再次检查那些抓回来的数据包,几乎都发现有当时没有注意到的重复标志。按64字节包长来计算,以太网交换机的100BASE-FX端口转发线速可达144000pps。在这种网络环路状态下,

Sniffer完全有可能每秒抓到10万多个包长为66字节的数据包。

基于上述理由,由于当时那4台交换机的桥接表中都没有该包的目的MAC地址,处于上游网络的这台汇聚交换机向该大楼发送了一个TCP请求包后,就会不断地收到由该大楼接入交换机转发回来的该TCP包的副本,

而且数量非常地多(形成大流量),然而,它并不会把接收到的这些包重发回去;Internet 的网络应用是基于请求/应答模式的,只有发送/接收两条信道都畅通,才能进行端到端的通信。

一旦本次网络应用中有一条信道被堵塞了,就会使得该应用因无法进行而结束。网络应用结束后,一般来说,发起请求一方不会就本次应用再次自动发出请求包。于是,在网络环路状态中普遍会有一条信道有大流量,

另一条信道几乎没有流量的现象。因为VLAN有隔离广播域的功能,这些大流量不会穿越网络层,所以不会对汇聚交换机造成很大压力。事实上,由于这种网络环路是数据链路层上的故障,

只涉及到源MAC地址和目的MAC地址,不管高层封装的是什么类型的包都有可能引起广播风暴。也就是说,当时用Sniffer抓到各种各样的数据包都是有可能的。

故障预防

校园网的接入层是面向用户的网络界面,有许多不可控的成分,情况很复杂,应由专人管理,也应在设备上给予可靠性保证。本搂接入交换机是可管理型的,有STP功能,其他交换机都是非管理型交换机,没有STP功能。

本来事先在该接入交换机上配置了STP功能,这起网络事故是完全可以避免的,但不知何故没有这样做,事后再做只能权当“亡羊补牢”了。由此可见,即使接入交换机打开了STP功能,下游网络也会因某种原因构成环路,

产生广播风暴,造成对上游网络本VLAN的冲击,故该接入交换机还应有广播包抑制功能,以便能将影响限制在局部范围内。对于下游网络的交换机同样有这些需求,只是成本问题而已。一句话,在网络故障排除时,

技术和经验固然重要,但在平时就要注意维护网络的规范连接、落实基本的防范措施更为重要。

本文来自网络,不代表本站立场,转载请注明出处:https: