第5讲 网络层 本讲目的: 概述: 理解网络层服务原理: 因特网的实现实例 网络层的服务 路由选择原理 分层的路由选择 IP协议 第5讲 网络层 本讲目的: 理解网络层服务原理: 路由选择 处理系统的扩展 路由器工作原理 前沿话题 : IPv6, 组播 因特网的实现实例 概述: 网络层的服务 路由选择原理 分层的路由选择 IP协议 因特网的路由选择协议 域内路由选择 域间路由选择 路由器组成原理 IPv6 组播的路由选择 第5讲 网络层之一
? ? ? 网络服务模型 Q: 对收发双方而言,到底采用什么样的“信道(channel)” 服务模型? 网络层所提供的 最重要的抽象是 : 保证带宽? 还原分组间的时序 (消除抖动)? 无损传递? 有序传递? 向发送端反馈拥塞信息? 网络层所提供的 最重要的抽象是 : ? 虚电路 或 数据报? ? ? service abstraction 第5讲 网络层之一
网络层的功能 在收发主机之间传输分组 网络层协议必须在每一台主机和路由器上实现 三项重要功能: 路径决策: 为分组在收发双方之间确定路径, 路由选择算法 交换: 在路由器的输入、输出端口传递分组 建立连接: 某些网络的体系结构要求在数据流经之前,在所经由的路由器中建立连接(call setup) application transport network data link physical network data link physical 第5讲 网络层之一
虚电路 “使收发双方之间的路径表现得如同电话线路一般” 网络内部有较多的智能和性能指标 沿收发路径上的网络结点的操作比较复杂 在数据流动前,需要建立连接(call setup),流动结束后要断开( teardown ) 每个分组携带 VC标识 (而不是信宿主机的ID) 每个在收发双方路径上的路由器需要为正在传输中的连接维持“状态” 传输层的连接仅涉及到两个端系统(end system) 链路, 路由器资源 (带宽, 缓存等)可被分配 给 VC 目的:为了达到类似线路交换的性能 第5讲 网络层之一
虚电路: 信令协议(signaling protocols) 用来建立、维护、断开 VC 应用在 ATM, 帧中继, X.25(电信级服务) 不是应用在今天的 Internet application transport network data link physical application transport network data link physical 5. Data flow begins 6. Receive data 4. Call connected 3. Accept call 1. Initiate call 2. incoming call 第5讲 网络层之一
数据报(Datagram )网络: 因特网模型 在网络层没有联接建立过程 路由器: 没有端对端的连接状态 在网络层不存在“联接”的概念 一般分组使用信宿主机的ID进行路由选择 同样收发双方的不同分组可能经由的路径可能不同 application transport network data link physical application transport network data link physical 1. Send data 2. Receive data 第5讲 网络层之一
网络层的服务模型: 承诺? 网络 体系结构 Internet ATM 服务 模型 best effort CBR VBR ABR UBR 拥塞 反馈 no (inferred via loss) no congestion yes 带宽 none constant rate guaranteed minimum 无损 no yes 有序 no yes 实时 no yes Internet 正在进化: Intserv, Diffserv 第5讲 网络层之一
数据报还是VC网络: why? 因特网 ATM 数据交换在计算机之间进行 电话网络演化而来 “弹性”服务,没有严格的实时性要求 人们的交流: “聪明”的端系统 (计算机) 可进行自适应,执行控制, 出错恢复 网络内部比较简单, “边缘上”比较复杂 利用了许多链路类型 各具有不同的特性 统一服务标准十分困难 ATM 电话网络演化而来 人们的交流: 严格要求实时性, 和可靠 需要服务承诺 “傻瓜式”的端系统 电话机 复杂性在网络内部 第5讲 网络层之一
目标: 在收发双方的通信过程中为分组(所经由的一系列路由器中)确定一条“好” 的路径 路由选择 路由选择协议 A E D C B F 2 1 3 5 目标: 在收发双方的通信过程中为分组(所经由的一系列路由器中)确定一条“好” 的路径 路由选择算法的图形抽象: 图中的结点是路由器 图中的线条为物理链路 链路成本: 延迟, ¥费用, 或拥塞的程度 “好” 路: 一般为费用最低的路径 也可以另行定义 第5讲 网络层之一
路由算法分类 静态或动态的? 全局或分散的信息? 静态: 路由变化较少的情况 动态: 路由变化较快的情况 定期更新 为了响应链路成本的变化 全局: 所有路由器都有完整的拓扑逻辑,链路成本信息 “link state” 算法 分散: 路由器只了解物理上邻接的路由器,了解到达这些路由器的链路成本 通过迭代计算处理,可与相邻路由器交换信息 “distance vector” 算法 静态或动态的? 静态: 路由变化较少的情况 动态: 路由变化较快的情况 定期更新 为了响应链路成本的变化 第5讲 网络层之一
因特网的分层路由选择 因特网不是一个理想化的网络,所以 不可能所有的路由器完全一样 网络不在一个 “平面”上 规模: 5千万台以上信宿主机: 不可能把所有主机存在一个路由表中! 路由表的交换可以把链路带宽用掉大半! 行政自治 internet = network of networks(万网之网) 每个网管都会控制自身网络中的路由选择 第5讲 网络层之一
因特网的分层路由选择 网关路由器 聚合路由器可以形成分区, “自治系统(autonomous systems” ,AS) “intra-AS” 路由选择 协议 不同AS中的路由器可以运行不同的intra-AS 路由选择协议 AS中的特殊路由器 与其他同一AS中的路由器使用intra-AS路由选择协议进行交往 同时负责同AS以外的信宿进行交往或路由选择 运行 inter-AS路由选择协议与其他的网关路由器进行交互 第5讲 网络层之一
Intra-AS和Inter-AS路由选择 C.b 网关: 在网关服务器之间进行inter-AS 路由选择 在AS内部进行 intra-AS 路由选择 B.a A.a b A.c c a a C b a B d c A b network layer inter-AS, intra-AS routing in gateway A.c link layer physical layer 第5讲 网络层之一
Intra-AS和Inter-AS路由选择 routing between A and B a b C A B d c A.a A.c C.b B.a Host h2 Host h1 Intra-AS routing within AS B Intra-AS routing within AS A inter-AS和intra-AS因特网路由选择协议应用举例 第5讲 网络层之一
因特网网络层 主机, 路由器的网络层功能: Network layer Transport layer: TCP, UDP routing IP protocol addressing conventions datagram format packet handling conventions Routing protocols path selection RIP, OSPF, BGP Network layer routing table ICMP protocol error reporting router “signaling” Link layer physical layer 第5讲 网络层之一
IP 寻址: IP 地址: 32-bit 用来定义主机,路由器的接口 接口: 连接主机,路由器之间的物理链路 路由器一般有多个接口 主机也可能有多个网络接口 IP 地址只和接口有关, 而与主机,路由器却没有太多关联 223.1.1.1 223.1.2.1 223.1.1.2 223.1.1.4 223.1.2.9 223.1.2.2 223.1.1.3 223.1.3.27 223.1.3.1 223.1.3.2 223.1.1.1 = 11011111 00000001 00000001 00000001 223 1 1 1 第5讲 网络层之一
IP寻址 IP 地址: 网络是什么 ? (从 IP 地址的视角) 网络部分 (高序位) 主机部分 (低序位) 不经过路由器就可以物理上相互通达的设备 223.1.1.1 223.1.2.1 223.1.1.2 223.1.1.4 223.1.2.9 223.1.2.2 223.1.1.3 223.1.3.27 LAN 223.1.3.1 223.1.3.2 由3个 IP网络组成的网络 (对于以223开头的 IP地址,前24位 为网络地址 ) 第5讲 网络层之一
IP地址 为讨论 “网络”的说法, 重新审视 IP地址: “分类” 编址: class A B C D 32 bits network 1.0.0.0 to 126.255.255.255 A network host B 128.0.0.0 to 191.255.255.255 10 network host 192.0.0.0 to 223.255.255.255 C 110 network host 224.0.0.0 to 239.255.255.255 D 1110 multicast address 32 bits 第5讲 网络层之一
IP寻址 如何找到网络? 先断开路由器,主机间的接口连接 建立一个“被隔离的网络孤岛” 由6个网络组成的 互联系统 223.1.1.1 223.1.1.2 223.1.1.4 223.1.1.3 223.1.9.2 223.1.7.0 223.1.9.1 223.1.7.1 223.1.8.1 223.1.8.0 由6个网络组成的 互联系统 223.1.3.2 223.1.3.1 223.1.3.27 223.1.2.6 223.1.2.1 223.1.2.2 第5讲 网络层之一
IP编址: CIDR 分类编址: CIDR: Classless InterDomain Routing 地址空间的利用率低, 地址空间面临耗尽 e.g., 一个B类网址可以容纳65K台主机, 但可能被一个只有2K 台主机的单位占据 CIDR: Classless InterDomain Routing 地址的网络部分长度任意 地址格式: a.b.c.d/x, 这里的 x表示地址中网络部分的位数 # 11001000 00010111 00010000 00000000 network part host 200.23.16.0/23 第5讲 网络层之一
IP地址: 如何获取? 主机地址 (主机部分): 由系统管理员编制和分配 DHCP: Dynamic Host Configuration Protocol: 动态获取: “plug-and-play” 主机广播 “DHCP discover” 报文 DHCP服务器用 “DHCP offer”报文响应 主机请求IP地址: “DHCP request” 报文 DHCP服务器发送地址: “DHCP ack” 报文 第5讲 网络层之一
IP编址: 言犹未尽... Q: ISP 如何得到整块的地址? A: ICANN: Internet Corporation for Assigned Names and Numbers 分配地址 管理DNS 批域名,解纷争 第5讲 网络层之一
分组的旅行过程 routing table in A IP分组: Dest. Net. next router Nhops 223.1.1 1 223.1.2 223.1.1.4 2 223.1.3 223.1.1.4 2 IP分组: misc fields source IP addr dest data 223.1.1.1 223.1.1.2 223.1.1.3 223.1.1.4 223.1.2.9 223.1.2.2 223.1.2.1 223.1.3.2 223.1.3.1 223.1.3.27 A B E 在旅行过程中分组保持不变 第5讲 网络层之一
分组的旅行过程 由 A发送分组到 B: Dest. Net. next router Nhops 223.1.1 1 misc fields Dest. Net. next router Nhops 223.1.1 1 223.1.2 223.1.1.4 2 223.1.3 223.1.1.4 2 223.1.1.1 223.1.1.3 data 由 A发送分组到 B: 检查B的网络地址部分 发现B与A在同一网络中 链路层把分组放在链路层的帧中直接发给B B 和 A 是直接相连的 223.1.1.1 223.1.1.2 223.1.1.3 223.1.1.4 223.1.2.9 223.1.2.2 223.1.2.1 223.1.3.2 223.1.3.1 223.1.3.27 A B E 第5讲 网络层之一
分组的旅行过程 由 A发送给 E: Dest. Net. next router Nhops 223.1.1 1 misc fields Dest. Net. next router Nhops 223.1.1 1 223.1.2 223.1.1.4 2 223.1.3 223.1.1.4 2 223.1.1.1 223.1.2.3 data 由 A发送给 E: 检查 E的网络地址 E 在不同 网络上 A, E 没有直接的连接 路由表: 到E下一步跳的路由器的地址为223.1.1.4 链路层将分组封装在链路层帧中发给地址为223.1.1.4的路由器 分组到达 223.1.1.4 继续….. 223.1.1.1 223.1.1.2 223.1.1.3 223.1.1.4 223.1.2.9 223.1.2.2 223.1.2.1 223.1.3.2 223.1.3.1 223.1.3.27 A B E 第5讲 网络层之一
分组旅行的过程 分组到达了 223.1.1.4, 而信宿为223.1.2.2 Dest. next network router Nhops interface 223.1.1 - 1 223.1.1.4 223.1.2 - 1 223.1.2.9 223.1.3 - 1 223.1.3.27 Dest. next misc fields 223.1.1.1 223.1.2.3 data 分组到达了 223.1.1.4, 而信宿为223.1.2.2 查找 E的网络地址 E 与路由器的223.1.2.9接口在同一网络中 路由器, E 直接连接 链路层将分组放入链路帧经过地址为223.1.2.9的接口发送到 223.1.2.2 数据分组到达 223.1.2.2!!! (万岁 !) 223.1.1.1 223.1.1.2 223.1.1.3 223.1.1.4 223.1.2.9 223.1.2.2 223.1.2.1 223.1.3.2 223.1.3.1 223.1.3.27 A B E 第5讲 网络层之一