1. BGP的消息类型:

bgp是建立在tcp之上的协议,tcp端口号179
1:open(打开消息)
2:keepalive(存活消息)
3:update(更新消息)
4:notification(报错消息)

2.BGP包头格式:


bgp的所有消息都会以该头开始
Maker(16字节)——-全为1,标识bgp报文边界
Length(2字节)——-BGP包全长,长度的值必须最少19字节最大4096字节。
Type(1字节)—
1 - OPEN
2 - UPDATE
3 - NOTIFICATION
4 – KEEPALIVE

3.OPEN消息格式:


1.Version(1字节)—–当前的BGP版本号为4

2.My Autonomous System(2字节)—-发送者自制系统号

3.Hold Time(2字节)—-BGP hold time默认为180秒。如果180秒内,没有收到keepalive消息,则删除bgp邻居。

4.BGP Identifier(4字节)—-发送者的BGP router-ID.

5.Optional Parameters Length(可选参数长度)(1字节):如果这个域是0,说明没有可选参数。

6.Optional Parameters(可选参数):这里总长度是和Optional Parameters Length指定的值是一致的。

从上可以看出open消息最短也得是 19(固定头长)+1+2+2+4+1 = 29字节。

4.keepalive报文


该报文比较简单,只有bgp的固定头。默认每60秒发送一次,对等体收到后,会更新保活消息计时,如果联系三次发送的消息,都没到达对等体,那么对方见删除bgp邻居。

建立邻居时,BGP先尝试与对等体建立一个TCP连接。如果TCP连接建立成功,BGP发送一个OPEN消息给对端,并等待从对端发来的OPEN消息。收到一个OPEN消息以后,BGP检查该消息的所有字段,如果没有发现错误,则向对端发送一个KEEPALIVE消息并启动KEEPALIVE定时器。收到KEEPALIVE消息,则邻居建立。

5.BGP update报文格式

bgp目的就是要通告路由,而所有路由的添加,更新,删除都是依赖此消息完成。

Unfeasible Routes Length—-2字节,指示了撤销路由的字节总长度。0说明没有撤销路由。

Withdrawn Routes —-之前发布过,不再有效的路由。总长度与Unfeasible Routes Length值对应。

Total Path Attribute Length—-2字节,0代表在UPDATE消息中没有网络层可达信息域。

Path Attributes(路径属性):总长度和Total Path Attribute Length值对应。

5.NOTIFICATION报文格式:

当BGP检测到错误状态时,就向对等体发出Notification消息,之后BGP会话会立即中断。该报文也比较简单,在bgp固定头之上,再增加四个字节即可。

错误码:

错误子码:

参考文献:
1 http://www.h3c.com.cn/MiniSite/Technology_Circle/Net_Reptile/The_Tthree/Home/Catalog/201010/696842_97665_0.htm
2 http://blog.163.com/hlz_2599/blog/static/142378474201161152657815
3 http://6247039.blog.51cto.com/6237039/1321814/

BGP的消息类型以及格式相关推荐

  1. 基本概念,BGP协议的特征和消息类型,状态转换?

    基本的BGP概念 边界网关协议(BGP)是TCP协议上的一个自治网络中的路由协议.BGP是唯一一种海外专线可以处理类似于Internet大小的网络的协议,也是唯一一种可以正确处理非相关路由域之间的多路 ...

  2. icmp消息类型报告传输_ICMP消息的类型和ICMP消息格式

    icmp消息类型报告传输 ICMP shares error reporting and devices status by messages. Messages created by ICMP ar ...

  3. OSPF与BGP协议流程与协议格式简单学习

    OSPF概述: 1.出现意义: RIP的缺陷: 以跳数评估的路由并非最优路径; 最大跳数16导致网络尺度小; 更新发送全部路由表浪费网络资源; 收敛速度慢. 概述; OSPF协议Open Shorte ...

  4. 微信公众平台开发入门教程(三)消息类型讲解

    接收消息类型 目前普通用户能向公众账号推送五种格式的消息:文本(包括表情).语音.图片.视频.位置.链接.名片发送会失败. 下面就这五种分别详解如下: 1. 文本(包括表情) 发送文本 后台格式: & ...

  5. 【Protocol Buffer】Protocol Buffer入门教程(二):消息类型

    00. 目录 文章目录 00. 目录 01. ProtoBuf操作步骤 02. 消息格式 03. 数据类型 04. 定义 proto 文件 05. 参考 参考代码下载:02_demo.rar 01. ...

  6. protobuf入门教程(二):消息类型

    操作流程 1)在.proto文件中定义消息格式  2)使用protobuf编译器生成C++类  3)使用C++ API来读写消息 C++编程指导:https://developers.google.c ...

  7. gRPC in ASP.NET Core 3.x -- Protocol Buffer(3)更新消息类型

    当你第一次定义Protocol Buffer的消息的时候,你肯定会给消息设定一套规则需求.但是随着时间的推进,你的业务可能会发生了变化,与此同时,你的Protocol Buffer消息类型的需求也会随 ...

  8. sip消息类型和消息代码详解-转

    在学习asterisk的时候,经常遇到一些远程服务器传回的代码,这些代码都有很重要的信息,让我们了解到对方的sip是如何响应我们这边的sip消息的,于是网上找到了这些sip消息类型和消息代码,自己收藏 ...

  9. 基于markdown消息类型实现钉钉报警,让感官更舒服

    基于钉钉方式报警,网上普遍存在的是: 1.报警脚本中 使用钉钉提供的 "text" 文本方式填充内容,报警内容均为黑白字体: 2.钉钉报警彩色显示内容,使用github上现成的二进 ...

最新文章

  1. a different object with the same identifier value was already associated with the session
  2. 【转】tomcat性能调优
  3. web.xml 中的listener、 filter、servlet 加载顺序及其详解
  4. Shell中case判断结构的用法笔记
  5. rfm模型分析与客户细分_如何使用基于RFM的细分来确定最佳客户
  6. idm下载百度网盘有限制 提示403错误 下载显示没有权限404,最新的解决办法教程
  7. FreeBSD——艺术、科学、哲学概论
  8. magisk小问题解答
  9. S3C2440移植linux3.4.2内核之内核框架介绍及简单修改
  10. disruptor 框架使用以及ringbuffer原理解析
  11. 一起学libcef--正确关闭你创建的浏览器
  12. 二分图最大匹配的算法
  13. DIV背景半透明 样式
  14. python实现由通知接口发送企业微信通知
  15. arduino与hcsr04_Arduino 驱动 HC-SR04 超声波测距模块
  16. 背包问题C++(三种类型初涉)
  17. 如何提高公众号的打开率、分享率?
  18. 微信公众号支付对接流程
  19. 安卓系统的电视机_换机顶盒比换电视机划算,海美迪4K播放器H7 Plus体验
  20. Androidstudio报错问题之R飘红

热门文章

  1. java学期总结_JavaWeb学期总结
  2. 国产智多晶FPGA使用Modelsim仿真时器件库的编译方法
  3. Linux主机与Windows虚拟机之间创建共享文件夹
  4. 计算机科学与技术期末总结,最新计算机科学与技术专业毕业自我总结
  5. validate和causesvalidation的区别
  6. 大数据初体验——基于地图可视化分析新浪新闻评论地域分布特点
  7. 股票量化软件:运用 R-平方 评估策略余额曲线的品质
  8. matlab 彩色图像、灰度图像、二值图像和索引图像
  9. P0级重大事故:超卖了100瓶飞天茅台,整个项目组慌了
  10. oracle fetch into语法,Oracle Fetch