zoukankan      html  css  js  c++  java
  • BGP进程工作步骤

    BGP进程
    输入输出进程(BGP I/O):它为TCP和BGP之间提供了一个接口。(1)它从TCP套接字(socket)中读取消息,并把它们放到BGP输入队列,以便被BGP Router进程操作;(2)积聚在输出中的消息也被BGP I/O进程到TCP套接字中
    路由器(BGP Router):这是BGP的主进程,它负责初始化其他的BGP进程,维护与邻居的BGP会话
    扫描仪(BGP Scanner):主要功能是BGP的内部管理BGP Scanner进程对BGP RIB执行周期性的扫描,以确定是否应该删除前缀和属性,以及是否应该属性路由映射或者过滤缓存。比如前缀的下一跳可达性,通常是60s执行一次扫描


    BGP路由器进程详细工作步骤

    *默认情况下一个路由条目在发送给邻居的同时,在内存中要保存上述四份路由条目,所以BGP消耗内存较大

    r2(config-router-af)#neighbor 12.1.1.1 soft-reconfiguration inbound
    加上该命令即使路由被过滤,但是BGP进程仍然保留着被过滤条目

    BGP路由决策
    BGP的RIB包括三部分:
    Adj-RIBs-In:存储了从对等体学习到的路由里新的还未经处理的路由信息,这些包含在Adj-RIBs-In中的路由被认为是可行路由。
    Local-RIB:包含了BGP发言者对Adj-RIBs-In中的路由应用本地策略之后选定的路由
    Adj-RIBs-Out:包含了BGP发言者向对等体宣告路由。
    BGP有三个部分既可以是3个不同的数据库,也可以是利用指针来区分不同部分的单一数据库。BGP路由决策通过对Adj-RIBs-In中的路由应用本地路由策略,且向Loc-RIB 和Adj-RIBs-Out中输入选定或修改的路由进行路由选择。其有三个阶段。
    第一阶段:计算每条可行路由的优先级
    第二阶段:从所有可用路由中为特定目的地选出最佳路由,并将其安装到Loc-RIB中。
    第三阶段:将相应的路由加入到Adj-RIBs-Out中,以便向对等体进行宣告。

    BGP能力协商(BGP是应用层协议)
    BGP能力协商是Open报文选项中需要协商的东西:AS,router-ID,holdtime,Capability negotiation
    能力代码1:多协议扩展
    能力代码2:路由刷新 clear ip bgp * in   | clear ip bgp * soft in or out | clear ip bgp *
    能力代码64:优雅重启动(Graceful-Restart)NSF
    {
    neighbor {ip-address | peer-group-name} soft-reconfiguration inbound
    优雅重启动,用于在BGP策略更改后,例如distribute-list route-map等,默认情况下需要重新启动BGP会话
    使用此条命令后将不需要重启BGP会话,soft-reconfiguration将不管入站策略,将邻居的update存放到内存中,
    因此inbound将消耗很多内存,而outboound 由于不消耗内存,所以是默认打开的
    }
    能力代码128:路由刷新的旧版本
    能力代码130:出站路由过滤(ORF)

    BGP单播能力(默认)
    no bgp default ipv4-unicast 关闭自动建立IPv4邻居
    router bgp 5
     address-family ipv4   进入IPv4地址家族
     nei 45.1.1.5 activate   激活邻居

    Router#debug ip bgp(可以通过该命令来查看Hello信息)

    ORF(出向的路由过滤 / Outbound Route Filter)的协商
    能够将本地的入向过滤推向对端作出向过滤(能够使得R2协商该能力,使R1不再发送R2不接受的路由条目,节省硬件资源)
    r2(config)#ip prefix-list FR1 permit 1.1.1.0/24
    r2(config-router)#nei 12.1.1.1 prefix-list FR1 in
    r2(config-router-af)#nei 12.1.1.1 capability orf prefix-list both

    r1(config-router)#nei 12.1.1.2 capability orf prefix-list both

    r1#show ip bg nei 2.2.2.2 advertised-routes                                    
    BGP table version is 4, local router ID is 1.1.1.1                             
    Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
                  r RIB-failure, S Stale                                           
    Origin codes: i - IGP, e - EGP, ? - incomplete                                 
                                                                                   
    Originating default network 0.0.0.0                                            
                                                                                   
       Network          Next Hop            Metric LocPrf Weight Path              
                                                                                   
    Total number of prefixes 0                                                     

    BGP中的“火星地址”
    ip prefix-list MARTIAN seq 5 deny 0.0.0.0/8
    ip prefix-list MARTIAN seq 10 deny 10.0.0.0/8
    ip prefix-list MARTIAN seq 15 deny 127.0.0.0/8
    ip prefix-list MARTIAN seq 20 deny 168.254.0.0/16
    ip prefix-list MARTIAN seq 25 deny 172.16.0.0/12
    ip prefix-list MARTIAN seq 30 deny 192.0.2.0/24
    ip prefix-list MARTIAN seq 35 deny 224.0.0.0/4
    ip prefix-list MARTIAN seq 40 deny 224.0.0.0/4
    ip prefix-list MARTIAN seq 45 deny 240.0.0.0/0


    *BGP快速外部切断特性不能工作在eBGP多跳的情况下,并且对等体地址必须和物理接口地址相同
    ip bgp fast-external-fallover [permit | deny]
    bgp fast-external-fallover


    BGP收敛调整
    1,有关TCP的考虑
    主要有两个参数影响TCP性能,最大分段尺寸MSS和TCP窗口大小
    A>MSS
    一个Session 的MSS会在初始化的时候确定,Cisco默认值按RFC971定为536,可以按照MTU1500将其修改为1460(20byte IP header,20byte TCP header),减少报文ACK的数量
    B>窗口大小
    TCP窗口大小用来控制TCP数据报发送速度的一种机制,后文队列优化将详细讲 如何调整窗口大小
    C>路径MTU发现
    对于一个路由器可以通过PMTUD自动发现路径上的MTU,对于一个环状网络,若所有接口为POS口,则MTU为4470,如果其中加入一段FastEthernet链路,则MTU降为1500将严重影响性能,不过GigabyteEthernet中有了Jumbo Frame的概念来消除MTU影响


     

  • 相关阅读:
    统计插件无效问题
    Hearthbuddy跳过ConfigurationWindow窗口
    炉石兄弟更新修复记录(至2021年5月)
    HearthbuddyHelper已经开源
    2020年8月28日
    交易机制的实现
    Silverfish重构【2】-限制惩罚为某一behavior特有
    Silverfish重构【1】-发现卡牌的函数
    99-Flagstone Walk
    Behavior控场模式的解析(下)
  • 原文地址:https://www.cnblogs.com/cyrusxx/p/12824203.html
Copyright © 2011-2022 走看看