文章目录
- 1、交换机
- 1、常见的概念
- 1、冲突域
- 2、广播域
- 3、以太网卡
- 1、以太网卡帧
- 4、mac地址
- 1、mac地址表示
- 2、mac地址分类
- 3、mac地址转换为二进制
- 2、交换机的工作原理
- 1、mac地址表
- 2、交换机三种数据帧处理行为
- 3、为什么会泛洪
- 4、转发
- 5、丢弃
- 3、mac表怎么获得
- 4、同网段数据通信全过程
- 1、数据封装过程
- 2、泛洪数据帧
- 3、学习mac地址和主机回复
- 4、总结
- 5、不同网段数据通信过程
1、交换机
1、常见的概念
1、冲突域
-
冲突域就是连接同一个共享介质的所有节点的集合,冲突域内所有节点竞争同一个带宽,一个节点发出的报文(无论是单播,组播,广播),其他节点都可以收到
-
交换机上面的接口都是互相连接的,因此每一个接口相当于一个冲突域,不同的接口发送和数据独立,各个接口属于不同的冲突域,互联的主机不需要担心流量对数据发送冲突的影响了
-
就是以前是一个主机发送数据,其他的主机不能发送数据,只能接收,但是交换机的话,每个接口都是互相连接的,因此可以不同主机可以同时发送数据,和接收数据
- 一个节点发送的是广播的话,就会泛洪,如果接收的是单播的话,就只会发送给一个节点,因此交换机组成的局域网是广播域,但是隔离了冲突域
2、广播域
-
就是广播报文会访问所有的主机,同一个广播域内的主机都能收到广播报文
-
有一个主机发送了广播的话,交换机会发送给所有的接口都会转发,但是路由器的话,不会进行泛洪,不会转换广播,起到了一个隔离广播的作用
3、以太网卡
-
路由器和PC的连接在一起的话,可以配置ip地址的,路由器接口上配置一个ip,然后pc上面也配置了一个ip地址,如果在同一个网段的话,就可以实现互访,所以的话,PC网卡和路由器网卡本质上没有区别,基于数据包来进行处理
-
交换机上面的接口如果配置不了ip的话,就是一个二层设备,只具备二层的功能,以帧为单位进行数据转发,没有对包进行分析的能力,是一个传统的二层设备
1、以太网卡帧
-
在以太网中,数据通信是基本单位是以太帧,有2个标准
-
一个是Ethernet_ll格式和另外一个是IEEE802.3格式
-
客户端发送的是Ethernet_ll数据的帧格式,维护网络正常工作协议的是IEE 802.3帧格式
-
Ethernet_ll类型,是0800上层就是ipv4的协议,是0806的话,上层就是arp协议的
-
IEEE802.3类型LLC
4、mac地址
-
网络中唯一标识一个网卡,唯一的名字
-
mac地址6个字节,48bit,16进制
-
为什么有了mac地址,在接入设备的时候还是需要配置ip地址,因为路由器是通过ip地址来进行寻址的,交换机是根据在mac地址在链路上面进行通信
-
不要ip地址,在链路上面通过mac地址进行实现通信,在链路上面只有mac地址可以通信
-
因此的话,ip地址和mac地址结合使用,非常的强大,在链路上面根据mac地址,在不同的网段上面,路由表根据ip地址进行转发
-
ip地址是唯一标识网络中一个节点,可以通过ip地址进行不同网段的数据访问,可以改变的,在同一个网段上面是唯一的
-
ip地址和mac地址,mac地址在同一个链路上面通信,ip地址可以跨链路访问
1、mac地址表示
-
mac地址采用十六进制表示
-
ox表示这个数据是16进制的
-
00 1E 10 DD DD 02 6个字节
-
转换成二进制的话, 0000 0000 0001 1110 一个数字转换成4bite来进行表示
2、mac地址分类
-
单播地址,第8个bite等于0的就是单播,前面是24位,就是oui就是厂商代码
-
组播地址,第8个bite等于1的话就是组播,发送给一堆接口
-
广播地址,bite全是1的位广播
-
6C就是单播地址,A是10,B是11,C是12,所以的话,这个就是一个单播
-
交换机根据目标MAC地址的第8个比特位查找
3、mac地址转换为二进制
# 一个十六进制的数等于4个二进制的数
步骤 1:把 6 转成二进制
十六进制 6 对应十进制 6。
将十进制 6 转换为二进制:
6 ÷ 2 = 3,余数 0
3 ÷ 2 = 1,余数 1
1 ÷ 2 = 0,余数 1
从下到上排列余数:110
补齐 4 位:0110
步骤 2:把 C 转成二进制
十六进制 C 对应十进制 12(A=10, B=11, C=12)。
将十进制 12 转换为二进制:
12 ÷ 2 = 6,余数 0
6 ÷ 2 = 3,余数 0
3 ÷ 2 = 1,余数 1
1 ÷ 2 = 0,余数 1
从下到上排列余数:1100
2、交换机的工作原理
-
主机1发送数据到PC2上面,交换机学习帧的地址MAC地址,然后在MAC地址表中查询该帧的目的mac地址,并将这个帧从对应的端口转发出去,arp协议
-
二层转发只用看mac地址即可,不需要看IP地址
1、mac地址表
-
每个交换机都会有一个mac地址表,存放了mac地址与交换机端口编号之间的映射关系
-
通过这个接口就能达到主机上面
2、交换机三种数据帧处理行为
-
泛洪,就是一个接口收到数据帧后,就泛洪到所有的主机
-
转发,就是从一个特定的接口转发到某个接口
-
丢弃,一个接口接收的数据,直接丢弃,不进行转发
3、为什么会泛洪
-
交换机如果接收的是单播帧,交换机查询mac地址表,查询不到,就被称为未知单播帧,交换机对该单播帧执行泛洪的操作
-
如果接收的是广播帧,不需要查询mac地址,直接进行泛洪
-
组播,也是泛洪
4、转发
- 查找到了这个目标mac地址和对应的接口,然后从这个接口进行转发即可
5、丢弃
- 交换机收到了一个帧的话,如果这个出接口和目标接口都是自己的,交换机就会丢弃
3、mac表怎么获得
-
初始情况下,交换机的mac地址表是空的
-
PC发送一个数据帧,然后交换机查询源mac地址学习,找到了这个对应端口
-
根据目标mac地址是个单播,查询不到,然后就会泛洪操作,然后主机二会回复一个单播帧,然后交换机继续学习,这个源mac地址和对应的端口,这样交换机就学习到了,并且记录到了mac地址表中
-
然后PC发送数据后,就会实现转发的操作
4、同网段数据通信全过程
1、数据封装过程
- 但是以太网帧的结构里面有源mac,和目标mac地址,但是刚开始不知道目标mac地址,所以的话,需要先发送一个arp请求,获取到目标mac地址
2、泛洪数据帧
- 先发送一个arp广播,交换机直接进行泛洪
3、学习mac地址和主机回复
-
主机二就收到了arp请求,回一个arp应答,里面包含了主机2的mac地址,和主机1的目标mac地址,然后交换机就学习到了这个mac地址和对应的接口
-
然后主机1就获得了目标的mac地址,然后进行帧的封装,不断的进行数据的转发,然后交换机通过查询mac地址表,然后进行转发即可
4、总结
- 这个就是同网段通信的过程
# 发送一个ping 包,会发送一个arp请求,然后交换机就学习
# 查询交换机
<Huawei>display mac-address
MAC address table of slot 0:
-------------------------------------------------------------------------------
MAC Address VLAN/ PEVLAN CEVLAN Port Type LSP/LSR-ID
VSI/SI MAC-Tunnel
-------------------------------------------------------------------------------
5489-9850-0d09 1 - - GE0/0/1 dynamic 0/-
5489-9880-0d83 1 - - GE0/0/2 dynamic 0/-
-------------------------------------------------------------------------------
Total matching items on slot 0 displayed = 2
# 主机上面也会有mac地址记录
PC>arp -a
Internet Address Physical Address Type
1.1.1.2 54-89-98-80-0D-83 dynamic
-
交换机的接口,每个接口的目标mac地址都是相同的,接口不是用来通信的,用来交换机之间的通信
-
arp是一个广播的报文,发送到交换机上面,会泛洪,所有主机都会接收
-
刚开始都是初始的状态,然后PC1发送一个数据到PC2上面,因为只知道PC2的目标ip,不知道目的mac地址,因此的话,先发送一个arp请求,然后发送过去,交换机就学习PC1的mac地址,并且记录端口信息,PC2收到后,发送一个ARP回答,里面记录的2个mac地址和Ip,然后交换机学习PC2的mac地址,记录端口的关系,这样的话,交换机就学习到了
-
下次发数据的时候,直接进行转发
-
mac地址表,有个老化时间,默认是300秒,因此的话,每次发送的数据,交换机都要学习mac地址
-
mac地址表为什么会老化
-
mac地址使用的内存空间,如果错误表项,空闲的表项,不老化,导致mac表会占用空间
-
交换机的mac表有一定的容量限制,不清空无效的表项,导致了MAC地址表容量满了,无法学习最新的MAC地址信息
-
5、不同网段数据通信过程
# pc1和pc2是同一个网段的,与pc3是不同的网段
-
不同网段的话,就需要去寻找网关,所以的话,就会寻找网关的mac地址,然后网关就会回一个自己的mac地址,需要路由器,网关配置在了路由器,
-
就是网关路由器从交换机接收到后数据后,进行解封装然后查询到里面的目标ip地址不是自己的然后继续封装,转发
-
知道转发到了PC3主机上面即可,然后有mac地址,进行arp回答即可