BGP:用于AS与AS之间的路由,但现在也越来越多的用在IDC内部了

BGP是应用层协议,应用TCP协议(唯一一个运用TCP的路由协议)

IGP和EGP的区别:IGP运行在一个AS之内,EGP运行在AS之间。
BGP是一个高级的距离矢量协议,路径矢量路由选择协议
BGP是一个应用层协议,基于TCP的179端口

多数组:连接多家运营商

BGP通过单播发送报文,所以需要指定邻居

BGP具有触发更新机制(增量更新),没有周期性更新.
BGP只追踪和邻居的邻接关系,不追踪路由信息,只要邻接关系还在,邻居给传递的路由信息就会信任。
BGP通过周期性的发送keepalive报文(类似于IGP里面的HELLO报文)来维护邻接关系,建立邻接关系则用另外一种叫open的报文。

BGP的三张表:
1.neighbor table
2.BGP table(forwarding database)
3.IP routing table

BGP的四种报文:
1.Open
-includes hold time and BGP router ID
2.Keepalive
-周期性发送维护邻接关系
3.Update
-所有的距离矢量协议发送的更新报文里面都是直接携带路由条目的(OSPF携带LSA)
4.Notification
-When error is detected
-BGP connection closed after message is sent

BGP的五种状态:
1.idle
2.connect
3.open sent
4.open confirm
5.established

IBGP管理距离:200
EBGP管理距离:20

TCP通过窗口机制实现流控,通过序列号防乱序,确认号防丢包,校验和防止报文被篡改,以及重传机制。

导致BGP路由不优的原因
1.Synchronization
当一台路由器收到了IBGP对等体传递的IBGP路由的时候,会优先判断该路由是否能通过
对某种IGP学到,如果能则同步实现,如果不能则同步失败。
解决方案(将该特性关闭)
2:Next-Hop Unreachable
解决方案 Next-hop-self

一条BGP表中的BGP路由如果既打r又打>则代表该路由由于管理距离的原因虽然最优但是
无法加表,该路由可以传递给任何其他的邻居(只要满足规则)

ICMP Redirect
当一台路由器通过一个接口接受到了一个报文,该路由器查表发现转发这个报文需要将
其通过接收接口再次转发出去。

当一台BGP Speaker将一条BGP路由传递给同MA网段的下一跳EBGP邻居时,该路由器如果
发现该路由条目的上一跳邻居传递该路由的接口的IP地址和下一跳邻居接收该路由的接
口的IP地址在同一个IP子网段,此时该路由器会主动将该路由条目的下一跳地址改写为
上一跳邻居的发送路由接口的IP地址(不是因为ICMP重定向)。

关于BGP路由条目的下一跳地址
1.如果一台路由器将本地路由通告进BGP进程,则对于这些被通告路由,该路由器本地
BGP表中关于他们的下一跳都为0.0.0.0 本地路由包括直连路由和静态路由。
2.如果一台路由器将通过IGP获悉的路由通告进BGP进程,则这些路由在该路由器的BGP
表中下一跳会继承相应的IGP路由的下一跳地址。
3.如果一台路由器将其本地通告的本地路由传递给其任何BGP对等体,则会将该路由条
目的下一跳改为本地对于这些邻居的更新源。
4.如果一台路由器通过EBGP学习到了一条路由,则该路由在传递给IBGP对等体时,默认
情况下一跳不变(除非做Next-Hop-Self)
5.如果一台路由器将任何BGP路由通告给其EBGP对等体,则路由的下一跳会变成该路由器
对于该邻居的BGP更新源地址。

BGP Auto-Summary
在早期的IOS版本中默认情况一台路由器的BGP进程的Auto-Summary是开启的,在后期新
版本的IOS中Auto-Summary是自动关闭的。
作用:
无论在路由器上是否开启Auto-Summary都不会影响BGP精确通告的BGP路由,该特性只有
两个作用
1:当在路由器上使用汇总通告的时候,如果该路由器路由表中拥有汇总条目内的明细
路由的时候,并且该路由器开启了自动汇总,则该路由器会将明细路由抑制并且将其在
其主类网络边界汇总后发送给邻居。

