HCNA Routing&Switching之交换技术基础
什么是交换机?顾名思义,交换机就是用来数据包交换的;广泛用于终端接入;它的前身是hub(集线器),hub是一个古老的设备,它的作用也是用于终端接入,但hub有一个最大的缺点是它不能隔离冲突域;所谓冲突域就好比我们现实生活中的单行道路;冲突域的特点就是在一个冲突域内的设备,同一时刻只能允许一个设备发送数据;这样一来就很影响双方通讯;为了解决冲突域问题,交换机出现了;交换机的出现解决了hub的冲突域问题(其原因是交换机的每个端口都是一个冲突域,而hub的所有端口都属于一个冲突域,即交换机天生就有隔离冲突域的作用),极大提升网络的性能和安全性;
冲突域和广播域
在以太网中冲突域是由hub设备产生的,一个hub就是一个冲突域。而交换机的一个端口属于一个冲突域,有多少个接口就有多少个冲突域,接口之间的冲突域是相互隔离的;在同一个冲突域中的每个节点都能收到所有被发送的帧,而在同一广播域中的每个节点能接收任意一台设备发出的广播帧;我们可以简单理解同一冲突域中的设备只能同一时刻一台设备发送,多台设备接收;而在同一广播域中的设备,可以同一时刻多台设备同时发送和接收;冲突域是基于第一层(物理层,由硬件设备属性决定),而广播域是基于第二层(数据链路层,由协议封装报文决定,不同协议封装报文,其二层封装也有所不同,比如以太网封装二层就是封装源mac地址和目标mac地址,而ppp协议封装就不用mac地址) 。
交换机工作在数据链路层,对数据帧进行操作,在收到数据帧后,交换机会根据数据帧的头部信息对数据帧进行转发;
交换机的作用功能
1、终端设备的接入,因为交换机有很多接口可以供其他设备接入到网络中来;
2、以太网数据帧的交换(数据包),根据目标mac地址转发数据包;
3、学习mac地址,并维护mac地址表(交换机核心工作原理,转发数据包就是根据这张表进行的)
4、防止二层环路(一般傻瓜交换机没有这种功能,必须支持运行stp协议的交换机才有该功能)
交换机的核心工作原理:根据MAC地址表中的MAC地址记录,做出智能转发

提示:交换机的工作原理很简单,它就是靠mac地址表来进行转发数据包;当交换机从一个接口收到一个数据包以后,首先它会查看该数据包的目标mac地址,看看自己的mac地址表中是否有对应记录,如果有,就根据对应的mac地址所绑定的接口,将数据包从该接口发送出去;如果没有,它就会发送一条arp广播,问某某ip地址的mac地址,在问的时候会向所有接口发送arp请求,收到该arp请求的设备首先会查看对应的ip地址是否是自己,如果不是,那么该设备不会回复arp请求,如果是,它会回复该arp请求,这样一来交换机就会从对应回复包发送的接口和对应设备的mac地址绑定,并将该绑定关系信息存放在mac地址表中,然后再将对应的数据包从对应接口发送出去;从而实现了交换机从一个接口收到数据包,智能的从特定的端口转发出去;

提示:如上图所示,当交换机收到一个数据包是发送给目标mac为2222的主机,此时交换机会查看自己的mac地址表,一看有对应mac地址为2222的记录,该mac地址对应的接口为f0/2;那么此时数据包会从f01转发至f0/2,从而连接交换机的f0/2口的设备就会收到连接f0/1口的设备发送到数据包;此时f0/3和f0/4口是收不到f0/1口发送的数据包;
实验:根据下面的拓扑图抓包分析交换机的工作原理

配置pc1

提示:我们把pc1的ip地址配置为1.0.0.1/8,和交换机的g0/0/1口连接;
在查看交换机的mac地址表,看看对应是否能够学习到pc的mac地址呢?

提示:可以看到交换机的mac地址表为空,没有任何信息;其实在真机环境中,只要对应的主机配置好ip地址以后,它会发送免费arp(就是自己问自己,然后自己回答,其主要目的就是想让局域网中的交换机学习自己的mac);
在pc1上抓包,然后使用pc1Ping任意一地址(不一定是pc2),看看交换机是否会学习pc11的mac地址?

