热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

1.7-BGP①

IGP:包括RIPEIGRPOSPFISISODR等动态路由协议运行在同一个AS中,通过CostMetirc来判断路由的优劣(越小越好&#
IGP:
  包括RIP/EIGRP/OSPF/ISIS/ODR等动态路由协议
  运行在同一个AS中,
  通过Cost/Metirc来判断路由的优劣(越小越好);
  AS:自治系统()
  An AS is a collection of networks under a single technical administration.(独立的一个技术/管理域)
  IGP主要任务
  正确的描述路由信息和尽快的将数据包送到目的地:
  IGP强调收敛速度。
BGP(v4) 
边界网关协议(Border Gateway Protocol):
运行在不同的AS之间,用于对BGP路由进行控制/策略,
BGP的主要任务:网管的人为意图的集中体现,强调策略控制,不强调收敛.
BGP是通过BGP的属性/Attributes,判断多条路径的优劣,从中进行择优选取.
BGP可以通过网管定义的策略/Policies,实现数据或路由的控制/操纵.
自治系统AS:(autonomous Systems)():
独立的技术/管理域,通常是一个大型公司,或者组织,或者国家.
这是区别于IGRP/EIGRPAS()的概念;
BGP本身就是一种策略路由/PBR(Policy-Based Routing)
实现网管的人为意图的集中体现.
BGP是一种AS BYAS的高级距离向量/DV协议.
BGP认为,每经过一个AS是一跳
RIP认为,每经过一个router是一跳
应该使用BGP的情况:
1:ISP:
当允许AS 1 的数据包穿越AS2,
但是不允许AS 1的用户访问AS2内部的时候:
2:Multihome/多宿主:
对于一个用户的AS,如果他同时连接到多个AS/ISP
3:PBR:
当需要对BGP路由/数据,进行人为控制/操纵的时候.
不该使用BGP的情况:
1.ISP只有单连接,没有同时连接到多个ISP
2.如果网络硬件设备的档次不够(内存/CPU).
3:BGP路由操纵理解有限,无法预计BGP的后果.
4.链路带宽不足.
BGP特征:
1:BGP是高级DV协议.
2:BGP工作在TCP/IP协议栈的4:TCP179端口.
3:BGP是触发/增量更新的协议
4:BGP通过周期性的发送Keepalive信息,保证TCP连接的可靠性.
5:BGP使用多种"BGP属性/Attribut",来衡量路径的优劣.
6:BGP是为巨型网络设计的,意味着这种路由协议,可能带来海量的路由和数据.
BGP协议的三张表:
1:BGP的邻居表(BGP neighbor table)
BGP的邻居可以直接相连,也可以凌空建立.
2:BGP(BGP forwarding table/database)
  2-1:一个BGP路由器,可能从它的多个BGP Neighbor那里,学到到达同一个目标网络的多条可能路径.
  2-2:但是,BGP这种路由协议,默认情况下,是不进行负载均衡的.也就是说,到达一个目标网络,只允许有一条可用路径.
  2-3:BGP路由器通过"BGP属性",从中多条候选路由中,优选出一条,它自己认为最好/最优/Best的路径,作为到达这个目标网络的"最佳路由",这条路由也会被称之为"优化".("优化"的路由,会标打上">")
  2-4:只有"优化"了的路由,才能作为BGP选送出的,最佳的,种子选手,去参加,到达这个目标网络(10.0.0.0/8)"AD竞争/竞选."
3:IP路由表:
上面BGP提交"优化/最佳"路由,在经过不同寻路协议之间的"AD的竞争/竞选"之后,如果获胜,才能成功的送进路由表.
BGP4种信息包类型:
1:Open
2:Keepalive
3:Update
4:Notification
Peers=neighbors
Any two routers 
    that have formed a TCP connection, 
        to exchange BGP routing information, 
            are called BGP peers or neighbors.
1:EBGP Neighbor
两个BGP Neighbor分别属于两个不同的AS.
EBGP Neighbor通常是直接相连的.(也会有特例哦,CCSP才会遇到这种非直连的情况)
2:IBGP Neighbor
两个BGP Neighbor同时属于一个相同的AS.
IBGP Neighbor可以是直连的,也可以是非直连的.
BGP的操作步骤
1:确认L1/L2连路通(通过Ping,进行链路测试)
2:确认L3IGPROUTE通过(Show ip route rip/eigrp/ospf)
3:启动BGP,建立BGP邻居(TCP179)(show ip bgp summary)
4:宣告BGP路由(network 1.0.0.0 mask 255.0.0.0)
5:判断BGP优化的基础条件(同步,下一跳) 
LAB1:BGP的基本配置:
721057-20161210101933022-121041073.png
Step1:确认L1/L2的连通性.
可以通过Ping,进行链路测试.
Step2:确保L3IP路由的通达(是通过IGP实现):
(一般都是在同一个AS中完成)
(两个AS之间是不运行IGP的)
AS123中的所有路由器(R2/R3),运行IGP:RIP V2
R2/R3#
router rip
version 2
network 23.0.0.0
no auto-summary
测试L3IGP网络(ping)
show ip route rip
step3:启动BGP,并且立刻指定全局唯一的bgp router-id.
R2(config)#router bgp 123
R2(config-router)#bgp router-id 123.0.0.2
Step4:构建BGP Neighbor
R5-R3 EBGP
R5(config-router)#neighbor 35.0.0.3 remote-as 123
R3(config-router)#neighbor 35.0.0.5 remote-as 150
R3-R2 IBGP:
R3(config-router)#neighbor 23.0.0.2 remote-as 123
R2(config-router)#neighbor 23.0.0.3 remote-as 123
R2-R4 EBGP:
R2(config-router)#neighbor 24.0.0.4 remote-as 140
R4(config-router)#neighbor 24.0.0.2 remote-as 123
Step5:观察BGP邻居建立的过程,及其经历的5个状态:
R4#debug ip bgp 观察BGP邻居建立的过程,及其经历的5个状态:
1-1:Idle:router is searching
1-2:connect:Completed three-way TCP 179 handshake.
1-3:Open sent: Open message sent
1-4:Open confirm:router received agreement
1-5:Established: Peering is established;BGP Routing begins!!
R5#show tcp brief(察看TCP连接的摘要信息)
Local Address           Foreign Address                  (state)                 state/PfxRcd
35.0.0.5.11001          35.0.0.3.179                    ESTAB                          收到的路由条目
R5#show ip bgp summary(察看BGP邻居的简要信息)
BGP router identifier 150.0.0.5,local AS number 150
Neighbor          V                   AS       ***********                  State                            / PfxRcd
35.0.0.3          4                  123       * *    *           (如果邻居已经建立好了,这里必需空白)  / 0(收到的路由条目)
18.0.0.8          4                  100       * *    *                                                                 / 3
0:没有从这个邻居收到BGP路由,但是和这个邻居的BGP邻居关系已经建好了.
3:从这个邻居收到三条BGP路由,同时和这个邻居的BGP邻居关系已经建好了.
Step6:通过 network 命令,宣告BGP路由
BGP Network配置:
R5(config)#router bgp 150
R5(config-router)#network 105.5.0.0 mask 255.255.0.0
                                       (接口所在的网络号) (这个网络的准确路由长度)
network命令的含义:
IGP:
1:激活接口,在这个接口中运行此IGP路由协议.
(IGP,路由协议是向运行的接口发送路由更新)
2:这个路由器的IGP路由协议,正在为此接口所在的网段进行路由.
BGP:
1.这个路由器的BGP路由协议,正在为此BGP网段进行路由.
(BGP,BGP路由协议是向BGP Neighbor发送路由更新.
所以,没有了"激活接口"的含义)
BGP路由器上,检查自己的BGP路由,是否已经成功地宣告到BGP进程中:
R5#show ip bgp (察看BGP,BGP数据库)
     Network                  Next Hop(是指更新源)
*>105.5.0.0/16              0.0.0.0(源自本路由器)
* valid
> best
0.0.0.0 表示下一跳为0
R3#sh ip bgp
      Network            Next Hop                          Metric LocPrf  Weight  Path
*   i104.4.4.0/24     24.0.0.4(源自AS140)                 0       100       0     140 i
*> 105.5.0.0/16     35.0.0.5(源自AS150)                 0                    0     150 i
BGP 属性:
Metric:MED
LocPrf :local preference
Weight
Path: AS Path
Origin codes: i (表示使用Network命令,宣告到BGP中的)
R2#sh ip bgp
   Network          Next Hop            Metric   LocPrf   Weight Path
*> 104.4.4.0/24     24.0.0.4                         0                   0    140 i
*   i105.5.0.0/16     35.0.0.5                         0      100       0    150 i
step7:EBGP邻居的路由优化问题:
BGP路由优化必要条件(注意是必要而不是充分)
1:下一跳问题:
BGP路由的下一跳是其直连路由,
∴不存在下一跳不可达的问题.
(整个AS140中的100个路由器,察看到这条BGP路由的下一跳都是:24.0.0.2)
(整个AS123中的100个路由器,察看到这条BGP路由的下一跳都是:35.0.0.5)
                                                                                         其下一跳保持为相邻的AS的边缘节点(35.0.0.5)
2:同步问题:
对于EBGP邻居,
∵无需遵循同步规则,
∴没有同步问题!!
结论:对于EBGP,只要是从EBGP邻居那里传来的路由,
在不考虑其它BGP属性的情况下,是肯定可以优化的.
注意:只有已经优化了的BGP路由,才能进入IP路由表。
Step8:IBGP路由的优化
BGP路由器,把自己学到的BGP路由,转发给别的BGP邻居的必要条件:(R3)
每个BGP路由器,对于特定的某条BGP路由,
必须是自己已经优化的路由,才具备转发给别的BGP邻居的能力.
注意:
这是必要条件,不是充分条件!!!
这意味着:即使自己已经优化,但此路由器,可能转发,也可能不转发.
察看R3R2发送了哪些BGP路由条目:
R3#show ip bgp neighbors 23.0.0.2 advertised-routes
IBGP路由的必要优化条件:(以下是必要条件,而不是充分条件)
1:下一跳可达
2:路由的同步
8-1:察看R2,R3没有作任何更改前,当前的BGP路由:
注意观察:
1:本路由器R2,是否能够到达这条BGP路由的下一跳?
(R2,观察从R3这个IBGP邻居获得的BGP路由)
R2#show ip bgp
    Network                 Next Hop
* i105.5.0.0/16           35.0.0.5
                          当前下一跳它不可达
解决方案:
R3(config)#router bgp 123
R3(config-router)#neighbor 23.0.0.2 next-hop-self
R3#clear ip bgp *soft out(软清除,避免收敛速度过慢)
R2#show ip bgp
      Network          Next Hop            Metric LocPrf Weight Path
*>i105.5.0.0/16     23.0.0.3                          0    100      0 150 
                 当前的下一跳是可达的,所以是最优的
8-2:同步问题(在新版的IOS里面,默认是关闭同步的)
(本质:R2是否能够通过IGP,得到这条105.1.0.0/16路由)
所谓同步,是指:
如果R2能够通过IGP(RIP),学到这条路由(105.5.0.0/16),那么就同步.
(也就是:满足同步要求).(无论此路由是否本AS或者其他AS)
如果R2不能够通过IGP,学到这条路由(105.5.0.0/16),那就不满足同步,(也就是:不满足同步要求).
BGP路由器,对于从IBGP邻居学到的路由,默认要求同步.
但是,
∵实际上R2是不可能通过IGP,学到另外的一个AS中的路由.
∴只能关闭同步规则,也就是不遵循同步规则.
解决方案:关闭同步规则:
R2#
router bgp 123
no synchronization
Step9:检测各路由器能否通达
EBGP
R3#show ip bgp
          Network                     Next Hop
*>   105.5.0.0/16                35.0.0.5
R3#show ip route
B    105.5.0.0 [20/0] via 35.0.0.5,
IBGP:
R2#show ip bgp
      Network                   Next Hop
*>i105.5.0.0/16                 23.0.0.3
R2#show ip route
B      105.5.0.0 [200/0] via  23.0.0.3


来自为知笔记(Wiz)



转:https://www.cnblogs.com/sanyuanempire/p/6154996.html



推荐阅读
  • 开机自启动的几种方式
    0x01快速自启动目录快速启动目录自启动方式源于Windows中的一个目录,这个目录一般叫启动或者Startup。位于该目录下的PE文件会在开机后进行自启动 ... [详细]
  • 在软件开发过程中,经常需要将多个项目或模块进行集成和调试,尤其是当项目依赖于第三方开源库(如Cordova、CocoaPods)时。本文介绍了如何在Xcode中高效地进行多项目联合调试,分享了一些实用的技巧和最佳实践,帮助开发者解决常见的调试难题,提高开发效率。 ... [详细]
  • 在CentOS上部署和配置FreeSWITCH
    在CentOS系统上部署和配置FreeSWITCH的过程涉及多个步骤。本文详细介绍了从源代码安装FreeSWITCH的方法,包括必要的依赖项安装、编译和配置过程。此外,还提供了常见的配置选项和故障排除技巧,帮助用户顺利完成部署并确保系统的稳定运行。 ... [详细]
  • 通过将常用的外部命令集成到VSCode中,可以提高开发效率。本文介绍如何在VSCode中配置和使用自定义的外部命令,从而简化命令执行过程。 ... [详细]
  • JUC(三):深入解析AQS
    本文详细介绍了Java并发工具包中的核心类AQS(AbstractQueuedSynchronizer),包括其基本概念、数据结构、源码分析及核心方法的实现。 ... [详细]
  • 使用ArcGIS for Java和Flex浏览自定义ArcGIS Server 9.3地图
    本文介绍了如何在Flex应用程序中实现浏览自定义ArcGIS Server 9.3发布的地图。这是一个基本的入门示例,适用于初学者。 ... [详细]
  • 解决Only fullscreen opaque activities can request orientation错误的方法
    本文介绍了在使用PictureSelectorLight第三方框架时遇到的Only fullscreen opaque activities can request orientation错误,并提供了一种有效的解决方案。 ... [详细]
  • Linux CentOS 7 安装PostgreSQL 9.5.17 (源码编译)
    近日需要将PostgreSQL数据库从Windows中迁移到Linux中,LinuxCentOS7安装PostgreSQL9.5.17安装过程特此记录。安装环境&#x ... [详细]
  • 在多线程并发环境中,普通变量的操作往往是线程不安全的。本文通过一个简单的例子,展示了如何使用 AtomicInteger 类及其核心的 CAS 无锁算法来保证线程安全。 ... [详细]
  • 原文网址:https:www.cnblogs.comysoceanp7476379.html目录1、AOP什么?2、需求3、解决办法1:使用静态代理4 ... [详细]
  • 本文详细介绍了 InfluxDB、collectd 和 Grafana 的安装与配置流程。首先,按照启动顺序依次安装并配置 InfluxDB、collectd 和 Grafana。InfluxDB 作为时序数据库,用于存储时间序列数据;collectd 负责数据的采集与传输;Grafana 则用于数据的可视化展示。文中提供了 collectd 的官方文档链接,便于用户参考和进一步了解其配置选项。通过本指南,读者可以轻松搭建一个高效的数据监控系统。 ... [详细]
  • 通过FRP技术实现树莓派的内网穿透及远程桌面启动,适用于经常出差且需要访问高性能设备的用户。对于初创公司或小型团队,此方案能有效降低初期投入成本。将服务器部署在偏远地区如家中,可享受较低的运维费用。具体操作包括设置目标电脑的主板,例如华硕主板可通过按F2或Del键进入BIOS进行高级设置。 ... [详细]
  • 在GitHub上克隆vue-element-admin项目时遇到依赖安装错误
    在 GitHub 上克隆 vue-element-admin 项目后,使用 `npm install` 安装依赖时遇到了未知的 Git 错误。具体错误信息为 `npm ERR! code 128`,提示命令执行失败。这可能是由于网络问题、Git 配置不正确或某些依赖包的仓库地址无效导致的。建议检查网络连接、更新 Git 版本并确保所有依赖项的 URL 正确无误。 ... [详细]
  • 负载均衡基础概念与技术解析
    随着互联网应用的不断扩展,用户流量激增,业务复杂度显著提升,单一服务器已难以应对日益增长的负载需求。负载均衡技术应运而生,通过将请求合理分配到多个服务器,有效提高系统的可用性和响应速度。本文将深入探讨负载均衡的基本概念和技术原理,分析其在现代互联网架构中的重要性及应用场景。 ... [详细]
  • 深入解析OSI七层架构与TCP/IP协议体系
    本文详细探讨了OSI七层模型(Open System Interconnection,开放系统互连)及其与TCP/IP协议体系的关系。OSI模型将网络通信过程划分为七个层次,每个层次负责不同的功能,从物理层到应用层逐步实现数据传输和处理。通过对比分析,本文揭示了OSI模型与TCP/IP协议在结构和功能上的异同,为理解现代网络通信提供了全面的视角。 ... [详细]
author-avatar
霍任芳
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有