




已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
山 高 人 为 峰 ! 龙飞扬 BGP 一、 概述:1. BGP(Border Gateway Protocol):边界网关协议,属于EGP(光杆司令);协议号为“6”,利用TCP 179端口,BGP的边界在链路上2. BGP是应用于自治系统和自治系统之间的协议;属于路径矢量的协议(经过多少个AS);有别于距离矢量,但又可以说属于他,所以在边界上会出现自动汇总现象。3. BGP的AS号的范围为:165535;属于公用的是164511;私有自治系统号是6451265535(1024个)4. IGP中以Metric来定义路径的好坏;而BGP是通过属性来评价路径的好坏。5. 是基于路由策略的协议,其可以看到该路由是从哪个AS来的路由。6. 可使用BGP的情况: An AS allows packets to transit through it to reach other Autonomous Systems An AS has multiple connections to other Autonomous Systems. Routing policy and route selection for traffic entering and leaving your AS must be manipulated7. 不建议采用BGP的情况: Single connection to the Internet or other AS(即为一个末节AS,只有一个出口) Lacks memory or processor power to handle constant updates on BGP routers (一般要 10000系列级别) Limited understanding of route filtering and BGP path selection process Low bandwidth between Autonomous Systems(建议万兆级别)8. 如果发布了一条路由那么会引起“入站量” 出站和入站要分开来考虑 如果学到一条路由那么会引起我的“出站量” 出站和入站要分开来考虑9. BGP的邻居关系: BGP的邻居是建立在任意两个可以建立TCP连接的路由器上(不一定要直连,也 不一定要在同一个AS中),在BGP中邻居叫做Peers(对等体) 在一个AS内部的对等体叫做IBGP(管理距离200);在不同AS之间的对等体叫做 EBGP(管理距离20) 虽然BGP的邻居可以是建立在任意两个可以建立TCP连接的路由器上,但一般要 求两个AS之间的对等体(即EBGP)要直连;除非有特殊的需要。二、 BGP的基本概念:1. BGP的特征: 边界汇总,庞大的路由表! 可靠的更新:其不像IGP协议利用“IP包”或“UDP”进行交换,利用协议保证 可靠性(如确认,应答);BGP利用TCP 179进行传输,那想一想BGP的可靠性 靠什么来保证呢?(注意:TCP 179被封BGP就启不来了) 增量的触发更新(注意:触发比较迟钝) 周期的keepalive消息,来验证TCP的连接是否正常。(60s) 丰富的度量值:其不像EIGRP综合计算metric,而是一个个比较,而且Metric在 BGP中叫做属性. 针对巨型网络的使用,如Internet2. BGP的数据库: BGP邻居表:是利用TCP学过来的,所以不需要直连就可以建立邻居,换句话说 可以telnet到对方就可以建立邻居关系(注意:这里的telnet是广义上的) BGP转发表(即BGP的路由表):是利用TCP学过来的,记住了每一个BGP邻 居所知的所有的网络,然后根据BGP的“属性”判断最优路径放入路由表。(BGP 不能进行负载均衡)当邻居第一次建立时,他们交换整个BGP路由表。 List of all networks learned from each neighbor 包括 Can contain multiple pathways to destination networks Database contains BGP attributes for each pathway 路由表:所有的策略,转发等的东西都要基于路由表,即首先要确保路由表里有。3. BGP的消息类型: open消息(编码为1):TCP会话建立起来以后,两个邻居都要发送一个open消 息。每个邻居都用该消息来标识自己、并且规定自己的BGP运行参数。open消息 包括以下信息: BGP版本号,除非通过叫neighbor version 命令来运行较早版本否则默认 为版本4,如果不同会自动协商到相同。 AS号:用来决定该BGP会话是EBGP还是IBGP。 Hold time:180秒后没有收到keepalive认为邻居down。 BGP标识符:用来标识邻居的IP地址;使用最大值的lookback地址;如 果没有配置IP地址的Lookback则选用用物理接口上数值最大的IP地址。 可选参数 Keepalive消息(编码为4):如果路由器接受了它的邻居在open消息中的参数, 它就会应答一个Keepalive消息,缺省的情况是,每隔60秒发送一个Keepalive。 或者以达成的hold time时间的1/3时间发一次。 Update(编码为2)消息: 网络层可到达信息(NLRI) 路径属性 撒消路由 Notification消息(编码为3):当检测到错误时发送,通常导致BGP连接中止。 谁在我旁边?(open);我还活着(keepalive);有新的情况吗?(update);烦死了 断开和你的连接(notification)三、 BGP的State (1) Idle(空闲): 在该状态下,它拒绝接收所有入连接(2) Connect: Router found route and has completed three-way TCP handshake;在这种状态下,BGP过程会等到TcP连接完成以后再决定后续的动作。如果TcP连接建立成功,BGP连接将ConnectRely清零,完成初始化过程,给邻居发送个open消息并转移到发送Open消息状态(open sent);如果TcP连接建方失败BGP过程会继续监听邻居发启的连接,重置ConnectRely计时器并转移到激活状态。 (3) Active(激活状态):在这个状态下,BGP过程试图与邻居建立一个TcP连接。如果TcP连接建立成功,BGP连接将ConnectRely清零,完成初始化工作,给邻居发送一个open消息并转移到发送Open消息状态(open sent),hold计时器被置成4分钟。(4) Open sent: 在这种状态下,已经发送了0pen消息,BGP正在等待从邻居发来的open消息。当收到一个open消息以后,检查该消息所有的字段。如果发现差错,会给它的邻居发送一个notification并将状态转移到空闲。 如果在接收到的open消息中没有发现差错,BGP给邻居发送个KeepaHve消息。(5) Open confirm: 在这种状态下,BGP过程会等待一个keepalive或者Notification消息。如果收到keepalive消息,转移到己建立状态。如果收到Notification消息或者TCP断开消息,状态转移到空闲。.(6) Established: Peering is established; routing begins.(开始传转发表中的路由) 排错分析: idle状态:可能路由表中没有这条路由;查看连通性 active状态:指了一个错误的对等体地址(应指向对方公告的更新源地址);邻居 没有正确的指向你;更新源地址指错了 四、 BGP的属性(路由条目属性):(10条,我们可以利用这些属性进行BGP的选路,见后的配置)(1) 公认的必选属性(Well-known mandatory): ORIGIN(起源):明确了路由信息的来源 IGP:从发起者的AS内部协议可以学到的网络层可达信息(NLRI),如利 用NETWORK命令学到的。起源代码为“i” EGP:NLRI是从EGP学到的。起源代码为“e”或redistribute进来的 Incomplete:NLRI是从其他手段学到的如IGP分发(redistribute进来的)进BGP。起源代码为“?” AS_PATH(路径):用以描述所经过的自治系统(AS),以最近的AS开始,以 发起者的AS结束;如1.0ABCD(AS_PATH为:1.0: B-A-C) 注意:只有update消息发送给另一个AS的邻居时(EBGP)BGP才会将他的AS 号加入到AS_PATH中。AS_PATH前置 NEXT_HOP(下一跳):在BGP中两个AS之间交换信息(EBGP),传到IBGP后下一跳 指的仍是自主系统的下一跳;环回口宣告后是0.0.0.0表示下一跳为自己 (2) 公认自选属性(Well-known discretionary) LOCAL_PREF(本地优先级)其高于AS_PATH,决定了出站的选路(默认100) ATOMIC_AGGREG(原子属性):同as-set(3) 任选可透明传输属性(Optional transitive)我不认识但我会传给下一个 AGGREGATOR:指聚合在哪里出现。 COMMUNITY(团队属性):比方在AS1中有1.0和2.0两条路由,现在不允许1.0出 AS1,如果做路由过滤20有个出口就要做20次,很麻烦;利用团队属性的话只要 有其中的一条属性就出不去了;其包括如下重要属性: Internet:自由公布路由 no-export:接收到有该属性的路由不传递给他的EBGP对等体(即不给其他AS) no-local_as: 接收到有该属性的路由不传递给他的EBGP对等体(包括联盟的) no-advertisment: 接收到有该属性的路由不传给任何BGP对等体(本路由器)(4) 任选非可透明传输属性(Optional nontransitive) 我不认识我则丢弃 MULTI_EXIT_DISC (MED):BGP的metric,入站选路,优选小的med值(默认0)参照local-prefence出站选路 ORIGINATOR_ID(起源ID) 用在路由反射器中 CLUSTER_LIST(簇ID) 用来防止环路的产生 在转发表中:“i”表示network宣告的(最优)“e”表示EGP分发进来的 “?”表示IGP分发进来的(起源代码) 最大的优先级,最小的MED值五、 BGP选路原则: 先决 下一跳可达 条件 同 步 (1) 最高的权重值(cisco专有065535,本地路由器默认32768,不传递到其他路由器,学到的路由权值为“0”) 只有cisco的有这一项(2) 最高的本地优先级(global within as)(3) 起源于本路由器的优先(即Next hop0.0.0.0)(4) 最短的AS_PATH(5) 最小的起源代码优先ie”表示进入路由表的 *i.i (第一个i表示内部IBGP的,后面的为起源代码) “s”表示被抑制掉的 4 clear ip bgp * 5 clear ip bgp 邻居的ip地址 6 clear ip bgp 【*,邻居的ip地址】soft out 7 clear ip bgp 【*,邻居的ip地址】soft in八、 路由策略的使用(没有其他IP路由策略能像BGP一样具有如此强大的策略特性,但是也没有其他的IP路由策略能像BGP一样有如此大的使你陷入困境的潜能,)1. 通过NLRI过滤路由: (详见卷2 ,P155) neighbor 邻居ip distribute-list 1 【out,in】 access 1 per 地址 2. 通过AS_Path过滤路由(详见卷2 ,P161) 正则表达式:“”表示一行的开始;“$”表示一行的结束;“.”表示任何一个字 符或空格;“_”代表一行的开始或一行的结束或一个字符或空格 例如:22$ 表示就是22 _22_ 只要有22就可以了 _1.0$ 为1X0(x为任意) $ 为起源于本自治系统 AS_Path过滤: 例1:AS1只向AS2公布自己产生的路由,对于接收的路由不公布 A:router bgp 1 nei 1.2 remote-as 2 ip as-path access-list 1 per $ (全局下) nei 1.2 route-map thank out (BGP下) router-map thank per 10 (全局下) match as-path 1 在AS1传出的路由中只传本区域的 例2:AS2只接收起源于AS1的路由 B:router bgp 1 nei 1.1 remote-as 2 ip as-path access-list 1 per 1$ 匹配从AS1传送过来的路由 nei 1.1 route-map thank in router-map thank per 10 match as-path 1 3. 管理权值(详见卷2 ,P166) 我们从上面知道,管理权值具有本地性,所以一个路由器上的权值分配不会影响 其他路由器的优选项;权值越大越优先;注意:只适用于cisco设备 对于某一邻居传进来的所有路由进行配置 neighbor 邻居ip地址 weight 数值 (BGP下) 对某一具体对等体: nei 10.10.10.1 route-map ccie (BGP下) access 1 per 2.2.2.0 0.0.0.255 route-map ccie per 10 match ip add 1 set weight 100 route-map ccie per 20 剩余的 set weight 504. 管理距离和后门路由:(例子中的路由均为分发进BGP) 如下图所示:在AS1和AS2之间做了一条运行RIP的串行链路用于传输他们之间的 流量,对于AS3和AS4要与AS1和AS2通讯则要经过NAP,但是现在发现所有的 流量还是在NAP上走,为什么呢?发现在串行链路上启用的是RIP协议管理距离为 120而通过NAP学到的路由为EBGP学到的管理距离为20那么当然在NAP上走了; 解决1:在A和B路由器上执行network命令宣告相关路由这样A和B学到的路由 就变为自己内部发起的管理距离变为200,则会走串口线路;但是随后发现所有前往 AS1和AS2的流量都由串口上走了,这又是为什么?考虑一下起源代码的优先级, 对了,network宣告的起源“i”优于分发的“?” 解决2:同样利用network命令,同时不让他向其他AS通告即可在命令network 写 完后附加一个backdoor的结尾。5. LOCAL_PREF属性(用于出站选路)(优先于进站) bgp default local-preference 数值 从所有路由器进来的所有路由的本地优先级都设为这个值了(大范围的) 详细的选路 A上: neighbor 192.168.28.1 route-map XXX in 这里是in因为是学进来的路由但 route-map XXX permit 10 引起的是出站量(即对出站控制) match ip address 65 set local-preference 400 route-map XXX permit 20 其他的我不管,不设 access-list 65 permit 172.30.0.0 0.0.255.255 B类似;这样就对出站的具体流量进行了精确的选路。6. MED属性:进站选路(MED值,默认为“0”) MED值只在AS之间传输,发出的MED值会影响进站量 default-metric 数值(大范围的) A上 neighbor 192.168.28.1 route-map XXX out route-map XXX permit 10 match ip address 66 set metric 100 route-map XXX permit 20 set metric 200 其他的,因为默认med值为0,所以要设一下 access-list 66 permit 192.168.25.0.0 0.0.0.255 access-list 66 permit 192.168.26.0.0 0.0.0.2557. 附加AS-path:通过AS-path来实现选路 前缀列表的使用: 例如要求10.1.x.0/24 ip prefix-list 1 seq 10 permit 10.1.0.0/16 ge 24 le 24seq 10是prefix-list 1的一个子表,可单独删,增,插 “ge”为大于等于;“le”为小于等于;ge le在一起为等于 例如:让1.0的路由绕圈 在B上的: A ip prefix-list 1 per 1.0/24 router bgp 1 nei 2.1 remote-as 1 nei 2.1 route-map thank in B C route-map thank per 10 match ip add prefix-list 1 set as-path prepend 1 1 1 route-map thank per 20 当符合prefix 1时设置路径增加经过的路径大于另一条路经即可(一般用该路由 的起源AS作为增加的路径) 8. 路由抑制(Dampening)1 起因:AS1中的管理员发现从AS2中过来的一条2.0的路由总是时有时无(Dampening),但又不能拒绝掉这个邻居,所以我要做些修正: 开始抑制 重新启用 2 当一次dampening后,分配个惩罚值比如150,摆动的越多,惩罚值积累的也越多,如果在一段时间后没有变化则惩罚值减掉一半称为“半衰期”;如果多次dampening惩罚值超出了抑制界限,则该路由将被抑制(不公布),同样在一段时间后没有变化则惩罚值减掉一半是150但还是被抑制,因为还在100以上,除非在到达某个重新启用界限(即写入路由表);为了防止一直处于抑制有一个最大抑制时间,即在多久后重新写入路由表。3 配置:(进程下) bgp dampeing 对所有过来的路由进行dampeing route-map thank per 10 match ip add prefix 1 set dampeing 15 750 2000 60 针对具体的路由 ! ip prefix-list 1 2.0/24 “15分钟”为半衰期,“750”为重新使用界限,“2000”为抑制界限,“60” 为最大抑制时间(分钟),“1000”为默认惩罚值九、 大型BGP的设计:1. 路由反射器:1 对于有许多路由器的情况,如果我们做全互联,那么是不现实的,为了解决这个问题我们可以利用路由反射器。2 路由反射器分为反射器,客户端,非客户端,所有这一切都在反射器路由器上设置。3 规则:(在一个路由反射器簇中可以有多个反射器)(一个AS中可以有多个簇) 如果从非客户学过来的路由只反射给他的客户 如果从客户学过来的反射给除发送的所有的客户和非客户 如果从EBGP邻居学过来的反射给所有的客户和非客户。 从路由反射器学过来的路由,不改变该路由的所有属性(即反射器在转发 路由时不改变路由的所有属性),包括下一跳属性。 配置:(在反射器R1上) router bgp 1 nei 2.2 route-reflector-client 非客户
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 装修公司物业费营销方案
- 施工现场环境管理实施方案及措施
- 2025年康复工程学院康复辅助器具的选用与配置及答案解析
- 2024-2025学年邮政行业职业技能鉴定试题【历年真题】附答案详解
- 2025隧道专项试题及答案
- 2024-2025学年度计算机二级题库及完整答案详解(全优)
- 2025公务员(省考)常考点试卷完整答案详解
- 2025美容化妆人员考前冲刺测试卷(夺冠)附答案详解
- 2024全国统考教师资格考试《教育教学知识与能力(小学)》高分题库含答案详解【突破训练】
- 药店相关技能鉴定自我提分评估附答案详解【B卷】
- 2025年新护士招聘三基考试题库及答案
- 2024年绍兴杭绍临空示范区开发集团有限公司招聘真题
- 2025资产抵押合同(详细)
- 小额农业贷款技术服务合作协议
- 辅警摄影基础知识培训课件
- 2025年押运员模拟考试试题及答案
- 沉井施工合同4篇
- 农业机械安全知识课件
- 轴承质检员培训课件文档
- 2025至2030有机聚合物钽电容器行业发展趋势分析与未来投资战略咨询研究报告
- 2025沈阳各区县(市)工会公开招聘工会社会工作者数量考试参考试题及答案解析
评论
0/150
提交评论