2018/4/6 简中国神游我8大年 上次课的主要内容 4.1网络层提供的两种服务 4.2网际协议P 计算机网络(第7版) 42.1虚拟互连网络 42.2分类的P地址 42.31P地址与硬件地址 42.4地址解析协议ARP 42.5P数据报的格式 第4章网络层(2) 42.6IP层转发分组的流程 中国科学技术大学曾凡平 4.3划分子网和构造超网 431划分子网 43.2使用子网时分组的转发 4.33无分类编址CIDR(构造超网) 11 11 11,ga9 21 第4章网络层(2) 4.4网际控制报文协议ICMP 4.4网际控制报文协议ICMP ·为了更有效地转发P数据报和提高交付成功的机会, 42吧举霸 种类 在网际层使用了网际控制报文协议ICMP(Internet Control Message Protocol). 4.5互联网的路由选择协议 ·ICMP是互联网的标准协议。 4.5.1有关路由选择协议的几个基本概念 肉钢殷 ·ICMP允许主机或路由器报告差错情况和提供有关异 4.5.3 常情况的报告。 4.5.4外部网关协议BGP 4.5.5路由器的构成 ·但ICMP不是高层协议(看起来好像是高层协议, 4.6 IPv6 因为ICMP报文是装在P数据报中,作为其中的数 4.6.1Pv6的基本首部 据部分),而是P层的协议。 4.6.2P6的地址 4.6.3从Pv4向Pv6过波 4.6.41CMPv6 11me 3 11 ICMP报文的格式 4.4.1ICMP报文的种类 ·ICMP报文的种类有两种,即ICMP差错报告报 牛移 0 16 文和ICMP询问报文。 英级代两 业和 (这4个享节家决于CMP报文的黄厦) ·ICMP报文的前4个字节是统一的格式,共有三 个字段:即类型、代码和检验和。接着的4个字 CMP的最■都分(长度取决于典量) 节的内容与ICMP的类型有关。 IdMP探文 中首都 P量报 11 11 1
2018/4/6 1 计算机网络 (第 7 版) 第 4 章 网络层(2) 中国科学技术大学 曾凡平 上次课的主要内容 4.1 网络层提供的两种服务 4.2 网际协议 IP 4.2.1 虚拟互连网络 4.2.2 分类的 IP 地址 4.2.3 IP 地址与硬件地址 4.2.4 地址解析协议ARP 4.2.5 IP 数据报的格式 4.2.6 IP 层转发分组的流程 4.3 划分子网和构造超网 4.3.1 划分子网 4.3.2 使用子网时分组的转发 4.3.3 无分类编址 CIDR(构造超网) 4.网络层 2 第 4 章 网络层(2) 4.4 网际控制报文协议 ICMP 4.4.1 ICMP 报文的种类 4.4.2 ICMP 的应用举例 4.5 互联网的路由选择协议 4.5.1 有关路由选择协议的几个基本概念 4.5.2 内部网关协议 RIP 4.5.3 内部网关协议 OSPF 4.5.4 外部网关协议 BGP 4.5.5 路由器的构成 4.6 IPv6 4.6.1 IPv6 的基本首部 4.6.2 IPv6 的地址 4.6.3 从 IPv4 向 IPv6 过渡 4.6.4 ICMPv6 4.网络层 3 4.4 网际控制报文协议 ICMP • 为了更有效地转发 IP 数据报和提高交付成功的机会, 在网际层使用了网际控制报文协议 ICMP (Internet Control Message Protocol)。 • ICMP 是互联网的标准协议。 • ICMP 允许主机或路由器报告差错情况和提供有关异 常情况的报告。 • 但 ICMP 不是高层协议(看起来好像是高层协议, 因为 ICMP 报文是装在 IP 数据报中,作为其中的数 据部分),而是 IP 层的协议。 ICMP 报文的格式 首 部 ICMP 报文 0 数 据 部 分 类型 代码 检验和 (这 4 个字节取决于ICMP 报文的类型) 8 16 31 IP 数据报 前 4 个字节 都是一样的 ICMP 的数据部分(长度取决于类型) 4.4.1 ICMP 报文的种类 • ICMP 报文的种类有两种,即 ICMP 差错报告报 文和 ICMP 询问报文。 • ICMP 报文的前 4 个字节是统一的格式,共有三 个字段:即类型、代码和检验和。接着的 4 个字 节的内容与 ICMP 的类型有关
2018/4/6 ICMP差错报告报文共有4种 ICMP差错报告报文的数据字段的内容 ·终点不可达 ·时间超过 P数海绿的最海字聚 ·参数问题 妆测的P章量报 ·改变路由(重定向)(Redirect) 字节 ICMP整搬报告报文 iCMP差嫩景告报文 装入MP报文的P数据报 P败铜报 11 11 1/ 不应发送ICMP差错报告报文的几种情况 ICMP询问报文有两种 ·对ICMP差错报告报文不再发送ICMP差错报告 ·回送请求和回答报文 报文。 ·时间截请求和回答报文 ·对第一个分片的数据报片的所有后续数据报片都 不发送ICMP差错报告报文。 下面的几种ICMP报文不再使用: ·对具有多播地址的数据报都不发送1CMP差错报 ·信息请求与回答报文 告报文。 ·掩码地址请求和回答报文 ·对具有特殊地址(如127.0.0.0或0.0.0.0)的数据 ·路由器询问和通告报文 报不发送ICMP差错报告报文。 ·源点抑制报文 111 11 4.4.2ICMP的应用举例 PNG的应用举例 PING(Packet InterNet Groper) .d:\workspacelcmd>ping mail.sina.com.cn ·PNG用来测试两个主机之间的连通性。 ·PNG使用了ICMP回送请求与回送回答报文。 5套背器据ma7 n310821617具有 ·PNG是应用层直接使用网络层ICMP的例子, 来自113.108.216.17的回复:字节=32时间=51msTT1=54 它没有通过运输层的TCP或LUDP。 来自113.108.216.17的回复:字节=32时间=71 ms TTL=54 来自113.108.216.17的回复:字节=32时间=52 ns TTL=54 来自113.108.216.17的回复:字节=32时间=179msT1=54 113.108216.17的Png统计信息: 数据包:已发送=4。已接收=4,丢失=0(0%丢失), 往返行程的估计时间(以毫秒为单位): 最短=51ms,最长=179ms,平均=88ms 11 2
2018/4/6 2 ICMP 差错报告报文共有 4 种 • 终点不可达 • 时间超过 • 参数问题 • 改变路由(重定向)(Redirect) ICMP 差错报告报文的数据字段的内容 首部 IP 数据报 ICMP 的 前 8 字节 装入 ICMP 报文的 IP 数据报 IP 数据报 首部 ICMP 差错报告报文 8 字节 收到的 IP 数据报 IP 数据报 首部 8 字节 ICMP 差错报告报文 IP 数据报的数据字段 不应发送 ICMP 差错报告报文的几种情况 • 对 ICMP 差错报告报文不再发送 ICMP 差错报告 报文。 • 对第一个分片的数据报片的所有后续数据报片都 不发送 ICMP 差错报告报文。 • 对具有多播地址的数据报都不发送 ICMP 差错报 告报文。 • 对具有特殊地址(如127.0.0.0 或 0.0.0.0)的数据 报不发送 ICMP 差错报告报文。 ICMP 询问报文有两种 • 回送请求和回答报文 • 时间戳请求和回答报文 下面的几种 ICMP 报文不再使用: • 信息请求与回答报文 • 掩码地址请求和回答报文 • 路由器询问和通告报文 • 源点抑制报文 4.4.2 ICMP 的应用举例 PING (Packet InterNet Groper) • PING 用来测试两个主机之间的连通性。 • PING 使用了 ICMP 回送请求与回送回答报文。 • PING 是应用层直接使用网络层 ICMP 的例子, 它没有通过运输层的 TCP 或UDP。 PING 的应用举例 • d:\workspace\cmd>ping mail.sina.com.cn 正在 Ping common7.dpool.sina.com.cn [113.108.216.17] 具有 32 字节的数据: 来自 113.108.216.17 的回复: 字节=32 时间=51ms TTL=54 来自 113.108.216.17 的回复: 字节=32 时间=71ms TTL=54 来自 113.108.216.17 的回复: 字节=32 时间=52ms TTL=54 来自 113.108.216.17 的回复: 字节=32 时间=179ms TTL=54 113.108.216.17 的 Ping 统计信息: 数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失), 往返行程的估计时间(以毫秒为单位): 最短 = 51ms,最长 = 179ms,平均 = 88ms
2018/4/6 4.4.2ICMP的应用举例 4.4.2ICMP的应用举例 Traceroute的应用举例 ·在Windows操作系统中这个命令是tracert.。 ·场过最多30个纸点型踪 ·到omeo74年eaem,cm1I3.0R261刀的路h: ·用来跟踪一个分组从源点到终点的路径。 ·它利用IP数据报中的TTL字段和ICMP时间超 2224s23s35s1031.S 过差错报告报文实现对从源点到终点的路径的跟 ·请求超时。 ·413552ms45s61.10.251245 踪。 :8 ÷7167sS6msS3s113.9%4,14 ·8151ms63ms59ms113.10k.23线I62 ·9161m101m47m5级6323218 ·1015963m163m11310s.2617 ·星军完成。 111 11 4.5互联网的路由选择协议 4.5.1有关路由选择协议的几个基本概念 ·4.5.】有关路由选择协议的几个基本概念 1.理想的路由算法 ·4.5.2内部网关协议RIP ①算法必须是正确的和完整的。 ·4.5.3内部网关协议OSPF ②算法在计算上应简单。 ·4.5.4外部网关协议BGP ③算法应能适应通信量和网络拓扑的变化,这就 ·4.5.5路由器的构成 是说,要有自适应性。 ④算法应具有稳定性。 ⑤算法应是公平的。 ⑧算法应是最佳的。 11 11 关于“最佳路由” 从路由算法的自适应性考虑 ·不存在一种绝对的最佳路由算法。 ·静态路由选择策略一即非自适应路由选择,其 ·所谓“最佳”只能是相对于某一种特定要求下得 特点是简单和开销较小,但不能及时适应网络状 出的较为合理的选择而己。 态的变化。 ·实际的路由选择算法,应尽可能接近于理想的算 ·动态路由选择策略一即自适应路由选择,其特 法。 点是能较好地适应网络状态的变化,但实现起来 较为复杂,开销也比较大。 ·路由选择是个非常复杂的问题 ·它是网络中的所有结点共同协调工作的结果。 ·路由选择的环境往往是不断变化的,而这种变化有时 无法事先知道。 41 11 3
2018/4/6 3 4.4.2 ICMP 的应用举例 Traceroute 的应用举例 • 在 Windows 操作系统中这个命令是 tracert。 • 用来跟踪一个分组从源点到终点的路径。 • 它利用 IP 数据报中的 TTL 字段和 ICMP 时间超 过差错报告报文实现对从源点到终点的路径的跟 踪。 4.4.2 ICMP 的应用举例 • d:\workspace\cmd>tracert mail.sina.com.cn • 通过最多 30 个跃点跟踪 • 到 common7.dpool.sina.com.cn [113.108.216.17]的路由: • 1 * * * 请求超时。 • 2 224 ms 23 ms 35 ms 10.3.1.5 • 3 * * * 请求超时。 • 4 135 ms 52 ms 45 ms 61.190.251.245 • 5 199 ms 62 ms 39 ms 61.132.167.121 • 6 146 ms 42 ms 56 ms 202.97.59.9 • 7 167 ms 56 ms 53 ms 113.96.4.14 • 8 151 ms 63 ms 59 ms 113.108.209.162 • 9 161 ms 101 ms 47 ms 58.63.232.18 • 10 159 ms 63 ms 163 ms 113.108.216.17 • 跟踪完成。 4.5 互联网的路由选择协议 • 4.5.1 有关路由选择协议的几个基本概念 • 4.5.2 内部网关协议 RIP • 4.5.3 内部网关协议 OSPF • 4.5.4 外部网关协议 BGP • 4.5.5 路由器的构成 4.5.1 有关路由选择协议的几个基本概念 1. 理想的路由算法 ① 算法必须是正确的和完整的。 ② 算法在计算上应简单。 ③ 算法应能适应通信量和网络拓扑的变化,这就 是说,要有自适应性。 ④ 算法应具有稳定性。 ⑤ 算法应是公平的。 ⑥ 算法应是最佳的。 关于“最佳路由” • 不存在一种绝对的最佳路由算法。 • 所谓“最佳”只能是相对于某一种特定要求下得 出的较为合理的选择而已。 • 实际的路由选择算法,应尽可能接近于理想的算 法。 • 路由选择是个非常复杂的问题 • 它是网络中的所有结点共同协调工作的结果。 • 路由选择的环境往往是不断变化的,而这种变化有时 无法事先知道。 从路由算法的自适应性考虑 • 静态路由选择策略——即非自适应路由选择,其 特点是简单和开销较小,但不能及时适应网络状 态的变化。 • 动态路由选择策略——即自适应路由选择,其特 点是能较好地适应网络状态的变化,但实现起来 较为复杂,开销也比较大
2018/4/6 2.分层次的路由选择协议 自治系统AS ·互联网采用分层次的路由选择协议。这是因为: (Autonomous System) ·()互联网的规模非常大。如果让所有的路由器知道 所有的网络应怎样到达,则这种路由表将非常大,处 ·自治系统AS的定义:在单一的技术管理下的一组路由 理起来也太花时间。而所有这些路由器之间交换路由 器,而这些路由器使用一种AS内部的路由选择协议和 信息所需的带宽就会使互联网的通信链路饱和。 共同的度量以确定分组在该AS内的路由,同时还使用 ·(2)许多单位不愿意外界了解自己单位网络的布局细 一种A$之间的路由选择协议用以确定分组在A$之间的 幕码李所閤的豫枭鞋接销谈辆王本部门内 路由。 ·现在对自治系统A$的定义是强调下面的事实:尽管一 个A$使用了多种内部路由选择协议和度量,但重要的 是一个AS对其他AS表现出的是一个单一的和一致的 路由选择策略。 11 11 自治系统AS 互联网有两大类路由选择协议 自治系统 自治系统 ·内部网关协议IGP (Interior Gateway Protocol) ·在一个自治系统内部使用的路由选择协议。 ·目前这类路由选择协议使用得最多,如RP和OSPF 办。 ·外部网关协议EGP(External Gateway Protocol) ·若源站和目的站处在不同的自治系统中,当数据报传 个自治系统的边界时,就需要使用一种协议将路 由选择信息传递到另一个自治系统中。这样的协议就 是外部网关协议EGP。 ·在外部网关协议中目前使用最多的是BGP4。 治系统 治秀鳞 11 自治系统和 这里要指出两点 内部网关协议、外部网关协议 ·互联网的早期RFC文档中未使用“路由器”而 自治系统A 自治系统B 是使用“网关”这一名词。但是在新的RFC文 用外调关协横 档中又使用了“路由器”这一名词。应当把这两 《蜘,BGP-4) 个术语当作同义词。 用内都同关持模 用内邮同关物液 (例0,RP) (例钩,O5PF) ·IGP和EGP是协议类别的名称。但RFC在使用 EGP这个名词时出现了一点混乱,因为最早的 一个外部网关协议的协议名字正好也是EGP。 自治系统之间的略由选择也叫做城间略由选择 因此在遇到名词EGP时,应弄清它是指旧的协 interdomain routing),在自治系统内部的路由选坪 议EGP还是指外部网关协议EGP这个类别。 叫徽罐内路由选择(intradomain routing)· 11 4
2018/4/6 4 2. 分层次的路由选择协议 • 互联网采用分层次的路由选择协议。这是因为: • (1) 互联网的规模非常大。如果让所有的路由器知道 所有的网络应怎样到达,则这种路由表将非常大,处 理起来也太花时间。而所有这些路由器之间交换路由 信息所需的带宽就会使互联网的通信链路饱和。 • (2) 许多单位不愿意外界了解自己单位网络的布局细 节和本部门所采用的路由选择协议(这属于本部门内 部的事情),但同时还希望连接到互联网上。 自治系统 AS (Autonomous System) • 自治系统 AS 的定义:在单一的技术管理下的一组路由 器,而这些路由器使用一种 AS 内部的路由选择协议和 共同的度量以确定分组在该 AS 内的路由,同时还使用 一种 AS 之间的路由选择协议用以确定分组在 AS之间的 路由。 • 现在对自治系统 AS 的定义是强调下面的事实:尽管一 个 AS 使用了多种内部路由选择协议和度量,但重要的 是一个 AS 对其他 AS 表现出的是一个单一的和一致的 路由选择策略。 自治系统 AS R1 R4 自治系统 R3 自治系统 自治系统 R2 自治系统 R1 互联网有两大类路由选择协议 • 内部网关协议 IGP (Interior Gateway Protocol) • 在一个自治系统内部使用的路由选择协议。 • 目前这类路由选择协议使用得最多,如 RIP 和 OSPF 协议。 • 外部网关协议 EGP (External Gateway Protocol) • 若源站和目的站处在不同的自治系统中,当数据报传 到一个自治系统的边界时,就需要使用一种协议将路 由选择信息传递到另一个自治系统中。这样的协议就 是外部网关协议 EGP。 • 在外部网关协议中目前使用最多的是 BGP-4。 自治系统和 内部网关协议、外部网关协议 用内部网关协议 (例如,RIP) 自治系统 自治系统 B A 用外部网关协议 (例如,BGP-4) R1 R2 用内部网关协议 (例如,OSPF) 自治系统之间的路由选择也叫做域间路由选择 (interdomain routing),在自治系统内部的路由选择 叫做域内路由选择 (intradomain routing) 。 这里要指出两点 • 互联网的早期 RFC 文档中未使用“路由器”而 是使用“网关”这一名词。但是在新的 RFC 文 档中又使用了“路由器”这一名词。应当把这两 个术语当作同义词。 • IGP 和 EGP 是协议类别的名称。但 RFC 在使用 EGP 这个名词时出现了一点混乱,因为最早的 一个外部网关协议的协议名字正好也是 EGP。 因此在遇到名词 EGP 时,应弄清它是指旧的协 议 EGP 还是指外部网关协议 EGP 这个类别
2018/4/6 互联网的路由选择协议 4.5.2内部网关协议RIP ·内部网关协议IGP:具体的协议有多种,如RIP 1.工作原理 和OSPF等. ·外部网关协议EGP:目前使用的协议就是BGP。 ·路由信息协议RIP(Routing Information Protocol) 是内部网关协议IGP中最先得到广泛使用的协 议。 互联网略由选渠协议】 ·RIP是一种分布式的、基于距离向量的路由选择 协议。 内部网关物议IGP) 外邮网关协议(EGP) ·RP协议要求网络中的每一个路由器都要维护从 RIP BGP 它自己到其他每一个目的网络的距离记录。 OSPF 11 1/ “距离”的定义 “距离”的定义 ·从一个路由器到直接连接的网络的距离定义为1。 ·RP认为一个好的路由就是它通过的路由器的数 ·从一个路由器到非直接连接的网络的距离定义为 目少,即“距离短”。 所经过的路由器数加1。 ·RIP允许一条路径最多只能包含15个路由器。 ·RIP协议中的“距离”也称为“跳数”hop ·“距离”的最大值为16时即相当于不可达。可 cout),因为每经过一个路由器,跳数就加1。 见RP只适用于小型互联网。 ·这里的“距离”实际上指的是“最短距离”。 ·RP不能在两个网络之间同时使用多条路由。 RP选择一个具有最少路由器的路由(即最短路 由),哪怕还存在另一条高速(低时延)但路由器 较多的路由。 111 11 RIP协议的三个特点 路由表的建立 ·()仅和相邻路由器交换信息。 ·路由器在刚刚开始工作时,只知道到直接连接的网 ·(②)交换的信息是当前本路由器所知道的全部信 络的距离(此距离定义为1)。它的路由表是空的。 息,即自己的路由表。 ·以后,每一个路由器也只和数目非常有限的相邻路 ·(3)按固定的时间间隔交换路由信息,例如,每 由器交换并更新路由信息。 隔30秒。当网络拓扑发生变化时,路由器也及 ·经过若干次更新后,所有的路由器最终都会知道到 时向相邻路由器通告拓扑变化后的路由信息。 达本自治系统中任何一个网络的最短距离和下一跳 路由器的地址。 ·RIP协议的收敛(convergence)过程较快。“收敛” 就是在自治系统中所有的结点都得到正确的路由选 择信息的过程。 5
2018/4/6 5 互联网的路由选择协议 • 内部网关协议 IGP:具体的协议有多种,如 RIP 和 OSPF 等。 • 外部网关协议 EGP:目前使用的协议就是 BGP。 RIP OSPF 互联网路由选择协议 BGP 内部网关协议 (IGP) 外部网关协议 (EGP) 4.5.2 内部网关协议 RIP 1. 工作原理 • 路由信息协议 RIP (Routing Information Protocol) 是内部网关协议 IGP 中最先得到广泛使用的协 议。 • RIP 是一种分布式的、基于距离向量的路由选择 协议。 • RIP 协议要求网络中的每一个路由器都要维护从 它自己到其他每一个目的网络的距离记录。 “距离”的定义 • 从一个路由器到直接连接的网络的距离定义为 1。 • 从一个路由器到非直接连接的网络的距离定义为 所经过的路由器数加 1。 • RIP 协议中的“距离”也称为“跳数”(hop count),因为每经过一个路由器,跳数就加 1。 • 这里的“距离”实际上指的是“最短距离”。 “距离”的定义 • RIP 认为一个好的路由就是它通过的路由器的数 目少,即“距离短”。 • RIP 允许一条路径最多只能包含 15 个路由器。 • “距离”的最大值为 16 时即相当于不可达。可 见 RIP 只适用于小型互联网。 • RIP 不能在两个网络之间同时使用多条路由。 RIP 选择一个具有最少路由器的路由(即最短路 由),哪怕还存在另一条高速(低时延)但路由器 较多的路由。 RIP 协议的三个特点 • (1) 仅和相邻路由器交换信息。 • (2) 交换的信息是当前本路由器所知道的全部信 息,即自己的路由表。 • (3) 按固定的时间间隔交换路由信息,例如,每 隔 30 秒。当网络拓扑发生变化时,路由器也及 时向相邻路由器通告拓扑变化后的路由信息。 路由表的建立 • 路由器在刚刚开始工作时,只知道到直接连接的网 络的距离(此距离定义为 1)。它的路由表是空的。 • 以后,每一个路由器也只和数目非常有限的相邻路 由器交换并更新路由信息。 • 经过若干次更新后,所有的路由器最终都会知道到 达本自治系统中任何一个网络的最短距离和下一跳 路由器的地址。 • RIP 协议的收敛 (convergence) 过程较快。“收敛” 就是在自治系统中所有的结点都得到正确的路由选 择信息的过程
2018/4/6 2.距离向量算法 2.距离向量算法 略由收到帽邮略由最(其地址为x)的一个RP报文: ·距离向量算法的基础就是Bellman-Ford算法 山先德改此RP报文中的所南项目:把“下一飘”字股中的地址都成 (或Ford-Fulkerson算法)。 为X,并把所有的“巨言”李最的值加1。 )对棒故后的RP报文中的海一个项目。量复以下步情: ·这种算法的要点是这样的: 若项目中的目的网蜂不在磨由表中,则把该项目加到磨由表中。 设X是结点A到B的最短路径上的一个结点。 若下一藤字段峰出的略由■地址是同样的,则把收到的项目管物 若把路径A→B拆成两段路径A→X和X→B, 原略由囊中的项目。 则每一段路径A+X和X→B也都分别是结点A 否则 到X和结点X到B的最短路径。 若收到项目中的更离小于略由表中的更真,则进行更新, 否则,什么也不输. 3)若3分钟还没有收到相邻路由■的更斯略由表,则把此相郁路由通 记为不可达磨由●,即将距真量为16(表示不可达)。 (4远回。 1 111 路由器之间交换信息与路由表更新 【例4-5】已知路由器R6有表49a)所示的路由表。 现在收到相邻路由器R,发来的路由更新信息,如表 ·RIP协议让互联网中的所有路由器都和自己的相 4-9b)所示。试更新路由器R的路由表。 邻路由器不断交换路由信息,并不断更新其路由 表,使得从每一个路由器到每一个目的网络的路 表4:)】略由疆凡:的略由表 49凡,发来的由更新息 目的网临距离 下一膜燕由香 目的同离 下一院略由■ 由都是最短的(即跳数最少)。 Net? 3 R。 Net1 3 R ·虽然所有的路由器最终都拥有了整个自治系统的 Net3 4 Net? 直技攻付■ 全局路由信总,但由于每一个路由器的位置不同, 它们的路由表当然也应当是不同的。 计德 电高加1 表49)略由顺R:更斯后的略由表 4-9修改看的表4-9b1 目的同墙距高下一酬墙由最 目的同峰更离下一就路由■ Net1 Net1 4 R Net? Net3 Net3 【例】路由表更新 3.RIP2协议的报文格式 4节 从C泰的IF报文 增加麻徽以后 Net1:没有新慎惠,不变 收标识蒋酒 Net2 从C来的P报文 Net2:相同的下一篇,雪执 4字节 阿第地址 t Net2 5 Net3: 于同掩得 Nct6 4 Net3 9 Mt5:不同的下一第,解填骤小,管换 布◆体 的为0 Ncty 3 Net6 5 Net8:不同的下一, 相同,不支 下一由地址 Net9 5 Net8 Net9:不同的下一鹏,新意大,不夜 题真116 6 新嚥由表 Net1 7 略由都分 Net1 7 A Net2 略由黄惠 Net2 2 更斯算法 Net3 R阳P根文 Net6 Net8 录多25个 Net9 UDP用户数量报 P数辑规 41 1 6
2018/4/6 6 2. 距离向量算法 路由器收到相邻路由器(其地址为X)的一个RIP 报文: (1) 先修改此RIP 报文中的所有项目:把“下一跳”字段中的地址都改 为 X,并把所有的“距离”字段的值加 1。 (2) 对修改后的RIP 报文中的每一个项目,重复以下步骤: 若项目中的目的网络不在路由表中,则把该项目加到路由表中。 否则 若下一跳字段给出的路由器地址是同样的,则把收到的项目替换 原路由表中的项目。 否则 若收到项目中的距离小于路由表中的距离,则进行更新, 否则,什么也不做。 (3) 若 3 分钟还没有收到相邻路由器的更新路由表,则把此相邻路由器 记为不可达路由器,即将距离置为16(表示不可达)。 (4) 返回。 2. 距离向量算法 • 距离向量算法的基础就是 Bellman-Ford 算法 (或 Ford-Fulkerson 算法)。 • 这种算法的要点是这样的: 设X是结点 A 到 B 的最短路径上的一个结点。 若把路径 A→B 拆成两段路径 A→X 和 X→B, 则每一段路径 A→X 和 X→B 也都分别是结点 A 到 X 和结点 X 到 B 的最短路径。 路由器之间交换信息与路由表更新 • RIP 协议让互联网中的所有路由器都和自己的相 邻路由器不断交换路由信息,并不断更新其路由 表,使得从每一个路由器到每一个目的网络的路 由都是最短的(即跳数最少)。 • 虽然所有的路由器最终都拥有了整个自治系统的 全局路由信息,但由于每一个路由器的位置不同, 它们的路由表当然也应当是不同的。 【例4-5】已知路由器 R6 有表 4-9(a) 所示的路由表。 现在收到相邻路由器 R4 发来的路由更新信息,如表 4-9(b) 所示。试更新路由器 R6 的路由表。 目的网络 距离 下一跳路由器 Net2 3 R4 Net3 4 R5 … … … 目的网络 距离 下一跳路由器 Net1 3 R1 Net2 4 R2 Net3 1 直接交付 目的网络 距离 下一跳路由器 Net1 4 R4 Net2 5 R4 Net3 2 R4 目的网络 距离 下一跳路由器 Net1 4 R4 Net2 5 R4 Net3 2 R4 … … … 表 4-9(a) 路由器 R6 的路由表 表 4-9(b) R4 发来的路由更新信息 表 4-9(d) 路由器 R6 更新后的路由表 表 4-9(c) 修改后的表 4-9(b) 计算 距离加 1 更新 【例】路由表更新 Net2 4 Net3 8 Net6 4 Net8 3 Net9 5 Net2 5 Net3 9 Net6 5 Net8 4 Net9 6 Net1 7 A Net2 2 C Net6 8 F Net8 4 E Net9 4 F 从C来的RIP报文 增加跳数以后 从C来的RIP报文 旧路由表 更新算法 Net1 7 A Net2 5 C Net3 9 C Net6 5 C Net8 4 E Net9 4 F 新路由表 Net1: 没有新信息,不变 Net2: 相同的下一跳,替换 Net3: 一条新路由,增加 Net6: 不同的下一跳,新跳数小,替换 Net8: 不同的下一跳,跳数相同,不变 Net9: 不同的下一跳,新跳数大,不变 4 字节 RIP 报文 3. RIP2 协议的报文格式 路由信息 (20 字节/路由) 可重复出现 最多 25 个 IP 数据报 路由标记 网络地址 地址族标识符 距离 (1-16) IP 首部 UDP 首部 路由部分 4 字节 子网掩码 下一跳路由器地址 UDP 用户数据报 首部 命令 版本 必为 0
2018/4/6 RP2报文 RIP2报文 ·RP2报文由首部和路由部分组成。 ·一个RIP报文最多可包括25个路由,因而RIP ·RP2报文中的路由部分由若干个路由信息组成。每 报文的最大长度是4+20×25=504字节。如超 过,必须再用一个RIP报文来传送。 个路由信息需要用20个字节。地址族标识符(又称 为地址类别)字段用来标志所使用的地址协议。 ·RP2具有简单的鉴别功能。 ·路由标记填入自治系统的号码,这是考虑到RP有 ·若使用鉴别功能,则将原来写入第一个路由信息(20 个字节)的置用作竖别。 可能收到本自治系统以外的路由选择信息。 ·在鉴别数据之后才写入路由信息,但这时最多只能再 ·再后面指出某个网络地址、该网络的子网掩码、下 放入24个路由信息· 一跳路由器地址以及到此网络的距离。 11 11 11/ 好消息传播得快,坏消息传播得慢 正常情况 11m 12B 1 题2 周3 1表示“从本痛由调同1” 一表示“直淡交付 ·RP协议特点:好消息传播得快,坏消息传播得 “1豪示“柜离是1” 慢。 R说:“我到网1的距离是1,是直接交付。 ·RP存在的一个问题:当网络出现故障时,要经 过比较长的时间(例如数分钟)才能将此信息传 送到所有的路由器。 11 11 正 [11-→ 11-→ 12B 网1 23 周3 周2 周3 R 1泰示“从本瑞由●到筒1” R“表示怒过民 周2 两3 R> “2爽示“更南量2 同1出T故障 116-→ 12B☐ 凡说:“我到网1的更离是2,是经过R。” R,说,“要到同1的更离是16(表示无法到达), 是直赖交付。” 但R在收到凡的更新报文之前,还发送原来的报文, 因为这时凡并不知道凡出了蚊得。 11 7
2018/4/6 7 RIP2 报文 • RIP2 报文由首部和路由部分组成。 • RIP2 报文中的路由部分由若干个路由信息组成。每 个路由信息需要用 20 个字节。地址族标识符(又称 为地址类别)字段用来标志所使用的地址协议。 • 路由标记填入自治系统的号码,这是考虑到 RIP 有 可能收到本自治系统以外的路由选择信息。 • 再后面指出某个网络地址、该网络的子网掩码、下 一跳路由器地址以及到此网络的距离。 RIP2 报文 • 一个 RIP 报文最多可包括 25 个路由,因而 RIP 报文的最大长度是 4 20 25 504 字节。如超 过,必须再用一个 RIP 报文来传送。 • RIP2 具有简单的鉴别功能。 • 若使用鉴别功能,则将原来写入第一个路由信息(20 个字节)的位置用作鉴别。 • 在鉴别数据之后才写入路由信息,但这时最多只能再 放入 24 个路由信息。 好消息传播得快,坏消息传播得慢 • RIP 协议特点:好消息传播得快,坏消息传播得 慢。 • RIP 存在的一个问题:当网络出现故障时,要经 过比较长的时间 (例如数分钟) 才能将此信息传 送到所有的路由器。 R1 R2 网 1 网 2 网 3 正 常 情 况 1 1 1 2 R1 R1 说:“我到网 1 的距离是 1,是直接交付。” “1”表示“从本路由器到网 1” “1”表示“距离是 1” “”表示“直接交付” R1 R2 网 1 网 2 网 3 正 常 情 况 1 1 1 2 R1 R2 说:“我到网 1 的距离是 2,是经过 R1。” “1”表示“从本路由器到网1” “2”表示“距离是 2” “R1 ”表示经过 R1 R1 R2 网 1 网 2 网 3 R1 R2 网 1 网 2 网 3 网1出了故障 正 常 情 况 1 1 1 16 1 2 R1 1 2 R1 R1 说:“我到网 1 的距离是 16 (表示无法到达), 是直接交付。” 但 R2 在收到 R1 的更新报文之前,还发送原来的报文, 因为这时 R2 并不知道 R1 出了故障
2018/4/6 11-→ 12R 正常 11- 12B☐ ◆ 五 2 同3 2 2 周3 同2 3 两1出了敏神 116-→ 12B 同1出了故神 116-→ 12R 13R→ 13R→ 14 R收到R的更新报文后,误从为可径过R,到 达网1,子量新自己的略由表,说:“爱到 民以后又更新自己的略由表为1,4R”,表 用1的距离是3,下一最经过R”·然后将此更 “我到周1更离是4,下一碱经过R”。 新信惠发送给R2。 1 11, 11/ 这就是好消息传播得快,而坏消惠传滑得慢。网络出故障的 RP协议的优缺点 传播时间往往需要较长的时间(例如数分钟)。这是P的- 个主要缺点。 ·优点: ·实现简单,开销较小。 ·缺点: ·RIP限制了网路的规模,它能使用的最大距离为1S 同1出了故博 116-→ ←12A☐ (16表示不可达)。 13☐→ ←14B,☐ ·资騁器阀務赖般璃騁突是异務电爱韩的定整路由表· 15R■→ ·“坏消息传播得慢”,使更新过程的收敛时间过长。 116R2→ 116B:☐ 这样不膏更新下去,直到R1和R2到网1的距商都增大到16 时,R1和R2才知道网1是不可达的。 11 1/ 4.5.3内部网关协议OSP℉ 1.OSPF协议的基本特点 ·开放最短路径优先OSPF(Open Shortest Path ·“开放”表明OSPF协议不是受某一家厂商控制, Fist)是为克服RIP的缺点在1989年开发出来的。 而是公开发表的。 ·OSPF的原理很简单,但实现起来却较复杂。 “最短路径优先”是因为使用了Dijkstra提出的 最短路径算法SPF ·采用分布式的链路状态协议(link state protocol). ·注意:OSPF只是一个协议的名字,它并不表示 其他的路由选择协议不是“最短路径优先”。 11 8
2018/4/6 8 R1 R2 网 1 网 2 网 3 R1 R2 网 1 网 2 网 3 网1出了故障 正 常 情 况 1 1 1 16 1 2 R1 1 2 R1 R1 收到 R2 的更新报文后,误认为可经过 R2 到 达网 1,于是更新自己的路由表,说:“我到 网 1 的距离是 3,下一跳经过 R2 ”。然后将此更 新信息发送给 R2。 1 3 R2 R1 R2 网 1 网 2 网 3 R1 R2 网 1 网 2 网 3 网1出了故障 正 常 情 况 1 1 1 16 1 2 R1 1 2 R1 R2 以后又更新自己的路由表为“1, 4, R1 ”,表 明 “我到网 1 距离是 4,下一跳经过 R1 ”。 1 3 R2 1 4 R1 R1 R2 网 1 网 2 网 3 R1 R2 网 1 网 2 网 3 网1出了故障 正 常 情 况 1 1 … 1 16 1 3 R2 1 5 R2 1 16 R2 1 2 R1 1 2 R1 1 4 R1 1 16 R1 … 这样不断更新下去,直到 R1和 R2到网 1 的距离都增大到 16 时,R1和 R2 才知道网 1 是不可达的。 这就是好消息传播得快,而坏消息传播得慢。网络出故障的 传播时间往往需要较长的时间(例如数分钟)。这是 RIP 的一 个主要缺点。 RIP 协议的优缺点 • 优点: • 实现简单,开销较小。 • 缺点: • RIP 限制了网络的规模,它能使用的最大距离为 15 (16 表示不可达)。 • 路由器之间交换的路由信息是路由器中的完整路由表, 因而随着网络规模的扩大,开销也就增加。 • “坏消息传播得慢”,使更新过程的收敛时间过长。 4.5.3 内部网关协议 OSPF • 开放最短路径优先 OSPF (Open Shortest Path First)是为克服 RIP 的缺点在 1989 年开发出来的。 • OSPF 的原理很简单,但实现起来却较复杂。 1. OSPF 协议的基本特点 • “开放”表明 OSPF 协议不是受某一家厂商控制, 而是公开发表的。 • “最短路径优先”是因为使用了 Dijkstra 提出的 最短路径算法 SPF • 采用分布式的链路状态协议 (link state protocol)。 • 注意:OSPF 只是一个协议的名字,它并不表示 其他的路由选择协议不是“最短路径优先
2018/4/6 三个要点 链路状态数据库(Iink-state database) ·向本自治系统中所有路由器发送信息,这里使用 ·由于各路由器之间频繁地交换链路状态信息,因 的方法是洪泛法。 此所有的路由器最终都能建立一个链路状态数据 ·发送的信息就是与本路由器相邻的所有路由器的 库。 链路状态,但这只是路由器所知道的部分信息。 ·这个数据库实际上就是全网的拓扑结构图,它在 ·“链路状态”就是说明本路由器都和哪些路由器 相邻,以及该链路的“度量”(metric). 全网范围内是一致的(这称为链路状态数据库的 同步)。 ·只有当链路状态发生变化时,路由器才用洪泛法 向所有路由器发送此信息。 ·OSPF的链路状态数据库能较快地进行更新,使 各个路由器能及时更新其路由表。 ·OSPF的更新过程收敛得快是其重要优点。 1 11 11 11 OSPF的区域(area) OSPF划分为两种不同的区域 ·为了使OSPF能够用于规模很大的网络,OSPF 至其他自治系统 将一个自治系统再划分为若干个更小的范围,叫 做区域。 自治系统AS 主干区城0.0.0,9 ·每一个区域都有一个32位的区域标识符(用点 R 周6) 分十进制表示)。 1 ·区域也不能太大,在一个区域内的路由器最好不 B 周2 超过200个。 3) 43 周8 区罐0.0.0.1 西 区罐0.0.0.2 区罐0.0.0.3 11 11 划分区域 主干路由器 ·划分区域的好处就是将利用洪泛法交换链路状态信 息的范围局限于每一个区域而不是整个的自治系统 至其他自治系统 这就减少了整个网络上的通信量。 自治系统AS 主干区城0.0.09 ·在一个区域内部的路由器只知道本区域的完整网络 周6 拓扑,而不知道其他区域的网络拓扑的情况。 周1 ·OSPF使用层次结构的区域划分。在上层的区域叫做 周2 主千区域(backbone area)。 8梦 ·主干区域的标识符规定为0.0.0.0。主干区域的作用是 网3 周4) 08 用来连通其他在下层的区域。 区城0.0.0.1 区螺0.0.0.2 区罐0.0.03 1 9
2018/4/6 9 三个要点 • 向本自治系统中所有路由器发送信息,这里使用 的方法是洪泛法。 • 发送的信息就是与本路由器相邻的所有路由器的 链路状态,但这只是路由器所知道的部分信息。 • “链路状态”就是说明本路由器都和哪些路由器 相邻,以及该链路的“度量”(metric)。 • 只有当链路状态发生变化时,路由器才用洪泛法 向所有路由器发送此信息。 链路状态数据库 (link-state database) • 由于各路由器之间频繁地交换链路状态信息,因 此所有的路由器最终都能建立一个链路状态数据 库。 • 这个数据库实际上就是全网的拓扑结构图,它在 全网范围内是一致的(这称为链路状态数据库的 同步)。 • OSPF 的链路状态数据库能较快地进行更新,使 各个路由器能及时更新其路由表。 • OSPF 的更新过程收敛得快是其重要优点。 OSPF 的区域 (area) • 为了使 OSPF 能够用于规模很大的网络,OSPF 将一个自治系统再划分为若干个更小的范围,叫 做区域。 • 每一个区域都有一个 32 位的区域标识符(用点 分十进制表示)。 • 区域也不能太大,在一个区域内的路由器最好不 超过 200 个。 自治系统 AS OSPF 划分为两种不同的区域 区域 0.0.0.1 区域 0.0.0.3 主干区域 0.0.0.0 至其他自治系统 R9 R7 R6 R5 R4 R3 R2 R1 网8 网6 网3 网2 网1 网7 区域 0.0.0.2 网 4 网5 R8 划分区域 • 划分区域的好处就是将利用洪泛法交换链路状态信 息的范围局限于每一个区域而不是整个的自治系统, 这就减少了整个网络上的通信量。 • 在一个区域内部的路由器只知道本区域的完整网络 拓扑,而不知道其他区域的网络拓扑的情况。 • OSPF 使用层次结构的区域划分。在上层的区域叫做 主干区域 (backbone area)。 • 主干区域的标识符规定为0.0.0.0。主干区域的作用是 用来连通其他在下层的区域。 主干路由器 自治系统 AS 区域 0.0.0.1 区域 0.0.0.3 主干区域 0.0.0.0 至其他自治系统 R9 R7 R6 R5 R4 R3 R2 R1 网8 网6 网3 网2 网1 网7 区域 0.0.0.2 网 4 网5 R8
2018/4/6 区域边界路由器 OSPF直接用P数据报传送 至其他自治系统 ·OSPF不用UDP而是直接用P数据报传送。 自治系统AS ·OSP℉构成的数据报很短。这样做可减少路由信 主千区媒0.0.09 息的通信量。 R 06 ·数据报很短的另一好处是可以不必将长的数据报 1 Re 分片传送。 R 周2 ·但分片传送的数据报只要丢失一个,就无法组装 3 ⊙ 周8 成原来的数据报,而整个数据报就必须重传。 区媒0.0.01 区蝶0.0.0.2 区罐0.0.03 1 4 11 111 OSPF的其他特点 OSPF分组 0 ·OSPF对不同的链路可根据P分组的不同服务类型TOS 16 31 而设置成不同的代价。因此,OSPF对于不同类型的业 版本 黄型 分想长度 务可计算出不同的路由。 晓由量标识特 ·如果到同一个目的网络有多条相同代价的路径,那么可 区维标仅特 和 以将通信量分配给这几条路径。这叫做多路径间的负载 别型 别 平衡。 ·所有在OSP℉路由器之间交换的分组都具有鉴别的功能。 一24节 ·支持可变长度的子网划分和无分类编址CDR。 05P形分组首邮 类显1重费量5的05p形分姐 ·每一个链路状态都带上一个32位的序号,序号越大状态 就越新。 05PF分组 P歌报一 OSPE分组用P败据报传进 2.OSPF的五种分组类型 OSPF的基本操作 ·类型1,问候(Hello)分组。 ·类型2,数据库描述(Database Description)分组。 确定可达性 问线 ·类型3,链路状态请求(Link State Request)分组。 问情 ·类型4,链路状态更新(Link State Update)分组, 库推这 量库捕述 用洪泛法对全网更新链路状态。 达到量量康的周为 序捕证 ·类型5,链路状态确认(Link State Acknowledgment) 最席城速 分组。 篇嘉状态演求 新情况下的同步 链蜂状恋更解 能晴状态南以 1 11 10
2018/4/6 10 区域边界路由器 自治系统 AS 区域 0.0.0.1 区域 0.0.0.3 主干区域 0.0.0.0 至其他自治系统 R9 R7 R6 R5 R4 R3 R2 R1 网8 网6 网3 网2 网1 网7 区域 0.0.0.2 网 4 网5 R8 OSPF 直接用 IP 数据报传送 • OSPF 不用 UDP 而是直接用 IP 数据报传送。 • OSPF 构成的数据报很短。这样做可减少路由信 息的通信量。 • 数据报很短的另一好处是可以不必将长的数据报 分片传送。 • 但分片传送的数据报只要丢失一个,就无法组装 成原来的数据报,而整个数据报就必须重传。 OSPF 的其他特点 • OSPF 对不同的链路可根据 IP 分组的不同服务类型 TOS 而设置成不同的代价。因此,OSPF 对于不同类型的业 务可计算出不同的路由。 • 如果到同一个目的网络有多条相同代价的路径,那么可 以将通信量分配给这几条路径。这叫做多路径间的负载 平衡。 • 所有在 OSPF 路由器之间交换的分组都具有鉴别的功能。 • 支持可变长度的子网划分和无分类编址 CIDR。 • 每一个链路状态都带上一个 32 位的序号,序号越大状态 就越新。 IP 数据报 OSPF 分组 IP数据报首部 OSPF 分组 OSPF 分组首部 类型 1 至类型5 的 OSPF 分组 24 字节 0 8 16 31 版 本 路 由 器 标 识 符 类 型 分 组 长 度 检 验 和 鉴 别 位 鉴 别 区 域 标 识 符 鉴 别 类 型 OSPF 分组用 IP 数据报传送 2. OSPF 的五种分组类型 • 类型1,问候 (Hello) 分组。 • 类型2,数据库描述 (Database Description) 分组。 • 类型3,链路状态请求 (Link State Request) 分组。 • 类型4,链路状态更新 (Link State Update) 分组, 用洪泛法对全网更新链路状态。 • 类型5,链路状态确认 (Link State Acknowledgment) 分组。 OSPF 的基本操作 问候 问候 数据库描述 数据库描述 数据库描述 数据库描述 链路状态请求 链路状态更新 链路状态确认 确定可达性 达到数据库的同步 新情况下的同步