第五单元-内部路由
一、Routing
路由是使用routing protocol在routed protocol数据的源点和终点之间确定传输路径的过程
路由器相互交换路由消息以推断到其他逻辑网络的路径
路由协议的确定是互联网络设计中的一部分
路由信息的来源:Neighbour/Peer、Announce、Accept、Originate
路由测度:通路长度、可信度、时延、带宽、负载
路由算法的基本要求:优化路径选择、开销小、快速收敛、可扩展性好、易配置
静态路由:路由表由管理员静态地手工维护,动态路由:通过一个内部或外部路由协议来获取和交换路由信息 缺省路由:作为最后手段的路由。0.0.0.0/0
单通路/多通路:对一个终点只确定一条路由的算法称为单通路算法,否则称为多通路算法。
平坦型/层次型:平坦型算法中所有路由器都处于平等地位、层次型算法中区分域(domain)、区(area)、自治系统等概念
域内型/域间型:域内型算法在一个路由域内进行路由选择,域间型算法在路由域之间进行网络可达性信息交换和路由选择
链路状态/距离向量:链路状态算法又称为最短路径优先算法,距离向量算法又称为 Bellman-Ford算法
二、Routing Information Protocol(RIP)
RIP:距离向量协议(Bellman-Ford协议) 路由扩散方式:距离向量协议要求网内各个节点向自己所有的邻接点广播它对网内其它节点的可达性。最短路径原则:各节点根据最短路径原则(即跳数最少)选择自己到网内其它节点的路由
收敛过程:在整个网络刚刚启动时,各节点的路由表均为空,需要经过一段时间的广播扩散,才能建立起各节点的路由表,这个过程称为收敛过程。
路由不对称性:由于各节点是自发进行广播的,路由表的建立有一定的随机性,取决于收到广播的次序。
路由表的维护:若该路由信息是来自这个邻接点,距离变大,表明原来通路上的某个节点出了问题,需要绕道。若该路由信息不是来自这个邻接点,若收到的节点距离大于等于自己路由表中该点的原有距离,则路由表中有关该点的信息不变。
当网络发生故障使某个链路中断时,这个链路两端所连接的两个节点要将经由该链路的路由距离置为无穷大
RIP的定期路由广播会在网络中产生同步效应,即在网络中产生周期性的流量高峰,因为大家的时钟基本一致,广播周期也相同。
慢收敛问题的解决:节点在向邻接点广播路由时,略去从该节点获悉的路由、触发更新、毒性逆转、抑制机制
新问题:广播雪崩
Open Shortest Path First:OSPF基于Dijkstra的最短路径算法
OSPF是一种基于链路状态的路由协议,它要求各结点发送自己的链路状态LSA)到同一层次区域(area)的所有其它结点。LSA中包括各结点的邻接情况,所使用的测度值等,这样区内各结点便可同步了解全区域的拓扑情况,并以此来计算到区内各结点的最短路径。
使用IP报文承载OSPF协议路由信息
层次式OSPF:由一组IP子网构成一个区域,所有区域通过(必须存在的)主干网互联,形成逻辑拓扑
区内路由器向ABR报告路由,ABR从/向主干网广播路由摘要,BR从/向AS通告路由摘要
虚拟链接:逻辑上要求所有区域必须与区域0直连,虚拟链接的两个端点是区域边界路由器
OSPF的路由类型:域内路由、域间路由、外部路由
链路状态方法优点:收敛性、多测度、多通路、支持外部路由、支持分层结构
链路状态数据库:一个区域内的OSPF路由器共享同一个链路状态数据库
链路状态主要有五种类型:路由器链路状态、网络链路状态、 IP网的摘要状态、边界路由器的摘要状态和外部链路状态
Advertising router是负责广播某状态记录的路由器
链路状态的报头格式:链路状态记录的格式有四种,但它们具有相同的报头格式
路由器链路记录(RLA)描述所有从该路由器出发的链路状态,在该路由器所属的区域内广播
网络链路状态:网络链路记录(NLA)在广播网段内使用,描述本广播链路中有哪些路由器,由指定路由器负责广播。链路状态标识符为对应的 OSPF标识符
摘要链路状态:SLA在AS内使用。当ABR完成它所属一个区域中的区域内路由计算之后,将本区域内的每一条OSPF路由封装成Network Summary LSA 发送给到本AS中所有其他区域的ABR。
外部链路状态:AS外部链路记录描述去往AS外某个终点网络的路由,链路状态标识符为那个外部网络的网络地址,而网络掩码用于导出实际的网络地址。
OSPF协议支持OSPF路由器之间的交互,它直接运行于IP协议之上,由Hello、交换(exchange)、和广播(flooding)等三个规程组成。
Hello规程:发现新链路并检查现有链路是否还在正常工作
交换规程:两个路由器在建立了相邻关系之后要交换彼此的链路状态数据库
检查并更新数据库、具体路由的交换
广播规程:当链路状态发生变化,负责该链路的路由器要将新的状态广播给其它路由器,同样当收到链路状态请求报文时,对应的路由器也要将这个链路的状态记录传送给询问者。
OSPF特征总结:
基于真实度量的最短路径路由,而不仅仅是跳数、允许跨相等路径的路由,执行负载均衡、支持服务类型(TOS)路由、允许注入外部路由(来自其他自治系统的路由)、认证路线交换、快速收敛
现网存在的问题:基于目的地址的转发机制,不能基于每个源端的需求、不能动态满足源对特定应用的带宽和延时需求、所有的信令是逐跳产生和传递的、在任一链路拥塞时,不能自动地调控流量路径、要提供guaranteed bandwidth、不能分辨应用与网络流量行为的联系
解决方法:SDN + 段路由(一种替代LDP和RSVP协议实现标记分配的方法)
工作原理:通过Segment表示网络前缀(每一个节点都会分配全局唯一的节点段Nodal Segment,并通过IGP协议通告其他节点、邻居段Adjacency Segment仅在本地有效,用于表示相邻的特定SR节点、Nodal Segment与Global地址联系,Adjacency Segment可以任意,例如与Link-local地址联系。)
四、Ad Hoc Routing
MANET:移动Ad hoc网络/多跳无线网络(是一个多跳、临时、无中心网络,不需要现有信息基础网络设施的支持,可以在任何时候、任何地点快速构建)网络中每个终端都带有无线通信收发装置可以自由移动、地位相等、有限的无线传输带宽,且存在单向的无线信道
MANET的关键问题:路由协议、服务质量、功率控制、安全问题、节点会移动、能量限制、信息不齐
MANET路由的基本方法:根据决策时间、根据网络结构
移动自组网工作组给了四个MANET路由协议建议(Ad-hoc按需距离矢量、动态源路由协议(DSR)、优化链路状态路由(OLSR)、基于反向路径转发(TBRPF)协议)
OLSR:基于链路状态算法的逐跳Proactive (table-driven)路由协议、节点仅向处于其multipoint relay selector set的邻接点通告状态信息,同时只通过multipoint relay节点在网络中发送数据、定期进行路由更新
Multipoint Relays:网络中每个节点N都选择一组邻近节点MPR(N)作为其 multipoint relays, 用于转发来自N的控制报文
节点M的multipoint relay selector set, MS(M), 包含M被选择作为multipoint relay的节点
HELLO Messages:各个节点定期通过双向链路向一跳邻接点广播HELLO报文(通告邻接点)来确定MPR,通过接收HELLO广播,节点可以建立其邻接表NBR,并基于它来发现所有的两跳邻接点和确定(尽可能)最优的MPR,使用一个单调递增的顺序号来控制MPR的版本
随后的HELLO报文向邻接点通告该节点的 MPR
当发现一跳或两跳邻接点关系发生变化时要重新确定MPR
TC Messages:节点使用Topology Control (TC)报文来发送网络的拓扑信息、节点只为其MS集合中的邻接点产生TC报文、节点处理所有收到的TC报文,但只向其MS集合成员转发TC报文
AODV:Ad hoc On-demand Distance Vector是基于广播路由发现机制的逐跳Reactive路由协议,使用本地HELLO报文来确定本地的连通性,使用顺序号来控制路由表的版本,每个节点维护两个计数器
AODV Route Request:当节点需要向一个不存在路由的节点发送数据时,首先向其发送路由请求(RREQ)报文、Sequence numbers、接收者使用(source_addr, broadcast_id)唯一标识一个路由请求、每个邻接点收到RREQ后
AODV Route Reply: 节点仅向发送所接受的RREQ的邻接点单播RREP报文,沿途的中间节点根据缓存的反向路由项向源点转发RREP报文,同时丢弃收到的重复RREP,若RREP返回源点,则路由建立;否则缓存的反向路由项将在超时后丢弃
AODV的路由维护:路由的变化可由下列现象检测,故障点的上行节点要广播一个路由差错(RERR)报文,其中宿顺序号递增,源点(或原路径中的其他节点)可通过发送 RREQ报文来重建到宿点的路由
Hierarchical Algorithms:考虑网络的工作效率和能量消耗控制,MANET通过簇的定义来使网络结构层次化、每个簇均有一个簇头节点起边界路由器的作用、相关算法(簇划分算法:簇的动态构造、簇头标识算法:选举簇头、簇间路由算法)