二层交换原理

二层交换设备工作在OSI模型的第二层,即数据链路层,它对数据包的转发是建立在MAC(Media Access Control )地址基础之上的。二层交换设备不同的接口发送和接收数据独立,各接口属于不同的冲突域,因此有效地隔离了网络中物理层冲突域,使得通过它互连的主机(或网络)之间不必再担心流量大小对于数据发送冲突的影响。

二层交换设备通过解析和学习以太网帧的源MAC来维护MAC地址与接口的对应关系(保存MAC与接口对应关系的表称为MAC表),通过其目的MAC来查找MAC表决定向哪个接口转发,基本流程如下:

二层交换设备收到以太网帧,将其源MAC与接收接口的对应关系写入MAC表,作为以后的二层转发依据。如果MAC表中已有相同表项,那么就刷新该表项的老化时间。MAC表表项采取一定的老化更新机制,老化时间内未得到刷新的表项将被删除掉。

根据以太网帧的目的MAC去查找MAC表,如果没有找到匹配表项,那么向所有接口转发(报文的入接口除外);如果目的MAC是广播地址,那么向所有接口转发(报文的入接口除外);如果能够找到匹配表项,则向表项所示的对应接口转发。

从上述流程可以看出,二层交换通过维护MAC表以及根据目的MAC查表转发,有效的利用了网络带宽,改善了网络性能。图1是一个二层交换的示例。

二层交换设备虽然能够隔离冲突域,但是它并不能有效的划分广播域。因为从前面介绍的二层交换设备转发流程可以看出,广播报文以及目的MAC查找失败的报文会向除报文的入接口之外的其它所有接口转发,当网络中的主机数量增多时,这种情况会消耗大量的网络带宽,并且在安全性方面也带来一系列问题。当然,通过路由器来隔离广播域是一个办法,但是由于路由器的高成本以及转发性能低的特点使得这一方法应用有限。基于这些情况,二层交换中出现了VLAN技术。

三层交换原理(一次路由与多次交换)

三层交换机出现的背景

早期的网络中一般使用二层交换机来搭建局域网,而不同局域网之间的网络互通由路由器来完成。那时的网络流量,局域网内部的流量占了绝大部分,而网络间的通信访问量比较少,使用少量路由器已经足够应付了。

但是,随着数据通信网络范围的不断扩大,网络业务的不断丰富,网络间互访的需求越来越大,而路由器由于自身成本高、转发性能低、接口数量少等特点无法很好的满足网络发展的需求。因此出现了三层交换机这样一种能实现高速三层转发的设备。

路由器的三层转发主要依靠CPU进行,而三层交换机的三层转发依靠硬件完成,这就决定了两者在转发性能上的巨大差别。当然,三层交换机并不能完全替代路由器,路由器所具备的丰富的接口类型、良好的流量服务等级控制、强大的路由能力等仍然是三层交换机的薄弱环节。

三层转发的原理

目前的三层交换机一般是通过VLAN来划分二层网络并实现二层交换,同时能够实现不同VLAN间的三层IP互访。不同网络的主机之间互访的流程简要如下:

源主机在发起通信之前,将自己的IP与目的主机的IP进行比较,如果两者位于同一网段(用网络掩码计算后具有相同的网络号),那么源主机直接向目的主机发送ARP请求,在收到目的主机的ARP应答后获得对方的物理层(MAC)地址,然后用对方MAC地址作为报文的目的MAC地址进行报文发送。

当源主机判断目的主机与自己位于不同网段时,它会通过网关(Gateway)来递交报文,即发送ARP请求来获取网关IP地址对应的MAC,在得到网关的ARP应答后,用网关MAC作为报文的目的MAC发送报文。此时发送报文的源IP是源主机的IP,目的IP仍然是目的主机的IP。

下面详细介绍一下三层交换的过程。

如图1所示,通信的源、目的主机连接在同一台三层交换机上,但它们位于不同VLAN(网段)。对于三层交换机来说,这两台主机都位于它的直连网段内,它们的IP对应的路由都是直连路由。

图1 三层转发原理示意网

