源自红茶三杯:

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. [ActionScript 3.0] AS3 深入理解Flash的 应用程序域Application Domains

    简介 网上有很多flash,通常都不需要显示的使用应用程序域,因为默认的应用程序域就够用了.其实复杂的情况下需要用到应用程序域,比如说有两个不同的swf,一个是旧版本的,一个是新版的,这两个文件里的类 ...

  2. nyoj 62 笨小熊

    点击打开链接 笨小熊 时间限制:2000 ms  |  内存限制:65535 KB 难度:2 描述 笨小熊的词汇量很小,所以每次做英语选择题的时候都很头疼.但是他找到了一种方法,经试验证明,用这种方法 ...

  3. [ZOJ 1010] Area (计算几何)

    题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1010 题目大意:给你n个点,问你顺次连线能否连成多边形?如果能, ...

  4. 通过反射获取父类中的泛型参数对应的Class对象

    假设有两个类:Dao 和 PersonDao,它们的代码如下: Dao: public class Dao<T> { private Class<T> clazz; T get ...

  5. jmeter的分布式部署

    在使用Jmeter进行性能测试时,如果并发数比较大(比如5000+并发),单台电脑的配置(CPU和内存)可能无法支持(公司配的联想e450家庭用笔记本一般到1000就会卡死),这时可以使用Jmeter ...

  6. [ CodeVS冲杯之路 ] P1053

    不充钱,你怎么AC? 题目:http://codevs.cn/problem/1053/ 直接扫一遍串,把字母对应的 ascii 码直接做数组下标,交给数组统计 最后查询一遍数组的 'a'-'z' , ...

  7. JS入门-慕课网

    javascript是一种弱类型的数据交互语言, ch 1 数据类型 js中有六种数据类型:nunmber.string.boolean.null.undenfined.object原始类型:numb ...

  8. 小巧的http live streaming m3u8播放器

    转载请注明: TheViper http://www.cnblogs.com/TheViper  原来发表过一篇分段播放的flash播放器.这个播放器其实就没有神马原理,就是把一个视频分成好几个视频, ...

  9. 【教程】【FLEX】#002 请求服务端数据(UrlLoader)

    为什么Flex需要请求服务端读取数据,而不是自己读取? Flex 是一门界面语言,主要是做界面展示的,它能实现很多绚丽的效果,这个是传统Web项目部能比的. 但是它对数据库和文件的读写 没有良好的支持 ...

  10. Openstack-Mitaka Ceilometer 中使用 SNMP 监控真实物理机

    Ceilometer 是 Openstack 的监控管理计费模块,我所用的版本为 Mitaka 版本.在 Ceilometer 中,可以使用 SNMP 监控服务器的实时硬件资源信息. 系统环境为 Ce ...