第3章 网际协议.ppt_第1页
第3章 网际协议.ppt_第2页
第3章 网际协议.ppt_第3页
第3章 网际协议.ppt_第4页
第3章 网际协议.ppt_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第3章网际协议 3 1无连接数据报交付3 2IP数据报的选路3 3差错与报文控制 201202 Internet的结构和思想 从概念上讲 TCP IP互联网提供了三组服务 如图所示 服务在图中的相对位置表明了他们相互之间的依赖关系 无连接交付服务服务 可靠的传输服务 应用服务 互联网服务的三个概念层次 3 1无连接数据报交付 201202 3 1无连接数据报交付 Internet软件是围绕着分层次的三个概念化网络服务设计的 它的诸多成功在于这个结构十分健壮并且具有极高的适应性 这种概念性的划分的最重要优势是 可以在不干扰其他服务的情况下替换某个服务 因此 在这三层的研究和开发可以并性进展 201202 无连接交付系统 最基本的互联网服务有一个分组交付系统组成 该服务被定义为不可靠的 尽最大努力交付的 无连接分组交付系统 类似于运行在尽最大努力模式的网络硬件所提供的服务 分组可能丢失 重复 延迟或不按序交付等 但服务不检测这些情况 也不提醒发送方和接受方 服务是无连接的 每个分组都被独立对待 互联网软件尽力发送每个分组 只有当资源用尽或底层网络出现故障时才可能出现不可靠 类似于邮政局处理信件 201202 网际协议的目的 这种具有不可靠 无连接交付机制的协议称为网际协议 InternetProtocol 用IP来表示 它提供了三个重要的定义 第一 IP定义了在整个TCP IP互联网上数据传输所用的基本单元 规定了数据的确切格式 第二 IP软件完成选路的功能 选择一个数据发送的路径 第三 IP包括一组规则 体现了不可靠分组交付的思想 IP是TCP IP互联网设计中最基本的部分 因此有时称TCP IP互联网为基于IP的技术 201202 Internet数据报 互联网把它的基本传输单元称为数据报 与物理网络帧类似 数据报分为首部和数据区 首部包含了源地址和目的地址以及一个标识数据内容的类型字段 一般格式如下图 IP不规定数据区的格式 可以用来传输任意数据 201202 数据报格式 分组头 数据 201202 数据报首部 版本号 Version 4bit IP协议存在两个版本 IPv4和IPv6 目前的版本为4分组头的长度 HL 和分组总长度 TotalLength HL 4bit 给出以32bit长字为单位的IP分组头的长度一个典型的IP分组头 不含选项 长度为20字节 HL 5TL 16bit 以字节为单位的IP分组的总长度总长度 IP分组头长度 数据区长度TL可表示的最大长度 即IP分组的最大长度 为65535字节 对于今后将出现的高速网络 这个长度可能太短了 201202 数据报首部 服务类型 TOS TypeOfService 8bit 它规定了数据报的处理方式 用户希望的传输类型 值为 1 D 低时延T 高吞吐率R 高可靠性 数据报的优先级 Precedence 体现本分组的重要程度 0 7 0 一般优先权7 网络控制 允许控制信息比一般数据的优先级更高 201202 数据报首部 标识 Identification 16bit 信源主机在产生IP分组时 需要给每个IP分组分配一个唯一的标识符 用来区分该主机发送的不同分组 每送出一数据报 其值加1 标志 Flag 3比特 目前只有两个比特有意义 MF MoreFragment Flags字段的Bit0 MF 1表示还有更多分片DF Don tFragment 只有当DF 0时才允许分片分片偏移量FO FragmentOffset 13bit 本片起始位置在原始分组数据区中的偏移量 以8字节为偏移单位 201202 数据报大小 网络MTU及分片 最大传输单元 MTU maximumtransferunit 各种物理网络技术都限制了一个物理帧的大小 这个限制被称为最大传输单元 不同物理网络技术的MTU不同 例如 以太网限制传输1500字节的数据 FDDI允许每帧4470字节的数据 对于一个网络而言 其MTU值是由其采用的物理技术决定的 而且通常保持不变 201202 数据报大小 网络MTU及分片 IP分组需要通过物理网络的帧来进行传输将IP分组映射到物理帧中的方式称为封装 为能够适应各种不同物理网络帧的格式 并且保证数据封装的效率 TCP IP提供了一种机制 在MTU较小的物理网络上 把长数据报划分为数据报片 这个划分过程称为分片 201202 分组的分片 在分组的传输通路上 分片操作只能出现在两个MTU不同的网络的交界处 也就是出现在路由器上 进入一个新网络时 若新网络的MTU小于原有网络的MTU 则可能需要进行分片 若新MTU值不小于原有MTU就不必进行分片 分片 不需分片 201202 分组的分片 ID 该分组的唯一标识 以便进行分片的重组MF 1表示还有更多分片DF 0允许分片FO 本片起始位置在原始分组数据区中的偏移量 以8字节为偏移单位 201202 分片的重组 片重组 reassembly 是分片的逆过程所有的片重组操作都在目的主机上进行重组过程当目的主机收到MF 1的分片时 首先将其进行缓存当收到MF 0的分片时 计算原始IP分组的长度 原始分组长 本分片的偏移 本分片的数据长度利用原始分组长度检查是否收到全部分片 若是 则按照各片的偏移值重新组装成IP分组 提交给高层软件 否则将等待 直到收到该分组的全部分片为了防止无限等待 在接收端设置重组定时器 当接收到分组的第一片时启动该定时器 如果在指定的时间内未能完成分组重组 将放弃整个重组 释放资源 分片 重组 201202 分片控制 IP协议并不限制数据报大小 使用TCP IP的应用软件也不关心分片 分片和重组都在操作系统的低层自动完成 201202 数据报首部 生存时间 TTL TimeToLive 1byte 用来防止IP分组在网络中出现无限循环分组产生时TTL被设置一个初值 每经过一个路由器其值都将减少 当TTL 0时 该分组将被丢弃 TTL指定的不是一个精确的时间 以hop为单位 协议类型 PROTOCOL 8位整数 指出数据区中承载的数据所采用的高层协议协议类型的编码是预定义的 TCP 6UDP 17ICMP 1OSPF 89 201202 数据报首部 首部校验和 Checksum 2byte 用来保护IP分组头的完整性校验和的计算和检验算法 初始值为0 然后对分组头以16位为单位 求异或 结果求反 即得到校验和 源地址 指出发出分组的主机的IP地址目的地址 该分组的目的主机的IP地址 201202 Internet数据报选项 分组头中IP选项字段是任选的 选项字段的长度取决于所选的项 IP选项主要用于网络控制和测试源选路 sourceroute 选项路由记录 recordroute 选项时间戳 timestamp 选项 IP选项需要由通路上的每一个路由器来处理实际应用中 IP选项很少使用 201202 Internet数据报选项 在一个数据报中选项是连续出现的 每个选项包含一个字节的选项码 后面是一个字节的长度和对应该选项的一系列数据字段 01234567 控制路由器在分片过程中对选项的处理 1 该选项被复制到所有分片中 0 仅把该选项复制到第一个分片中 0 数据报或网络控制1 保留未用2 调试和度量3 保留未用 0 选项表结束3 不严格的源站选路7 记录路由路径9 严格的源站选路 4 Internet时间戳 201202 Internet数据报选项记录路由选项 记录路由选项允许源主机创建一个IP地址空表 由处理数据报的所有路由器将其IP地址添加到这个表中 格式如图所示 路由器首先比较长度和指针 如果长度比指针小 则表一满 机器不插入自己的表项而直接转发数据报 如表不满 机器在指针指定的位置上插入本机IP地址 并把指针值加4 08162431 201202 Internet数据报选项源选路选项 让源主机指定一条通往互联网的路径 IP支持两种形式的源站选路 严格源站选路和宽松源站选路 源站选路通过在选项中包含一个IP地址序列来指定一条路经 严格源站选路的序列中相邻两个地址之间的路径必须处于同一物理网络 宽松源站选路IP地址序列中 相邻两个地址之间有多个网络跳 08162431 201202 Internet数据报选项时间戳选项 时间戳选项包含初始空表 从源站到目的站的路径上的每一个路由器各在表中填入一项 每项中包含两个32比特的项 路由器的IP地址及一个32比特整数时间戳 时间戳给出了路由器处理数据报的时间和日期 0 仅记录时间戳1 记录时间戳和IP地址3 由发送方指定IP地址 表中IP与路由器IP匹配 则记录时间戳 统计因选项空间太小而不能提供时间戳的路由器的个数 201202 Internet数据报选项分片时对选项的处理 选项的代码字段中的复制比特的意义在于 1 表示该选项复制到所有分片当中 在分片时 路由器把某些选项复制到所有数据片中 而把其他一些选项复制到第一片中 IP标准指出 记录路由选项只能复制到其中一片中 源路由选项必须复制到所有数据片的首部 201202 3 2IP数据报的选路 我们已经知道 所有互联网服务都使用一个底层的无连接分组交付系统 并且在TCP IP互联网上传输的基本单元是IP数据报 本节增加了对无连接服务的描述 说明路由器如何转发IP数据报以及如何把他们交付到最终目的站 201202 互联网中的选路 在分组交换系统中 选路是指选择一条用于发送分组的路径的过程 互联网选路即IP选路必须选择如何通过多个物理网络发送数据报 理想状态下 选路软件为了得到最佳的路径 必须检查网络负载 数据报长度或在数据报首部制定的服务类型 但是大多数互联网选路软件没有这么复杂 他们往往是基于对最短路径的固定假设 互联网中的主机和路由器都参与IP数据报的选路 当主机上的一个应用程序要进行通信时 TCP IP协议产生一个或多个IP分组 如图所示 主机必须做路由选择 即使它们是端节点也是如此 201202 互联网中的选路 必须为IP分组选择路由的端节点主机 201202 互联网中的选路 TCP IP标准明确规定 主机是连接到一个或多个网络的设备 它可以向任何一个网络发送和从其接收数据 但它从不把数据从一个网络传向另一个 路由器是连接到多于一个网络的设备 它的主要目的是进行IP选路决策 有选择性的把数据从一个网络转发到其它网络 现代的计算机的能力足以同时担当这两种角色 因此 现代的主机定义应该如此 主机是连接到一个或多个网络的设备 它可以向任何一个网络发送和从其接收数据 它也可以作为网关 但这不是其唯一的目的 201202 互联网中的选路 路由器是专用的网关 其硬件经过特殊的设计使其能以极小的延迟转发大量的数据 然而 网关也可以是有多个网卡的标准的计算机 其操作系统的网络层有能力转发数据 由于专用的路由硬件较便宜 计算机用作网关已经很少见了 在只有一个拨号连接的小站点里 还可能使用计算机作为非专用的网关 201202 直接交付和间接交付 直接交付是指在一个物理网络上把数据从一台机器上直接传输到另一台机器 这是所有互联网通信的基础 同一物理网络上两台机器之间的IP数据报传输不涉及路由器 发送方把数据报封装在物理帧中 把目的IP地址和一个物理硬件地址绑定在一起 并把产生的帧直接发送到目的站 数据报从源站到目的站的路径上的最后一个路由器 直接与目的站连接到同一物理网络上 将使用直接交付来交付数据报 201202 直接交付和间接交付 如果目的主机与交付者不在同一个网络上 分组就要间接交付 在间接交付时 分组从一个路由器传到另一个路由器 直到这个分组到达与最后目的端连接在同一个网络上的路由器为止 注意 交付永远包括一个直接交付和零个或多个间接交付 最后的交付总是直接交付 对于间接路由 源发主机可以使用单个物理网络到达一个网关 一旦它的帧到达网关 软件就抽出分组 路由选择程序选择下一个通向目的地主机路经的下一个网关 IP分组再一次被放入帧中 并将这个帧在第2个物理网络上发往第2个网关 如此继续下去 直到该IP分组可以直接投递为止 这样 互连网中的网关形成一个合作的互连结构 IP分组从一个网关传到另一个网关 直到它到达一个能直接投递的网关 201202 IP选路 通常 Internet路由算法在每个机器上采用一张路由选择表 该表包含所有可能目的地地址信息 当一个IP分组到达一个网关时 IP软件就找到目标IP地址 抽出网络号 然后网关使用该网络标识决定路由 IP选择路由是基于目标网络号 而不是目标主机号 这样是选路效率很高 同时也可以保持较小的选路表 一个路由表包含许多 N R 对 其中N是目标IP网络号 R是到网络N的路径上的 下一跳 路由器的IP地址 路由器R称为 下一跳 在一个机器的路由表上列出的所有网关必须位于该机器直接连接的网上 因此从该机器可以直接到达 201202 IP选路 作为例子 下图给出由4个物理网络和3个网关组成的internet 下表给出其中的一个网关G的路由表 201202 IP选路 默认路由用来隐藏信息 保持选路表较小的另一种技术是把多个表项统一到默认情况 IP选路软件首先在选路表中查找目标网络 如果表中没有路由 则把数据报发送给一个默认路由 当一个网点的本地地址集很小 并且只有一个到互联网的连接时 默认选路尤其有用 特定于具体主机的路由IP选路软件允许作为特例指定每个主机的路由 可以用于网络测试 调试网络连接获选路表 和安全访问的控制 201202 IP选路算法 我们可以将IP路由选择算法归纳如下 IP分组路由选择 IP分组 路由选择表 从IP分组提取目标主机IP地址Id 计算目标网络的IP地址In如果In与任何直接连接的网络地址一致 则在那个网络上发送IP分组到目的地 包括将Id转换成物理地址 封装IP分组和发送帧 否则如果Id是特定于具体主机的路由 则按表中指定的路由传送IP分组 否则如果In出现在路由选择表中 则把数据报发送到表中指定的下一跳 否则如果表中指出了一条缺省路由 则选择将IP数据报传送到缺省路由器 否则宣布一个路由选择错误 201202 分组从A传送到B的过程 网络 网络 网络 网络 网络 网络 网络 路由器 路由器 路由器 路由器 路由器 路由器 A B 201202 利用IP地址选择路由 除了减少寿命及重新计算校验和以外 IP选路并不改变原来的数据报 当执行选路算法后 IP数据报及下一跳地址传给一个接口软件 该软件对发送数据报必须经过的物理网络负责 在用下一跳地址找到物理地址后 网络软件就丢弃下一跳地址 如果一台主机向同一目的地址发送一个数据报序列 使用IP地址将变得不可思议的低效 为什么IP软件在存储和计算路由时避免使用物理地址 第一 选路表使用IP地址使管理人员很容易理解并判断软件是否已经正确的更新了路由 第二 网际协议的整个观点就是建立一个隐藏了底层网络细节的抽象 201202 HA1 HA5 HA4 HA3 HA6 主机H1 主机H2 路由器R1 硬件地址 路由器R2 HA2 IP1 IP2 局域网 局域网 局域网 201202 IP层对分组的处理 IP层 应用软件 TCP UDP 1 数据链路 2 其它系统 1 1 1 2 2 2 201202 以上讨论了IP如何基于选路表中的内容路由数据报 那么系统是如何初始化选路表或当网络改变时如何更新路由表 后面的章节将回答这些问题 作业 P87 8 5 8 6 8 10 201202 3 3差错与报文控制 如果一个网关不能为IP分组选择路由 或者不能递交IP分组 或者这个网关测试到某种不正常状态 例如网络拥挤影响IP分组的传递 IP都无法交付数据报 为了让互联网的路由器报告错误或提供有关意外情况的信息 设计人员在TCP IP中加入了一个特殊用途的报文机制 称为网际控制报文协议ICMP 网际控制报文协议ICMP 它是IP的一部分 并且在每个IP实现中都必须包含它 ICMP通常由某个监测到IP分组中错误的站点产生 从技术上说 ICMP是一种差错报告机制 这种机制为网关或目标主机提供一种方法 使它们在遇到差错时能把差错报告给原始报源 201202 3 3差错与报文控制 ICMP是互连网协议 IP 的一部分 但ICMP是通过IP来发送的 因此 需要如图所示的两级封装 每个ICMP报文都在IP分组的数据段中通过互连网传输 而IP分组本身又在帧的数据段中穿过每个物理网 201202 3 3差错与报文控制 两级ICMP封装 ICMP报文 201202 3 3差错与报文控制 重要的是 尽管ICMP报文使用IP协议封装在IP分组中传送 但ICMP不被看成是高层协议的内容 它只是IP中要求的一部分 之所以使用IP递交ICMP报文 是因为这些报文可能要跨过几个物理网络才能够到达最终报宿 因此 ICMP报文不能依靠单个物理网络来递交 为标识ICMP 在IP分组协议段中包含的值是1 201202 3 3差错与报文控制 ICMP的功能差错报告控制信息询问 请求 回答方式 必须懂得 ICMP数据报和IP分组一样 同样不能保证可靠传输 ICMP信息也可能丢失 为了防止ICMP信息无限地连续发送 对ICMP数据报传输的问题不能再使用ICMP传达 另外 对于被划分成报片的IP分组而言 只对片偏移量等于0的分组片 第1个分组片 才能使用ICMP协议 201202 3 3差错与报文控制 ICMP报文有两种 一种是错误报文 另一种是查询报文 每个ICMP报文的开头都包含三个段 1字节的类型段 1字节的编码段和二字节的检验和段 8位的类型段标识报文 表示13种不同的ICMP报文中的一种 8位的编码段提供关于一个类型的更多信息 16位的检验和的算法与IP头的检验和算法相同 但检查范围限于ICMP报文结构 12345 下表示出了ICMP8位类型段定义的13种报文的名称 每一种都有自己的ICMP头部格式 201202 3 3差错与报文控制 201202 测试目的站的可达性与状态 TCP IP提供工具帮助网络管理员或用户识别网络问题 最常用的调试工具是回送请求和回送应答报文 用于测试目的站的可达性与状态 在许多系统上 用户用来发送回送请求的命令是ping 回送请求报文 类型 8 用来测试发送方通过互连网到达接收方的通信路径 发送方发送一个回送请求报文 里面包含一个16位的标识符及一个16位的序列号 可以将数据放在报文中传输 标识符可以标识使用ICMP的用户进程 并可形成一连串的请求和应答 回答方无须变更标识 并将序列号送回即可 序列号可随回送请求发送的数目而增加 当目的地机器收到该报文时 把源地址和目的地址倒过来 重新计算检验和 并传回一个回送应答 类型 0 报文 数据段中的内容 如果有的话 也要返回给发送方 201202 回送请求和回送应答报文格式 下图示出了回送请求和回送应答报文的格式 201202 ICMP差错报告 差错报告是单方向的 路由器 主机 信源主机目的站不可达TYPE 3分组超时TYPE 11分组参数错TYPE 12 当路由器无法转发或交付IP数据报时 向源站发回一个目的不可达报文 检测循环或过长的路由 当某个数据报的下一跳计数为0或因等待分片超时时 主机或路由器丢弃该分组 并向源站发回一个ICMP超时报文 当某个选项的参数不正确 问题严重到必须把数据报丢弃时 才发送这个报文 指针字段用于标识数据报中产生问题的八位组 代码为1时不使用指针字段 201202 ICMP差错报告 ICMP差错报告的能力是有限的ICMP实现网络中诊断信息的交换 并不能提高IP分组传输的可靠性 仅仅是报告了网络的问题ICMP提供差错报告的功能 但并没有严格规定对于某种差错应该采取何种差错处理措施路由器并不能发现所有的传输错误 201202 拥塞控制与ICMP源抑制

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论