第2层交换和生成树协议(STP)__MAC地址表
1.MAC(Media Access Control, 介质访问控制)地址是识别LAN节点的标识。网卡的物理地址通常是由网卡生产厂家烧入网卡的EPROM(一种闪存芯片,通常可以通过程序擦写),它存储的是传输数据时真正赖以标识发出数据的主机和接收数据的主机的地址。
2.交换机之所以能够直接对目的节点发送数据包,而不是像集线器一样以广播方式对所有节点发送数据包,最关键的技术就是交换机可以识别连在网络上的节点的网卡MAC地址,并把它们放到一个叫做MAC地址表的地方。这个MAC地址表存放于交换机的缓存中,
并记住这些地址,这样一来当需要向目的地址发送数据时,交换机就可在MAC地址表中查找这个MAC地址的节点位置,然后直接向这个位置的节点发送。所谓MAC地址数量是指交换机的MAC地址表中可以最多存储的MAC地址数量,存储的MAC地址数量越多,
那么数据转发的速度和效率也就就越高。
3.但是不同档次的交换机每个端口所能够支持的MAC数量不同。在交换机的每个端口,都需要足够的缓存来记忆这些MAC地址,所以Buffer(缓存)容量的大小就决定了相应交换机所能记忆的MAC地址数多少。通常交换机只要能够记忆1024个MAC地址基本上就
可以了,而一般的交换机通常都能做到这一点,所以如果对网络规模不是很大的情况下,这参数无需太多考虑。当然越是高档的交换机能记住的MAC地址数就越多,这在选择时要视所连网络的规模而定了。
4.交换机技术在转发数据前必须知道它的每一个端口所连接的主机的MAC地址,构建出一个MAC地址表。当交换机从某个端口收到数据帧后,读取数据帧中封装的目的地MAC地址信息,然后查阅事先构建的MAC地址表,找出和目的地地址相对应的端口,
从该端口把数据转发出去,其他端口则不受影响,这样避免了与其它端口上的数据发生碰撞。因此构建MAC地址表是交换机的首要工作。下面举例说明交换机建立地址表的过程。
5.假设主机A向主机C发送一个数据帧(每一个数据帧中都包含有源MAC地址和目的MAC地址),当该数据帧从E0端口进入交换机后,交换机通过检查数据帧中的源MAC地址字段,将该字段的值(主机A的MAC地址)放入MAC地址表中,并把它与E0端口对应起来,
表示E0端口所连接的主机是A。此时,由于在MAC地址表中没有关于目的地MAC地址(主机C的MAC地址)的条目。交换机技术将此帧向除了E0端口以外的所有端口转发,从而保证主机C能收到该帧(这种操作叫flooding,泛洪)。
6.同理,当交换机收到主机B、C、D的数据后也会把他们的地址学习到,写入地址表中,并将相应的端口和MAC地址对应起来。最终会把所有的主机地址都学习到,构建出完整的地址表。此时,若主机A再向主机C发送一个数据帧,应用交换机技术则根据它的MAC
地址表中的地址对应关系,将此数据帧仅从它的E2端口转发出去。从而仅使主机C接收到主机A发送给它的数据帧,不再影响其他端口。那么在主机A和主机C通信的同时其他主机(比如主机B和主机D)之间也可以通信。
7.当交换机建立起完整的MAC地址表之后,对数据帧的转发是通过查找MAC地址表得到对应的端口,从而将数据帧通过特定的端口发送出去的。但是,对于从一个端口进入的广播数据及在地址表中找不到地址条目的数据,交换机会把该数据帧从除了进入端口之外
的所有端口转发出去。从这个角度来说,交换机互连的设备处于同一个广播域内,但它们处于不同的碰撞域内,并且处于不同区域!
8.提示这里为了解释交换机如何建立MAC地址表,假设A向C发了一个数据帧。实际情况并非如此,并不是主机间必须进行通信交换机才能学习到MAC地址。实际上是当网卡驱动加载之后交换机就学习到了主机的MAC地址。读者如果仔细观察就会发现,Windows
系统启动过程还没完成,交换机就学习到了主机的MAC地址。
第2层交换和生成树协议(STP)__MAC地址表的更多相关文章
- 第2层交换和生成树协议(STP)__第2层的3种交换功能
地址学习(Address Learning):第2层交换机和网桥能够记住在一个接口上所收到的每个帧的源设备硬件地址,而且它们会将这个硬件地址信息输入到被称为转发/过滤表的MAC数据库中. 转发/过滤决 ...
- 第2层交换和生成树协议(STP)__散知识点
1.交换式服务 网桥是基于软件的,而交换机使用专用集成电路(ASIC)来创建并维护其过滤表.2层交换机和网桥转发数据的速度比路由器快一些,因为它们不查看网络层报头的信息,不对数据包做任何修改.相反,在 ...
- 生成树协议stp
生成树协议应用的原因是从逻辑上阻塞交换机在物理上形成的环路.大家都知道交换机工作在二层,也就是数据链路层,根据mac地址识别主机,对三层网络无法识别,因此交换机不能隔离广播.但是在日常的工作中,为了达 ...
- STP 生成树协议 RSTP 快速生成树
STP(Spanning Tree Protocol)是生成树协议的英文缩写 该协议可应用于在网络中建立树形拓扑,消除网络中的环路,并且可以通过一定的方法实现路径冗余,但不是一定可以实现路径冗余.生成 ...
- CISCO交换机STP实验(生成树协议)
目录 一.前言:生成树协议(STP) 二.CISCO交换机STP命令汇总 三.运用STP搭建简单拓扑 四.实战:STP综合实验 五.结语 一.前言:生成树协议(STP) 计算机网络中,我们为了减少网络 ...
- s4-7 生成树协议
Spanning Tree :为了可靠,采用冗余结构:但是透明网桥 会产生无休止循环的问题 冗余交换拓扑可能带来的问题 广播风暴 多帧传送 MAC地址库不稳定 生成树协议 STP:sp ...
- 生成树协议(STP)
首先了解一下环路问题: 两个交换机将两个局域网同时连接起来的时候,不幸地出现了环路: 这两个交换机还是都能够收到广播包的.交换机 A 一开始是不知道机器 2 在哪个局域网的,所以它会把广播消息放到局域 ...
- 交换机广播风暴,STP生成树协议,端口聚合
交换机(工作在数据链路层)具有学习功能: 一台刚重启的交换机上的mac地址表为空,根据数据包的来源,目的地来学习MAC地址与端口的映射关系映射关系,对于MAC地址表之中已有的就不管了,对未知端 ...
- STP生成树协议在二层环境中的应用
一 STP简介 1.单词: rstp快速生成树协议 filter过滤 protection保护 2.作用: 通过阻塞特定接口来防止二层交换环路,从而做到既可以提高网络可靠性的同时又能避免环路带来的问题 ...
随机推荐
- 【linux】系统编程-5-线程
目录 前言 7. 线程 7.1 概念 7.2 创建线程 7.2.1 pthread_create() 7.3 设置线程属性 7.3.1 pthread_attr_init() 7.3.2 销毁一个线程 ...
- 11. const 修饰成员函数
const 限定只读,对函数的实参进行保护 常数据成员:必须出现在类的定义体中,常数据成员必须进行初始化,并且不能被更新,但常数据成员的初始化只能通过构造函数的初始化列表进行 1. 常函数 成员函数加 ...
- JavaScript同步模式,异步模式及宏任务,微任务队列
首先JavaScript是单线程的语言,也就是说JS执行环境中,负责执行代码的线程只有一个.一次只能执行一个任务,如果有多个任务的话, 就要排队,然后依次执行,优点就是更安全,更简单.缺点就是遇到耗时 ...
- Linux 下 swap 分区及作用详解
我们在安装系统的时候已经建立了 swap 分区.swap 分区是 Linux 系统的交换分区,当内存不够用的时候,我们使用 swap 分区存放内存中暂时不用的数据.也就是说,当内存不够用时,我们使用 ...
- JAVA编程环境与基本数据类型
<JAVA编程环境与基本数据类型> 随笔目录 # <JAVA编程环境与基本数据类型> 随笔目录 - Java小实例 java的编程环境 java数据类型 Java小实例 jav ...
- 支持向量机(SVM)原理详解
SVM简介 支持向量机(support vector machines, SVM)是一种二分类模型,它的基本模型是定义在特征空间上的间隔最大的线性分类器,间隔最大使它有别于感知机:SVM还包括核技巧, ...
- Jmeter(三十五) - 从入门到精通进阶篇 - 关联(详解教程)
1.简介 上一篇中介绍了如果想要同时发送多条请求,那么怎样才能让每条数据某些请求参数改变呢.这就用到了jMeter参数化.在实际测试场景中,我们往往还有这样的需求,登录后服务器响应的token作为下次 ...
- python学习笔记 | 递归思想
1.引子 大师 L. Peter Deutsch 说过: To Iterate is Human, to Recurse, Divine. 中文译为:人理解迭代,神理解递归 2.什么是递归 简单理解: ...
- maven依赖与传递性依赖
目录 依赖范围 传递性依赖 依赖调节 可选依赖 本文主要是针对<maven实战>书中关键知识点的学习记录,未免有纰漏或描述不到之处,建议购买阅读原书 首先贴出一个pom常见的一些元素释义 ...
- Java 多线程读取文件并统计词频 实例 出神入化的《ThreadPoolExecutor》
重在展示多线程ThreadPoolExecutor的使用,和线程同步器CountDownLatch,以及相关CAS的原子操作和线程安全的Map/队列. ThreadPool主线程 1 import j ...