源自红茶三杯:

BGP应用于大规模网络或运营商,用作在AS间传递路由信息

使用BGP的三大理由

1. 大量路由需要承载, IGP只能容纳千条,而BGP可以容纳上万(应该是IGP结合BGP使用?)

2. 支撑MPLS/VPN的应用,传递客户VPN路由信息

3. 策略能力强,可以很好的实现路由决策与数据控制(在IGP只能通过操控metric值)

企业连接到运营商(ISP),有几种连接方式:

1. single homed(单宿): 单运营商,单链路

2. dual homed(双宿): 单运营商,双链路

3. multihomed(多宿): 多运营商,单链路

4. dual multihomed(双多宿): 多运营商, 双链路

BGP的路径矢量(AS path)特征:

1. 通过一个AS列表代表路径

2. 路径是无环的

3. BGP支持对BGP自治系统路径应用路由策略

4. BGP路由只能将其使用的路由信息通告给邻接AS中的对等体

建立IGP连接关系时,是直连,通过组播包发现邻居

BGP特征:

1. BGP使用TPC做为传输层协议,TCP端口号179

2. BGP路由之间建立TCP连接,这些路由器成为BGP对等体也叫BGP邻居,存在两种邻居关系(EBGP、IBGP)

  2.1 EBGP:位于不同AS之间的BGP

    AS号需不同,定义邻居建立TCP会话,neighbor中指定的IP地址要可达

  2.2 IBGP:位于同一个AS内部

    AS号相同,

3. 对等体之间交换整个BGP路由表

4. BGP路由器只发送增量更新和触发更新(不会周期性更新), 问题:BGP路由信息只包含BGP自身的 吗?

5. 具有丰富的路径属性

6. BGP通告成千上万的路由,可采用TCP滑动窗口机制,停止并等待确认前,可发送65576个字节? 啥意思?

BGP packets:

OPEN: 用于建立BGP邻居,发送信息包括自身BGP进程的各项参数,及自身的特性值,在通过TCP建立BGP连接完成后发起

UPDATE:路由信息交换,当路由信息变化时发起,增量更新

NOTIFICATION:当BGP运行中出现错误发起,报告错误,终止邻居关系

KEEPALIVE:心跳报文,保持连接,(发送间隔在OPEN阶段确认,如hold time为180,则发送间隔为60)

Route-refresh:当路由策略发生变化时发起,请求邻居重新发送路由信息

BGP的有限状态机

Idle

Connect

Active

OpenSent

OpenConfirm

Established

BGP学习笔记的更多相关文章

  1. NetFlow学习笔记

    NetFlow学习笔记 标签: netflow 由于工作需要,对NetFlow做了一些学习和调研,并总结成文档以供学习分享. 背景:随着系统的升级与漏洞的修补,入侵主机进而进行破坏的病毒攻击方式在攻击 ...

  2. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  3. PHP-自定义模板-学习笔记

    1.  开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2.  整体架构图 ...

  4. PHP-会员登录与注册例子解析-学习笔记

    1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...

  5. 2014年暑假c#学习笔记目录

    2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...

  6. JAVA GUI编程学习笔记目录

    2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...

  7. seaJs学习笔记2 – seaJs组建库的使用

    原文地址:seaJs学习笔记2 – seaJs组建库的使用 我觉得学习新东西并不是会使用它就够了的,会使用仅仅代表你看懂了,理解了,二不代表你深入了,彻悟了它的精髓. 所以不断的学习将是源源不断. 最 ...

  8. CSS学习笔记

    CSS学习笔记 2016年12月15日整理 CSS基础 Chapter1 在console输入escape("宋体") ENTER 就会出现unicode编码 显示"%u ...

  9. HTML学习笔记

    HTML学习笔记 2016年12月15日整理 Chapter1 URL(scheme://host.domain:port/path/filename) scheme: 定义因特网服务的类型,常见的为 ...

随机推荐

  1. 快速同步GitHub代码库

    因伟大的墙的存在,github下载速度奇慢, 简单办法,在csdn code建一个账号,然后创建工程的时候选择导入模式, 填入github的项目git URL. 然后.. 从csdn的code下载就快 ...

  2. ubuntu 永久设置dns信息

    ubuntu 自从12.04后,会自动刷写 /etc/resolv.conf 文件,导致写入的dns信息会在重启的时候丢失. ============================ 转自:http: ...

  3. Go Mobile 例子 audio 源码分析

    看这个源码分析前,建议先看更简单地例子 basic 的源码分析(http://www.cnblogs.com/ghj1976/p/5183199.html), 一些基础知识本篇将不再提及. audio ...

  4. 共享池之六:shared pool latch/ library cache latch /lock pin 简介

    latch:library cache --desc v$librarycache; latch:library cache用于保护hash bucket.library cache lock保护HA ...

  5. Java-convert between INT and STRING

    int -> String 三种写法 String s = 43 + ""; String s = String.valueOf(43); String s = Intege ...

  6. jdk线程的简单使用

    一.线程的实现方式方式一:继承Thread类一个类只要继承了Thread类,并重写run()方法,则就可以实现多线程的操作. public class ThreadDemo01 { public st ...

  7. 关于AIR新浪登录测试

    /** *由于在应用申请中,我设置的域名属于新浪云,因此在本地测试的话肯定不能成功的,有个办法就是直接在新浪云那边授权成功后,将token的值直接使用post或者get方法传递过来,直接在本地 *lo ...

  8. vsftp.conf

    anonymous_enable=NO local_enable=YES write_enable=YES dirmessage_enable=YES xferlog_enable=YES xferl ...

  9. 洛谷P1828 香甜的黄油 Sweet Butter

    P1828 香甜的黄油 Sweet Butter 241通过 724提交 题目提供者JOHNKRAM 标签USACO 难度普及+/提高 提交  讨论  题解 最新讨论 我的SPFA为什么TLE.. 为 ...

  10. 【ITOO 1】将List数据导出Excel表

    需求描述:在课表导入的时候,首先给用户提供模板(excel),然后将用户填写好的数据读取到list集合中.再进行判空处赋值处理,以及去重处理.这篇博客,主要介绍读取excel表和导出excel表的方法 ...