阅读本文需要

10分钟

又到了跟三花喵一起

学习路由知识的时间啦

上周四没有看到交换机和路由老祖的切磋

是不是有点失落呢

【提醒一下:本期有故事哦】

嘿嘿

主要是因为上周二留下的问题太重要啦

必须要让大家都搞明白

如果你还没有搞清楚的话

三花喵来给你指路吧

↓ ↓ ↓

交换机“练功大法”——初练神功(二)

交换机“练功大法”——初练神功(三)

三花喵建议大家两期连着看哦 

如果你上期知识点都搞清楚了的话

就跟我一起看本期内容吧

正文开始

自解决了路由黑洞的问题之后,交换机带着师弟师妹们日夜苦练BGP阵法。要知路由老祖所授阵法虽只一图,其中却是千变万化,有时虽是极细微的变化,也需要调整行功方法,否则阵法运转便要滞涩。

这一日,路由老祖来到门下弟子练功处,只见交换机与S97和S77六掌相接,正练习阵法其中一变。路由老祖驻足观望良久,却见交换机面色愈发凝重,额头汗流如雨,未几,身体竟已微微颤抖,再看S97和S77亦是如此。老祖惊觉不妙,身形一晃,已至交换机身侧,出掌按住交换机头额正中,主血脉流行之心经大穴。原来交换机行功不慎,内息业已紊乱,难以控制,若非老祖出手相助,此刻恐已走火入魔。交换机只觉一股热力直通心脉,他本身本已疲乏脱力,得老祖内力相助,方渡过难关。

交换机拜倒老祖身前道:“多谢师父相助。”

老祖摆摆手,问道:“方才为何如此?”

交换机回道:“弟子也不甚明白,方才弟子和S97、S77正演练那BGP阵法其中一变。哪知运功还未多久,就觉得真气忽然变得枯涩起来,难以运转,初时还能已内力硬撑,越是往后,这压力却是越来越大,有如千斤重担压在身上,若非师父及时出手相助,弟子们恐怕已走火入魔了。以弟子的内功修为,应不至有内力不足无法修习的问题,其中缘故,还请师父指点。”

交换机还未说完,老祖已然明了,以手指在地上画出一图:“你们练得是这一变吧?”

图甚简单,如下:

老祖道:“以你的描述来看,为师认为应该是遇到了路由环路的问题。路由环路是每一个路由协议必须考虑的问题,而BGP是距离矢量协议,其防环机制你们考虑过么?”

题外话

给大家简单介绍一下BGP的两种防环机制

01

EBGP的路由环路:

首先我们来看一下EBGP的路由环路是怎么形成的,如上图所示:三个AS通过3台设备两两建立EBGP进行连接。假设在AS100中有一条路由192.168.16.0/24,S97把该路由通告给了交换机,交换机又通告给了S77,S77又重新通告给了S97。这时候如果由于某种原因,AS100中192.168.16.0/24这条路由消失了,而与此同时,S97又从S77那里学习到了192.168.16.0/24这条路由,路由环路就产生了。这时,S97上,192.168.16.0/24这条路由的下一跳是S77;S77上192.168.16.0/24这条路由的下一跳是交换机;而交换机上,192.168.16.0/24这条路由的下一跳是S97。

那如何防止这种现象的发生呢?我们可以像一下,这种情况发生的根本原因,其实就是192.168.16.0/24这条路由的起源和经过的AS是不明确的。如果我们给192.168.16.0/24这条路由在传递时附加一些数值,这些数值反应了这条路由经过的每一个AS,这样就不会有路由环路的发生了。例如:

在S97将192.168.16.0/24这条路由发给交换机的时候,给这条路由附加一个数值100,代表这条路由是从AS100中发出,交换机在将这条路由发给S77时,在100后面在加上一个数值200,代表这条路由又经过了AS200。最后,S77将这条路由发送给S97时,再增加一个数值300。这样当S97接收到这条路由时,检查一下附加在这条路由的数值,发现含有数值100,则代表这条路由曾经经过自己这里,则不接收该路由。这样,EBGP的路由环路问题就解决了。

02

IBGP的路由环路:

