交换技术浅谈

原创 2013年12月05日 18:27:55
  • 二层交换技术的工作原理
由于二层交换技术是在数据链路层进行的,因此交换机对数据报文的转发是建立在MAC地址之上的,对于IP网络协议来说,它是透明的,即交换机在转发数据报文时,无须知道信源机和信宿机的IP地址,只需知其物理地址(MAC 地址)即可。交换机在工作过程当中会不断的检测报文的源和目的MAC地址来建立MAC地址表,这个表说明了某个MAC 地址是在哪个端口上被发现的。这样当交换机收到一个报文时,它便会看一下该数据报文的目的MAC地址,核对一下自己的MAC地址表以确认应该从哪个端口把数据报文发出去;但若交换机收到的报文在目的MAC地址不能在地址表中找到时,交换机会把IP报文广播出去——这正是二层交换机的弱点所在。总之,就是基于“源MAC学习,目的MAC转发”的方式工作。
  • 三层交换技术的工作原理
对同样目的IP的第一个报文,采用与软件路由器同样的IP寻径转发技术,通过查询转发信息库(路由表、MAC表),来确定IP包的下一跳IP地址和转发的目的网络接口,将报文转发出去。同时,软件将转发到对应目的IP所需的信息设置到硬件上相应的转发CACHE(可以视为硬件路由表)中。
以后收到发往相同目的地的报文,则直接通过硬件进行转发,无需经过软件选路过程。三层交换机之所以转发报文的速度很快,在很大程度上都是这个三层硬件路由表的功劳,因为当它记录了报文的目的MAC地址时,就可以直接通过硬件来实现转发,速度极快。
  • VLAN技术
VLAN技术允许网络管理者将一个物理的LAN逻辑地划分成不同的广播域(或称虚拟LAN,即VLAN),每一个VLAN都包含一组有着相同需求的计算机工作站,与物理上形成的LAN有着相同的属性。一个VLAN内部的广播和单播流量都不会转发到其他VLAN中,从而有助于控制流量、减少设备投资、简化网络管理、提高网络的安全性。引入了VLAN以后,对二层交换机的报文转发线程产生了如下的影响:

VLAN与二层交换的规则:
(1)主机和交换机之间传送的是untagged报文
(2)交换机之间用干道链路(Trunk)连接,干道链路上传输的是Tagged Frame
(3)交换机用Tag来标识报文所属的VLAN

(4)不同VLAN之间在二层不能相互通讯

  • 下面举例说明基于VLAN技术的二层转发,三层转发过程


如图所示:交换机上划分了两个VLAN——VLAN1和VLAN2,同时交换机中配置了路由接口来实现VLAN1和VLAN2的互通。可以看到主机A和B属于VLAN1,网关为1.1.1.1;主机C属于VLAN2,网关为2.2.2.2,另外还假设主机A、B、C的ARP表里面均没有彼此的MAC地址。
  • 二层转发过程(A向B发起Ping请求)
1)A检查报文的目的IP地址,发现和自己在同一网段,需要进行二层转发;
2)A检查自己的ARP表,发现B的MAC地址不在自己的ARP表里(注意:ARP表里记录了IP地址和MAC地址之间的对应关系,因而需要首先检查ARP表,通过目的IP地址得到MAC地址,再进行数据报文的发送操作);
3)A——> Switch发出ARP请求报文(注意:① ARP请求报文是广播报文;② 事实上,在二层转发时是A——>B发出ARP请求报文,但需要经过交换机进行转发);
4)Switch学习A的MAC地址到自己的MAC地址表(注意:MAC地址表是二层转发引擎,并且在二层转发时不能学习到Switch的ARP表和三层硬件转发表),并广播ARP请求报文;
5)B接收到ARP请求报文,学习A的MAC地址到自己的ARP表;
6)B——> Switch发出ARP回应报文;
7)Switch学习B的MAC地址到自己的MAC地址表,并向A发出ARP回应报文;
8)A接受到B的ARP回应报文,并学习B的MAC的地址;
9)A——> Switch发出ICMP请求报文;
10)Switch——>B转发ICMP请求报文;
11)B——> Switch发出ICMP回应报文;
12)Switch——>A转发ICMP回应报文。
  • 三层转发过程(A向C发起Ping请求)
