交换机

详解交换机对不同类型数据帧的转发过程

爱⌒轻易说出口 提交于 2019-12-12 04:09:32
搭建实验拓扑图,这里以cisco设备为例 地址规划为172.16.0.0/24网段 名词解释: a.MAC地址表:是一张目的MAC地址及其所连接的出接口的地址对应表。记录老化时间默认为300s。 b.洪范行为:是交换机对未知单播帧的处理方式, 是将此帧向所有端口(除收到该数据帧的端口)进行转发。 c.广播: 是指交换将帧目的MAC 为FF:FF:FF:FF:FF:FF的数据帧转发到除收到该帧之外的所有端口的动作。 d.组播地址表:是一张VLAN ID+组播ip+出端口的地址对应表。组播地址表对应的出口端口不是一个,而是一组端口列表。 一.单播 1.未知单播 现在使用PC0去ping PC1,交换机接收到数据帧,由于开机后未进行任何配置MAC地址表为空: ①交换机将帧中 源MAC 和 进入接口 记录到MAC地址表中 ②再基于MAC地址表中自上而下查看 目标MAC 的 出接口 ③因未能查询到目标MAC和出接口的对应关系,则进行洪范 ④当PC1回复PC0时,交换机同样记录下帧中 源MAC 和 进入接口 ⑤查询MAC地址表 目标MAC ,基于 出接口 转发 ⑥交换机MAC地址表的每条记录达到其老化时间还未刷新,删除该条目。 2.已知单播 注:上一个实验PC0 ping PC1后MAC地址表已存在两者MAC地址和接口的对应关系 ①交换机将帧中 源MAC 和 进入接口 记录到MAC地址表中

ovs常用操作

[亡魂溺海] 提交于 2019-12-11 23:46:46
1.添加网桥:ovs-vsctl add-br 交换机名 2.删除网桥:ovs-vsctl del-br 交换机名 3.添加端口:ovs-vsctl add-port 交换机名 端口名(网卡名) 4.删除端口:ovs-vsctl del-port 交换机名 端口名(网卡名) 5.连接控制器:ovs-vsctl set-controller 交换机名 tcp:IP地址:端口号 6.断开控制器:ovs-vsctl del-controller 交换机名 7.列出所有网桥:ovs-vsctl list-br 8.列出网桥中的所有端口:ovs-vsctl list-ports 交换机名 9.列出所有挂接到网卡的网桥:ovs-vsctl port-to-br 端口名(网卡名) 10.查看open vswitch的网络状态:ovs-vsctl show 11.查看 Open vSwitch 中的端口信息(交换机对应的 dpid,以及每个端口的 OpenFlow 端口编号,端口名称,当前状态等等):ovs-ofctl show 交换机名 12.修改dpid:ovs-vsctl set bridge 交换机名 other_config:datapath-id=新DPID 13.修改端口号:ovs-vsctl set Interface 端口名 ofport_request=新端口号 14

KVM虚拟机获得宿主机指定网卡的流量

房东的猫 提交于 2019-12-11 20:28:51
背景 目前手上只有虚拟机资源,想通过虚拟机来分析交换机镜像过来的流量。交换机镜像过来的流量可能是主干网络的流量也可能是某台服务器的流量。 KVM环境准备 kvm环境准备省略,直接走官方文档或者其它安装文档即可 目前网络架构描述 宿主机: 1,目前有两块物理网卡em1和em2,其中em1是内网网口。em2网卡处于up状态,没有配置ip地址,且已经通过交换机配置接入了交换机镜像过来的流量 2,宿主机创建了br0,并且绑定了em1,并且测试虚拟机的虚拟机网卡为vnet0 虚拟机: 1,虚拟机只有一个eth0网卡对应宿主机的vnet0虚拟网卡 操作 在宿主机创建一个网桥br1,并且绑定到em2网卡 # brctl addbr br1 # brctl addif br1 em2 # ifconfig br1 up 查看网桥信息: # brctl show bridge name bridge id STP enabled interfaces br0 8000.a4badb1b4640 no em1 vnet0 br1 8000.a4badb1b4642 no em2 virbr0 8000.5254007ccfb2 yes virbr0-nic 在宿主机区上给虚拟机临时新加一个网卡并且使用br1 # virsh attach-interface oeltest01 --type

[小白到大牛之路] 交换机后台管理之权限判断

