Vlan间路由和三层交换机工作原理 - kummer话你知

问题的来源

  • 问题:Vlan间二层通讯被隔离了,不同VLAN之间的终端无法直接通讯。
    解决方法:使用三层路由设备将不同的VLAN打通;

在交换机上划分VLAN后,VLAN间的计算机就无法直接通信了。(Vlan间广播域是隔离的,)VLAN间的通信需要借助第三层设备,我们可以使用路由器来实现这个功能,如果使用路由器通常会采用单臂路由模式。

  • 问题:使用路由器打通VLAN间通讯,成本高,性能低
    解决方法:使用三层交换机。

实践上,VLAN间的路由大多是通过三层交换机实现的,三层交换机可以看成是路由器加交换机,然而因为采用了特殊的技术,其数据处理能力比路由器要大得多。本章将分别介绍两种方法的具体配置。

回顾一下二层交换流程

交换机的二层转发涉及到两个关键的线程:地址学习线程和报文转发线程。
MAC表学习流程:

  1. MAC的学习:交换机接收网段上的所有数据帧,利用接收数据帧中的源MAC地址来建立MAC地址表;
  1. MAC的漂移:交换机如果发现一个包文的入端口和报文中源MAC地址的所在端口不同,就产生端口移动,将MAC地址重新学习到新的端口;
  2. MAC的老化: 如果交换机在很长一段时间之内没有收到某台主机发出的报文,在该主机对应的MAC地址就会被删除,等下次报文来的时候会重新学习。

**二层报文转发流程: **

  1. 已知单播-转发:交换机在MAC地址表中查找数据帧中的目的MAC地址,如果找到,就将该数据帧发送到相应的端口,
  1. 未知单播-泛洪:如果找不到,就向入端口以外的其它所有端口发送;
  2. 同端口-不转发:如果交换机收到的报文中源MAC地址和目的MAC地址所在的端口相同,则丢弃该报文;
  3. 组播和广播-泛洪:交换机向入端口以外的其它所有端口转发广播报文。

上面流程是简单的桥交换流程,增加了VLAN以后,所有流量都在VLAN内部交换。
**支持VLAN以后的交换机报文转发线程: **:

  1. 交换机在MAC地址表中查找数据帧中的目的MAC地址,如果找到(同时还要确保报文的入VLAN和出VLAN是一致的),就将该数据帧发送到相应的端口,如果找不到,就向(VLAN内)所有的端口发送;
  1. 如果交换机收到的报文中源MAC地址和目的MAC地址所在的端口相同,则丢弃该报文;
  2. 交换机向(VLAN内)入端口以外的其它所有端口转发广播报文。

简单的VLAN间路由流程

利用路由器进行VLAN间通讯

每一个VLAN有一个端口连接到路由器,所有终端以该路由器为默认网关。并由该路由器完成VLAN间报文的转发过程。比如10.1.1.1要与11.1.1.1终端通讯。

通过路由器实现跨VLAN的报文转发

单臂路由工作原理

从上面我们看到,如果要通过路由器转发三层流量,在交换机和路由器之间,每一个VLAN需要有一个链路连接,当VLAN很多的时候,这将耗费大量的路由器接口,而路由器接口成本是非常高的。为了节约路由器接口,一个解决方案是路由器支持VLAN子接口。

VLAN子接口
1. 所谓子接口,就是是通过协议和技术将一个物理接口(interface)虚拟出来的多个逻辑接口。
2. VLAN子接口,就是通过VLAN技术,将一个物理接口,虚拟出多个逻辑接口,
   VLAN子接口上发送的报文,会打上Vlan-tag,用于区分不同的VLAN链路。
单臂路由器工作原理示意图

通过配置路由器上的VLAN子接口,路由器和交换机物理上只需要一个端口连接,通过报文上的VLAN-tag区分不同的逻辑链路。这样节省了大量的端口资源。

三层交换机

三层交换机的原理模型可以认为是:三层交换机 = 二层交换机+三层路由器
三层交换机既有二层交换单元,内部还有一个三层路由模块。(原理上可以认为三层交换机就是把一个交换机和一个路由器装在一个盒子里。虽然原理上我们可以这样简单认为,但在具体实现上,特别是报文的转发流程上,还是有很大差异的。所以三层交换机在转发性能和成本上都有很大的优势)

三层交换机的原理模型:交换模块+路由模块

在三层交换机上,可以在一个VLAN配置三层接口(cisco成为交换机虚拟接口 SVI:switch virtual interface),这个SVI接口就是上面原理模型中的那个路由模块对应的接口。它具备普通路由器接口的基本特性,比如:

  • 该接口有自己的MAC地址;
  • 在该SVI接口上,我们可以进行标准的三层协议的配置,包括IP地址,路由协议等等。

三层交换机的转发流程

交换机的转发行为主要借助于下面几张表:

|表项|KEY|VALUE|
|--||
|二层MAC转发表(硬件) | MAC,VLAN | PORT|
|三层主机路由表(硬件)| IP | NH_IP , NH_MAC,VLAN,PORT|
|三层网段路由表(软件)|Network,Mask|NH_IP,PORT|
|ARP表(软件)|IP|MAC,VLAN,PORT|

三层主机路由表相当于【网段路由表+ARP表】的组合,用于加快交换流程。三层主机路由表的生成有两种方式:

  • 按需生成:到达该目的地的第一个报文转发时,有软件进行三层转发后生成。并且该目的地址一定时间内没有流量将被老化。这就是所谓的“一次路由,多次交换”。
  • 预先生成: 也有些设备只要学习到ARP条目,就自动生成主机路由,并保持主机路由与ARP条目之间的同步与一致性。这种方式对主机路由硬件资源开销会大一些,但第一个报文就能采用交换方式,性能更高。
  1. 准备工作:
    三层交换机为VLAN配置三层接口IP后,会在交换芯片的MAC地址表中添加三层接口MAC+VID的表项,并且为表项的三层转发标志(Route标志)置位。
  2. 转发流程
  • 硬件二层交换:报文进入三层交换机后,首先在交换模块进行标准的二层交换处理:
    • 根据报文的目的MAC(精确匹配查找),查找二层MAC转发表:
      如果不存在该MAC条目,则在所有端口上进行泛洪处理(广播组播也会泛洪)。
      如果存在该MAC条目,并且该条目没有Route标志,则进行标准交换转发
      如果该MAC条目上有Route标记,则进行硬件三层转发。
  • 硬件三层转发:
    • 根据报文的目的IP地址(精确匹配查找),查找三层主机路由表:
      如果存在,直接转发(TTL--,目的MAC地址进行替换)
      如果不存在,则进行标准的软件三层报文转发。
  • 软件三层转发:
    • 查找目的IP的网段路由(最佳匹配查找),
      如果路由不存在,报文丢弃。
      如果存在,查找下一跳的ARP表,如果ARP不存在,进行ARP学习。
      学习到ARP后,进行报文转发,并将转发信息写入硬件主机路由表,
      以后该目的IP的报文就可以通过硬件进行三层转发了。(这就是所谓的一次路由,多次交换)

参考资料:
http://wenku.baidu.com/link?url=zsiRG0ZSOcuaH1lgOg6LilUdKMNYuPv3n5sUq5RmKrr5tFtMVhVXPJDJc1yR8QW2YQFAWwkn_pglvkLPv23fhS15Kdojp3gEmJ--zjULOaO

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,607评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,047评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,496评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,405评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,400评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,479评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,883评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,535评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,743评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,544评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,612评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,309评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,881评论 3 306
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,891评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,136评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,783评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,316评论 2 342

推荐阅读更多精彩内容