Mininet实验 MAC地址学习分析
拓扑图

学习过程分析
- 首先交换机A和交换机B一开始的MAC地址表都是空的。
- 此时主机11向主机33发送一个数据帧。
- 数据帧会先到达交换机A,交换机A会获得主机11的MAC地址和端口号。(此时交换机A的地址表中只有一条关于11的地址信息)
- 此时查看MAC地址表,如果其中有目的主机的MAC地址则直接进行转发,但是很可惜现在没有。
- 此时交换机A会向除了源数据端口(端口1)外的其他所有端口(端口2和端口3)发送广播(都发送一个数据帧),这被称之为泛洪(flooding)。
- 主机22接收到数据帧确认完发现不是发送给自己的,就会丢弃掉这个数据帧。
- 此时交换机B会接收到这个数据帧
- 此时交换机B会学习到源MAC地址和端口号,分别为11和端口3。(此时交换机B中只有一条关于11的地址信息)
- 查看自己的地址表,没有符合条件的。
- 向除了源数据发送端口外所有端口发送广播。
- 主机33会接收这个数据帧,主机44会丢弃这个数据帧。
- 正常情况下,主机33会回复主机11,发送一个数据帧。
- 此时按照之前的逻辑,交换机B接收到主机33发送的数据帧,得到主机33的MAC地址和端口号。(此时B拥有两条信息,分别为11和33的,端口号分别为3和1)
- 查看自己的地址表,发现目标11存在于自己的地址表中,所以直接定向向端口3发出数据帧(单播转发)。
- 交换机A接收到交换机B发来的数据帧,然后更新了主机33的MAC地址和端口号。(此时A中也有两条信息,关于11和33的,端口号分别为1和3)
- 然后根据自己的地址表单播转发给主机11.
- 主机11就会接收到这个地址帧。
Mininet实验 MAC地址学习分析的更多相关文章
- Mininet实验 MAC地址学习
实验目的 了解交换机的MAC地址学习过程. 了解交换机对已知单播.未知单播和广播帧的转发方式. 实验原理 MAC(media access control,介质访问控制)地址是识别LAN节点的标识.M ...
- 【小菜学网络】交换机与MAC地址学习
上一小节介绍了 集线器 ,一种工作于物理层的简单网络设备.由于集线器采用广播的方式中继.转发物理信号,传输效率受到极大制约. 精准转发 为了解决集线器工作效率低下的尴尬,我们需要设计一种更高级的网络设 ...
- mac地址学习笔记
MAC(Media Access Control或者Medium Access Control)地址, 意译为媒体访问控制,或称为物理地址.硬件地址,用来定义网络设备的位置. 在OSI模型中,第三层网 ...
- pox目录中的交换机mac地址学习模块 l2_multi源码
# Copyright 2012-2013 James McCauley # # Licensed under the Apache License, Version 2.0 (the "L ...
- 分分钟学会系列:mac地址泛洪攻击实验
一.实验目的: 通过实战深入理解mac地址泛洪攻击的原理. 二.实验原理: 交换机中有一张非常重要的表,叫做mac表,这个表是一个硬件组成的表,主要是完成快速转发.mac表有大小限制,不同的交换机的m ...
- 交换机是干嘛的!!交换机如何学习MAC地址过程?
1.它收到一个帧的时候,先检查源MAC地址,看看自己维护的一个地址表中有没有这个地址.如果有,则2:如果没有,则将这个MAC地址.进入的端口.进入的时间放入这个表中: 2.检查目的MAC地址,然后到该 ...
- 交换机安全学习笔记 第二章 MAC地址泛洪攻击
本文为书中相关知识的摘要,由于书中以思科设备为配置依据,所以笔记中补充了华为.H3C设备的相关配置.华为设备配置参考华为S2352EI 产品版本:V100R005C01文档版本:02. H3C配置参 ...
- Mininet实验 使用l2_multi模块寻找最短路径实验
参考:使用l2_multi模块寻找最短路径实验 1. 实验目的 1.认识VND并且掌握其基本使用方法. 2.学会使用pox控制器的l2_multi模块寻找主机间的最短传输路径. 2. 实验原理 VND ...
- 网络编程懒人入门(九):通俗讲解,有了IP地址,为何还要用MAC地址?
1.前言 标题虽然是为了解释有了 IP 地址,为什么还要用 MAC 地址,但是本文的重点在于理解为什么要有 IP 这样的东西.本文对读者的定位是知道 MAC 地址是什么,IP 地址是什么. (本文同步 ...
随机推荐
- 如何快速生成数据库字典(thinkphp5.0)
本教程将教你快速生成数据库字典 示例代码使用PHP框架:Thinkphp5.0 PHP代码: /** * 生成数据库字典html * 可直接另存为再copy到word文档中使用 * * @return ...
- php 算法(二分法)只适用于有序表,且限于顺序存储结构
function demo($array,$low,$high,$k){ if($low<=$high){//判断该数组是否存在 $mid = intval(($low+$high)/2 ); ...
- Python基础、条件语句和基本数据类型
1. 第一句python - 后缀名是可以是任意? - 导入模块时,如果不是.py文件 ==> 以后文件后缀名是 .py 2. 两种执行方式 python解释器 py文件路径 python 进入 ...
- 网易云音乐API
网易云音乐API使用 封装了一些api调用 ZZRRegion/StNetease
- java 对象的初始化流程(静态成员、静态代码块、普通代码块、构造方法)
一.java对象初始化过程 第一步,加载该类,一个java对象在初始化前会进行类加载,在JVM中生成Class对象.加载一个类会进行如下操作,下面给出递归描述.(关于Class对象详见反射 点击这里) ...
- nodejs multer
nodejs上传文件multer var multer = require('multer') var storage = multer.diskStorage({ destination: func ...
- 优步UBER司机全国各地奖励政策汇总 (2月29日-3月6日)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...
- 北京Uber优步司机奖励政策(12月11日)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...
- VINS(九)Ceres Solver优化(未完待续)
使用Ceres Solver库处理后端优化问题,首先系统的优化函数为
- python删除文本中的所有空字符
import re import os input_path = 'G:/test/aa.json' output_path ='G:/test/bb.json' with open(input_pa ...