IBGP路由环路产生的原因和EBGP类似,但是由于IBGP是在AS内部建立的BGP关系,所以无法通过记录路由经过的AS号来进行防环。对于IBGP,协议采用了类似RIP的水平分割的机制,我们称之为IBGP的水平分割,其内容为:从IBGP对等体接收到的路由不会通告给其他的IBGP邻居。

如图,R1、R2、R3、R4之间建立IBGP连接(R1和R4未建立IBGP关系),R1将192.168.16.0/24这条路由发给R2和R4,R2和R4不会将这条路由再发给R3,于是就防止了路由环路。

这种情况下,R3就完全接收不到R1传过来的路由。所以必须在4台路由器之间建立IBGP的全连接的关系,R3才能从R1处直接获取到路由。

路由老祖将这前因后果说与交换机,交换机方才明白,怪不得之前自己这边发出的流量越多,压力越大,直至后来完全无法支撑,原来并非神功不灵,而是运功方式不得其法。

路由老祖道:“BGP神功千变万化,万不可拘泥于你之前修炼IGP所用方法。在修炼BGP神功时,你要牢记“属性”二字。这二字说来简单,其中所包含义绝非一时所能理解,你以后修炼中慢慢领悟,待你完全理解之时,就是你神功大成之日!”

交换机不解道:“何为“属性”?”

题外话

我们把添加在BGP路由中,为了解决某些问题的数据称为属性。如上文解决EBGP环路问题所引入的数值,就是我们目前第一次引入的属性的概念,我们称之为AS_PATH属性。在BGP中,属性是一个非常重要的概念,因为BGP相较IGP非常大的一个优势就是可以在路由中携带丰富的属性,这些属性可以帮助我们对路由进行控制。

交换机若有所悟,他本就聪明绝顶,对路由一道又天赋极高,老祖这一点破,就如同给他打开了一扇武学宝库的大门。思索半晌,突然一脸狂喜,冲到S97面前大声道:“师弟,我们前几日苦思不得其解的那个难题,有了这AS_PATH属性,岂不是迎刃而解?”说罢以指为笔,三两下便在地上画出一幅图。众人定睛望去,原是几日前一齐练习的阵法,但却一直不得要领,无法打通阵法的脉络。

交换机道:“这个阵法的关键也是我们一直不得其解的地方是,这里阵法的脉络要求的是我和S67之间的交流要经过S97,而我和S57之间的交流要经过S127。但是现在有了AS_PATH属性,这个问题就简单了,只需要调整一下S97和S127发给我路由所携带的AS_PATH属性,就解决了。”

题外话

start

交换机的这个问题是AS_PATH在路由选路和路由过滤中的一个典型应用,我们把交换机所画阵图精简如下:

现要求R4访问1.1.1.0/24网段必须通过R2,访问2.2.2.0/24网段必须通过R3。通过AS_PATH属性我们可以很轻松的解决这个问题。R4会通过R2和R3分别获得1.1.1.0/24和2.2.2.0/24这两条路由,下一跳选择R2还是R3我们可以通过AS_PATH来进行控制。BGP里规定, AS_PATH属性较短的路由,将会被优选。那么我们让R3把1.1.1.0/24这条路由发给R4时,携带的AS_PATH属性变长,R4优选R2发来的1.1.1.0/24的路由进行转发(因为R2发来的1.1.1.0/24路由的AS_PATH属性较短),则R4访问1.1.1.0/24网段的流量就会通过R2进行转发。访问2.2.2.0/24同理。下面我们看一下具体配置。这里的关键配置在R2和R3上:

R2的关键配置:

bgp 1

peer 10.1.1.1 as-number 2

peer 10.3.1.2 as-number 1

#

ipv4-family unicast

undo synchronization /这条是缺省的。

peer 10.1.1.1 enable

peer 10.3.1.2 enable

peer 10.3.1.2 route-policy loop1 export /这里对出方向使用路由策略。

peer 10.3.1.2 next-hop-local /注意这条必配,设备向IBGP对等体发送路由时缺省不改变路由的下一跳,配了这条之后,会将下一跳改为自己。如果不配,发到R4上的路由下一跳为R1的接口地址,由于R4上没有到R1的路由,所以该路由的下一跳不可达,即路由不生效。

#