图中标明了两台主机的MAC、IP地址、网关,以及三层交换机的MAC、不同VLAN配置的三层接口IP。当 PC A向 PC B发起PING时,流程如下:(假设三层交换机上还未建立任何硬件转发表项)

  • 根据前面的描述,PC A首先检查出目的IP地址10.2.1.2(PC B)与自己不在同一网段,因此它发出请求网关地址10.1.1.1对应MAC的ARP请求;
  • L3 Switch收到PC A的ARP请求后,检查请求报文发现被请求IP是自己的三层接口IP,因此发送ARP应答并将自己的三层接口MAC(MAC Switch)包含在其中。同时它还会把PC A的IP地址与MAC地址对应(10.1.1.2与MAC A)关系记录到自己的ARP表项中去(因为ARP请求报文中包含了发送者的IP和MAC);
  • PC A得到网关(L3 Switch)的ARP应答后,组装ICMP请求报文并发送,报文的目的MAC(即DMAC)=MAC Switch、源MAC(即SMAC)=MAC A、源IP(即SIP)=10.1.1.2、目的IP(即DIP)=10.2.1.2;
  • L3 Switch收到报文后,首先根据报文的源MAC+VLAN ID更新MAC表。然后,根据报文的目的MAC+VLAN ID查找MAC地址表,发现匹配了自己三层接口MAC的表项,说明需要作三层转发,于是继续查找交换芯片的三层表项;
  • 交换芯片根据报文的目的IP去查找其三层表项,由于之前未建立任何表项,因此查找失败,于是将报文送到CPU去进行软件处理;
  • CPU根据报文的目的IP去查找其软件路由表,发现匹配了一个直连网段(PC B对应的网段),于是继续查找其软件ARP表,仍然查找失败。然后L3 Switch会在目的网段对应的VLAN 3的所有接口发送请求地址10.2.1.2对应MAC的ARP请求;
  • PC B收到L3 Switch发送的ARP请求后,检查发现被请求IP是自己的IP,因此发送ARP应答并将自己的MAC(MAC B)包含在其中。同时,将L3 Switch的IP与MAC的对应关系(10.2.1.1与MAC Switch)记录到自己的ARP表中去;
  • L3 Switch收到PC B的ARP应答后,将其IP和MAC对应关系(10.2.1.2与MAC B)记录到自己的ARP表中去,并将PC A的ICMP请求报文发送给PC B,报文的目的MAC修改为PC B的MAC(MAC B),源MAC修改为自己的MAC(MAC Switch)。同时,在交换芯片的三层表项中根据刚得到的三层转发信息添加表项(内容包括IP、MAC、出口VLAN、出接口),这样后续的PC A发往PC B的报文就可以通过该硬件三层表项直接转发了;
  • PC B收到L3 Switch转发过来的ICMP请求报文以后,回应ICMP应答给PC A。ICMP应答报文的转发过程与前面类似,只是由于L3 Switch在之前已经得到PC A的IP和MAC对应关系了,也同时在交换芯片中添加了相关三层表项,因此这个报文直接由交换芯片硬件转发给PC A;
  • 这样,后续的往返报文都经过查MAC表到查三层转发表的过程由交换芯片直接进行硬件转发了。
  • 从上述流程可以看出,三层交换机正是充分利用了“一次路由(首包CPU转发并建立三层硬件表项)、多次交换(后续包芯片硬件转发)”的原理实现了转发性能与三层交换的完美统一。

