内部路由协议和外部路由协议
根据路由协议工作的范围可以将动态路由协议划分为内部路由协议和外部路由协议。实际上,前面介绍的距离向量路由协议和链路状态协议均属于内部路由协议,它们工作在一个自治系统(Autonomous System,简称AS。一个自治系统通常是指一个网络管理区域,在这个区域内整个网络受到一个机构的管理,比如某个大学的校园网可以被称作一个自治区域)内部,而外部路由协议则是工作在自治系统之间的路由协议,在自治系统之间进行路由信息的相互交换,实现路由表的动态更新。普遍使用的外部路由协议有部网关协议和边界网关协议。
1.外部网关协议
外部网关协议(Exterior Gateway Protocol,简称EGP)是长期以来较为著名的外部路由协议,它在RFC 904中描述。外部网关协议用于外部网关之间交换路由信息,这些外部网关不在同一个自治系统之内。EGP假定在两个任意AS之间只有单一的主干,因此也只存在单一的路径,因此EGP限制了网络的规模,在真正的网络运用中,EGP己经逐渐被边界网关协议所替代。
EGP以周期性地轮询为基础,在轮询时进行Hello/I Hear You消息交换以监测邻居路由器的可达性,并发出轮询请求以征求更新应答。EGP对外网关进行限制,它要求它们只能通告在该网关自治系统内的可达网络。因此,一个使用EGP的网关传送信息给它的EGP邻居,但是并不向它的EGP邻居(如果网关交换路由信息,它们就是邻居)通告自治系统这外的可达信息。在一个自治系统内部,由EGP网关负责收集自治系统内部的路由信息。
2.边界网关协议
边界网关协议(Border Gateway Protocol,简称BGP)是一个用于多个自治系统之间交换网络可达信息的外部路由协议,RFC 1771文档中对目前使用的第4版BGP协议(简称为BGP-4)进行了全面的描述。每个BGP路由器向其邻居BGP路由器通告自己掌握的网络可达信息,这些网络可达信息将被BGP路由器用于构建无回路的AS连通图,同时还会运用一些路由策略。
BGP协议实质上是一种距离向量路由选择协议,但它和传统的距离向量协议(如RIP等协议)有所不同,在BGP协议中只有单一的度量,在存在多条到相同目的网络的路由信息时将采用优先级来决定采用其中的哪一条路由信息。
BGP协议以CIDR为基础,支持路由信息的汇聚和简化,可以将多条路由汇总为一条单一路由的方法,大大减少了BGP 路由器需要存储和交换的路由信息。
BGP协议实际实现时采用了TCP协议作为传输机制,BGP协议数据单元包含在TCP数据包中,BGP路由采用179号TCP端口进行相互连接。BGP协议包含了四个主要阶段:
●建立并确认与邻居路由器的BGP连接。
●维持该BGP连接。
●传送网络可达信息。
●通告错误状态。