route-policy loop1 permit node 5 /配置路由策略,在匹配到ip-prefix loop1的情况下给该路由添加AS_PATH属性6,7,8

if-match ip-prefix loop1

apply as-path 6 7 8 additive

#

route-policy loop1 permit node 10 /注意这条是必须的配置,如果不配置,则除了匹配2.2.2.0/24的路由,其他路由均被过滤,无法发送给BGP对等体。

#

ip ip-prefix loop1 index 10 permit 2.2.2.0 24

R3的关键配置:

bgp 1

peer 10.2.1.1 as-number 2

peer 10.4.1.2 as-number 1

#

ipv4-family unicast

undo synchronization /这条是缺省的。

peer 10.2.1.1 enable

peer 10.4.1.2 enable

peer 10.4.1.2 route-policy loop0 export /这里对出方向使用路由策略。

peer 10.4.1.2 next-hop-local /注意这条必配,设备向IBGP对等体发送路由时缺省不改变路由的下一跳,配了这条之后,会将下一跳改为自己。如果不配,发到R4上的路由下一跳为R1的接口地址,由于R4上没有到R1的路由,所以该路由的下一跳不可达,即路由不生效。

#

route-policy loop0 permit node 5 /配置路由策略,在匹配到ip-prefix loop0的情况下给该路由添加AS_PATH属性6,7,8

if-match ip-prefix loop0

apply as-path 6 7 8 additive

#

route-policy loop0 permit node 10 /注意这条是必须的配置,如果不配置,则除了匹配1.1.1.0/24的路由,其他路由均被过滤,无法发送给BGP对等体。

#

ip ip-prefix loop0 index 10 permit 1.1.1.0 24 /配置ip-prefix

这里我们通过路由策略,在R2上配置将2.2.2.0/24的路由发给R4时,添加AS_PATH属性6,7,8;在R3上配置将1.1.1.0/24路由发给R4时,添加AS_PATH属性6,7,8。

我们查看R4的BGP路由表:

可以看到,R4上1.1.1.0/24优选的路由下一跳为R2,2.2.2.0/24优选的路由下一跳为R3。均为AS_PATH较短的。

本期问题

小伙伴们还记不记得,在上期中,我们曾经提到在BGP联盟中,AS_PATH属性有以下2个规则

1) 在联盟内部需要将成员AS的AS号加入到AS_PATH列表中,但这些AS号不能被宣告到联盟之外。在默认情况下,成员AS号被列在AS_PATH中作为AS_PATH属性类型4,即AS_CONFED_SEQUENCE。如果在联盟中使用了手动聚合命令(aggregate)并配置了关键字as_set,那么位于聚合点之后的成员AS号将被列在AS_PATH中作为AS_PATH属性类型3,即AS_CONFED_SET.

2) AS_PATH中的联盟AS号用于实现环路避免功能,但是在联盟内部进行BGP路由选路过程中,选择最短AS_PATH时,不考虑这些联盟AS号。

大家可以先思考一下,联盟内部AS号不能宣告到联盟之外,并且在选路中也不考虑这些AS号的长短,那么这些AS号应该如何记录呢?

本期内容到这里就结束啦

留给大家的问题要记得思考哦

下一期【下周二】开篇

将为大家解答疑问

要准时收看哦

THE END

