大家好,又见面了,我是你们的朋友全栈君。
参考:
- 数据链路层学习之LLDP
- 生成树协议
LLDP协议、STP协议 笔记
LLDP
提出背景:
随着网络技术的发展,接入网络的设备的种类越来越多,配置越来越复杂,来自不同设备厂商的设备也往往会增加自己特有的功能,这就导致在一个网络中往往会有很多具有不同特性的、来自不同厂商的设备,为了方便对这样的网络进行管理,就需要使得不同厂商的设备能够在网络中相互发现并交互各自的系统及配置信息。
LLDP:
是一种二层的信息发现与通告协议,提供了一种标准的链路层发现方式;它不是一个配置、控制协议,无法通过该协议对远端设备进行配置。LLDP是一个单向的协议,只有主动通告一种工作方式,无需确认。
作用:
1.使得接入网络的一台设备可以将其主要的能力,管理地址,设备标识,接口标识等信息发送给接入同一个局域网络的其它设备;
2.为上层提供了关于网络拓扑以及管理配置的信息,这些信息可以被用于管理和配置。
实现方法:
1.LLDP的实体主要维护了两个MIB库,一个 local system MIB 用于维护本地相关的设备MIB信息,一个remote system MIB 用于维护远端设备MIB信息;
2.初始化,LLDP与右侧几个MIB库进行交互,获取需要的信息;
3.将本地的相关信息通告出去,并获得网络中其它设备的相关信息,得到其他设备的相关信息之后更新 remote system MIB 库;
4.用户或者上层有需要,可以通过MIB库获取网络拓扑和设备配置信息。
帧格式:
- Ethernet II 封装格式
- SNAP 封装格式
目的地址:
- 01-80-C2-00-00-0E (Nearest Bridge组地址) 任何类型的网桥都不能转发目的为该地址的帧,限制在连接两个网桥接口的连接上传输。
- 01-80-C2-00-00-03 (Nearest non-TPMR Bridge组地址) Two-Port MAC Relay(TPMR) 组件不接收;S-VLAN组件,C-VLAN组件,802.1D网桥不能转发它,需要接收并处理它。即跨越TPMR。
- 01-80-C2-00-00-00 (Nearest non-Customer Bridge) Two-Port MAC Relay(TPMR), S-VLAN组件不接收;C-VLAN组件,802.1D网桥不能转发它,需要接收并处理它。
LLDPDU:
LLDPPDU是LLDP的有效负载,用于承载要发送的消息。
采用TLV(type,length,value)格式,每个TLV都代表一个信息
工作机制:
- 初始化并维护本地MIB库中的信息。
- 从本地MIB库中提取信息,并将信息封装到LLDP帧中。LLDP帧的发送有两种触发方式,一是定时器到期触发,一是设备状态发生了变化触发。
- 识别并处理接收到的LLDPDU帧
- 维护远端设备LLDP MIB信息库。
- 当本地或远端设备MIB信息库中有信息发生变化时,发出通告事件。
STP协议
STP(Spanning Tree Protocol) 生成树协议,基于OSI网络模型的二层通信协议。
目的:
- 1.防止环路;
- 2.防止MAC地址震荡;
- 3.防止重复帧的出现;
- 4.防止广播风暴的出现。
工作过程:
1.根网桥的选举:根据设备的bridge priority和MAC地址生成桥ID,桥ID最小的成为ROOT。使用BPDU进行设备间通信。
2.计算每个节点到根桥的距离与开销,得到最短路径。
3.在非根网桥上选举根端口,根据端口开销和PID选举得到。
4.在每个网段计算指定端口,通常是根网桥的端口成为指定端口。
5.根端口和指定端口进入转发态,其他端口只侦听BPDU包。
6.当侦听端口20s没有收到BPDU包的时候,重新选举。
2017.4.23
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/137170.html原文链接:https://javaforall.cn