网桥

交换机的生成树STP原理

自作多情 提交于 2020-02-28 03:36:28
生成树协议: 企业网三层架构—》冗余----》线路冗余—》二层桥接环路 导致问题: 1、广播风暴 2、MAC地址表翻滚 3、同一数据帧的重复拷贝 4、以上3个条件最终导致设备工作过载,导致重启保护 生成树:在一个二层交换网络中,生成一棵树型结构,逻辑的阻塞部分接口,使得从根到所有的节点仅存在唯一的路径;当最佳路径故障时,自动打开部分阻塞端口,来实现线路备份的作用; 生成树在生成过程中,应该尽量的生成一棵星型结构,且最短路径树; 存在算法: 802.1D PVST PVST+(CISCO) RSTP(802.1w) MSTP(802.1S) 一、802.1D 一个交换网络内仅存在一棵生成树实例; 交换机间使用BPDU—桥协议数据单元 – 交换机间沟通互动收发的数据 配置BPDU—只有根网桥可以发送,在交换网络初始状态时,所有交换机均定义本地为根网桥,进行BPDU的发送;使得网络中所有交换机均收到其他设备的BPDU,之后基于数据中的参数进行比对,选举出根网桥;再所有非根网桥不再发送BPDU,而是仅接收和转发根网桥的BPDU;周期2s发送,hold time 20s; TCN—拓扑变更消息(也是BPDU): 本地交换机链路故障后,STP重新收敛,为了快速刷新全网所有交换机的MAC表,将向本地所有STP接口发送TCN(标记位中的TCN位置1),邻居交换机收到TCN后,先标记为ACK位为回复

Docker学习笔记 - Docker容器的网络基础

蹲街弑〆低调 提交于 2020-02-21 06:31:08
一、虚拟网桥 docker0 docker0 是 linux的虚拟网桥,守护进程通过docker0给容器提供网络连接的各种服务。 网桥是数据链路层设备,通常ip地址是网络层的设置。 linux的虚拟网桥,有特殊的地方,它是通用网络设备抽象的一种,可以设置ip地址,相当于拥有一个隐藏的虚拟网卡。 docker容器启动时,创建容器中的网络设备eth0,同时在主机上打开一个名为veth*端口,用来和容器网络通信。 1、查看docker默认创建的虚拟网桥 $ ip a show docker0 2、查看容器的网络地址 二、网桥地址管理 1、安装网桥管理工具 sudo apt-get install bridge-utils sudo brctl show 看到了docker0的网桥设备 docker run -it -name nwt1 ubuntu /bin/bash # ifconfig ##看到了eth0,有ip和mac CTRL+P sudo brctl show 看到了docker0设备,interfaces里多了一个vethda1c8d9接口 ifconfig 也可以看到这个网络接口 2、修改docker0地址 sudo ifconfig docker0 192.168.200.1 netmask 255.255.255.0 sudo service docker

突破封锁-给TOR架设网桥

╄→гoц情女王★ 提交于 2020-02-21 05:37:10
http://www.xiang818.com/index.html 获取公共网桥地址。查找公共网桥地址的方法是给 bridges@torproject.org 发邮件,邮件正文为 "get bridges",内容随便写,也可以是空的 。最好使用 gmail 的电子邮件账户,不要用国内邮箱。当您发送邮件后,几乎立即可以收到回信,里面包含有公共网桥的IP地址,一般为3个。另外,还可以通过TOR网桥的发布页去获取网桥。地址是: https://bridges.torproject.org/ ,如果被屏蔽请用其他代理手段打开获取网桥地址。3、在TOR里设置网桥地址,请前往 Vidalia 的 Network settings(网络设置)页面,选中 " My ISP blocks connections to the Tor network "( 我的 ISP 阻挡了对 Tor 网络的连接 )项,一次一个的将网桥地址(只须复制地址和端口就可以)加入设置中,即将网桥地址粘帖到"Add a Bridge"(添加一个网桥)框中,点击 "+"。 再次连接TOR,稍等片刻,你可以在网络地址中看到有连接信息了,等图标完全变成绿色,就可以使用。 4、最新版的TOR已经整合了FIREFOX的TORBUTTON插件,请自行至官网下载最新的FIREFOX。 日北风甚紧啊!如今这上网也不容易,总是磕磕绊绊

