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. django基础 -- 6. 多表操作

    一.多表的创建 from django.db import models # Create your models here. class Author(models.Model): id = mod ...

  2. django基础 -- 1. 前奏 web框架的本质

    一. http协议 1.请求方法(get和post) 1.GET提交的数据会放在URL之后,也就是请求行里面,以?分割URL和传输数据,参数之间以&相连,如EditBook?name=test ...

  3. python ---12 生成器 推导式

    一.生成器 函数中有yield 的就是生成器函数(替代了return) 本质就是迭代器   一个一个的创建对象     节省内存 1.创建生成器 最后以yield结束 1. 通过⽣成器函数   2. ...

  4. Oracle错误——SP2-0734: 未知的命令开头 "imp C##sin..." - 忽略了剩余的行。

    错误 在windows的DOS窗口下使用命令导入Oracle数据. 原因 进入sqlplus里是不能执行imp的(sqlplus不认识imp),imp 是个工具,应该在cmd的dos命令提示符下执行.

  5. Python3基础 list reverse 反转列表

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  6. 从0开始安装fedora23的笔记-- 以及使用fedora的常规问题-3

    关于sys的目录有: /etc/sys/, 和 /proc/sys fedora的桌面背景图片默认的在: /usr/share/backgrounds/, 里面有f23, gnome, images等 ...

  7. SQL四大语句、四大完整性、五大约束

    四大语句: 1.数据定义语句: DDL:create.alter.drop.truncate(表结构) 2.数据操纵语句: DML:insert.delete.update.select 3.数据控制 ...

  8. facebook api之基本概念(中文)

    Facebook广告API系列 1 Facebook Graph API Facebook提供了一套类rest的接口,统称为Graph API.为啥叫Graph?因为facebook把所有的资源都抽象 ...

  9. QT中QLineEdit的editingFinished()信号在按下回车时会触发两次的解决办法

    class MyLineEdit : public QLineEdit { Q_OBJECT public: MyLineEdit(QWidget * parent = 0) : QLineEdit( ...

  10. Linux安装Broadcom无线驱动

    参考https://blog.csdn.net/u012833250/article/details/52493806 首先查看自己的网卡型号,然后先执行sudo apt-get update 再根据 ...