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: 定义因特网服务的类型,常见的为 ...
随机推荐
- FreeMarker页面中获得contextPath
要在ftl页面中使用contextPath,需要在viewResolver中做如下配置(红色部分): <bean id="viewResolver" class=" ...
- SQL语句在OLAP的妙用(多维分析与指标计算)
================================================================================ BI传统实现原理: 1.涉及维度管理( ...
- 为什么要使用Spark?
现有的hadoop生态系统中存在的问题 1)使用mapreduce进行批量离线分析: 2)使用hive进行历史数据的分析: 3)使用hbase进行实时数据的查询: 4)使用storm进行实时的流处理: ...
- JAVA·多线程:创建线程的两种方式
1.–扩展java.lang.Thread类 package multiThread; public class Thread02extThread { public static void main ...
- 在 WPF 程序中使用 MVVM 模式
MVVM 模式是一个很久之前的技术了,最近因为一个项目的原因,需要使用 WPF 技术,所以,重新翻出来从前的一段程序,重温一下当年的技术. MVVM 模式 MVVM 实际上涉及三个部分,Model, ...
- SDUT 3340 数据结构实验之二叉树一:树的同构
数据结构实验之二叉树一:树的同构 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 给定两棵树 ...
- C++ 什么是句柄?为什么会有句柄?HANDLE
出处:http://www.cppblog.com/mymsdn/archive/2009/02/19/handle-in-windows.html 从广义上,能够从一个数值拎起一大堆数据的东西都可以 ...
- 在代码中调用 mvc 4 api
mvc 4 api 的调用有很多种,最常见也最简单的一种是 用 ajax 的方式在前端界面中调用, 如果是在后台代码中调用 ,是要复杂一些,以下是 以 post 的方式调用 api 的封装好的方法: ...
- C# Exception 对象的属性
关于 C# 中 Exception 对象的属性,在程序出现异常时,需要记录异常的信息,并把信息保存起来或输出,以方便准确定位异常的根源,以下是 Exception 对象的属性 名称 ...
- 如何创建下拉列表为一个树列表?(此文为dev控件中,服务器控件暂不知,但想方法应该都差不多吧)
//前端控件代码:<dx:ASPxDropDownEdit ID="drop_treelist" runat="server" ClientInstanc ...