虚拟机设备“VMnet0”上的网桥没有运行。没有未桥接的主机网络适配器。

℡╲_俬逩灬. 提交于 2020-02-14 01:56:29
问题描述 :虚拟机设置“网络适配器”,选择“网络连接”为“桥接模式”,出现错误提示,如图: 产生原因 :之前卸载过虚拟机,没卸干净,导致新装的虚拟机没有虚拟网卡,如图: 解决办法 :1.先在控制面板卸载虚拟机;2.接着在C盘Program Files(或者Program Files(x86))搜索vm,删掉虚拟机卸载残留;3.终极卸载:网上下载ccleaner,通过ccleaner清除卸载残留,如图: 这下终于卸干净了!重新安装虚拟机,问题解决。 希望我的解决办法能够帮到你!如有疑问,欢迎留言! 来源: CSDN 作者: java2min 链接: https://blog.csdn.net/java2min/article/details/104301035

计算机原理基础:集线器(中继器)、交换机(网桥)、路由器

主宰稳场 提交于 2020-02-12 01:24:47
中继器(物理层) 诞生原因:由于存在损耗,在线路上传输的信号功率会逐渐衰减,衰减到一定程度时将造成信号失真,因此会导致接收错误。 功能:对信号进行再生和还原。对衰减的信号进行放大,保持与元数据相同,以增加信号传输的距离。 集线器(多口中继器) 作用:对信号进行再生放大转发,不具备信号的定向传送能力,是一个共享式设备。 集线器不能分割冲突域,选在集线器上的工作主机平分带宽。 网桥(数据链路层) 作用:网桥根据MAC帧的目的地址对帧进行转发和过滤。当网桥收到一个帧时,并不向所有接口转发此帧,而是先检查此帧的目的MAC地址,然后再确定该帧转发到哪一个接口,或者是把它丢弃。 优点:增大吞吐量、扩大了物理范围、提高了可靠性、可连接不同物理层和不同速率的以太网。 交换机(多接口网桥) 交换机转发的消息叫做帧。 集线器的信道利用率太低了,所以就出现了交换机。 交换机内部会维护一个MAC地址表,交换机在转发帧时,就会查找该MAC地址表,然后将帧从适合的端口转发出去。 路由器(网络层) 路由器转发的消息叫IP数据报 路由器是一种具有多个输入端口和多个输出端口的专用计算机,其任务是转发分组。 路由器的转发分组正是网络层的主要工作。 来源: https://www.cnblogs.com/xiaobaizzz/p/12297601.html

如何删除Docker网桥

一笑奈何 提交于 2020-02-09 14:35:31
虚拟网卡docker0其实是一个网桥,docker0这个网桥是在启动Docker Daemon时创建的,因此,这种删除方法并不能根本上删除docker0,下次daemon启动(假设没有指定-b参数)时,又会自动创建docker0网桥。如果想删除它,只需要按照删除网桥的方法即可 # 停止docker service systemctl stop docker #关闭docker0网卡(如果没有ifconfig,则需要先安装(yum install net-tools)) ifconfig docker0 down #删除docker0网卡(如果没有brctl,则需要先安装(yum install bridge-utils)) brctl delbr docker0    来源: https://www.cnblogs.com/navysummer/p/12286819.html

linux添加网桥

こ雲淡風輕ζ 提交于 2020-02-01 23:25:15
sudo ip link add brtest0 type bridge; ip tuntap add tap0 mode tap user wrsadmin ; ip link set tap0 up ; ip link set tap0 master brtest0 ; ip link set brtest0 up 来源: CSDN 作者: 杨幂的咪 链接: https://blog.csdn.net/Hsu_smile/article/details/85050063

生成树协议(STP)基本知识及实验(使用eNSP)