提示:首先pc1ping1.1.1.1的时候,在pc1上会封装1.1.1.1的mac地址,这个mac地址对应在pc1的mac地址表中没有,此时pc会发送arp请求,请求局域网中的ip地址为1.1.1.1的mac地址,如果有设备回复这个arp请求,那么对应pc1就能收到对应设备的mac地址;然后pc的icmp包就会在二层封装自己的mac地址为源mac,对方设备的mac地址为目标mac地址,进行数据包发送;此时对于交换机来说,在收到pc1发送到arp请求时,它首先会查看收到的数据包目标mac地址,一看目标mac地址为全f,此时交换机就知道这是一个广播,此时它会将该arp请求数据包中的源mac地址和收到该包的接口做绑定并记录域mac地址表中,然后在把该arp请求从其他接口泛洪出去;此时交换机就通过pc1发送的arp请求包学习到pc的mac;
验证:查看交换机mac地址表,看看是否学习到pc1的mac地址呢?

提示:可以看到此时交换机的mac地址表中就记录了pc1的mac地址和对应的接口;
验证:用pc1ping pc2,看看交换机是否会学习pc2的mac地址呢?

提示:首先我们可以看到pc1ping pc2 通了,在抓包中我们发现,首先抓到了是pc1发送到arp请求,在pc2收到pc1发送到arp请求,查看其地址和自己一样,此时pc2就回复pc1,然后pc1和pc2就可以正常发送icmp数据包了;其实在这一过程中交换机会从arp请求中学习到pc1的mac地址,从arp回复报文中学习到pc2的mac地址,在这同时pc1会收到pc2的mac地址,pc2会收到pc1的mac地址并记录在自己的mac地址表中;
验证:查看pc1、pc2的mac地址表,看看是否记录了对方的mac地址呢?


验证:查看交换机的mac地址表,看看是否学习到pc1和pc2的mac地址呢?

提示:交换机能够学习到pc1和pc2的mac地址的前提是他俩都是同一vlan;交换机有了这个mac地址表,它就知道去往那个mac地址的数据包,该从那个接口发送出去;
交换机工作逻辑图

提示:交换机和路由器不同,路由器的工作是依靠路由表,如果收到数据包没有匹配的路由,则丢包,而交换机不会,交换机收到数据包查看mac地址表,如果mac地址表中有对应的记录,那么就从对应的接口转发出去,如果没有对应的记录则从其他接口防洪出去;
总结:交换机的工作过程
1、交换机在初始状况下mac地址为空

2、学习mac地址:当从一个接口收到一个帧时,就会把帧内的源MAC与该接口进行绑定,放入MAC地址表;

3、转发数据帧:当从一个接口收到广播帧、组播帧、未知单播帧(目标MAC不存在于MAC地址表中),就会把该帧从所有其它接口转发出去,除了接收接口;

4、当从一个接口收到已知单播帧,立即从相应的的接口转发出去;

交换机的mac地址表更新规则
1、默认每条记录保存300秒;
2、交换机重启会清空所有接口学习到的mac记录,接口关闭后会清空该接口学习到的记录;
3、一个源mac出现在另外一个接口上,会删除老的记录,添加新的记录;也就是说一个mac只能关联在一个接口上;但对于接口来说,一个接口可以关联多个mac地址;比如交换机和交换机相连接;
验证:查看交换机mac地址表生存时间

提示:这个生存时间是指没有对应接口没有发送数据,如果300秒钟都没有发送数据,那么对应接口学习到的mac信息就会从mac地址表中清除,一旦有数据包发送,那么这个时间会刷新;如果一直有数据包发送,那么该接口学习到的mac地址就会一直存放在mac地址表中;
验证:查看交换机的mac地址表,看看是否清空了记录?

提示:可以看到现在交换机的mac地址表没有了记录,其原因是pc1和pc2超过300秒没有发送数据,所以对应学习到的mac信息就会从该表中删除;
以太网接口工作模式
1、半双工(half-duplex):通信双方都能发送和接收数据,但不能同时进行;
2、全双工(full-duplex):通信双方都能同时接收和发送数据;

提示:接口的双工模式有两种,一种是半双工,一种是全双工;半双工我们可以理解为现实生活中的单行道路,同一时间只允许一台主机发送数据,另外一台主机只能接受,两者不可同时发送数据;而全双工就好比双行道路,可以允许同一时间双发收发数据;默认情况下接口都是全双工模式;
3、速率(speed):接口连接时两端进行协商,协商失败则无法正常通信;

提示:默认情况下接口的速率都是自动协商,只有双方的速率一样,才可以实现通讯;
配置交换机接口为半双工模式

提示:修改接口的双工模式,首先要先关闭自动协商,其次1000M接口不支持半双工;通常不建议修改双工模式;
修改电脑的网卡双工模式

