BGP边界网关协议相关内容

BGP---边界网关协议
    AS---自治系统 ---由单一机构组织管理的一系列IP网络及其设备的集合。
    原因:1网络范围太大,协议跑不过来,需要划分。
        2自治管理
    为了区分不同的AS,我们给每个自治系统设计一个编号----AS号----16位二进制构成---0-65535 ;0和65535保留,取值范围1-65534;将64512-65523为私有AS、号。---因为传统的AS号存在不够用的问题,目前也存在拓展版的AS号---32位构成--目前绝大多数设备支持拓展版的AS号。
    
    
    没有BGP协议的情况下,仅使用重发布技术也可以实现AS之间的路由信息的共享。但是之所以不采取这种方案1,重发布本身存在缺陷---种子度量值问题2,ASBR的归属问题
    BGP之间传递路由信息方式一定是和RIP类似,传递路由条目信息来实现。不使用拓扑信息是因为,1,拓扑信息资源占用量太大,而BGP需要传递的信息量是巨大的。2,传递拓扑信息将暴露AS内部的拓扑连接情况。
    BGP----无类别的路经矢量型协议
        距离矢量 ----在距离矢量型协议中,距离是开销的体现,将跳数作为开销值的评判标准。将一个路由器看作一个单位距离。
            距离矢量是算法的一个概念
        
        路径矢量 ---是将一个AS看作一个整体。
        IGP ---选路佳,传递快,占用资源少。
        
        BGP协议的关注点
            1,可控性----AS之间需要大量的路由信息的传递,可以方便的干涉选路,更容易做出路由策略。
            
            因为BGP协议需要传递大量的路由信息所有没有周期更新机制,BGP仅存在触发更新。
            2,可靠性---保证数据传输的可靠性。BGP为了保证传输的可靠性其传输层采用TCP并用179号端口进行工作。
                IGP协议不选择TCP的原因:
                    1.TCP传输效率低
                    2,TCP传输占用资源大
                    3,TCP协议实现单播,所有无法通过组播和广播的形式发送,邻居关系的建立只有手工指定。
        BGP因为传输层使用的是TCP协议---BGP支持非直连建邻(网络可达)---BGP的非直连建立在IGP(静态)之上
        在BGP中,我们将邻居关系称为对等体关系。
        EBGP对等体关系--如果建立对等体的两台路由器位于不同的AS中。
        IBGP对等体关系--如果建立对等体的两台路由器位于同的AS中。
        因为,EBGP对等体之间使用直连建邻,EBGP对等体之间发送的ttl值设置为1.
        如果遇到EBGP之间需要进行非直连建邻则需手工设置TTL值,AS内部的IBGP
        一般都是非直连建邻TTL值设置为255.
        3,AS-BY-AS
            BGP协议不支持负载均衡,---BGP当中,如果到达同一个目标网段存在多条路经可以走时BGP会选择一条最优路劲,不会负载均衡。
1,BGP的数据包----可靠性均由TCP协议来保证。所以BGP数据包均基于TCP建立的会话通道发送。
                在BGP发现邻居关系的的过程由人手工指定
                open包 ---建立BGP对等体关系。 ----邻居关系的建立无非就是参数协商的过程,在邻居关系的建立过程需要通过open包携带参数进行比对协商。
            AS号 ---在建邻的过程指定邻居所在的AS号,这个参数将被携带在OPen报文中发送给对方,对方将比对这个AS号和本地所在的AS是否一致。
            认证--BGP建邻可以做认证并携带认证口令,比对认证口令之后才可以建邻
            Route-id--区分和标定路由器,32位二进制构成,按照IP地址的格式指定来表示。---1,手工配置;2,自动获取。由接收方检查RID,如果于自己本地的RID不同可以建邻。
            手工建邻指定的IP地址必须和收到的open包中源IP地址相同才可以建邻。
                Holdtime ---保活时间 ---默认时间为180s,在保活时间内,没有收到keeplive包或者uodate包将断开BGP邻居关系 双方不一致不会影响邻居关系的建立,时间采取双方之间较小的来使用。
    路由器是否支持刷新功能也将成为open报文的协商参数。
                keeplive包  ----周期保活----周期发送时间等于保活时间的三分之一为60秒。在open报文协商参数是临时充当确认包的作用。
                update包  ----更新包---携带需要传递的路由信息的数据包。主要携带表示一条路由条目信息,需要携带的参数主要就是目标网络号和子网掩码以及路经属性。
    在更新包中存在一个撤销路由条目字段,在这个字段下的路由条目将需要对端删除,而不要通过带毒传输的方式来表达。
                notification包---BGP中的设计的一个警告机制
                route-refresh包 ----用来改变路由策略发生变更后请求对等体重新发送路由信息。(前提条件是双方均支持路由刷新功能。

2,BGP的状态机
    BGP的状态机描述的是BGP对等体建立过程中状态的变化。
    NGP状态机----6种
    

        
        LDLE--空闲状态---路由器启动BGP进程之后,将先处于idle状态。当你手工指定邻居关系后,BGP进入到一个检查环节,检查指定的IP地址在本地路由表种是否可达,如果可达,将进入到下一个状态----connect。
        Connect ---连接状态,完成TCP会话的建立。
            tcp会话建立成功进入opensent发送open报文,建立失败进入active状态尝试建立TCP会话。在建立TCP会话的过程中双方都会建立会话,双方将通过RID比较并使用RID大的设备发起的TCP会话。
        OpenSent --- 发出本地的open报文。
        Opencomfirm ---open报文确认状态---对端已收到本地发送的open报文,之后根据里面的参数进行确认,如果确认无误将发送keeplive报文。
        Established ----建立状态---标准着BGP对等体关系的建立。


3,BGP的工作过程
    1,基于IGP协议实现IP可达
    2,指定邻居关系,通过三次握手建立TCP的会话通道,进行数据包的传递
    3,使用open和leeplive、报文进行邻居关系的建立。之后将邻居关系收集到一张表中---邻居表。
    4,通过upadte报文传递路由信息。(目标网络号,掩码信息,以及各种路径属性)并将发出或收到路由信息记录到---BGP表中。
    5,将BGP表中最优路劲加载到路由表中
    6,收敛完成后,BGP将周期使用keeplive报文进行保活,默认时间认为180s,周期发送时间默认为保活的三分之一,即60s。
    7,若出现错误信息,将使用notification进行警告。
    8,若发送结构突变,则将使用update报文进行触发更新。
4,BGP的路由黑洞


    1,在R3上将BGP协议的路由信息发布到IGP中
    2,直接在R4上运行BGP
    3,MPLS 

    为了避免路由黑洞的情况产生,BGP提出了同步机制---
5,BGP的防环
    1,水平分割
        EBGP的水平分割----一种专门运用在EBGP对等体之间可能出现的环路问题
        BGP协议将在路由条目中记录所经过的AS编号-----AS_PATH----记录AS路径的属性---接收的BGP路由条目中,其中AS_PATH的属性中,若存在本地的AS号则将被拒绝。
        IBGP的水平分割----一种专门运用在IBGP对等体之间可能出现的环路问题


           IBGP水平分割---当一个路由器从一个IBGP对等体处学习到某条BGP路由时,他将不能在将这条路由信息通告给其他的IBGP对等体关系。 

        1,构建全连的IBGP对等体关系--弊端:1,全连建邻会导致资源消耗的曾加;2,可能会导致网络的可拓展性下降。
            2,路由放射器
            3,联邦
4,BGP的基本配置


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部