zoukankan      html  css  js  c++  java
  • BGP 初探

    BGP的出现

    最早的路由协议 GGP(Gateway-to-Gateway Protocol)

    IGP(Interior Gateway Protocol) 是在一个自治系统(AS)内网关之间交换路由信息的协议,包括RIP、OSPF、IS-IS、IGRP、EIGRP。而GGP是第一个内部网关协议。随着网络规模的扩大,GGP逐渐被淘汰。

    RIP-》OSPF、ISIS

    IGRP 和 EIGRP是CISCO私有的协议

    EGP(Exterior Gateway Protocol)外部网关协议,实在不同的自治系统之间传递路由信息。EGP 最早见于RFC827。

    EGP的缺点:

    1. 不做路由优选

    2. 不能避免环路

    (欢迎补充)...

    BGP(Border Gateway Protocol)最早见于1989年发布的RFC1105。

    BGP的优势:

    1.解决环路问题

    2.路由收敛

    3.触发更新

    ...

    BGP的发展

    TCP 作为传输层协议,保证可靠传输,端口号179。

    BGP建立在两个AS之间,不能通过自动发现,需要手动配置邻居,建立TCP连接。

    EBGP(external BGP) 与AS外部节点建立的BGP关系

    IBGP(Internal BGP) AS内部节点建立的BGP关系

    AS号解决AS之间的环路问题,如果某个路由信息携带了自己的AS号,说明这个路由是已知路由,不再处理。如果AS号重复,说明出现了环路。

    那么问题来了,在同一个AS内,AS号是不变的,如何防止环路呢?

    方法1:

    规定从IBGP邻居学到的路由不会传递给另一个IBGP邻居,那么就需要AS内部所有的路由器都要两两建立IBGP关系,这样就有弊端如果AS足够大的话,对于每个路由器要和所有的AS内路由器建连接负荷会很大。

    针对以上的弊端,衍生出路由反射器(Route Reflector)和BGP 联盟,见 RFC1966 和 RFC1965

    方法2:

    路由反射器是在AS内指定一个节点作为反射器,所有的其他节点与反射器建立IBGP连接,反射器作为中间节点,在其他任何两个IBGP间传递路由。

    方法3:

    BGP联盟是在AS内做重新规划,把一个大的AS分为多个小的私有的AS。

    从BGPv2(RFC1163)开始,BGP消息种类分为4种:

    OPEN:建立TCP连接后,用OPEN消息出发BGP关系建立过程;

    UPDATE:进行路由的发布和撤销;

    NOTIFICATION:通告出现的错误;

    KEEPALIVE:保活BGP关系。

    BGP状态机 6 种,后续介绍。

    BGPv2一个重要的概念 BGP路径属性,分为4种,公认必遵属性、公认可选属性、可选可传递属性、可选不传递属性。

    公认必遵属性:必须在发布路由时携带,描述所发布路由的基本信息,包括:下一跳、AS_PATH和ORIGIN。下一跳用于路由计算,AS_PATH用于环路避免,ORIGIN用于路由选择。

    公认可选属性:这些属性必须被所有的BGP路由器所识别,携带与否是可以选择的

    可选可传递属性:后期详述

    可选不传递属性:后期详述

    BGP的扩展

    BGP联盟RFC1965 最新为RFC5065

    路由反射器RFC1966最新为RFC4456

  • 相关阅读:
    【转】 url中文乱码问题
    [转]Jquery 点击图片在弹出层显示大图
    JQuery获取和设置Select选项的常用方法总结
    springMVC框架下返回json格式的对象,list,map
    sqlserver数据库 表中字段值有空格,如何去除空格(例如char (5) 存入数据不足5位时sqlserver会自动补空格)
    jquery Jbox 插件实现弹出窗口在修改的数据之后,关闭弹出窗口刷新父页面的问题
    sqlserver 2008 r2 直接下载地址,可用迅雷下载
    web服务器与tomcat
    xml入门与解析
    jdbc框架-dbutils的简单使用
  • 原文地址:https://www.cnblogs.com/r-yan/p/13713198.html
Copyright © 2011-2022 走看看