BGP属性:

一、Weight(权重属性)(接口概念)(影响本地流量选择哪个路由器接口出去)(一个路由器拥有多个接口)(基于一个路由器)(cisco私有,一般用不到)
1.传递范围:该属性只能在路由器本地有意义,路由器发送任何BGP路由的时候不会携带该属性
2.缺省值:对于一条下一跳地址为0.0.0.0的BGP路由,在该路由器本地BGP表中该路由的缺省Weight
值是32768
如果该路由是邻居通告的,无论IGBP或EBGP都是缺省0,如果该路由是本地通告,但是来源
于IGP,则该路由缺省权重也是0.
范围:0-65535
3.比较方式:Weight属性值越大,该路由条目越优。

二、Local Preference(本地优先级)(影响本地流量选择哪个路由器出去)(一个AS拥有多个出口)(基于一个AS)
1.传递范围:只能在一个AS内传递(只能在传递IBGP路由的时候修改)
2.缺省值:只要是BGP路由无论是否本地产生,无论是IBGP/EBGP,缺省值都为100
3.比较原则:越大越好

三、MED(进入的流量选择哪个路由器进来)
1.传递范围:在对端AS内传递
2.缺省值:
3.比较原则:越小越好

四、之后的属性用一张图表示,就不详细描述了

打破IBGP路由传递原则的两大方式:
1.路由反射器 Route Reflector(镜子原理)
Cluster IBGP RR Server RRC Client

RR收到了一条EBGP路由,会将其转发给所有其他EBGP对等体以及所有IGBP对等体(包含Client以及Non-Client)
RR收到了一条IBGP路由(该路由是Client传递的),RR会将其转发给所有其他的RR以及所有IBGP的Non-Client以及所有的EBGP对等体
RR收到了一条IBGP路由(该路由是Non-Client传递的),RR会将其转发给所有Client以及所有EBGP对等体,但是不会传递给任何其他的Non-Client

2.联邦 Confederation
1.所有联邦路由器启用BGP进程的AS号都是子AS号,联邦建邻居指的是对方的子AS号,外部路由指联邦内BGP邻居指的是主AS号
2.所有联邦内路由器都要宣称自己属于主AS
3.联邦内路由器要建立联邦内EBGP连接时需要指定本地和什么子AS连接

Community属性(团体属性) 公认自由 不可传递
1.Standard
No-Advertise:当路由器收到了带有该团体属性的BGP路由的时候,路由无法传递给任何其他的BGP对等体。
NO-Export:当路由器收到了带有该团体属性的BGP路由的时候,路由无法传递给其他的AS,只能在AS内传递,如果该AS起了联邦,则该路由还可以在联邦内子AS之间传递。
Local-AS:当路由器收到了带有该团体属性的BGP路由的时候,路由只能在接收者所在的AS内传递,无论该AS是一个主AS还是一个联邦内子AS。
XX:YY tag

