交换机的工作过程

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

交换机的功能及工作过程

By:吾怜茜

一.交换机概述:

交换机是一种工作在二层的设备,但是随着技术的不断进步,现在已经出现了诸如三层交换机,多层交换机产品。在本篇中讨论的是二层交换机的一些特性。

二.交换机的功能:

1.地址学习

有些地方也叫做基于源MAC地址学习,这个功能主要就是学习和存储MAC 地址。

2.帧的转发/过滤

数据帧的转发主要是交换机能够根据MAC地址表来转发数据,过滤则是对一些受限制的数据进行阻止或丢弃。

3.环路避免

由于交换机的某些特性会带来一些问题,比如形成环路,因此为了保证网络上数据的正确传输以及网络的稳定要采取一些措施来避免这些问题,主要是通过STP来实现,稍后会讲到。

三.交换机的工作过程:

交换机在运行的时候要维护几张表,比如CAM表,vlan.data表。CAM表用来保存学到的MAC地址;VLAN.DATA文件用来保存VLAN相关的信息。

1.在交换机初始加电的时候它的MAC地址表是空的,当其他与其相连的设备(PC,交换机,路由器等)向它发送一个信息的时候,交换机就会根据数据的源MAC和目标MAC对数据进行处理,因为发的是第一个包,所以这时候交换机会把源MAC地址和数据从本交换机进来的端口号做关联,然后加上VLAN号保存起来形成一个CAM表条目。因为交换机的MAC地址表现在是空的,所以它不知道数据的目的地在那里,这时候交换机会发送ARP请求把数据从除了数据进来的端口之外的所有端口广播,这个过程称为泛洪,当目标主机收到数据之后会返回一个回应包,告诉交换机自己的MAC地址,这时候交换机又会根据目标主机返回的包把目标主机的MAC地址和进来的端口关联起来加上VLAN号形成一个新的CAM表条目。这个过程就是地址学习。我们通过下面的图来详细了解一下。

现在PC1和PC2要进行通信(比如一个PING包),PC1会发出一个数据包格源MAC 目标MAC 源IP 目标IP

1111 2222 192.168.1.

1

192.168.

1.2

:1111

不在CAM表中,这时候交换机会做一条记录,他会把源MAC和端口对应关系加上

MAC地址端口号Vlan号1111.1111.1111 F0/1 1

除了从F0/1数据进来的端口之外的F0/2,F0/3转发ARP请求,大致就是询问192.168.1.2的MAC地址是多少。发送之后PC2,PC3都会受到数据包,PC3把包拆开发现不是自己的IP地址,就会把数据丢弃,而PC2收到数据之后发现目标IP是自己,这时候PC2就回发送一个回应。告诉交换机“我是192.168.1.2我

MAC地址端口号Vlan 2222.2222.2222 F0/2 1

通信的时候会重复上述步骤,SW1就能学到PC3的MAC地址。

但是有一点要注意,就是如果PC1和PC2的位置改变,F0/1联接PC2,F0/2联接PC1,这个时候经过一次数据通信和地址学习的过程之后,端口F0/1对应的MAC地址就会变成2222.2222.2222。F0/2对应的MAC地址就会变成1111.1111.1111。这是因为交换机总是以最后学到的MAC地址为准的。

2.当交换机学习到直连的本网段内所有的MAC地址之后,如果再有数据包过来,交换机就会根据CAM表里面的对应条目对数据进行处理,还是上面那个图。PC1要和PC2通信,当数据包进过SW1的时候交换机首先看源和目标MAC地址,然后查看CAM表,因为CAM表里面已经有对应关系PC2的MAC地址2222对应端口F0/2所以直接把数据从F0/2发出去而不用再发到PC3。这就是交换机的数据转发,如果发送方和接收方不在同一网段,或者在不同VLAN,或者在交换机上

作了二层ACL,则数据将被过滤掉。

交换机的转发有三种方式:

直接转发

存储转发

片段转发

其中直接转发不对数据进行校验,直接把数据从相应端口发送出去。这样容易造成很多无用的数据帧碎片(残帧,坏帧,错误帧等)。

存储转发则是先存储整个数据帧,然后对其进行校验,校验无误后再转发出去。虽然这样做减少了错误帧的问题,但是对每个帧进行整体存储校验这样会占用很多系统资源。

片段转发则综合了直接转发和存储转发的优点,它只检查数据帧的前64个字节,校验通过则进行转发,这样即保证了数据的正确性又能使数据得到比较快速的转发。

当然对于应用环境的不同,上述三种转发方式各有其特点。

3.由于交换机的地址学习和转发功能,会带来一些潜在的问题,如下图所示,PC1要和PC2通信,我们来分析一下数据的流向:

这里会出现俩种情况:

一.当SW1的F0/2收到数据的时候,首先添加一条MAC地址对应关系,地址1111.1111.1111从F0/2学到,然后查看CAM表发现MAC地址2222.2222.2222不在他的CAM表里,这时他会向除了F0/2之外的所有端口转发,于是数据从F0/1转发出去,这里有会有两种情况:

a.PC2正确收到数据,返回一个数据包。

b.SW2收到数据,首先添加一条MAC地址对应关系,地址1111.1111.1111从F1/1学到。然后查看CAM表,发现没有对应的MAC地址则会从除F1/1之外的所有端口即F1/2转发出去,又回到SW1然后就这样一直在SW1和SW2之间传递。形成广播风暴。

二.当SW2的F1/2收到数据的时候,第一步添加一条MAC地址条目,1111.1111.1111从F1/2学到,这时候由于上面一种情况1111.1111.1111是由F1/1学到,这时候会把CAM表里面的对应关系改掉,然后发现MAC地址2222.2222.2222不在他的CAM表里,SW2同样会从F1/1将数据转发出去,这时候也有两种情况:

相关文档
最新文档