提示:如果修改电脑的速率为10M,而连接的交换机速率为100M,两者无法实现通讯,只有速率相同的情况下才可正常通行;其次全双工和半双工,是建立在两者都能通信的前提下;所以通常情况下不建议修改交换机或终端设备的接口的速率和双工模式;
HCNA Routing&Switching之交换技术基础的更多相关文章
- HCNA Routing&Switching之二层交换技术VLAN基础
前文我们主要聊了下交换机的工作原理和以太网接口的速率和双工相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15088183.html:今天我们主要来聊一 ...
- HCNA Routing&Switching之路由基础
在开始聊路由之前,我们首先要明白在网络通讯里,什么是路由?什么是路由表.路由器以及网关的相关术语:路由简单讲就是指网络数据包从源头到目标的路径,主要用来为不同网络间通讯提供数据包转发依据:路由表就是多 ...
- HCNA Routing&Switching之动态路由协议OSPF基础(二)
前文我们主要了解了OSPF的区域.区域分类.路由器类型.OSPF的核心工作流程,回顾请参考:https://www.cnblogs.com/qiuhom-1874/p/15025533.html:今天 ...
- HCNA Routing&Switching之OSPF度量值和基础配置命令总结
前文我们了解了OSPF的网络类型,OSPF中的DR和BDR的选举规则.作用等相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15054938.html: ...
- HCNA Routing&Switching之地址转换技术NAT
前文我们了解了包过滤工具ACL相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15156308.html:今天我们来聊一聊地址转换技术NAT相关话题: ...
- HCNA Routing&Switching之动态路由协议OSPF基础(一)
前文我们了解了基于路径矢量算法的动态路由协议RIP防环以及度量值的修改相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15012895.html:今天我 ...
- HCNA Routing&Switching之STP基础
前文我们了解了VLAN动态注册协议GVRP相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15113770.html:今天我们来讨论下二层环路和STP相 ...
- HCNA Routing&Switching之静态路由
前文我们聊到了路由的相关概念和路由基础方面的话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/14947897.html:今天我们聊聊静态路由相关话题: 回顾 ...
- HCNA Routing&Switching之GVRP
前文我们了解了不同vlan间路由相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15110336.html,今天我们来聊一聊vlan动态注册相关话题: ...
随机推荐
- Java第二次博客作业
Java第二次博客作业 时间过的很快啊,在不知不觉中这门课程的学习也就快要过去一半了,现在就来总结一下在这个第二个月的学习当中存在的问题以及得到的心得. 1.前言 第四次题目集和第五次题目集给我的感觉 ...
- 为什么catch了异常,但事务还是回滚了?
前几天我发了这篇文章<我来出个题:这个事务会不会回滚?>得到了很多不错的反馈,也有不少读者通过微信.群或者邮件的方式,给了我一些关于test4的回复.其中还有直接发给我测试案例,来证明我的 ...
- flutter中ListView的详细讲解
1.ListView的简单介绍 ListView是最常用的可以滚动组件之一, 它可以沿一个方向进行线性排列所有的子组件. 下面是ListView的属性值介绍: scrollDirection:列表的滚 ...
- Docker_CICD笔记
1 环境说明 1.1 机器配置 主机名称 IP地址 系统版本/内存/cpu核数/硬盘 安装软件 controlnode 172.16.1.70/24 centos7.4/4/2/60 docker.d ...
- 『心善渊』Selenium3.0基础 — 17、Selenium操作浏览器窗口的滚动条
目录 1.为什么操作滚动条 2.Selenium如何操作滚动条 3.Selenium操作滚动条方法 4.操作滚动条示例 5.下拉至聚焦元素的位置 (1)实现步骤: (2)实现示例: 1.为什么操作滚动 ...
- layui table 使用table放输入框时控制每列的宽度
<table class="layui-table" lay-filter="demo"> <colgroup> <%--设置每列 ...
- 两台主机间docker容器网络互通
服务器1: 网络172.30.0.0/16 服务器2: 网络172.31.0.0/16 服务器1和服务器2上的docker容器网络之间是无法互通的,如果需要互通,需要做以下配置: 服务器1上执行: i ...
- SpringBoot:springboot整合eureka报错 Unable to start embedded Tomcat
报错信息: org.springframework.context.ApplicationContextException: Unable to start web server; nested ex ...
- ROS2学习之旅(2)——配置ROS2环境
目录 1.source一下setup文件 2.自动source 3.自动进入工作区(不常用) 4.检查环境变量是否设置成功 5.总结 ROS2依赖于使用shell(终端)环境组合工作空间的概念.工作空 ...
- ESP32存储blog笔记
基于ESP-IDF4.1 1 #include <stdio.h> 2 #include "freertos/FreeRTOS.h" 3 #include " ...