2018/4/13 简中国神游我8大年 上次课的主要内容 ·4.4网际控制报文协议ICMP ·4.4.1ICMP报文的种类 计算机网络(第7版) ·4.4.2ICMP的应用举例 ·4.5互联网的路由选择协议 ·45.1有关路由选择协议的八个基本概念 ·45.2内部网关协议RP ·4.5.3内部网关协议OSP ·4.5.4外部网关协议BGP 第4章网络层(3) ·4.5.5路由器的构成 中国科学技术大学曾凡平 ·4.61Pv6 ·4.6.1P6的基本首部 ·4.6.2P6的地址 ·4.6.3从IPv4向IP6过渡 ·4.6.4ICMP6 11 11,ga9 21 第4章网络层(3) 4.7P多播 ·4.7P多播 ·4.7.1P多播的基本概念 ·4.7.1IP多播的基本概念 ·4.7.2在局域网上进行硬件多播 ·4.7.2在局域网上进行硬件多播 ·4.7.3网际组管理协议IGMP和多播路由选择协议 ·4.7.3网际组管理协议IGMP和多播路由选择协 议 ·4.8虚拟专用网VPN和网络地址转换NAT ·4.8.1虚拟专用网VPN ·4.82网络地址转换NAT ·4.9多协议标记交换MPLS ·4.9.1MPLS的工作原理 ·4.9.2MPLS首部的位置与格式 |1,me 3 111w · 4.7.1P多播的基本概念 多播可大大节约网络资源 ·IP多播(multicast,以前曾译为组播)已成为互联 视频服务器M 网的一个热门课题。 ·目的:更好第支持一对多通信。 采用单播方式, 向90台主机传送 ·一对多通信:一个源点发送到许多个终点。 同样的视频节目 ·例如,实时信息的交付(如新网、股吏行情等),软 0个 需要发送90个单播 件更新,交互式会议及其他多媒体通信 30 30 1h30个 共有90个主机接收视顿节目 单据 1,m s1 1,型 1
2018/4/13 1 计算机网络 (第 7 版) 第 4 章 网络层(3) 中国科学技术大学 曾凡平 上次课的主要内容 • 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.网络层 2 第 4 章 网络层(3) • 4.7 IP 多播 • 4.7.1 IP 多播的基本概念 • 4.7.2 在局域网上进行硬件多播 • 4.7.3 网际组管理协议 IGMP 和多播路由选择协议 • 4.8 虚拟专用网 VPN和网络地址转换 NAT • 4.8.1 虚拟专用网 VPN • 4.8.2 网络地址转换 NAT • 4.9 多协议标记交换 MPLS • 4.9.1 MPLS 的工作原理 • 4.9.2 MPLS 首部的位置与格式 4.网络层 3 4.7 IP 多播 • 4.7.1 IP 多播的基本概念 • 4.7.2 在局域网上进行硬件多播 • 4.7.3 网际组管理协议 IGMP 和多播路由选择协 议 4.网络层 4 4.7.1 IP 多播的基本概念 • IP 多播 (multicast,以前曾译为组播) 已成为互联 网的一个热门课题。 • 目的:更好第支持一对多通信。 • 一对多通信:一个源点发送到许多个终点。 • 例如,实时信息的交付(如新闻、股市行情等),软 件更新,交互式会议及其他多媒体通信。 4.网络层 5 多播可大大节约网络资源 共有 90 个主机接收视频节目 R1 R3 R4 R2 视频服务器 M … … … 30 个 30 个 30 个 30 个 30 个 30 个 90 个 采用单播方式, 向 90 台主机传送 同样的视频节目 需要发送 90 个单播 单播 4.网络层 6
2018/4/13 多播可大大节约网络资源 P多播 视频服务器M 采用多播方式, ·在互联网上进行多播就叫做P多播。 只漏发送一次到多舞组, ·互联网范围的多播要靠路由器来实现。 略由程复制分组。 1 局地网具有要件麦福功能, ·能够运行多播协议的路由器称为多播路由器 不需要复制分组。 (multicast router)。当然它也可以转发普通的单播 1个 1 当多播组的主凯数很大时 IP数据报。 R R (如成千上万个),聚用 ·从I992年起,在互联网上开始试验虚拟的多播 ,1个 多播方式就可明显地减轻 网培中各种资的测。 主千网MBONE(Multicast Backbone On the InterNEt)。现在多播主干网已经有了相当大的 规模。 多播组成员共有90个 多播 11:网98 711 11 Rag s1 多播P地址 多播数据报 ·IP多播所传送的分组需要使用多播IP地址。 ·多播数据报和一般的P数据报的区别就是它使 ·在多播数据报的目的地址写入的是多播组的标识 用D类P地址作为目的地址,并且首部中的协 行。 议字段值是2,表明使用网际组管理协议IGMP: ·多播组的标识符就是P地址中的D类地址(多 ·多播数据报也是“尽最大努力交付”,不保证一 播地址)。 定能够交付多播组内的所有成员。 ·每一个D类地址标志一个多播组。 ·对多播数据报不产生ICMP差错报文。因此,若 在PNG命令后面键入多播地址,将永远不会收 ·多播地址只能用于目的地址,不能用于源地址。 到响应。 11me 。11 111ae 4.7.2在局域网上进行硬件多播 D类P地址 ·互联网号码指派管理局IANA拥有的以太网地址块 与以太网多播地址的映射关系 的高24位为00-00-5E。 ·因此TCPP协议使用的以太网多播地址块的范围是 这5位不使用 从00-00-5E-00-00-00 0 16 24 到00-00-5E-FF-FF-FF D类P地址10 ·不难看出,在每一个地址中,只有23位可用作多播。 01005E ·D类1P地址可供分配的有28位,在这28位中的前 5位不能用来构成以太网硬件地址。 表示多是 一最無B位来自D典P地址 48位以太同地址 11 1, 2
2018/4/13 2 多播可大大节约网络资源 采用多播方式, 只需发送一次到多播组。 路由器复制分组。 局域网具有硬件多播功能, 不需要复制分组。 当多播组的主机数很大时 (如成千上万个),采用 多播方式就可明显地减轻 网络中各种资源的消耗。 多播组成员共有 90 个 R1 R3 R4 R2 视频服务器 M … … … 1 个 1 个 1 个 1 个 1 个 1 个 1 个 复制 多播 多播 多播 多播 4.网络层 7 IP 多播 • 在互联网上进行多播就叫做 IP 多播。 • 互联网范围的多播要靠路由器来实现。 • 能够运行多播协议的路由器称为多播路由器 (multicast router)。当然它也可以转发普通的单播 IP数据报。 • 从 1992 年起,在互联网上开始试验虚拟的多播 主 干 网 MBONE (Multicast Backbone On the InterNEt)。 现在多播主干网已经有了相当大的 规模。 4.网络层 8 多播 IP 地址 • IP 多播所传送的分组需要使用多播 IP 地址。 • 在多播数据报的目的地址写入的是多播组的标识 符。 • 多播组的标识符就是 IP 地址中的 D 类地址(多 播地址)。 • 每一个 D 类地址标志一个多播组。 • 多播地址只能用于目的地址,不能用于源地址。 4.网络层 9 多播数据报 • 多播数据报和一般的 IP 数据报的区别就是它使 用 D 类 IP 地址作为目的地址,并且首部中的协 议字段值是 2,表明使用网际组管理协议 IGMP。 • 多播数据报也是“尽最大努力交付”,不保证一 定能够交付多播组内的所有成员。 • 对多播数据报不产生 ICMP 差错报文。因此,若 在 PING 命令后面键入多播地址,将永远不会收 到响应。 4.网络层 10 4.7.2 在局域网上进行硬件多播 • 互联网号码指派管理局 IANA 拥有的以太网地址块 的高 24 位为 00-00-5E。 • 因此 TCP/IP 协议使用的以太网多播地址块的范围是 从 00-00-5E-00-00-00 到 00-00-5E-FF-FF-FF • 不难看出,在每一个地址中,只有23位可用作多播。 • D 类 IP 地址可供分配的有 28 位,在这 28 位中的前 5 位不能用来构成以太网硬件地址。 4.网络层 11 D 类 IP 地址 与以太网多播地址的映射关系 0000000100000000010111100 1110 0 8 16 24 31 D 类 IP 地址 这 5 位不使用 48 位以太网地址 0 1 0 0 5 E 表示多播 最低 23 位来自 D 类 IP 地址 4.网络层 12
2018/4/13 D类P地址 4.7.3网际组管理协议IGMP 与以太网多播地址的映射关系 和多播路由选择协议 ·由于多播P地址与以太网硬件地址的映射关系不是 1.P多播需要两种协议 唯一的,因此收到多播数据报的主机,还要在P层 利用软件进行过滤,把不是本主机要接收的数据报 ·为了使路由器知道多播组成员的信息,需要利用网际组 丢弃。 管理协议IGMP(Internet Group Management Protocol)。 ·连接在局域网上的多播路由器还必须和互联网上的其他 多播路由器协同工作,以便把多播数据报用最小代价传 送给所有的组成员。这就需要使用多播路由选择协议。 11,网08 11 111网a9 ,1 IGMP使多播路由器知道多播组成员信息 IGMP的使用范围 ◆加多拥坦 ·IGMP并非在互联网范围内对所有多播组成员进 128.56.24.34 行管理的协议。 未加■ 事限想 ·IGMP不知道P多播组包含的成员数,也不知 命加事细姐 135.27.74.52 R IGMP 童加事相 道这些成员都分布在哪些网络上。 130.12.14.56 ·IGMP协议是让连接在本地局域网上的多播路由 GMP 多精粗 IGMP 器知道本局域网上是否有主机(严格讲,是主机 226.15.37.123 上的某个进程)参加或退出了某个多播组。 IGMP R 130.12.14.43 ◆加事洲相 111 11 111ae 6:1 多播路由选择协议更为复杂 多播路由选择协议更为复杂 多播路由选择协议比单播路由选择协议复杂得多。 ·多播转发必须动态地适应多播组成员的变化(这 时网络拓扑并未发生变化)。请注意,单播路由 选择通常是在网络拓扑发生变化时才需要更新路 由。 ·多播路由器在转发多播数据报时,不能仅仅根据 多播数据报中的目的地址,而是还要考虑这个多 播数据报从什么地方来和要到什么地方去。 ·多播数据报可以由没有加入多播组的主机发出, 也可以通过没有组成员接入的网络。 3
2018/4/13 3 D 类 IP 地址 与以太网多播地址的映射关系 • 由于多播 IP 地址与以太网硬件地址的映射关系不是 唯一的,因此收到多播数据报的主机,还要在 IP 层 利用软件进行过滤,把不是本主机要接收的数据报 丢弃。 4.网络层 13 4.7.3 网际组管理协议 IGMP 和多播路由选择协议 1. IP 多播需要两种协议 • 为了使路由器知道多播组成员的信息,需要利用网际组 管理协议 IGMP (Internet Group Management Protocol)。 • 连接在局域网上的多播路由器还必须和互联网上的其他 多播路由器协同工作,以便把多播数据报用最小代价传 送给所有的组成员。这就需要使用多播路由选择协议。 4.网络层 14 IGMP 使多播路由器知道多播组成员信息 128.56.24.34 135.27.74.52 130.12.14.56 130.12.14.43 多播组 226.15.37.123 IGMP IGMP IGMP IGMP R1 R4 R3 R2 参加多播组 参加多播组 参加多播组 参加多播组 未参加 多播组 未参加 多播组 4.网络层 15 IGMP 的使用范围 • IGMP 并非在互联网范围内对所有多播组成员进 行管理的协议。 • IGMP 不知道 IP 多播组包含的成员数,也不知 道这些成员都分布在哪些网络上。 • IGMP 协议是让连接在本地局域网上的多播路由 器知道本局域网上是否有主机(严格讲,是主机 上的某个进程)参加或退出了某个多播组。 4.网络层 16 多播路由选择协议更为复杂 N2 A 多播组① G F B C D E N1 N3 R 多播组② 多播路由选择协议比单播路由选择协议复杂得多。 4.网络层 17 多播路由选择协议更为复杂 • 多播转发必须动态地适应多播组成员的变化(这 时网络拓扑并未发生变化)。请注意,单播路由 选择通常是在网络拓扑发生变化时才需要更新路 由。 • 多播路由器在转发多播数据报时,不能仅仅根据 多播数据报中的目的地址,而是还要考虑这个多 播数据报从什么地方来和要到什么地方去。 • 多播数据报可以由没有加入多播组的主机发出, 也可以通过没有组成员接入的网络。 4.网络层 18
2018/4/13 2.网际组管理协议IGMP IGMP是整个网际协议P ·1989年公布的RFC11I2(IGMPv1)早已成为 的一个组成部分 了互联网的标准协议。 ·和ICMP相似,IGMP使用IP数据报传递其报文 ·1997年公布的RFC2236(IGMPv2,建议标准) (即IGMP报文加上P首部构成IP数据报),但 对IGMPvl进行了更新。 它也向P提供服务。 ·2002年10月公布了RFC3376(IGMPv3,建议 ·因此,我们不把IGMP看成是一个单独的协议,而 标准),宜布RFC2236(IGMPv2)是陈I旧的。 是属于整个网际协议IP的一个组成部分。 111网08 911 111网a9 2011 IGMP工作可分为两个阶段 IGMP可分为两个阶段 ·第一阶段:加入多播组。 ·第二阶段:探询组成员变化情况。 ‘之蓊态贽的系漫用财投度实酸锅殷 ·因为组成员关系是动态的,因此本地多插路由器要周 期性地探询本地局域网上的主机,以使知道这些主机 员。 是否还继续是组的成员。 ·本地的多播路由器收到IGMP报文后,将组成员关系 ·只要对禁个组有一个主机响应,那么多播路由器就认 转发给互联网上的其他多播路由器。 为这个组是活跃的。 ·但一个组在经过几次的探询后仍然没有一个主机响应。 则不再将该组的成员关系转发给其他的多播路由器。 11m8 五11 111g 2 IGMP采用的一些具体措施 IGMP采用的一些具体措施(续) ·在主机和多播路由器之间的所有通信都是使用 ·在IGMP的询问报文中有一个数值N,它指明一 IP多播。 个最长响应时间(默认值为10秒)。当收到询 ·多播路由器在探询组成员关系时,只需要对所有 问时,主机在0到N之间随机选择发送响应所 的组发送一个请求信息的询问报文,而不需要对 需经过的时延。对应于最小时延的响应最先发送: 每一个组发送一个询问报文。默认的询间速率是 ·同一个组内的每一个主机都要监听响应,只要有 每125秒发送一次。 本组的其他主机先发送了响应,自己就可以不再 ·当同一个网络上连接有几个多播路由器时,它们 发送响应了。 能够迅速和有效地选择其中的一个来探询主机的 成员关系。 ”11 1,线 241 4
2018/4/13 4 2. 网际组管理协议 IGMP • 1989 年公布的 RFC 1112(IGMPv1)早已成为 了互联网的标准协议。 • 1997 年公布的 RFC 2236(IGMPv2,建议标准) 对 IGMPv1 进行了更新。 • 2002 年 10 月公布了 RFC 3376(IGMPv3,建议 标准),宣布 RFC 2236(IGMPv2)是陈旧的。 4.网络层 19 IGMP 是整个网际协议 IP 的一个组成部分 • 和 ICMP 相似,IGMP 使用 IP 数据报传递其报文 (即 IGMP 报文加上 IP 首部构成 IP 数据报),但 它也向 IP 提供服务。 • 因此,我们不把 IGMP 看成是一个单独的协议,而 是属于整个网际协议 IP 的一个组成部分。 4.网络层 20 IGMP 工作可分为两个阶段 • 第一阶段:加入多播组。 • 当某个主机加入新的多播组时,该主机应向多播组的 多播地址发送 IGMP 报文,声明自己要成为该组的成 员。 • 本地的多播路由器收到 IGMP 报文后,将组成员关系 转发给互联网上的其他多播路由器。 4.网络层 21 IGMP 可分为两个阶段 • 第二阶段:探询组成员变化情况。 • 因为组成员关系是动态的,因此本地多播路由器要周 期性地探询本地局域网上的主机,以便知道这些主机 是否还继续是组的成员。 • 只要对某个组有一个主机响应,那么多播路由器就认 为这个组是活跃的。 • 但一个组在经过几次的探询后仍然没有一个主机响应, 则不再将该组的成员关系转发给其他的多播路由器。 4.网络层 22 IGMP 采用的一些具体措施 • 在主机和多播路由器之间的所有通信都是使用 IP 多播。 • 多播路由器在探询组成员关系时,只需要对所有 的组发送一个请求信息的询问报文,而不需要对 每一个组发送一个询问报文。默认的询问速率是 每 125 秒发送一次。 • 当同一个网络上连接有几个多播路由器时,它们 能够迅速和有效地选择其中的一个来探询主机的 成员关系。 4.网络层 23 IGMP 采用的一些具体措施(续) • 在 IGMP 的询问报文中有一个数值 N,它指明一 个最长响应时间(默认值为 10 秒)。当收到询 问时,主机在 0 到 N 之间随机选择发送响应所 需经过的时延。对应于最小时延的响应最先发送。 • 同一个组内的每一个主机都要监听响应,只要有 本组的其他主机先发送了响应,自己就可以不再 发送响应了。 4.网络层 24
2018/4/13 3.多播路由选择 3.多播路由选择 ·多播路由选择协议尚未标准化。 ·多播路由选择协议在转发多播数据报时使用三种 ·一个多播组中的成员是动态变化的,随时会有主机 方法: 加入或离开这个多播组。 ·(1)洪泛与剪除 ·多播路由选择实际上就是要找出以源主机为根结点 ·(2)隧道技术(tunneling) 的多播转发树。 ·()基于核心的发现技术 ·在多播转发树上的路由器不会收到重复的多播数据 报。 ·对不同的多播组对应于不同的多播转发树。 ·同一个多播组,对不同的源点也会有不同的多播转 发树。 11:网0是 511 111网a9 2地11 (1)洪泛与剪除 RPB的要点 ·这种方法适合于较小的多播组,而所有的组成员 ·路由器收到多播数据报时,先检查它是否是从源点经最 接入的局域网也是相邻接的。 短路径传送来的。 ·一开始,路由器转发多播数据报使用洪泛的方法 ·若是,就向所有其他方向转发刚才收到的多播数据报 (这就是广播)。 (但进入的方向除外),否则就丢弃而不转发。 ·如果存在几条同样长度的最短路径,那么只能选择一条 ·为了避免兜圈子,采用了叫做反向路径广播 最短路径,选择的准则就是看这几条最短路径中的相邻 RPB(Reverse Path Broadcasting)的策略。 路由器谁的P地址最小。 ·最后就得出了用来转发多播数据报的多播转发树,以后 就按这个多播转发树转发多播数据报。避免了多播数据 报的兜阁子,同时每一个路由器也不会接收重复的多播 数据报。 111四 ”11 111ag ,1 RPB的要点 反向路径广播 ·如果在多播转发树上的某个路由器发现它的下游 RPB和剪除 ■一转发多数场报 树枝(即叶节点方向)已没有该多播组的成员, +X收到后即要济 就应把它和下游的树枝一起剪除。 ·当某个树枝有新增加的组成员时,可以再接入到 R 多播转发树上。 剪除没有 组成员的树枝 1,m 11 5
2018/4/13 5 3. 多播路由选择 • 多播路由选择协议尚未标准化。 • 一个多播组中的成员是动态变化的,随时会有主机 加入或离开这个多播组。 • 多播路由选择实际上就是要找出以源主机为根结点 的多播转发树。 • 在多播转发树上的路由器不会收到重复的多播数据 报。 • 对不同的多播组对应于不同的多播转发树。 • 同一个多播组,对不同的源点也会有不同的多播转 发树。 4.网络层 25 3. 多播路由选择 • 多播路由选择协议在转发多播数据报时使用三种 方法: • (1) 洪泛与剪除 • (2) 隧道技术 (tunneling) • (3) 基于核心的发现技术 4.网络层 26 (1) 洪泛与剪除 • 这种方法适合于较小的多播组,而所有的组成员 接入的局域网也是相邻接的。 • 一开始,路由器转发多播数据报使用洪泛的方法 (这就是广播)。 • 为了避免兜圈子,采用了叫做反向路径广播 RPB (Reverse Path Broadcasting) 的策略。 4.网络层 27 RPB 的要点 • 路由器收到多播数据报时,先检查它是否是从源点经最 短路径传送来的。 • 若是,就向所有其他方向转发刚才收到的多播数据报 (但进入的方向除外),否则就丢弃而不转发。 • 如果存在几条同样长度的最短路径,那么只能选择一条 最短路径,选择的准则就是看这几条最短路径中的相邻 路由器谁的 IP 地址最小。 • 最后就得出了用来转发多播数据报的多播转发树,以后 就按这个多播转发树转发多播数据报。避免了多播数据 报的兜圈子,同时每一个路由器也不会接收重复的多播 数据报。 4.网络层 28 RPB 的要点 • 如果在多播转发树上的某个路由器发现它的下游 树枝(即叶节点方向)已没有该多播组的成员, 就应把它和下游的树枝一起剪除。 • 当某个树枝有新增加的组成员时,可以再接入到 多播转发树上。 4.网络层 29 剪除没有 组成员的树枝 源点 R3 R4 R6 R7 R8 R1 R5 R2 转发多播数据报 收到后即丢弃 反向路径广播 RPB 和剪除 4.网络层 30