路由技术

来源:互联网 发布:正在启动windows 卡住 编辑:程序博客网 时间:2024/05/16 19:31

路由技术

指路由选择算法
分为1、静态路由选择算法 2、动态路由选择算法

因特网特点:
1、动态
2、分布式路由选择协议
3、分层次,分为自治系统内部和自治系统外部路由选择协议

因特网的路由选择协议划分为两大类:
1、内部网关协议(IGP,具体的协议有RIP和OSPF等)
2、外部网关协议(EGP,目前使用最多的是BGP)。


算法

  1. 静态算法
    即非自适应路由选择算法
    (1)简单
    (2)开销小
    (3)小型互联网中易配置
    (4)扩展性差

  2. 动态算法
    即自适应路由选择算法
    (1)复杂
    (2)开销大
    (3)响应快
    (4)易扩展

选择协议

  1. 自治域Autonomous Routing Domains(AS)
    全球的互联网被分成很多个AS 自治域,每个自治域有自己的AS号码,AS号码是有限的,最大数目是66536。(AS指的是在统一技术管理下的一系列路由器)
    注:BGP(边界网关协议)协议主要用于互联网AS(自治系统)之间的互联,BGP的最主要功能在于控制路由的传播和选择最好的路由
  2. 自制系统Autonomous Systems (ASes)
    自制系统是已经分配了自治系统号ASN的自治路由域.

The Gang of Four

BGP

  1. BGP Neighbor Relationships
    (1)外部边界网关协议EBGP(External Neighbor):不同的AS中交换信息
    (2)内部边界网关协议IBGP(Internal Neighbor ):相同的AS中向内部路由器提供更多信息
    (3)区别

    1.路由环路的避免措施不一样,IBGP强制规定ibgp speaker不允许把从一个IBGP邻居学习到的前缀传递给其它IBGP邻居,因此IBGP要求逻辑全连接。EBGP没有这样的要求,EBGP对路由环路的避免是通过AS_PATH属性来实现的。
    2.使用的BGP属性不同,例如IBGP可以传递LOCAL_PREF(本地优先属性),而EBGP不行。
    3.IBGP有同步的要求,而EBGP没有同步的要求
    4.IBGP不需要IBGP邻居之间有物理连接,只需要逻辑连接即可,而EBGP下一般情况下都要求EBGP邻居之间存在物理连接。

  2. BGP路由表是独立于IGP路由表的,但是这两个表之间可以进行信息的交换,也就是“再分布”技术(Redistribution)。信息的交换有两个方向:从BGP注入IGP,以及从IGP注入BGP。
  3. BGP将传输控制协议(TCP)用作其传输协议,使用端口号179。
  4. BGP采用手工静态配置方式,只要双方指定地址路由可达,就可以建立邻居。
    BGP建立邻居采用有限状态机,共有6种状态。

    1、Idle BGP协议初始时是处于Idle状态。在这个状态时,系统不分配任何资源,也拒绝所有进入的BGP连接。只有收到Start
    Event时,才分配BGP资源,启动ConnectRetry计时器,启动对其它BGP对等体的传输层连接,同时也侦听是否有来自其它对等体的连接请求。
    2、Connect
    这个状态下,BGP等待TCP完成连接。若连接成功,本地清空ConnectRetry计时器,并向对等体发送OPEN报文,然后状态改变为OpenSent状态;否则,本地重置ConnectRetry计时器,侦听是否有对等体启动连接,并移至Active状态。
    3、Active
    这个状态下,BGP初始化TCP连接来获得一个对等体。如果连接成功,本地清空ConnectRetry计时器,并向对等体发送OPEN报文,并转至OpenSent状态。
    4、OpenSent
    这个状态下,BGP等待对等体的OPEN报文。收到报文后对报文进行检查,如果发现错误,本地发送NOTIFICATION报文给对等体,并改变状态为IDLE。如果报文正确,BGP发送KEEPALIVE报文,并转至OpenConfirm状态。
    5、OpenConfirm
    这个状态下,BGP等待KEEPALIVE或NOTIFICATION报文。如果收到KEEPALIVE报文,则进入Established状态,如果收到NOTIFICATION报文,则变为Idle状态。
    6、Established 这个状态下,
    BGP可以和其他对等体交换UPDATE,NOTIFICATION,KEEPALIVE报文。如果收到了正确的UPDATE或KEEPALIVE报文,就认为对端处于正常运行状态,本地重置Hold
    Timer。如果收到NOTIFICATION报文,本地转到Idle状态。如果收到错误的UPDATE报文,本地发送NOTIFICATION报文通知对端,并改变本地状态为Idle。如果收到了TCP拆链通知,本地关闭BGP连接,并回到Idle状态。

    BGP的有限状态机

  5. . BGP的三张表
    (1) 邻居关系表
    所有BGP邻居
    (2)转发数据库
    记录每个邻居的网络
    包含多条路径去往同一目的地,通过不同属性判断最好路径
    数据库包括BGP属性
    (3)路由表
    最佳路径放入路由表中
    EBGP路由(从外部AS获悉的BGP路由)的管理距离为20
    IBGP路由(从AS系统获悉的路由)管理距离为200

  6. 对BGP来说,需要做到以下几点:
    (1) 能够支持从各类IGP(包括直连路由)引入路由信息
    (2) 能够从这些数据中决策出最优路由
    (3)不论从哪类IGP引入,将最优路由对外发布时,采用统一的格式
    所以BGP需要包括IP前缀、掩码和下一跳的路由最简描述。
  7. BGP采用手工静态配置方式,只要双方指定地址路由可达,就可以建立邻居。
  8. .参考引用侵权删
    (1) 网络大爬虫BGP专题
    (2)BGP路由协议详解