TCPIP原理与应用第7章IP路由.ppt
《TCPIP原理与应用第7章IP路由.ppt》由会员分享,可在线阅读,更多相关《TCPIP原理与应用第7章IP路由.ppt(83页珍藏版)》请在装配图网上搜索。
第7章IP路由 路由又称为路由选择 是为数据寻找一条从信源到信宿的最佳或较佳路径的过程 进行路由选择的依据是网络的拓扑结构 网络的拓扑结构通过一个称为路由表的数据结构加以体现 路由选择围绕路由表进行 由于网络结构的复杂性和动态性 使得IP路由涉及网络结构的抽象描述 路由表的结构 路由表的建立和刷新以及根据路由表决定下一跳路由器等问题 第7章IP路由 7 1直接传递与间接传递7 2IP路由7 3路由表 7 4静态路由7 5动态路由 7 1直接传递与间接传递 数据分组在向信宿传递时分为 直接传递是指直接传到最终信宿的传输过程 间接传递是指在信源和信宿位于不同物理网络时 所经过的一些中间传递过程 数据传递由一个直接传递和零到多个间接传递所组成 返回 7 2IP路由 当从网络上的一台主机向另一台主机发送信息时 必须知道去往目的地的路径 信息往往要穿过多个网络 路由选择困难 因特网采用无规律的拓扑结构网络的结构处于不断的变化之中IP路由与网络拓扑结构密切相关 要有描述网络结构的方法TCP IP将网络结构进行抽象 用点表示路由器 用线表示网络 路由选择基于抽象结构进行 通过路由选择找到一条通往信宿的最佳路径 路由选择在主机和路由器上完成TCP IP采用表驱动的方式进行路由选择在每台主机和路由器中都有一个反映网络拓扑结构的路由表单个路由表只反映局部的拓扑信息所有路由表的集合反映整体拓扑结构主机和路由器能够根据路由表所反映的拓扑信息找到去往信宿的正确路径 与路由表相关的操作包括两部分 路由表的使用路由表的建立与刷新路由表被访问的频度比它被刷新的频度要高得多 在一台繁忙的主机上 路由表一秒钟内可能要被访问几百次 而路由守护程序对路由表的刷新却可能每隔十多秒甚至几十秒一次 主机和路由器上的IP协议负责根据路由表完成路由选择路由表的建立与刷新由专门的路由协议负责 路由表的使用相对来说比较简单 IP层中的IP模块利用路由表中的子网掩码获得信宿机所在的子网 并将结果和路由表中的目的地址进行匹配 如果匹配则从对应的接口发送数据 信宿子网 子网掩码 接口 下一跳 路由表的维护是较为复杂的工作 ICMP为主机的路由表进行重定向操作 OSPF和应用层的其它动态路由程序负责对路由表进行动态刷新 一个好的动态路由程序要保证路由表能够及时地反映网络结构的变化 返回 7 3路由表 路由表是存在于主机和路由器中的 反映网络结构的数据集 是数据在因特网上正确传输的关键所在 路由表的功能是指明去往某信宿应该采用哪条路径 7 3 1路由表的构成路由表是个二维表 每个表项由多个字段构成 最基本的字段 信宿地址 去往信宿的路径 从理论上讲 信宿可能是因特网上的任何一台主机 但通常路由表中的信宿地址采用网络地址 在路由表中不直接采用主机IP地址的好处 1 可以大大减小路由表的规模 网络数比主机数要少得多 而信息到达信宿网络 也就到达了信宿主机 数据传递到信宿的相邻路由器后 相邻路由器再通过直接传递将数据传给信宿主机 所以可以用网络地址来取代网络中各主机的地址 2 与网络的抽象结构相对应 网络的抽象结构中只有网络 没有主机 3 增强了路由表对网络变化的适应性 由于体现了信息隐藏的原则 主机的增加和删去不会对路由表产生任何影响 4 减轻了路由表维护以及路由选择的开销 同时也简化了路由设备的设计和实现 虽然从信源到信宿的完整路径通常包括一系列的路由器 但在单个路由表中并不存放完整的路径 而只是存放去往信宿的路径中的下一跳路由器的地址 通过下一跳地址将路由器串起来就构成了通往信宿的路径 在路由表中只采用下一跳地址而不用完整路径的好处 1 减小了路由表的规模 2 去掉了路由表中关于相同路径的冗余信息 3 使路由表变得简单 便于维护 从路由表的结构上看 除了包括信宿地址和下一跳路由器地址外 通常还包括子网掩码 去往下一跳的输出接口和度量 路由表的一般结构如图所示 各字段的含义 信宿地址 一般为目标网络的地址 系统将在对数据报的目的IP地址和子网掩码进行逻辑与操作后再与该参数进行匹配 子网掩码 该字段用于提取数据报目的IP地址所对应的网络地址 下一跳地址 该地址代表数据报在通往信宿的过程中必须走的下一步 可能是另一个路由器 下一跳 可能是路由器在那个网络上的本地接口 当路由器和信宿机位于同一个子网时 下一跳地址为路由器在信宿网络上的本地接口 输出接口 该字段表示路由器通过该接口将数据送往下一个路由器或信宿网络 一般填接口的IP地址 度量 该字段用于度量从本设备出发去往信宿的距离 一般以跨越的路由器的个数来衡量 在存在多条通往信宿的路径时 取其中跳数最少的作为该参数值 特殊表目 特定主机路由 默认路由特定主机路由 用主机的IP地址作为信宿地址的表目 特定主机路由为单个主机指定一条特别的路径 目的 给网络管理人员赋予了更大的网络控制权 用于安全性和网络测试 特定主机路由表目的子网掩码为 255 255 255 255 默认路由 路由表中的另一个特殊表目 默认路由将去往多个网络 一般是去往本自治系统以外的具有相同的下一跳的信宿网络 的路由表目合为一个 目的 进一步隐藏细节 缩小路由表 默认路由表目所对应的信宿地址和子网掩码都是0 0 0 0 一个路由表中最多只能有一个默认路由表目 当路由表的其他部分的路径都无效时 IP地址和路由表中的子网掩码逻辑与后与信宿地址不匹配 才使用默认路由 由于默认路由的信宿地址和子网掩码都是0 0 0 0 所以任何IP地址和它都是匹配的 图7 4给出了一个网络和路由表的例子 图中第一个表项是对网络192 168 6 0的路由 而且是直接传递 第二个表项是对主机B的特定主机路由 第三个表项是对网络192 168 7 0的路由 最后一个表项是默认路由 主机中也存在一个路由表 因为主机所在的物理网络可能连接了多个路由器 为了实现最短路径原则 去往不同的信宿可能采用不同的路由器作为路径上的初始路由器 主机路由表的目的正是为了在不同的初始路由器中作出选择 把数据报交给去往信宿最近的一个路由器 7 3 2路由算法主机和路由器发出数据报时 IP模块要根据数据报中的信宿IP地址和路由表完成下面的路由算法 算法以数据报和路由表作为输入参数 首先从数据报中取出信宿的IP地址 将路由表中的子网掩码与信宿IP地址进行与操作 将得到的结果与路由表中对应的信宿地址进行匹配 若是特定主机路由 则将数据报送往对应的下一跳路由器或直接连接的信宿机 若是网络地址 则将数据报送往该网络对应的下一跳路由器或直接连接的信宿机 若没有相匹配的主机地址或网络地址项 则看看是否有默认路由项 只要默认路由项存在 逻辑与操作的结果就必然与默认地址 0 0 0 0 相匹配 若路由表中没有默认项 那么本机将丢弃数据报 然后产生网络不可达的ICMP出错报文 算法只是根据路由表来转发数据报 而不涉及路由表的初始化和刷新 路由表的初始化和刷新问题由专门的路由协议完成 返回 7 4静态路由 路由表的建立和刷新可以采用两种不同的方式 静态路由和动态路由 一般说来 以静态路由方式工作的路由器只知道那些和它有物理连接的网络 而不能发现和它没有直接物理连接的那些网络 对于这种路由器 如果想让它把数据包路由到任何其他的网络 需要以手工方式在路由表中添加条目 每台路由器中的静态路由表是一个本地文件 该文件包含所有去往已知网络的路由 静态路由要求手工配置固定的路由表 当网络结构发生变化时 网络管理人员要及时地调整路由表 图中路由器R1与网络192 168 6 0和192 168 7 0直接相连 R1启动时的初始路由表如图7 7所示 当主机A要向主机B发送信息时 R1无法根据图7 7中的路由表进行转发 因此需要网络管理员手工在R1的路由表中添加与网络192 168 8 0相关的条项或者在R1的路由表中添加一个默认路由表项 默认路由表项可以使路由器把数据报发送到下一个路由器 并找到了一条通往信宿网络的路由 但在路由表中只能有一条默认路由表目 为了使得信息不仅出得去 而且进得来 通常采用的办法是将本自治系统内的网络都加入到路由表中 而去往本自治系统外的网络的数据报通过默认路由送出 自治系统 由独立管理机构所管理的一组网络和路由器组成 自治系统内部包含多个网络和路由器 自治系统本身由一个独立的组织管理 其拓扑结构 地址建立与刷新机制等都由该管理机构自由选择 以手工方式对路由表进行维护 利用ROUTE命令 管理员能够添加 删除 改变和清除路由表的条目 命令功能 ROUTEADD netid MASK netmask gateway METRIC metric 添加一条路由ROUTE pADD netid MASK netmask gateway METRIC metric 添加一条持久的路由ROUTEDELETE netid 删除一条路由ROUTECHANGE netid gateway 修改一条路由ROUTEPRINT显示路由表ROUTE f清除所有的路由 表中 netid表示信宿地址 一般为网络地址 netmask表示网络掩码 gateway表示下一跳路由器地址 metric表示去往信宿网络的度量值 ROUTE pADD命令保证在机器重新启动后仍能被保留 静态路由所带来的问题 在大型网络上手工编辑路由表是一件非常困难的工作 工作量大 不能及时地反映网络拓扑结构的频繁变化 还有可能造成难以管理的冗余路径 返回 7 5动态路由 动态路由 路由器使用路由协议进行路由表的动态建立和维护 路由协议支持一个路由器与其他路由器的通信 路由器之间可以相互通告路由表中的变化 路由器根据获得的变化信息 刷新自己的路由表 在这种方式中 引入新的网络时不需要管理员编辑路由表 大规模的网络都采用动态路由 路由选择的一般原则 最短路径优先 注意 最短路径优先不一定能够保证路径是最优的 没有考虑各路径的拥塞和负载状态 尽管如此 却非常简单 快捷实用 可以简化协议的设计和实现 路由表的建立是指路由表的初始化过程 路由器启动时 初始路由表的建立可以通过从外存读入一个完整的路由表来完成 也可以根据与本路由器直接相连的网络推导出一组初始路径 初始路由表一般来说是不完善的 需要在运行过程中通过不断获取网络的最新状态来进行完善 这一动态过程称为路由表的的刷新 因特网的自动路径信息获取机制由一组协议实现 这组协议负责路由器之间的路径信息交换 并且根据获取的路径信息对路由表进行更新 路由器自动获取路径信息的基本方法有两种 向量 距离算法 又称为距离 向量算法 链路 状态算法 向量 距离 Vector Distance 简称V D 算法的基本思想 路由器周期性地向与它相邻的路由器广播路径刷新报文 报文的主要内容是一组从本路由器出发去往信宿网络的最短距离 在报文中一般用 V D 序偶表示 这里的V代表向量 标识从该路由器可以到达的信宿 网络或主机 D代表距离 指出从该路由器去往信宿V的距离 距离D按照去往信宿的跳数计 各个路由器根据收到的 V D 报文 按照最短路径优先原则对各自的路由表进行刷新 向量 距离算法的优点是简单 易于实现 缺点是收敛速度慢和信息交换量较大 收敛速度慢 当网络结构发生变化时 变化信息的传输和扩散需要一段时间 而在系统中所有的路由器获得这种变化信息之前 部分路由表不能正确地反映网络拓扑的真实情况 在收敛过程中 路由表是不一致的 向量 距离算法的收敛速度较慢 该算法不适合结构频繁变化的或大型的网络环境 信息交换量较大 每次交换路由信息时 传输的几乎是整个路由表 而且所有的路由器都参与信息的交换 链路 状态 Link Status 简称L S 算法的基本思想 系统中的每个路由器通过从其他路由器获得的信息 构造出当前网络的拓扑结构 根据这一拓扑结构 并利用Dijkstra算法形成一棵以本路由器为根的最短路径优先树 由于这棵树反映了从本节点出发去往各路由节点的最短路径 所以本节点就可以根据这棵最短路径优先树形成路由表 用Dijkstra算法计算的最短路径可以用路径上的节点数度量 也可以用距离 队列长度或传输时延等来度量 这些量可以通过给拓扑图的各条边赋予权值来实现 链路 状态算法又叫最短路径优先 ShortestPathFirst SPF 算法 链路 状态算法首先由路由器向相邻路由器发查询报文 测试与相邻路由器之间的链路状态 如果能够收到相邻路由器发回的响应 则说明该相邻路由器与本路由器之间存在正常的链路 在获得了本路由器与周边路由器的链路状态后 路由器还将向系统中所有参加最短路径优先算法的路由器发送链路状态报文 各路由器收到其他路由器发来的链路状态报文后 根据报文中的数据刷新本路由器所保存的网络拓扑结构图 如果链路状态发生了变化 路由器将起用Dijkstra算法生成新的最短路径优先树 并刷新本地路由表 当系统处于收敛状态时 每个路由器中的网络拓扑结构图是一样的 但由于最短路径优先树的根不同 各路由器的路由表也不相同 动态路由所使用的路由协议包括内部网关协议 IGP 和外部网关协议 EGP 内部网关协议用于自治系统内部的路径信息交换和路由表刷新 常用的内部网关协议 路由信息协议RIP RoutingInformationProtocol 开放最短路径优先OSPF OpenShortestPathFirst 协议 外部网关协议用于自治系统之间的路径信息交换和路由表刷新 常用的外部网关协议有 外部网关协议EGP ExteriorGatewayProtocol 边界网关协议BGP BorderGatewayProtocol 7 5 1路由信息协议 RIP RIP协议采用V D算法 RIP要求路由器每30秒钟向外广播一个V D报文 报文中的V D信息来自于本地的路由表 1 RIP协议解决的问题RIP协议在基本的向量 距离算法的基础上 增加了对路由环路 相同距离路径 失效路径以及慢收敛问题的处理 解决路由环路问题 RIP规定 一条有效路径的距离 路径上的跳数 不能超过15 距离度量为16时表示路径不存在 解决相同距离路径问题 若去往某一网络存在多条相同距离的路径 路由器采用先入为主的原则 以最先收到的路径广播报文决定下一跳 后来收到的相同距离的路径信息不会造成对以前路由的刷新 解决失效路径问题 RIP协议为每条路由设置一个定时器 如果系统发现某一条路由在3分钟 6个周期 内没有收到与它相关的更新信息 就将该路由的度量值设置成16 即无穷大 并标注为删除 标注后并不立即删除 以便该路由的失效被传播开去 需要再过一段时间 才将该路由从路由表中删除 解决慢收敛问题 慢收敛的典型情况是计数到无穷 NET1 16 为了防止计数到无穷问题 可以采用以下三种技术 1 水平分割法 SplitHorizon 水平分割法的基本思想 路由器从某个接口接收到的更新信息不允许再从这个接口发回去 在图7 9所示的例子中 R2向R1发送V D报文时 不能包含经过R1去往NET1的路径 因为这一信息本身就是R1所产生的 2 保持法 HoldDown 从图7 9可以看出计数到无穷的发生是因为在R1将不可达信息发出去之前先收到了来自R2的V D报文 刷新操作导致不可达信息丢失 为了解决这一问题 保持法要求路由器在得知某网络不可到达后的一段时间内 保持此信息不变 这段时间称为保持时间 路由器在保持时间内不接受关于此网络的任何可达性信息 这样 保证能够有充足的时间将路径崩溃信息传播出去 3 毒性逆转法 PoisonReverse 毒性逆转法是水平分割法的一种变化 路由器收到V D报文后 利用报文中的信息刷新路由表 然后向所有接口发出刷新后的V D信息 当向某一接口发出信息时 凡是从这一接口进来的信息改变了路由表表项的 V D报文中对应这些表目的距离值都设为无穷 16 也就是说 在输出的V D报文中将从该接口可达的最短路径网络的距离值设为16 以免对邻机的路由表的对应表目进行错误的刷新 一个采用毒性逆转法的V D报文的例子 为了加强毒性逆转的效果 通常和触发刷新 TriggedUpdate 技术结合使用 触发刷新是指一旦检测到路径失效 立即广播路径刷新报文 2 RIPv1报文及其传输RIPv1报文格式如图7 11所示 命令字段长度为8比特 定义RIP报文的类型 1 表示请求报文 2 表示响应报文 版本字段长度为8比特 定义RIP的版本号 这里为 1 地址系列字段长度为16比特 定义协议类 TCP IP协议类的值为 2 IP地址字段长度为32比特 定义信宿网络的IP地址 实际上这4个字节和前面的2个字节以及后面的8个字节都是用来表示网络地址的 只不过TCP IP协议仅用了4个字节 地址的其他部分填 0 距离字段长度为32比特 指明从发通告的路由器到信宿网络的跳数 从地址系列字段开始到距离字段结束的20个字节构成一个V D信息 后面最多还可以带24个V D信息 这样可以保证RIP报文的最大长度为504 20 25 4 字节 小于512字节 便于封装在UDP数据报中传输 RIPv1请求报文距离字段为全 0 IP地址字段为全 0 则表示请求对方发送所有的V D信息 为特定的网络地址 则表示请求对方发送该地址所对应的特定V D信息 一个请求报文中可以包含多个特定的网络地址 响应报文针对请求的回答对应特定网络的V D信息整个路由表的V D信息由路由器定期 30秒 发出的路由更新信息整个路由表的V D信息 RIP报文被封装在UDP数据报中传输 RIP使用UDP的520端口号 3 RIP协议的运行过程路由器启动RIP协议时 在已经启动的接口上发送请求报文 要求与它相邻的路由器 邻机 发送完整的路由表 请求报文以广播形式发往路由器的520号UDP端口 其他路由器收到请求后对IP地址字段进行判别 如果为 0 那么路由器就将完整的路由表发送给请求者 非 0 针对请求中的每一个特定表项 在路由表中查找对应路由 如果存在 就将当前的度量值放到响应中 若不存在 则将响应的度量置为16 度量16表示 无穷大 它意味着没有到达信宿网络的路由 请求方收到响应报文后 根据响应对路由表进行刷新 路由器除了对请求进行响应外 还周期性地 30秒 将其完整路由表发送给相邻路由器 算法的关键是判定要从本机出发去往信宿网络时究竟是走原来本机路由表中的下一跳近 还是从邻机走更近 路由器将邻机发来的路由表的各表项的路由跳数加1后逐一地加以考察 首先看考察的信宿网络是否在本机的路由表中 若不在表中则说明原来不可达的网络 现在通过邻机可以到达 若考察的信宿网络存在于本机的路由表中 则看其下一跳是否就是当前发信息的邻机 若是 则用新的度量值取代老的度量值 不论新的度量值是大于还是小于旧的度量值 若原来的下一跳不是发信息的邻机 则看谁的度量值小 路由器R1收到邻机R3发来的RIP信息后完成路由刷新的例子 RIPv1简单 易于实现 但存在以下不足 1 RIPv1不支持子网地址 2 RIPv1没有鉴别机制 对任何路由器发来的路由表都不加验证地接受 3 RIPv1采用广播方式进行路由通告 不支持单播和组播路由通告 4 RIPv1只能用于小型网络 最大路径长度限制了该协议在大型网络上的应用 RFC1388中对RIPv1进行了扩充 扩充后的RIP协议称为RIPv2 RIPv2利用原协议报文中一些标注为 必须为0 的字段来传递一些额外的信息 4 RIPv2RIPv2克服了RIPv1的一些不足 RIPv2可以在路由通告信息中指定IP地址所对应的子网掩码 因此可以支持可变长子网掩码和无类别域间路由CIDR RIPv2提供了一种简单的鉴别机制 如果RIP数据报文中的口令与所要求的口令不匹配 该RIP报文将被拒绝接收 RIPv2支持组播 使用组播地址224 0 0 9传送路由通告 组播可以减少不收听RIPv2报文的主机的处理开销 RIPv2与RIPv1的格式相似 所不同的是RIPv2利用了RIPv1中那些必须为 0 的字段 路由标记 routingtag 字段提供了识别路由源的方法 用于支持外部网关协议 表示EGP和BGP所需的自治系统号 子网掩码字段可以决定IP地址的网络部分 每个表项的子网掩码应用于相应的IP地址 下一跳IP地址指明发往目的IP地址的报文该发往的下一跳路由器接口 如果RIPv2报文的前20字节表项的地址系列字段为0 xffff 这时路由标记作为鉴别类型 表项中的其余16字节作为鉴别数据 例如明文口令 如果RIP忽略那些必须为0的字段 那么 RIPv1和RIPv2可以互操作 7 5 2开放最短路径优先 OSPF 问题 无论是RIPv1还是RIPv2都受限于最大路径长度15 因此不能满足大规模网络的要求 解决 采用开放最短路径优先OSPF 在OSPF中自治系统可以被进一步划分为区域 每个区域由位于同一自治系统中的一组网络 主机和路由器构成 区域内部的路由器以泛洪方式在区域内交换路由信息 区域的划分不仅使得广播得到了更好的管理 而且使OSPF能够支持大规模的网络 层次的概念的引入 使OSPF减少了一个路由器需要知道的信息总量 在区域的边界定义一个边界路由器 边界路由器汇总该区域的信息 并送往其他区域 在每个自治系统的区域中都有一个特殊的区域叫做主干 其他区域都连到主干上 主干中的路由器称为主干路由器 主干路由器可以是一个区域的边界路由器 每个区域有一个区域标识 区域标识采用和IP地址一样的点分十进制数表示 主干区域的标识是0 0 0 0 OSPF是一个链路 状态协议 每个路由器测试与其邻机相连链路的状态 并将这些信息用链路状态通告 LinkStateAdvertisements LSA 发送给它的其他邻机 而邻机再将这些信息在自治系统 区域 中以泛洪方式传播出去 每个路由器接收这些链路状态信息 并将这些状态信息写入到一个链路状态数据库 LinkStateDatabase LSDB 中 当一个区域的网络拓扑结构发生变化时 LSDB就会被更新 每10秒钟评估一次LSDB 如果区域的拓扑结构没有改变 LSDB也就不做任何改动 LSDB根据链路状态通告中的信息而建立 LSDB包含区域中每个路由器连接到的所有网络的条目 当区域中每个路由器的LSDB都相同时 网络处于收敛状态 当LSDB到达这种收敛状态时 每个OSPF路由器为每个网络和路由器计算最短路径 这些信息构成了一棵以本路由器为根的最短路径优先 SPF 树 ShortestPathFirsttree 在建立了SPF树之后 就可以构造路由表了 OSPF可以为路由器的每个网络接口分配一个输出费用度量值 该值表示通过该接口发送数据的开销 通过给接口指定费用 可以在路由选择时确定路由器的优先级 OSPF直接使用IP 在IP首部的协议字段 OSPF协议的值为89 OSPF具有以下这些特点 1 支持服务类型路由 OSPF允许管理人员为同一目的地址指定多个不同服务类型的路由 当对一个数据报进行路由时 OSPF根据目的IP地址和该数据所要求的服务类型进行路由选择 2 能够给每个接口指派费用 费用可以根据吞吐率 传输延迟 可靠性等性能进行指派 可以给每个IP服务类型指派单独的费用 3 能够提供负载均衡 当对于同一个目的地址存在多个相同费用的路由时 OSPF可以在这些路由上平均分配流量 4 支持扩展 易于管理 OSPF的层次结构将自治系统分为多个区域 区域可以对外隐藏拓扑结构 5 支持特定主机 特定子网 分类网络路由以及无类网络路由 6 支持无编号网络 可以节省IP地址 7 支持多种鉴别机制 不同的区域可以使用不同的鉴别方法 鉴别机制保证路由器只接收可信赖的路由器发来的路由信息 8 采用组播 减少不参与OSPF的系统的负载 由于OSPF具有强大的功能和灵活的扩展性 该协议势必逐步取代RIP协议 OSPF的协议报文 消息 有多种类型 但所有的类型头部都相同 081631 版本号 Version 标识使用的OSPF版本 类型 Type 标识OSPF报文类型 为下述五种类型之一 用1 5的整数来标识 消息长度 Messagelengh 指包括OSPF头在内的报文长度 以字节计 源ID SourceAddr 标识分组来源的路由器ID 区域ID AreaId 标识分组所属的区域 所有的OSPF分组都与某一个区域相关联 校验和 Checksum 对整个分组的内容检查传输中是否发生损坏 认证类型 AuthenticationType 所有的OSPF协议交换均被认证 每个区域都可以指定自己区域范围内的认证类型 1 值为0 不使用认证 2 为1 使用一个简单的口令 3 为2 表示使用的是一个加密认证校验和 认证 Authentication 包含认证信息 数据 data 包含LSA记录 路由器交换的的报文分为以下5种 所有报文封装在IP分组中发送 1 HELLO报文 用来发现邻接的路由器 建立和维持邻接关系 2 链路状态更新报文 发送新的LSA 用于对链接状态请求分组的响应 也用于通常的LSA散发 一个链接状态更新报文中可以包含多个LSA 3 链路状态确认报文 确认链路状态更新报文 4 数据库描述报文 描述发送者当前拥有的拓扑数据库内容 此类报文在初始化邻接关系时交换 5 链路状态请求报文 从邻接的路由器要求LSA的有关信息 此类报文在路由器通过检查数据库描述分组发现其部分拓扑数据库内容过期后发送 LSA的格式 链路状态通知 OSPF协议的工作过程 1 Hello报文发现邻居 2 当A B刚建立邻接关系时 A B互发数据库描述报文时 数据库报文包含多个LSA的头部 a A B DB描述 b B发现自己没有某个LSA或有一个LSA比自己的更新 则B发链路状态请求报文要此LSA的详细信息c A收到后 给B发LSA链路状态更新报文 B收 并发链路状态确认报文 保证可靠传输 d 如果B向A发的LSA请求报文为空 则二者数据库同步 7 5 3边界网关协议 BGP 边界网关协议BGP出现于1989年 目的是取代较早的外部网关协议EGP BGP是用于不同自治系统之间交换路由信息的外部网关协议 BGP经历了4个版本 1993年开发的第4版BGP 见RFC1467 RFC1771 可以支持CIDR BGP采用的是与向量 距离算法类似的路径 向量算法 在该算法的路由表中包括信宿网络 下一跳路由器和去往信宿网络的路径 路径由一系列排序的自治系统号构成 自治系统的边界路由器通过内部网关协议 RIP或OSPF 收集自治系统内部的各个网络的信息 不同自治系统的边界路由器通过BGP交换各自所在的自治系统中网络的可达信息 这些信息包括数据到达这些网络所必须经过的自治系统AS的列表 路由器更新路由表条件 路径信息必须与管理员给出的一组策略一致更新内容 在路径中添加自治系统号和修改下一跳路由器 更新路由表时要避免形成环路 方法 通过判断路径中是否已经包含了该自治系统号来决定 BGP支持基于策略的路由 路由选择策略与政治 经济或安全等因素有关 自治系统管理员可以制订策略 并通过配置文件将策略指定给BGP 路由表中的路径应该是满足指定策略的路径 BGP使用TCP作为传输层协议 两个运行BGP的路由器在交换BGP路由信息时必须先建立一条TCP连接 图7 16是一个由3个自治系统构成的一个互联网络 R1 R2和R3分别是自治系统AS1 AS2和AS3的边界路由器 R1向R2通告网络1的可达信息 网络1 R1 AS1 R2根据该信息刷新自己的路由表 然后在路径上增加AS2 并将下一跳改为R2 接着向R3通告网络1的可达信息 网络1 R2 AS2 AS1 R3根据该信息刷新路由表 边界路由器R3的路由表如图7 17所示 BGP报文分为4类 打开 Open 更新 Update 保持活动 Keepalive 和通告 Notification 这4类报文具有相同的报文首部 认证标记字段长16字节 用于认证 报文总长度字段为2字节 定义包括首部在内的信息总长度 类型字段为一个字节 定义BGP报文类型 打开 1 更新 2 保持活动 3 通告 4 打开报文在边界路由器之间建立邻机关系 BGP与相邻的边界路由器打开一个TCP连接 并发送一个打开报文 若对方同意 则以保持活动报文响应 从而建立起邻机关系 打开报文格式如图所示 版本字段长度为8比特 定义BGP的版本号 当前的最新版本号为4 本自治系统号字段长度为16比特 指明本路由器所属的自治系统的编号 保持时间字段长度为16比特 指明本路由器在收到邻机的保持活动或更新报文前保持连接的秒数 BGP标识字段长度为32比特 指明发送打开报文的路由器 用该路由器的IP地址标识 选项长度字段的长度为8比特 标识选项参数的总长度 0表示没有选项 选项字段是变长的 每个选项由参数长度和参数值构成 目前惟一的选项参数是认证 更新报文是BGP的关键报文 用于删除信宿网络和通告新的信宿网络 不可用路由器长度字段长度为16比特 指明要删除的路由器字段的长度 删除的路由器字段为变长字段 指明要删除的路由器的列表 路径属性长度字段长度为16比特 定义路径属性的长度 路径属性字段为变长字段 定义下一字段给出的可达网络的路径属性 网络可达信息字段为变长字段 是本报文要通告的可达网络 由网络前缀长度 比特数 和网络前缀构成 保持活动报文用于通知对方本机处于活动状态 BGP邻机定期交换该报文 发送保持活动报文的周期小于保持时间 保持活动报文的格式就是BGP报文首部 通告报文是当出现错误情况或路由器要关闭与邻机的连接时发送的报文 错误代码字段长度为8比特 定义错误类型 错误子代码字段长度为8比特 定义错误类型中子类 错误数据字段为变长字段 给出更详细的错误诊断信息 BGP报文被封装在TCP段中传输 使用TCP的179号端口 BGP4支持无类地址和CIDR 本章要点数据传递分为直接传递和间接传递 直接传递是指直接传到最终信宿的传输过程 间接传递是指在信源和信宿位于不同物理网络时 所经过的一些中间传递过程 直接交付和间接交付 TCP IP采用表驱动的方式进行路由选择 在每台主机和路由器中都有一个反映网络拓扑结构的路由表 主机和路由器能够根据路由表所反映的拓扑信息找到去往信宿机的正确路径 通常路由表中的信宿地址采用网络地址 路径信息采用去往信宿的路径中的下一跳路由器的地址表示 路由表中的两个特殊表目是特定主机路由和默认路由表目 路由表的建立和刷新可以采用两种不同的方式 静态路由和动态路由 自治系统是由独立管理机构所管理的一组网络和路由器组成的系统 路由器自动获取路径信息的两种基本方法是向量 距离算法和链路 状态算法 动态路由所使用的路由协议包括用于自治系统内部的内部网关协议和用于自治系统之间的外部网关协议 RIP协议在基本的向量 距离算法的基础上 增加了对路由环路 相同距离路径 失效路径以及慢收敛问题的处理 RIP协议以路径上的跳数作为该路径的距离 RIP规定 一条有效路径的距离不能超过15 RIP不适合大型网络 RIP报文被封装在UDP数据报中传输 RIP使用UDP的520端口号 OSPF将自治系统进一步划分为区域 每个区域由位于同一自治系统中的一组网络 主机和路由器构成 区域的划分不仅使得广播得到了更好的管理 而且使OSPF能够支持大规模的网络 OSPF是一个链路 状态协议 当网络处于收敛状态时 每个OSPF路由器利用Dijkstra算法为每个网络和路由器计算最短路径 形成一棵以本路由器为根的最短路径优先 SPF 树 并根据最短路径优先树构造路由表 OSPF直接使用IP 在IP首部的协议字段 OSPF协议的值为89 BGP是采用路径 向量算法的外部网关协议 BGP支持基于策略的路由 路由选择策略与政治 经济或安全等因素有关 BGP报文分为打开 更新 保持活动和通告4类 BGP报文被封装在TCP段中传输 使用TCP的179号端口 返回 习题7 1直接传递和间接传递有什么不同 7 2路由信息协议RIP和开放最短路径优先OSPF有什么不同 7 3RIP在收到路由通告V D报文后 为什么要将距离值加1后再逐条处理 7 4OSPF具有一些什么特点 7 5RIP OSPF和BGP报文分别被封装在什么协议中传输- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- TCPIP 原理 应用 IP 路由
装配图网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文