BGP学习笔记
源自红茶三杯:
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学习笔记的更多相关文章
- NetFlow学习笔记
NetFlow学习笔记 标签: netflow 由于工作需要,对NetFlow做了一些学习和调研,并总结成文档以供学习分享. 背景:随着系统的升级与漏洞的修补,入侵主机进而进行破坏的病毒攻击方式在攻击 ...
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- PHP-自定义模板-学习笔记
1. 开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2. 整体架构图 ...
- PHP-会员登录与注册例子解析-学习笔记
1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...
- 2014年暑假c#学习笔记目录
2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...
- JAVA GUI编程学习笔记目录
2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...
- seaJs学习笔记2 – seaJs组建库的使用
原文地址:seaJs学习笔记2 – seaJs组建库的使用 我觉得学习新东西并不是会使用它就够了的,会使用仅仅代表你看懂了,理解了,二不代表你深入了,彻悟了它的精髓. 所以不断的学习将是源源不断. 最 ...
- CSS学习笔记
CSS学习笔记 2016年12月15日整理 CSS基础 Chapter1 在console输入escape("宋体") ENTER 就会出现unicode编码 显示"%u ...
- HTML学习笔记
HTML学习笔记 2016年12月15日整理 Chapter1 URL(scheme://host.domain:port/path/filename) scheme: 定义因特网服务的类型,常见的为 ...
随机推荐
- 修改Tomcat的网站根目录
想把Tomcat的默认网站根目录修改成自己指定的目录,比如:F:/MyWeb.这样以后把自己写的index.jsp放到该目录下,就能通过http://localhost:8080/index.jsp来 ...
- JQuery基础教程:选择元素(中)
自定义选择符 JQuery在各种CSS选择符的基础上还添加了独有的完全不同的自定义选择符,注意,只要可能,jQuery就会使用浏览器原生的DOM选择符引擎去查找元素.但在使用自定义选择符的时候,就无法 ...
- Android Studio 修改 包名 package name
我们的包名中含有Nav,造成声音不能正常出来:需要改包名,但 android studio 改包名原来还是比较麻烦的,不过现在简单多了: 第一步,直接打开 AndroidManifast.xml 文件 ...
- C语言程序设计50例(二)(经典收藏)
[程序11]题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月 后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?1.程序分析: 兔子的规律为数列1,1 ...
- 学习笔记-解析xml文件
1. Dom4J <students> <student> <name>吴飞</name> <c ...
- QTP动态加载对象库
Public Function AddObjectRepository(path) On Error Resume Next Dim pos, repath If instr(path,". ...
- mysql 连接命令 表管理 ,克隆表,临时表,字符串属性,设定语句间的分隔符
连接和断开连接mysql -h host -u user -p (即,连接的主机.用户名和使用的密码).断开输入QUIT (或\q)随时退出: 表管理克隆表注意:create table ... li ...
- c# 了解委托
public delegate void aHandler(string text); public class A1 { public void Print(string txt) { Consol ...
- CSS常用布局整理(二)
1-2-1单列变宽布局 side列定宽300px,content列变宽,尺寸是100%-300px.核心的问题就是浮动列的宽度应该等于“100% - 300px”,而CSS显然不支持这种带有减法运算的 ...
- PAT1069. The Black Hole of Numbers
//这是到水题,之前因为四位数的原因一直不能A,看了别人的程序,才明白,不够四位的时候没考虑到,坑啊.....脸打肿 #include<cstdio>#include<algorit ...