路由与交换大作业pkt_干货 | 交换机“练功大法”——略有小成(一)相关推荐

  1. 2012-13学年上半学期路由与交换课程设计-作业-2

    课程设计-2-文档(我的作业):(由于我的作业里面有大量的图片,上传起来比较大,想看的话,下载下来,有一个试验相关程序截图:栏目可以参考我做实验时的截图). 网络需求分析: 对照下图,按照要求,完成下 ...

  2. 2012自学CCNP路由与交换之四交换机初始化

    四.交换机初始化配置 配置前准备     Console线.前几年台式机,笔记本,服务器设备都会在主板上配置一个DB9的接口,然后用console线一头接交换机,一头接计算机.现在,因技术变革,笔记本 ...

  3. 清华大作业指导:一人单刷雨课堂需要多少工作量?快手工程师详解如何两周搞定...

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转载自:机器之心 昨天,清华自动化大一学生的 C++大作业霸占了 ...

  4. 计算机网络技术专业毕业大作业答案,计算机网络技术大作业考核要求A卷

    2013级学生毕业补考试卷 计算机网络技术大作业考核要求(A卷) 适用专业:计算机网络技术适用年级:2013级 1.项目考核说明 (1)本次考试题目为"网络综合配置实验",主要考查 ...

  5. 上海电力学院计算机软件技术大作业,计算机网络应用设计 大作业报告.doc

    计算机网络应用设计 大作业报告 上 海 电 力 学 院 课程设计(大型作业)报告 设计名称 计算机网络应用课程设计 课程代码 1305312 院 (系) 电子与信息工程学院 专 业 通信工程 班 级 ...

  6. 《CCIE路由和交换认证考试指南(第5版) (第1卷)》——2.4节VLAN Trunk协议

    本节书摘来自异步社区<CCIE路由和交换认证考试指南(第5版) (第1卷)>一书中的第2章,第2.4节VLAN Trunk协议,作者 [美]Narbik Kocharians(那比克 科查 ...

  7. 视频教程-新版华为HCIA数通(路由与交换)课程-华为认证

    新版华为HCIA数通(路由与交换)课程 新任帮主,双CCIE(CCIE R&S,CCIE Security):2011年前在国内知名培训机构担任CCIE R&S讲师:因一直秉持知行统一 ...

  8. Cisco Packet Tracer 网络系统工程实训大作业【附网络拓扑图】

    文章目录 前言 网络拓扑图资源 项目基本要求 项目一 项目二 项目三 实验原理 静态路由基本原理 VLAN基本原理 OSPF的基本原理 项目的实现 项目一的设计与实现 网络拓扑图 接口信息 配置流程 ...

  9. 基于eNSP中大型校园/企业网络规划与设计_ensp综合大作业(ensp综合实验)

    作者:BSXY_19计科_陈永跃 BSXY_信息学院 注:未经允许禁止转发任何内容 基于eNSP中大型校园/企业网络规划与设计_综合大作业(ensp综合实验) 前言及技术/资源下载说明( **未经允许 ...

最新文章

  1. 【Android】Fragment官方中文文档
  2. 借用的对vue-cli配置对解析
  3. 2012-11-9到2012-12-8
  4. 信号处理深度学习机器学习_机器学习和信号处理如何融合?
  5. ListView的使用用ViewHolder提升效率
  6. # 管道已结束_县城这条路启用自来水新管道,看看是否在你家附近...
  7. RTTI: dynamic_cast typeid
  8. 微信公开课讲师黄咪咪:熟读规则,玩转小游戏
  9. 奇安信代码安全实验室帮助微软修复高危漏洞,获官方致谢
  10. mysql条件变量单引号_mysql语法
  11. 【异常(待解决)】org.apache.http.NoHttpResponseException: api.weixin.qq.com:443 failed to respond
  12. 真正的帅哥没人说帅_“浩南哥”这话你敢信?郑伊健:在香港,没人夸我帅
  13. 二十三种设计模式[4] - 原型模式(Prototype Pattern)
  14. Windows 0day成功验证之ETERNALBLUE 本帖由春秋首发~作者:神风 @春秋文阁负责人 方程式又一波0day【该贴有工具】:https://bbs.ichunqiu.com/thr
  15. git merge fast-forward squash no-ff
  16. linux下使用screen和ping命令对网络质量进行监控
  17. mapbox-gl:创建Marker
  18. 互动送书-《MySQL DBA工作笔记》签名版
  19. JavaScript图片缩放库Zooming
  20. Python int基本用法

热门文章

  1. R可视化绘制对数正态分布(Log Normal Distribution)
  2. 影像组学视频学习笔记(7)-特征筛选之LASSO回归(代码)、Li‘s have a solution and plan.
  3. 物体检测之从RCNN到Faster RCNN
  4. 牛顿迭代法求解平方根
  5. Gene co-expression analysis for functional classification and gene–disease predictions 基因共表达分析的功能分类
  6. Accurate circular consensus long-read sequencing improves variant detection and assembly of a human
  7. 为什么第二代测序碱基出错主要以替换(Substitutions)为主
  8. CheckCode.js 前端验证码插件
  9. 目标检测--Faster R-CNN
  10. conda install和pip install的区别