乾颐堂军哥HCIE8-BGP工作原理以及更新机制(含下一跳解析)[通俗易懂]

乾颐堂军哥HCIE8-BGP工作原理以及更新机制(含下一跳解析)

大家好,又见面了,我是全栈君。

BGP(规则)乾颐堂军哥HCIE8-BGP工作原理以及更新机制(含下一跳解析)
1.BGP基本的工作机制

dis bgp routing //验证BGP路由的手段
<R1>dis ip routing-table protocol bgp //目的是通过BGP更新路由
已经在AS内部存在了IGP,为什么还要使用iBGP呢? 逐跳转发、BGP黑洞、路由操控
构建环回接口来建立iBGP邻居的前提条件:源目IP可达
[R1-bgp]ping -a 11.1.1.1 15.15.15.15
PING 15.15.15.15: 56 data bytes, press CTRL_C to break
Reply from 15.15.15.15: bytes=56 Sequence=1 ttl=254 time=30 ms
Reply from 15.15.15.15: bytes=56 Sequence=2 ttl=254 time=50 ms
R1:
bgp 10
peer 10.1.12.2 as-number 20
peer 15.15.15.15 as-number 10
peer 15.15.15.15 connect-interface LoopBack0
SW3:
[SW3-bgp]dis th
#
bgp 10
peer 11.1.1.1 as-number 10
peer 11.1.1.1 connect-interface LoopBack0 //指定本端的去建立TCP连接的源IP地址
验证邻居关系:
[SW3-bgp]display bgp peer

BGP local router ID : 10.1.15.3
Local AS number : 10
Total number of peers : 1 Peers in established state : 1

Peer V AS MsgRcvd MsgSent OutQ Up/Down State PrefRcv

11.1.1.1 4 10 3 3 0 00:00:33 Established 1

采用非直连的方式构建eBGP邻居关系
备份
eBGP报文中的TTL=1,所以需要修改TTL
bgp 60
peer 55.1.1.1 as-number 345
peer 55.1.1.1 ebgp-max-hop 255 //修改ebgp报文的TTL为255,
peer 55.1.1.1 connect-interface LoopBack0 //使用环回接口0作为建立TCP会话的源地址

2.BGP的报文类型
先建立TCP链接,之后再发送BGP的报文
OPEN(扩展能力:多协议BGP的能力、路由刷新能力、4字节AS号码的能力)
Keepalive ([R6-bgp]timer keepalive 50 hold 150 //针对所有邻居 ;[R6-bgp]peer 55.1.1.1 timer keepalive 40 hold 120 //针对某个邻居做出参数修改 )
UPdate,承载NLRI(网络层可达信息,即路由条目属性,公认必遵属性:1.起源(出身i,e和?);2.as-path;3.下一跳)
Notification
Route-refresh,(<R6>refresh bgp all import //发出去该种报文,请求对端发送更新-update报文给本端,import才会触发route-refresh报文)
3.BGP的邻居状态机
6种状态
IDLE
connect
active
opensent
openconfirm
est

常见的问题:指定的错误的邻居AS;指定了错误的邻居的地址;没有到达对端源地址的路由;本设备指定了错误的源地址;认证错误
为什么R1和R2之间没有指定“连接接口呢”
从邻居处得到bgp表(dis bgp routing)–过滤、策略,选出最优的路由–全局路由表(dis ip rou)
4.BGP路由的更新(通告)原则
4.1
BGP仅仅向邻居通告最优的路由;如果存在多路径(没有开启负载均衡的情况下),BGP选取最优的放入路由表
[R5]dis bgp routing-table peer 44.1.1.1 advertised-routes

BGP Local router ID is 10.1.35.5
Status codes: * – valid, > – best, d – damped,
h – history, i – internal, s – suppressed, S – Stale
Origin : i – IGP, e – EGP, ? – incomplete

Total Number of Routes: 3
Network NextHop MED LocPrf PrefVal Path/Ogn

> 5.5.5.5/32 55.1.1.1 0 100 0 i
> 6.6.6.6/32 66.1.1.1 0 100 0 60i
*> 55.1.1.1/32 55.1.1.1 0 100 0 i
[R5]
4.2
从ebgp邻居得到的路由会向所有的BGP邻居通告(ibgp和ebgp),除了得到该路由的eBGP邻居(水平分割)
下一跳的议题,下一跳在bgp中指到达其他AS的一个转发地址
1)iBGP环境下的下一跳
BGP路由最优的2个基本条件:A 下一跳可达性 B 同步关闭
[R1-bgp]peer 15.15.15.15 next-hop-local //从ebgp邻居处得到的路由,更新给ibgp邻居,会保持原来的下一跳(会导致下一跳不可达),ASBR针对ibgp邻居修改下一跳为本设备
[SW3]dis bgp routing-table

BGP Local router ID is 10.1.15.3
Status codes: * – valid, > – best, d – damped,
h – history, i – internal, s – suppressed, S – Stale
Origin : i – IGP, e – EGP, ? – incomplete

Total Number of Routes: 3
Network NextHop MED LocPrf PrefVal Path/Ogn

>i 5.5.5.5/32 11.1.1.1 100 0 20 345i
>i 6.6.6.6/32 11.1.1.1 100 0 20 345 60i
*>i 22.1.1.1/32 11.1.1.1 0 100 0 20i
2)eBGP多跳环境下的下一跳
3)多点接入网络环境的下一跳
BGP自动优化多点接入网络的下一跳(类似OSPF的转发地址技术)
在SW3和R5之间新建一个ebgp邻居
<R2>tracert 5.5.5.5
traceroute to 5.5.5.5(5.5.5.5), max hops: 30 ,packet length: 40,press CTRL_C to break
1 10.1.12.1 40 ms 10 ms 20 ms
2 10.1.15.5 60 ms 40 ms 30 ms
和重定向没有关系(ICMP重定向要经过报文触发)
4)RR(路由反射器)情况下的下一跳
敬请期待
4.3 iBGP的防环机制
从ibgp邻居处得到的iBGP路由不会再更新给iBGP邻居(铁公鸡,ibgp路由更新一跳-指一个ibgp邻居)
造成路由黑洞(由于某些设备没有运行bgp,而导致该设备缺少路由,而IP转发是逐跳转发)
解决方案:设备之间两两互联(所有设备都存在邻居关系)

