ROS软路由论坛 ROSABC.com 网络方案网络工程交流

 找回密码
 会员注册

QQ登录

只需一步,快速开始

入门知识:三层交换机基本特点

2014-7-13 21:15| 发布者: admin| 查看: 437| 评论: 0

摘要:   在概述部分中,我们给出了三层交换机的基本特点综述,主要有下列特点:   1、二层交换和三层互通   2、实现三层精确匹配查询   3、专门针对局域网,特别是以太网进行了优化   4、引入了一些在二层交 ...

  在概述部分中,我们给出了三层交换机的基本特点综述,主要有下列特点:

  1、二层交换和三层互通

  2、实现三层精确匹配查询

  3、专门针对局域网,特别是以太网进行了优化

  4、引入了一些在二层交换机和三层由器上都不存在的特性

  5、实现了初步的BAS功能

  一般来说,只要能做到第一点,就可以称为三层交换机了,但目前大多数流行的三层交换机都不局限于第一点,而是实现了上述的大部分功能。因此,为了更好的理解三层交换机,接下来我们对上述特点进行详细讲述。

  2.1二层交换和三层互通

  三层交换机首先是一个交换机,即完成二层交换功能。在以太网上,跟普通的二层交换机一样,三层交换机也一张用于二层交换的地址表(通常称为CAM表),该表是MAC地址与出接口的对应关系。这样每当接收到一个以太网数据帧,三层交换机判断如果该数据帧不是发送给自己的(这个概念很重要,至于三层交换机怎么判断,在下面的讲述中会详细说明),则根据数据帧的目的MAC地址查询CAM表,如果能命中(所谓命中,就是在CAM表中找到与该MAC地址对应的转发项),则根据查询的结果,通常是一个出接口列表,来进行转发。如果不能命中,则向所有端口该数据帧。

  交换机的这张CAM表可以通过多种方式获得,比如静态配置,动态学习,针对多播还可以通过各种多播协议,比如IGMP窥探,GMRP协议等方式获得(注意,多播转发表不能通过学习获得,而且多播转发项跟普通转发项不同的是,跟其对应的出口可能不止一个,而是一个出口集合,如果想详细了解多播的一些基础概念,请参考前面的专题资料)。但对于单播,最重要的一种建立方式是学习。

  当交换机接收到一个数据帧,提取出该数据帧的目的MAC地址,并依此为根据进行CAM表查询,如果能查找到结果,则根据结果进行数据帧的转发,如果不能命中,则(向除接收端口外的)所有端口进行复制。在进行数据转发的同时,交换机还进行一个学习的过程,交换机把数据帧的源MAC地址提取出来,查询CAM表,看CAM表中是否有针对该MAC地址的转发项,如果没有,则把该MAC地址和接收到该MAC地址的端口绑定起来,插入CAM表项,这样当接收到一个发送到该MAC地址的数据帧时,就不需要向所有端口,而仅仅向这一个端口发送即可。需要注意的是,数据帧的转发是依据目的MAC地址查询CAM表,而CAM表的学习则是以源MAC地址为依据。

  交换机动态学习的CAM表项并不是一成不变的,而是启动一个定时器,当该定时器递减到零时,该CAM表项被删除,每使用一次该CAM表项进行转发,则恢复定时器初始值。

  上述情况是没有VLAN的工作过程,现在的交换机一般都实现了VLAN(即虚拟局域网,详细内容请参考以太网的有关教程),这样在交换机进行转发的CAM表就进行了变化,由原来的两项对应关系(MAC地址跟接口)变成了三项对应关系(MAC地址,VLANID,出口),这样当接收到一个数据帧的时候,交换机根据数据帧的目的MAC地址和VLANID两项来查询CAM表,找到接口后把该数据帧转发出去。

  但如果交换机根据MAC地址和VLANID查询CAM表失败,即没有跟该MAC和VLANID的对应关系,则交换机把该数据帧向该VLAN包含的(除接收端口以外的)所有端口上复制。如果只根据CAM表来确定一个VLAN包含哪些端口,则必须遍历整个CAM表,这样如果CAM表的规模非常大(一般情况下是4K以上),则效率特别低,所以一般的交换机上在实现VLAN时,还创建另外一张表,即VLAN配置表,该表包含了VLANID和所有端口的对应关系,即只要根据VLANID查询该表,就可以找到该VLAN包含的所有端口,这样在进行VLAN内的时候,就非常容易。

  另外一个问题出现了,就是数据帧的VLANID是怎样获得的。交换机一般根据下列原则来给一个数据帧附加上VLANID:

  1、如果接收到数据帧的端口是一个非TAG端口,且数据帧是一个普通数据帧,则附加上该端口的默认VLANID;

  根据农基文的理解:当一个非TAG端口收到了一个数据帧,且含有VLANID时,做判断,如果VLANID=端口PVID,则可以接收;否则,丢弃。

  2、如果接收到数据帧的端口是一个TAG端口,而数据帧是一个普通数据帧,则附加上该端口的默认VLANID;

  3、如果接收到数据帧的端口是一个TAG端口,数据帧自己携带了VLANID(通过802.1Q协议),则该数据帧的VLANID就是携带的VLANID.

  ・免费教育用石油财政再造人才富矿

  路由器地址查询・3000学生“被购买”教辅书籍

  ・司法考试成天下第一考催生作弊经济

  ・北大回应“招收插班生”传言

  ・四川15岁“留守儿童”写诗上百首

  ・学校招5个保安3个是校领导夫人

  ・用Ps制作一颗闪亮的紫钻石

  ・Ps为照片调出唯美色调

  ・用Ps打造时尚炫酷海报

  ・Ps精细鼠绘漂亮的古代王妃

  ・用Ps通道抠出火焰素材

  ・Phs鼠绘精美的兔子探险插画

  ・Ps调出个性颓废中性色

  ・用Ps合成装在蛋壳中的小鸡

  ・李刚之子李启铭车祸案一审从轻判罚

  ・寒假补课12岁女生闭门父母

  ・姚晨离婚与凌潇潇联手发声明原文

  ・广东卫视原主持人李泳终被组图

  ・美国黄石即将喷发的超级火山新动向

  ・老贝‘雏妓’后续多名妙龄女被包养

  ・360杀毒免费杀毒软件下载

  ・可牛免费杀毒软件下载最新正式版

  ・微软免费杀毒软件中文版MSE32位版

  ・微软免费杀毒软件中文版MSE64位版

  ・熊猫简体中文版免费云杀毒软件下载

  ・Avast!免费杀毒软件中文版本下载

不良信息举报Q:2000617
新用户7天后可回帖!

软路由

不良信息举报Q:2000617|Archiver|ROS软路由论坛 ROSABC.com 网络方案网络工程交流

GMT+8, 2025-11-9 09:13 , Processed in 0.029898 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部