耗尽温柔 提交于 2019-12-11 15:01:30
项目需求 判断用户名和密码是否正确。 项目实现 # include <stdio.h> int main ( void ) { // 定义变量,用来表示用户名和密码 //char name; char name [ 32 ] ; //int password; char password [ 16 ] ; // 输入用户名和密码 printf ( "请输入用户名:" ) ; scanf ( "%s" , name ) ; printf ( "请输入密码:" ) ; scanf ( "%s" , password ) ; if ( strcmp ( name , "admin" ) == 0 && strcmp ( password , "123456" ) == 0 ) { // 打印功能菜单 printf ( "---交换机后台管理---\n" ) ; printf ( "1. 创建账号\n" ) ; printf ( "2. IP管理\n" ) ; printf ( "3. 退出\n" ) ; } else { printf ( "用户名或密码错误!\n" ) ; } return 0 ; } 项目精讲 1.字符串的比较运算 可参考c/c++手册 百度网盘链接:https://pan.baidu.com/s/1dZJLwE 使用strcmp函数 #include <string

消息队列RabbitMQ入门介绍

痞子三分冷 提交于 2019-12-10 13:37:01
(一)基本概念 RabbitMQ是流行的开源消息队列系统,用erlang语言开发。我曾经对这门语言挺有兴趣,学过一段时间,后来没坚持。RabbitMQ是AMQP(高级消息队列协议)的标准实现。如果不熟悉AMQP,直接看RabbitMQ的文档会比较困难。不过它也只有几个关键概念,这里简单介绍。 RabbitMQ的结构图如下: 几个概念说明: Broker:简单来说就是消息队列服务器实体。 Exchange:消息交换机,它指定消息按什么规则,路由到哪个队列。 Queue:消息队列载体,每个消息都会被投入到一个或多个队列。 Binding:绑定,它的作用就是把exchange和queue按照路由规则绑定起来。 Routing Key:路由关键字,exchange根据这个关键字进行消息投递。 vhost:虚拟主机,一个broker里可以开设多个vhost,用作不同用户的权限分离。 producer:消息生产者,就是投递消息的程序。 consumer:消息消费者,就是接受消息的程序。 channel:消息通道,在客户端的每个连接里,可建立多个channel,每个channel代表一个会话任务。 消息队列的使用过程大概如下: (1)客户端连接到消息队列服务器,打开一个channel。 (2)客户端声明一个exchange,并设置相关属性。 (3)客户端声明一个queue,并设置相关属性。 (4

FTP传输交换机系统文件

≯℡__Kan透↙ 提交于 2019-12-10 10:25:08
FTP传输交换机系统文件 1、FTP XXXX(FTP服务器所在的主机地址) 2、输入账户密码 (需要在FTP服务器上已经配置) 3、binary(系统文件需要二进制传输,防止文件损坏) 4、dir /all(先查看系统文件有哪些) 5、display version (可以确认当前运行的系统文件版本和下一次启动文件版本) 6、put 系统文件 (文件包含boot和system,put是向FTP服务器传输,常用于备份,get是从FTP服务器下载) 1、FTP XXXX(FTP服务器所在的主机地址) 2、输入账户密码 (需要在FTP服务器上已经配置) 3、binary(系统文件需要二进制传输,防止文件损坏) 4、dir /all(先查看系统文件有哪些) 5、display version (可以确认当前运行的系统文件版本和下一次启动文件版本) 6、put 系统文件 (文件包含boot和system,put是向FTP服务器传输,常用于备份,get是从FTP服务器下载) 来源: CSDN 作者: 不是大雄也可以有哆啦a梦 链接: https://blog.csdn.net/Mr_XiangShuai/article/details/103469191

RabbitMQ学习(二):RabbitMQ的基本概念

末鹿安然 提交于 2019-12-09 22:38:58
RabbitMQ相关概念 RabbitMQ是一个Erlang开发的AMQP(Advanced Message Queuing Protocol,高级消息队列协议)的开源实现。是应用层协议的一个开放标准,为面向消息的中间件设计。消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在。 主要特征 可靠性:持久化、传输确认、发布确认等机制来保证可靠性。 扩展性:支持动态扩展集群中的节点 高可用:队列可在集群中设置镜像,部分节点出现问题仍然可用 多协议:AMQP协议、STOMP、MOTT等多种消息中间件协议 多语言:java、Python、Ruby、PHP、C#、JavaScript、Go、Object-C等 支持插件:如web管理端。 消息队列有三个基本概念: 发送方、消息队列、消费方。RabbitMQ 在这个基本概念之上, 多做了一层抽象, 在发消息者和队列之间, 加入了交换器 (Exchange)。这样发消息者和消息队列就没有直接联系,转而变成发消息者把消息发给交换器,交换器根据调度策略再把消息转发给消息队列。消息生产者并没有直接将消息发送给消息队列,而是通过建立与Exchange的Channel,将消息发送给Exchange。Exchange根据路由规则,将消息转发给指定的消息队列。消息队列储存消息,等待消费者取出消息。消费者通过建立与消息队列相连的Channel

SDN课程阅读作业(2)

怎甘沉沦 提交于 2019-12-09 09:40:48
1.过去20年中可编程网络的发展可以分为几个阶段?每个阶段的贡献是什么? 分为的阶段 在过去20年中可编程网络的发展可以分为三个阶段,第一个阶段是主动网络(从20世纪90年代中期到21世纪初),它在网络中引入了可编程功能,以实现更大的创新;第二个阶段是控制和数据平面分离(从2001年到2007年左右),开发了控制和数据平面之间的开放接口;以及第三个阶段的OpenFlow API和网络操作系统(2007年至2010年左右),代表了广泛采用开放接口的第一个实例,并开发了使控制数据平面分离可扩展且实用的方法。 主要贡献 - 主动网络阶段 对主动网络的研究开创了可编程网络的概念,降低l了网络创新的障碍 SDN的最初动机通常引用了生产网络难以创新和提高可编程性的观点,其早期愿景大多集中在控制平面可编程性上,而主动网络则更多地集中在数据平面可编程性上。 网络可虚拟化,以及基于数据包头对软件程序进行多路分解的能力 主动网络产生了一个架构框架,描述了这样一个平台的组件。这个平台的关键组件是一个管理共享资源的共享节点操作系统(NodeOS)和一组执行环境(EEs),每个环境定义一个用于数据包操作的虚拟机,以及一组在给定EE内工作以提供端到端服务的活动应用程序(AAs)。 为middlebox编排提供统一架构的构想 尽管这一设想可能没有直接影响到最近关于NFV的工作

99%的面试官都会问到交换网络里面冗余和破环的STP协议

有些话、适合烂在心里 提交于 2019-12-08 23:47:05
文章博客详见视频 请戳: https://edu.51cto.com/center/course/lesson/index?id=486147 冗余备份的思想 链路冗余:双上行链路,当一条链路出现问题,数据转发会走另外一条链路 设备冗余:当设备出现故障后,数据流量会走另外一台设备进行转发 不足点:当我们关闭stp协议后 冗余备份组网存在环路问题 二层环路所引发的问题  MAC地址表的震荡问题  二层网络出现广播风暴  主机容易收到我们重复的数据帧  会导致我自己电脑CPU直接100% 环路的出现 电脑CPU直接100% 单链路解决二层环路 单链路其实可以解决我们环路的问题 不足点:单链路容易使网络更加脆弱 容易出现链路和设备的单点故障 时势造英雄---STP技术的诞生 问题1:冗余和备份的组网会导致环路的产生 问题2:非冗余和备份的组网会导致单点故障的产生 时势造英雄 研究出一款协议出来,既能够破除环路也能够拒绝单点故障的现象  STP协议的诞生,STP(生成树协议) 回顾一下网络世界里面关于树的一些常见结构 Linux系统 DNS协议 OSPF协议/IS-IS协议等等 STP技术的作用  消除环路:通过阻断冗余链路来消除网络中可能存在的环路。  链路备份:当活动路径发生故障时,激活备份链路,及时恢复网络连通性。 STP技术当中所用到的BPDU报文

计算机网络-OSI

为君一笑 提交于 2019-12-08 09:16:28
计算机网络概述     局域网 :覆盖范围小,一个机房里的机器通过一个接入层交换机和汇聚层交换机相连,机房里的网线不超过100米,接入层交换机与汇聚层交换机的网线长度也不超过100米,信号不会衰减,接入层交换机出去的数据宽带要大,如果接入的都是100M的端口,出去到汇聚层的端口就需要1000M的端口,这样构成了一个星形结构。     广域网    距离比较远,花钱租带宽,如果用户通过ADSL或者光纤或者其他方式接入,就是广域网了,带宽随着费用的增加而变大,     Internet    由ISP(internet服务供应商)组成,运营商之间也可以通过100000M的数据宽带连接,服务器也可以通过接入ISP实现全球用户的访问,不同的ISP用户访问不同的ISP服务器会受到运营商之间的数据宽带限制,导致访问比较慢,当然服务器也可以通过提供双线或者多线服务来让用户访问 计算机数据通信过程    规划IP地址,通过ip地址来进行通信,通过本地配置的DNS服务器地址向DNS服务器发送数据请求来进行域名IP地址的解析,局域网中的电脑通过路由器网关来进行内部通信,每台设备接口都有唯一的MAC地址,叫物理地址,     数据包和数据帧     数据包 包括源地址和目标地址,先将数据包扔给路由器往外转,这时候就需要电脑的物理地址和路由器的物理地址(MAC),数据包最大1500字节,     数据帧