参考:

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

LLDP协议、STP协议 笔记的更多相关文章

  1. 二层协议--STP协议总结

    生成树协议的技术实现与配置注意点 一.stp协议的用途 二.stp协议的运行机制 三.stp协议规范

  2. OSI模型第二层数据链路层-STP协议

    1.stp协议的由来. 在二层网络中,交换机起到了很重要的作用,如果有一台交换机出现故障会影响网络的使用,为了避免存在单点故障,在实际的二层链路中会采用链路冗余,也就是采用交换设备之间多条联络连接,即 ...

  3. STP协议

    STP协议的作用: 第一, 可以避免网络环路和广播风暴. 二层数据包是没有TTL(time to live)的,如果不加以限制,可能会无限的传播下去.二层设备间如果存在环路,大量的广播包就可能导致广播 ...

  4. 《TCP/IP详解卷1:协议》读书笔记

    <TCP/IP详解卷1:协议>读书笔记 - QingLiXueShi - 博客园https://www.cnblogs.com/mengwang024/p/4425834.html < ...

  5. STP协议树配置

    STP协议树作用 为了提高网络可靠性,交换网络中通常会使用冗余链路. 然而,冗余链路会给交换网络带来环路风险 并导致广播风暴以及MAC地址表不稳定等问题进而会影响到用户的通信质量. 生成树协议STP( ...

  6. [转载]交换机STP协议

    注:之前做一个项目,测试部使用2个公司的交换机,H3C和H公司的,H公司的交换机是OEM H3C的交换机,正常来说两者使用没有区别. 但是使用中发现,如果设备的多个对外业务网口连接的交换机的聚合网口, ...

  7. TCP/IP协议组学习笔记

    TCP/IP协议族学习笔记: 一.基础概念: (1)TCP(Transmission Control Protocol) 传输控制协议. (2)IP(Internet Protocol)网际协议.IP ...

  8. STP协议与MSTP协议

    STP协议与MSTP协议 目录 一.STP概述 1.1.交换网络环路的产生 1.2.STP简介 二.生成树算法 2.1.生成树算法的步骤 2.2.网桥 ID 2.3.选择根端口 2.4.选择指定端口 ...

  9. 《TCP/IP详解 卷1:协议》读书笔记

    第一章 概述 协议栈 应用层 HTTP,FTP   运输层 TCP, UDP 段(Segment) 网络层 IP, ICMP, IGMP 数据报(Datagram) 链路层   帧(Frame) 物理 ...

随机推荐

  1. elasticsearch 通过外网访问

    elasticsearch 只能通过本地访问 需要修改  network.host: 0.0.0.0. 重新开启:提示错误: ERROR: [2] bootstrap checks failed[1] ...

  2. 启动rabbitmq,提示ERROR: node with name "rabbit" already running on "localhost"

    ➜ ~ rabbitmq-server ERROR: node with name "rabbit" already running on "localhost" ...

  3. [py]编码-强力理解版

    py编码骨灰级总结 思路: python执行py文件步骤--py2/3定义变量时unicode差异 1,py2 py3执行py文件的步骤 2,py2 定义变量x='mao' 1.x='mao', # ...

  4. c++虚函数重写的权限问题

    cbase.h: #ifndef CBASE_H #define CBASE_H #include<iostream> using std::cout; using std::endl; ...

  5. Javascript--普通函数调用-涨工资计算函数

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. toFixed()与toPrecision()

    toFixed(n): 返回一个字符串,代表一个以定点表示法表示的数字. n在0~20之间 var g=1.023; var f=g.toFixed(2); f的值为:1.02,     typeof ...

  7. mysql中delete和truncate区别

    delete和truncate区别如下: 一.灵活性:delete可以条件删除数据,而truncate只能删除表的所有数据: delete from table_test where ... trun ...

  8. yii2增删改查及AR的理解

    yii2增删改查 // 返回 id 为 1 的客户 $customer = Customer::findOne(1); // 返回 id 为 1 且状态为 *active* 的客户 $customer ...

  9. ubuntu常用指令

    总结一下常用的linux指令. mark一个linux指令学习和速查的网站:http://man.linuxde.net/ (0) su和sudo:得到root权限 su 切换到root用户 sudo ...

  10. outlook还原初始设置

    找到outlook的安装地址: C:\Program Files\Microsoft Office\Office15 进入命令行界面 WIN+R ->cmd cd C:\Program File ...