HCIE-RS面试--交换机工作原理相关推荐

  1. 交换机工作原理_什么是POE交换机,它有什么好处?

    一.相信大家都听说过交换机,但是POE交换机大家可能有点陌生,接下来给大家重点讲解下,什么是POE交换机,它有什么好处.POE也被称为基于局域网的供电系统(POL, Power over LAN )或 ...

  2. 网络基础笔记(三)二层交换机工作原理、单点故障与链路聚合、DHCP

    目录   0x01 二层交换机工作原理   0x02 二层交换机单点故障如何解决   0x03 链路聚合   0x04 DHCP 0x01 二层交换机工作原理 二层交换机MAC表的限制 1.交换机MA ...

  3. eNSP第三篇:STP,生成树,xSTP,MSTP,多生成树,交换机工作原理,环路的形成

    STP,生成树,xSTP,MSTP,多生成树,交换机工作原理,环路的形成 了解环路的形成 交换机的工作原理 交换机接口在接收到数据包时,会检查数据包的源MAC地址和目的MAC地址,然后查询MAC地址表 ...

  4. 6.OSI七层模型及交换机工作原理及VLAN(虚拟局域网)及VTP(vlan同步技术)

    交换机工作原理及VLAN(虚拟局域网) ❤OSI参考模型:从下往上,第一层是物理层 物理层:在设备之间传输比特流(以010101这样的二进制进行传输,以电信号的形式进行传输,0没有,1有) 物理层给线 ...

  5. 计算机网络 交换机工作原理

    交换机工作原理 数据通过网卡发送出去之前,必须在各层封装完成. 主机I向主机IV发送消息过程 主机I在各层上的数据都封装完毕,唯独在数据链路层没有目的主机的MAC地址,所以主机I会发送一个ARP广播. ...

  6. 交换机:简述对交换机工作原理的认识

    一.交换机工作原理 交换机在接收到数据帧以后,首先.会记录数据帧中的源MAC地址和对应的接口到MAC表中,接着.会检查自己的MAC表中是否有数据帧中目标MAC地址的信息,如果有则会根据MAC表中记录的 ...

  7. 交换机工作原理/模式

    一.交换机工作原理 交换机中有一个MAC地址表,对应着计算机的MAC地址和交换机相连的端口号 1.MAC地址学习 例如 主机A去找主机B,交换机首先查询MAC地址表中1接口对应的源MAC条目.如果条目 ...

  8. 交换机原理_交换机工作原理解析

    原文连接:http://www.elecfans.com/dianzichangshi/20171204593673.html 交换机原理 数据传输基于OSI七层模型,而交换机就工作于其第二层,即数据 ...

  9. 计算机网络交换机原理,计算机网络__交换机工作原理

    计算机网络交换机工作原理 在前面了解到根据交换机在OSI参考模型中工作的协议层不同,将交换机分为二层交换机.三层交换机.四层交换机.交换机工作的协议层不同,其工作原理也不相同.下面我们将介绍各层交换机 ...

  10. 交换机工作原理及端口安全配置

    目录 相关概念认识 交换机工作原理 交换机端口安全 相关概念认识 交换机是一种用于电(光)信号转发的网络设备.它可以为接入交换机的任意两个网络节点提供独享的电信号通路.最常见的交换机是以太网交换机.交 ...

最新文章

  1. IBatis.Net学习笔记二--下载、编译、运行NPetShop
  2. 【Python】浅谈 multiprocessing
  3. 嵌入式linux学习步骤(三)
  4. cpc卡内计费信息异常包括_今日头条信息流广告投放效果好吗?信息流广告计费方式怎么收费?...
  5. mysql 5.764_RHEL5.764位源码编译安装MySQL-5.5.42遇到的问题
  6. manga camera android,Manga-Camera
  7. Command 模式 Step by Step
  8. CVE-2021-30116: Kaseya VSA 远程代码执行漏洞
  9. 用MySQLdb操作数据库流程示例:
  10. 自动驾驶_高精地图与车辆协同
  11. 软件项目管理案例教程(第三版)习题及答案(适用于工程项目管理课程)
  12. 代码吃鸡:Python-Robocode
  13. 姜汝祥是个骗子吗_我是个骗子你是?
  14. 【黑金原创教程】【TimeQuest】【第五章】网表质量与外部模型
  15. 网络广告中各种广告形式
  16. 本地计算机无法启动dhcp服务,Windows10无法启用dhcp服务怎么办?
  17. 【阿里云物联网平台-1】使用MQTTfx模拟客户端,往阿里云物联网平台发布数据
  18. Python周刊505期
  19. 高校体育场地预约管理系统(Java Web毕业设计)
  20. 图解央行房贷新政 首付才是刚需族最大门槛

热门文章

  1. Python动态数据展示
  2. 只用几行代码,我让模型『训练』加速了3倍以上!
  3. 【每日算法Day 92】经典面试题:编辑距离
  4. 《统计学习方法》——决策树
  5. 看半小时漫画,通晓计算机基础
  6. 名企面试官精讲典型编程题之C++篇
  7. 程序员的职业生涯像一盘棋 行棋者由谁?
  8. python DataFrame获取行数、列数、索引及第几行第几列的值
  9. PGM:不完备数据的参数估计
  10. numpy教程:统计函数Statistics