随声附和 提交于 2020-01-30 14:51:51
1、基本知识--摘至《网络之路--交换专题》 (1)生成树的作用:在链路层消除环路上可能出现的广播风暴。 (2)生成树的工作由三部分组成:选举过程、拓扑计算、端口行为确定。 选举过程:在二层网络中选举一个网桥作为根桥,用于指挥整网设备协同工作。根桥只是负责统一计算的规则。 根桥统一网络中所有网桥的行为准则的原理:通过在某个恰当位置阻塞端口来阻止环路的发生。从一台网桥的角度来说,它通过这样的法则进行判断,如果到达网络中的某一网桥只有一条路径,那么必定不存在环路;如果到达某一网桥的路径有两条或者多条,那么这两台网桥之间存在环路,只能保持一条通路。 (3)根桥的选举方式 根桥是通过网络中所有网桥间相互比较产生的。根桥只能由网络中桥ID最小者担当。一开始时把自己当作根桥,根桥ID就是自己的桥ID,然后通过BPDU和自己的邻居交换拓扑信息,如果邻居的根桥ID小于自己的桥ID,则把邻居当作自己的根桥,然后向其他邻居通告这个新的根桥信息,直到网络中所有网桥的根桥ID都一样时,根桥就被选举了出来。 桥ID有8个字节,由两部分组成,分别是2字节的桥优先级字段和6字节的桥MAC字段。桥优先级字段可手工设置,默认为0x8000;桥MAC即网桥的物理MAC。 (4)使网络中的网桥和根桥保持统一的方式 通过一个独特的消息机制实现,当根桥被选举出来后,根桥会周期性的向所有邻居发送BPDU报文

Linux内核抓包-抓取到达网卡的所有报文

不打扰是莪最后的温柔 提交于 2020-01-27 07:12:54
Linux内核抓包-抓取到达网卡的所有报文 因项目需要,我要实现从设备的指定网卡处接收所有流经该网卡的报文并进行处理。 最开始使用的是 netfilter 勾子,结果发现该方法只能获取到目的MAC地址为本地网卡的网络层报文(包括广播报文)。发往其它MAC地址的报文以及链路层报文(如LLDP、GOOSE等)无法被获取。 之后又尝试使用 dev_add_pack() 的方式进行自定义回调函数的注册,以达到替代内核处理报文的目的。结果发现效果跟netfilter一样。只好去咨询老前辈,被告知可以试试利用网桥来实现,折腾了半天发现居然有效。但查看内核源码发现,内核对网桥的处理在我们自定义的回调函数之后,从原理上讲不通。 最后无意间发现原来真正起作用的不是网桥,而是设置网桥后被自动开启的混杂模式。 // 说明:本模块要想像wireshark那样获取所有到达网卡的报文,需满足两个条件:网卡启动;开启混杂模式。 // ifconfig eth0 up promisc // 内核版本:4.19.26 #include < linux / module . h > #include < linux / netdevice . h > //#include <linux/string.h> // 字符串处理 #define DRV_VERSION "0.1" struct packet_type

深入理解生成树协议STP

跟風遠走 提交于 2020-01-13 13:15:40
一. STP • STP 消除环路的思想: ○ 将网络拓扑修剪为树形 ○ 选择树根节点ROOT; ○ 确定最短路径; ○ 阻塞冗余链路。 • 桥ID : ○ 用于在STP 中唯一的标识一个桥。 ○ 桥ID:【桥优先级:2字节】【桥MAC地址:6字节】 • 路径开销(Path Cost): ○ 路径开销用于衡量桥与桥之间路径的优劣; ○ STP 中每条链路都具有开销值; ○ 路径开销等于路径上全部链路开销之和。 • 链路开销标准: ○ 单端口下(H3C私有标准):10M=2000,100M=200。1G=20。10G=2。 • 配置BPDU: ○ 网桥通过交互配置BPDU 获取STP 计算所需要的参数; ○ 配置BPDU 基于二层组播方式发送,目的地址为01-80-C2-00-00-00; ○ 配置BPDU 由根桥周期发出,发送周期为Hello Time; ○ 配置BPDU 老化时间为Max Age。 • 配置BPDU 格式:(网桥协议数据单元(Bridge Protocol Data Unit)) • STP 计算方法: ○ 1、配置BPDU 处理: 网桥将各个端口收到的配置BPDU 和自己的配置BPDU 做比较,得出优先级最高的配置BPDU; 网桥用优先级最高的配置BPDU 更新本身的配置BPDU ,用于选举根桥和确定端口角色; 网桥从指定端口发送新的配置BPDU。 ○ 2