1,BGP报文
     Open:建邻居,交换version、AS号、holdtime、BGP identifier(即RouterID)、可选参数长度、可选参数。
     Keepalive:保持邻居 ,即和BGP对等体的keepalive消息。
     Update:路由更新 ,NLRI(前缀和前缀长度)、路径属性、被撤销路由。每个update只有一个路径信息。
     Notification:出错关闭连接 ,检测到错误条件时发送notification,然后立即关闭BGP连接。
     Route-refresh:路由策略变化时,重新请求。
 
     备注:
     BGP RouterID选择方法同OSPF。
     IGP建邻居和保持邻居都是hello包;BGP建邻居open,保持邻居keepalive。
     思科默认keepalive是60s,holdtime是180s,即180s收不到keepalive即失效。
 
2,BGP状态
     Idle:初始状态,查找邻居路由。
     Connect:已找到路由,开始发送TCP包。尝试TCP三次握手,成功则进入OpenSent,失败则进入Active反复尝试。
     Active:继续发送TCP包。TCP连接建立失败,反复尝试。
     OpenSent:发送Open包,等待对方Open包。收到对端Open后,成功则进入OpenConfirm,出错则发送notification。
     OpenConfirm:发送keepalive包,等待对端keepalive/notification。前者则进入established,后者则进入idle。
     Established:收到keepalive,开始交换update。show ip bgp summary最后一列会显示数字
 
     状态迁移表:
 
状态 操作 成功 失败
idle 查邻居路由 进入connect 进入idle
connect 发TCP包建TCP 进入opensent 进入active
active 发TCP包建TCP 进入opensent 进入active
opensent 发open等待一致open 进入openconfirm 发送notification
openconfirm 发keepalive等待keepalive/notification 前者进入established 后者进入idle
established 交互update
     停在idle:本端问题,没有路由,查看IGP是否有问题
     停在active:对端问题,邻居没有本端路由表,邻居配错了对端地址,邻居没有配命令,邻居AS号配错,neighbor对端与更新源不对。
 
3,建邻居和通告路由使用命令
 
 
IGP BGP
建邻居,即发hello包 network neighbor
通告路由 network network
 
     备注:建邻居后,一端TCP179,另一端随机端口,另外建立两条链路,然后随机拆掉一条
 
 
 

BGP - 2,BGP报文和BGP状态的更多相关文章

  1. HCNP Routing&Switching之BGP报文结构、类型和状态

    前文我们了解了BGP的邻居建立条件.优化以及BGP认证相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15395723.html:今天我们来聊一聊BGP ...

  2. BGP的五种报文六种状态

    BGP的五种报文 Open报文:用于协商BGP参数,包括版本号,AS号等信息.在两个路由器之间建立了TCP会话之后开始交换Open信息以确认是否能形成邻居关系,是TCP建立后发送的第一个信息,类似OS ...

  3. php中各种http报错的状态码分析

    HTTP会经常遇见错误,本文主要和大家分享php中各种http报错的状态码,希望能帮助到大家. HTTP 错误 400 400 请求出错 由于语法格式有误,服务器无法理解此请求.不作修改,客户程序就无 ...

  4. SAP 对HU做转库操作,系统报错 - 系统状态HUAS是活动的 - 分析

    SAP 对HU做转库操作,系统报错 - 系统状态HUAS是活动的 - 分析 近日收到业务团队报的问题,说是对某个HU做转库时候,系统报错.如下图示: HU里有是三个序列号, 1191111034011 ...

  5. 什么是BGP线路?什么是BGP机房?

    BGP(Border Gateway Protocol,边界网关协议)主要用于互联网AS(自治系统)之间的互联.BGP的最主要功能在于控制路由的传播和选择最好的路由.BGP是Internetproje ...

  6. Http报文和Request和Response的常用方法

    简述 它是HTTP应用程序之间发送的数据块.这些数据块以一些文本形式的元信息开头,这些信息描述了报文的内容及含义,后面跟着可选的数据部分.这些报文都是在客户端.服务器和代理之间流动. HTTP报文的流 ...

  7. HTTP请求报文和HTTP响应报文

    HTTP报文是面向文本的,报文中的每一个字段都是一些ASCII码串,各个字段的长度是不确定的.HTTP有两类报文:请求报文和响应报文. HTTP请求报文 一个HTTP请求报文由请求行(request ...

  8. HTTP请求报文和HTTP响应报文(转)

    原文地址:http://blog.csdn.net/zhangliang_571/article/details/23508953 HTTP报文是面向文本的,报文中的每一个字段都是一些ASCII码串, ...

  9. VLAN报文和非VLAN以太网报文的区别

    VLAN(Virtual Local Area Network,虚拟局域网)协议,基于802.1Q协议标准. 以太网带VLAN帧结构,是在以太网报文中,位于数据帧中“发送源MAC地址”与“类别/长度域 ...

随机推荐

  1. 动态规划之139 Word Break

    题目链接:https://leetcode-cn.com/problems/word-break/ 参考链接:https://blog.csdn.net/c_flybird/article/detai ...

  2. C语言动态链表数据结构实现的学生信息项目

    注:此项目来源于吕鑫老师的教程 #define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <conio.h> u ...

  3. JPush Flutter Plugin(Futter推送-极光推送)

    https://pub.flutter-io.cn/packages/jpush_flutter JPush's officially supported Flutter plugin (Androi ...

  4. golang解析json配置文件

    安装 go get github.com/akkuman/parseConfig 使用说明 环境假设 . ├── config.go ├── config.json config.json内容 { & ...

  5. 移动端开发:使用jQuery Mobile还是Zepto

    原:http://blog.csdn.net/liubinwyzbt/article/details/51446771 jQuery Mobile和Zepto是移动端的js库.jQuery Mobil ...

  6. Terminal run py文件

    cd Documents cd PythonCode python3 hello.py Text Editor: Atom Atom 可以用来写 python 脚本 (文件后缀名 .py). 但是不用 ...

  7. Model中时间格式化

    MVC 中 @Html中的时间格式化 @Html.TextBoxFor(model => model.StartTime, "{0:yyyy-MM-dd HH:mm:ss}" ...

  8. C++使用thread类进行多线程编程

    C++11中引入了一个用于多线程操作的thread类,简单多线程示例: #include <iostream> #include <thread> #include <W ...

  9. 阿里巴巴数据库连接池 druid配置详解

    一.背景 java程序很大一部分要操作数据库,为了提高性能操作数据库的时候,又不得不使用数据库连接池.数据库连接池有很多选择,c3p.dhcp.proxool等,druid作为一名后起之秀,凭借其出色 ...

  10. 【Selenium2】【HTMLTestRunner】

    在拜读虫师大神的Selenium2+Python2.7时,发现生成HTMLTestRunner的测试报告使用的HTMLTestRunner的模块是用的Python2的语法.而我本人比较习惯与Pytho ...