BGP笔记的更多相关文章

  1. BGP学习笔记

    源自红茶三杯: BGP应用于大规模网络或运营商,用作在AS间传递路由信息 使用BGP的三大理由 1. 大量路由需要承载, IGP只能容纳千条,而BGP可以容纳上万(应该是IGP结合BGP使用?) 2. ...

  2. TCP/IP笔记 二.网络层(2)——ICMP,RIP,OSPF,BGP

    1. ICMP ICMP (Internet Control Message Protocol) 作用:提高 IP 数据报交付成功的机会. 1.1 特点 ICMP 允许主机或路由器报告差错情况和提供有 ...

  3. 《TCP-IP详解卷1》中BGP部分的笔记

  4. IS-IS完整笔记

    IS-IS笔记大全 1.公开,ISO国际标准化组织(按照中文顺序翻译) 中间系统到中间系统 双栈.集成 数据传递机制 Cons面向连接网络服务(TCP) Clns缺少链接网络服务(UDP) Is-is ...

  5. NetFlow学习笔记

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

  6. TCP-IP详解笔记3

    TCP-IP详解笔记3 地址解析协议 IP协议的设计目标是为跨越不同类型物理网络的分组交换提供互操作. 网络层软件使用的地址和底层网络硬件使用的地址之间进行转换. 对于TCP/IP网络,地址解析协议( ...

  7. BGP - 5,BGP属性

    metric,自己决定去哪个EBGP邻居 local-pre,影响AS内部IBGP邻居的路由决策 med,影响AS外部EBGP邻居的路由决策   1,BGP属性     公认传递(well-known ...

  8. CoordinatorLayout使用笔记

    CoordinatorLayout的使用笔记 首先第一个子控件是AppBarLayout存放首部控件,里面放了一个CollapsingToolbarLayout.代码如下: <android.s ...

  9. 1.7-BGP④

    注意:默认路由ip route 0.0.0.0 0.0.0.0 12.1.1.1是不可以作为BGP邻居TCP始发连接的(但回包可以) 要配静态路由:ip route 13.1.1.3 255.255. ...

随机推荐

  1. 通过JDBC进行简单的增删改查(以MySQL为例) 目录

    通过JDBC进行简单的增删改查(以MySQL为例) 目录 前言:什么是JDBC 一.准备工作(一):MySQL安装配置和基础学习 二.准备工作(二):下载数据库对应的jar包并导入 三.JDBC基本操 ...

  2. [C#.net]未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序

    C#操作Execl文件常用的2种方式是NPOI和Microsoft.Jet.OleDb,前者需要引用dll,后者需要安装Office客户端 今天发现别人电脑使用Microsoft.Jet.OleDb能 ...

  3. 如何解决XMLHttpRequest cannot load file:~~~~~~~~~~~. Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-res

    原因:Chrome不支持本地Ajax请求. 解决: 右击Chrome浏览器快捷方式,选择“属性”,在“目标”中加上"--allow-file-access-from-files", ...

  4. linux关机、重启命令

    1.shutdown -h 10 //计算机将在10分钟后关机,且会显示在登录用户的当前屏幕中 2.shutdown -h now //立即关机 3.shutdown -h 20:25 //系统会在2 ...

  5. 《MarkMark学习笔记学习笔记》html学习笔记

    iframe里有一个srcdoc属性,很有用! window.location.href=document.referrer//可以实现返回上一级页面并刷新 HTML5权威指南©®,比较老的书了,有些 ...

  6. sublime将python的运行结果在命令行显示

    sublime将python的运行结果在命令行显示 为什么这么折腾? 因为每次查看输出结果都要上下拖动窗口,很烦. 将build system修改为 { "cmd": [" ...

  7. PLSQL基础学习-文字

    --oracle 练习: /********************PL/SQL编程基础*******************************/ --firstday -->>&g ...

  8. Vuejs——(13)组件——杂项

    版权声明:出处http://blog.csdn.net/qq20004604   目录(?)[+]   本篇资料来于官方文档: http://cn.vuejs.org/guide/components ...

  9. iostat 命令详解

    前言 话说搞运维的人没有两把"刷子",都不好意思上服务器操作.还好,我还不是搞运维的,我一直都自诩是开发人员,奈何现在的东家运维人员"水"的一比,还要我这个自诩 ...

  10. Spring MVC 原理探秘 - 一个请求的旅行过程

    1.简介 在前面的文章中,我较为详细的分析了 Spring IOC 和 AOP 部分的源码,并写成了文章.为了让我的 Spring 源码分析系列文章更为丰富一些,所以从本篇文章开始,我将来向大家介绍一 ...