BGP的消息类型以及格式
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的消息类型以及格式相关推荐
- 基本概念,BGP协议的特征和消息类型,状态转换?
基本的BGP概念 边界网关协议(BGP)是TCP协议上的一个自治网络中的路由协议.BGP是唯一一种海外专线可以处理类似于Internet大小的网络的协议,也是唯一一种可以正确处理非相关路由域之间的多路 ...
- icmp消息类型报告传输_ICMP消息的类型和ICMP消息格式
icmp消息类型报告传输 ICMP shares error reporting and devices status by messages. Messages created by ICMP ar ...
- OSPF与BGP协议流程与协议格式简单学习
OSPF概述: 1.出现意义: RIP的缺陷: 以跳数评估的路由并非最优路径; 最大跳数16导致网络尺度小; 更新发送全部路由表浪费网络资源; 收敛速度慢. 概述; OSPF协议Open Shorte ...
- 微信公众平台开发入门教程(三)消息类型讲解
接收消息类型 目前普通用户能向公众账号推送五种格式的消息:文本(包括表情).语音.图片.视频.位置.链接.名片发送会失败. 下面就这五种分别详解如下: 1. 文本(包括表情) 发送文本 后台格式: & ...
- 【Protocol Buffer】Protocol Buffer入门教程(二):消息类型
00. 目录 文章目录 00. 目录 01. ProtoBuf操作步骤 02. 消息格式 03. 数据类型 04. 定义 proto 文件 05. 参考 参考代码下载:02_demo.rar 01. ...
- protobuf入门教程(二):消息类型
操作流程 1)在.proto文件中定义消息格式 2)使用protobuf编译器生成C++类 3)使用C++ API来读写消息 C++编程指导:https://developers.google.c ...
- gRPC in ASP.NET Core 3.x -- Protocol Buffer(3)更新消息类型
当你第一次定义Protocol Buffer的消息的时候,你肯定会给消息设定一套规则需求.但是随着时间的推进,你的业务可能会发生了变化,与此同时,你的Protocol Buffer消息类型的需求也会随 ...
- sip消息类型和消息代码详解-转
在学习asterisk的时候,经常遇到一些远程服务器传回的代码,这些代码都有很重要的信息,让我们了解到对方的sip是如何响应我们这边的sip消息的,于是网上找到了这些sip消息类型和消息代码,自己收藏 ...
- 基于markdown消息类型实现钉钉报警,让感官更舒服
基于钉钉方式报警,网上普遍存在的是: 1.报警脚本中 使用钉钉提供的 "text" 文本方式填充内容,报警内容均为黑白字体: 2.钉钉报警彩色显示内容,使用github上现成的二进 ...
最新文章
- a different object with the same identifier value was already associated with the session
- 【转】tomcat性能调优
- web.xml 中的listener、 filter、servlet 加载顺序及其详解
- Shell中case判断结构的用法笔记
- rfm模型分析与客户细分_如何使用基于RFM的细分来确定最佳客户
- idm下载百度网盘有限制 提示403错误 下载显示没有权限404,最新的解决办法教程
- FreeBSD——艺术、科学、哲学概论
- magisk小问题解答
- S3C2440移植linux3.4.2内核之内核框架介绍及简单修改
- disruptor 框架使用以及ringbuffer原理解析
- 一起学libcef--正确关闭你创建的浏览器
- 二分图最大匹配的算法
- DIV背景半透明 样式
- python实现由通知接口发送企业微信通知
- arduino与hcsr04_Arduino 驱动 HC-SR04 超声波测距模块
- 背包问题C++(三种类型初涉)
- 如何提高公众号的打开率、分享率?
- 微信公众号支付对接流程
- 安卓系统的电视机_换机顶盒比换电视机划算,海美迪4K播放器H7 Plus体验
- Androidstudio报错问题之R飘红
热门文章
- java学期总结_JavaWeb学期总结
- 国产智多晶FPGA使用Modelsim仿真时器件库的编译方法
- Linux主机与Windows虚拟机之间创建共享文件夹
- 计算机科学与技术期末总结,最新计算机科学与技术专业毕业自我总结
- validate和causesvalidation的区别
- 大数据初体验——基于地图可视化分析新浪新闻评论地域分布特点
- 股票量化软件:运用 R-平方 评估策略余额曲线的品质
- matlab 彩色图像、灰度图像、二值图像和索引图像
- P0级重大事故:超卖了100瓶飞天茅台,整个项目组慌了
- oracle fetch into语法,Oracle Fetch