作业:
1.在R1、R5和SW3之间观察MA网络的bgp下一跳自动优化,主要看R1到R5的路由
之后拿掉SW3和R5的邻居
2)构建ebgp邻居以及配置下一跳本地:
eBGP:2+4;1+2;5+6
iBGP:4+5;1+SW3
下一跳本地:R1\R5\R4

转载于:https://blog.51cto.com/enderjoe/2058348

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/107769.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java list对象转json_json转list对象集合

    java list对象转json_json转list对象集合1.使用Gson类中的toJson()方法Gsongson=newGson();StringlistToJsonString=gson.toJson(list);2.使用JSONArrayjson=JSONArray.fromobject(list);在调用json.toString()方法转换成字符串JSONArrayjsa=JSONArray.fromObject(list);Stringresult=jsa.toString();…

    2022年10月9日
    0
  • 网页视频下载(TS流下载合成)

    网页视频下载(TS流下载合成)前言最近《流浪地球》比较火,想找资源下载看看,无奈只找到了网址http://m.tlyy.tv/,但是我的chrome插件也嗅探不到网页上的视频。。于是乎,右击页面,inspect走起…步骤首先发现m3u8文件映入眼帘/偷笑,m3u8文件是什么文件呢,copyaddressandwget下来看看:文件playlist.m3u8内容如下,可见网页里的视频是根据这个play…

    2022年7月18日
    20
  • FLAG_ACTIVITY_NEW_TASK与FLAG_ACTIVITY_CLEAR_TOP的理解纠正「建议收藏」

    FLAG_ACTIVITY_NEW_TASK与FLAG_ACTIVITY_CLEAR_TOP的理解纠正「建议收藏」1.单独的FLAG_ACTIVITY_NEW_TASK并不等价于启动模式singleTask,它仅表示寻找activity所需的任务栈压入,(即TaskAffinity指定的任务栈,TaskAffinity默认为应用包名)2.FLAG_ACTIVITY_NEW_TASK+FLAG_ACTIVITY_CLEAR_TOP也不等价于启动模式singleTask3.在FLAG_ACTIVITY_…

    2022年7月17日
    11
  • 数据仓库ods层_app数据仓库搭建

    数据仓库ods层_app数据仓库搭建8.数据仓库之ODS层搭建

    2022年10月5日
    0
  • android时间控件

    android时间控件前言  这一篇博客分别讲解Android平台下,关于日期和时间的几个相关控件。包括DatePicker(日期选择控件)、TimePicker(时间选择控件)、DatePickerDialog(日期选择对话框)、TimePickerDialog(时间选择对话框)、AnalogClock(模拟时钟控件)、DigitalClock(数字时钟控件)。对于时间控件,无非就是一个展示、修改、获取等操作,下

    2022年5月23日
    44
  • 统计学的Python实现-016:变异系数

    统计学的Python实现-016:变异系数作者:长行时间:2019.03.15统计学解释变异系数:变异系数(coefficientofvariation),又称离散系数,是一个衡量数据离散程度的、没有量纲的统计量。其值为标准差与平均值之比。变异系数的计算公式为:CV=σμCV=\frac{\sigma}{\mu}CV=μσ​其中σ\sigmaσ为标准差,μ\muμ为均值。代码实现importnumpydefcoefficient_of_variation(data):mean=numpy.mean(dat.

    2022年5月29日
    71

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号