1)A检查报文的目的IP地址,发现和自己不在同一网段,则需要进行三层转发,通过网关转发报文信息;
2)A检查自己的ARP表,发现网关的MAC地址不在自己的ARP表里;
3)A——>Switch(网关)发出ARP请求报文;
4)Switch将A的MAC地址学习到自己的MAC地址表、ARP表和三层硬件转发表(即IP fdb Table);
5)Switch——>A发出ARP回应报文;
6)A接收ARP回应报文,并学习Switch(VLAN1路由口)的MAC地址;
7)A——>Switch发出ICMP请求报文(注意:报文中的目的MAC地址是VLAN1的,源MAC地址是A的,目的IP地址是C的,源IP地址是A的);
8)Switch接收ICMP请求报文,判断出该报文是三层报文(原因:目的MAC地址与Switch的MAC地址相同);
9)Switch检查自己的路由信息表,发现报文的目的IP地址在自己的直连网段;
10)Switch——>C发出ARP请求报文,该报文在VLAN2内广播;
11)C接受到ARP请求报文,并学习Switch(VLAN2路由接口)的MAC地址;
12)C——>Switch发出ARP回应报文;
13)Switch学习C的MAC地址;
14)Switch——>C转发ICMP请求报文(注意:目的MAC地址是C的,源MAC地址是VLAN2的,目的IP地址是C的,源IP地址是A的);
15)C——>Switch发出ICMP回应报文;
16)Switch——>A转发ICMP回应报文。
  • 小结
从上面的例子可以看到,三层交换机划分了两个VLAN,A与B之间的通信是在一个VLAN内完成的,相对于交换机而言属于二层数据流;而A与C之间的通信需要跨越VLAN,因此属于三层数据流。下面讨论三层转发技术需要特别注意的几个问题:
(1)交换机如何判断一个报文是二层报文还是三层报文呢?从上面的例子中可以看出,从A到B的报文由于在同一个VLAN内部,因此目的MAC地址是B的MAC地址;而从A到C的报文由于需要跨越VLAN,这样报文的目的MAC地址是Switch设备虚接口上VLAN1的MAC地址。简单来说,就是当报文的目的MAC地址与Switch的MAC地址相同时,该报文就为三层报文。
(2)三层转发的几个相关的数据表格:MAC地址表(FIB Table),路由表(Route Table),ARP表(ARP Table),三层硬件转发表(IP fdb Table)。
MAC地址表是二层转发引擎,主要记录MAC地址和报文发出的端口信息之间的对应关系;路由表记录路由信息;ARP表服务于三层转发,主要记录IP地址与MAC地址之间的对应关系;三层硬件转发表能够记录路由接口和VLAN的对应关系,以及下一跳的MAC地址和对应端口信息。其中三层硬件转发表(IP fdb Table)的所有信息均来源于ARP表和MAC地址表,当这两个表发生变化时,IP fdb Table也随着变化。

相关文章推荐

浅谈基于软交换的下一代广电网络技术 NGN与软交换

如何建设一个可持续发展的网络,实现数据与语音业务的融合,加快面向用户的业务开发节奏及提高其灵活性,以保证运营商能在未来的数据多媒体业务中分得应有的市场份额,是提出NGN网络的根本出发点。     N...

浅谈信息技术

  • 2017年08月10日 20:48
  • 1.5MB
  • 下载

浅谈云存储技术的应用

  • 2014年08月04日 15:03
  • 87KB
  • 下载

浅谈HOOK技术在VC编程中的应用 .

引言   Windows操作系统是建立在事件驱动机制之上的,系统各部分之间的沟通也都是通过消息的相互传递而实现的。但在通常情况下,应用程序只能处理来自进程内部的消息或是从其他进程发过来的消息,如果需...
  • erick08
  • erick08
  • 2012年05月15日 12:55
  • 340

浅谈ADO技术

  • 2014年05月20日 00:25
  • 25KB
  • 下载

缓存技术浅谈

  • 2013年01月07日 15:23
  • 471KB
  • 下载

《Struts2技术内幕》 新书部分篇章连载(二)—— 面向对象浅谈

第2章 固本清源 —— Web开发浅谈  如今当我们谈到Web开发时,程序员们总是热衷于讨论一些我们耳熟能详的Web开发框架,如Struts2、Spring、Hibernate等。有些程序员将这...

浅谈Asp.Net分页与排序技术

  • 2008年11月10日 20:58
  • 242KB
  • 下载

浅谈CDMA扩频通信技术

  • 2011年04月19日 19:10
  • 160KB
  • 下载

浅谈分布式服务协调技术 Zookeeper

Google的三篇论文影响了很多很多人,也影响了很多很多系统。这三篇论文一直是分布式领域传阅的经典。根据MapReduce,于是我们有了Hadoop;根据GFS,于是我们有了HDFS;根据BigTab...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:交换技术浅谈
举报原因:
原因补充:

(最多只允许输入30个字)