《网络技术基础》课程讲义 第四章网络互连与TCP/IP协议 第6页共29页 优先级 低延迟D高吞吐量T高可靠性R最小成本C未用 DIRC四位称“TOS”( Type of Service)位,置“1”时表示启用该服务,但四者中 项较高其余三项必较差,四位都置“1”没有意义。 各应用程序可以请求特定的服务类型,常用应用程序默认的服务类型如下表所示 协议 TOS 说明 位 ICMP 000普通 BOOTP 0000 普通 NNTP 最小成本 IGP 0010 最大可靠性 SNMP 0010 最大可靠性 TELNET 1000 最小延迟 FTP(数据) 0100 最大吞吐量( throughput FTP(控制) 1000 最小延迟 最小延迟 SMIP(命令) 1000 最小延迟 SMTP(数据) 0100 最大吞吐量 DNS(UDP查询)1000 最小延迟 DNS(TCP查询) 0000 普通 DNS(区域,zone)0100 最大吞吐量 总长度(16位):65536个字节,即0~65535(216-1) 标识(16位):源主机赋予各数据报的唯一标识,当数据报分片通过子网传输时使用之 莆田学院计算机教研室2003年4月
《网络技术基础》课程讲义 第四章 网络互连与 TCP/IP 协议 第 6 页 共 29 页 莆田学院计算机教研室 2003 年 4 月 优先级 低延迟 D 高吞吐量 T 高可靠性 R 最小成本 C 未用 0 1 2 3 4 5 6 7 DTRC 四位称“TOS”(Type of Service)位,置“1”时表示启用该服务,但四者中一 项较高其余三项必较差,四位都置“1”没有意义。 各应用程序可以请求特定的服务类型,常用应用程序默认的服务类型如下表所示: 协议 TOS 位 说明 ICMP 0000 普通 BOOTP 0000 普通 NNTP 0001 最小成本 IGP 0010 最大可靠性 SNMP 0010 最大可靠性 TELNET 1000 最小延迟 FTP(数据) 0100 最大吞吐量(throughput) FTP(控制) 1000 最小延迟 TFTP 1000 最小延迟 SMTP(命令) 1000 最小延迟 SMTP(数据) 0100 最大吞吐量 DNS(UDP 查询) 1000 最小延迟 DNS(TCP 查询) 0000 普通 DNS(区域,zone) 0100 最大吞吐量 总长度(16 位):65536 个字节,即 0~65535(2 16 -1) 标识(16 位):源主机赋予各数据报的唯一标识,当数据报分片通过子网传输时使用之
《网络技术基础》课程讲义 第四章网络互连与TCP/IP协议 第7页共29页 标志(3位):第1位不用,第2位为1表示不分片,第3位为1表示非最后的报片。 片偏移(13位):本片数据在初始数据报区中的偏移量(以8个字节为一个单位)。 网络数据都是以帧的形式通过物理网络传输的,P数据报也要封装成帧来传输。但是 不同的物理网络对帧的大小有不同限制(可以被封装在一个帧中的最大数据长度称最 大传输单元MTU)数据报在—个物理网络即使能被完全封装在一个帧中,到另一个 物理网络也未必如此。不同网络的MTU大小见下表 协议 MTU(字节) Hyperchannel 65535 令牌环(16Mbps) 17914 令牌环(4Mbps) 4464 FDDI 4352 以太网 1500 X.25 576 PPP(点对点) 为了使P协议独立于具体的物理网络,P协议选择在源主机所在物理网络上进行最大 限度封装(可达65535字节),同时提供分片( fragmentation)机制,在MTU(由硬 件决定)较小的网络上将数据报分成较小的“片”进行传输,每个片都有自己的报头 而且各片的报头基本相同分片是在MTU不同的两个网络交界处(网关或路由器) 进行,一个数据报在达到目标地址前可能会进行多次分片。而片的重组则在目标主机 进 个数据报在传输中,不管分成多个片,各片均具有相同的标识号。目标主机根据此 莆田学院计算机教研室 年4月
《网络技术基础》课程讲义 第四章 网络互连与 TCP/IP 协议 第 7 页 共 29 页 莆田学院计算机教研室 2003 年 4 月 标志(3 位):第 1 位不用,第 2 位为 1 表示不分片,第 3 位为 1 表示非最后的报片。 片偏移(13 位):本片数据在初始数据报区中的偏移量(以 8 个字节为一个单位)。 网络数据都是以帧的形式通过物理网络传输的,IP 数据报也要封装成帧来传输。但是 不同的物理网络对帧的大小有不同限制(可以被封装在一个帧中的最大数据长度称最 大传输单元 MTU)。数据报在一个物理网络即使能被完全封装在一个帧中,到另一个 物理网络也未必如此。不同网络的 MTU 大小见下表: 协议 MTU(字节) Hyperchannel 65535 令牌环(16Mbps) 17914 令牌环(4Mbps) 4464 FDDI 4352 以太网 1500 X.25 576 PPP(点对点) 296 为了使 IP 协议独立于具体的物理网络,IP 协议选择在源主机所在物理网络上进行最大 限度封装(可达 65535 字节),同时提供分片(fragmentation)机制,在 MTU(由硬 件决定)较小的网络上将数据报分成较小的“片”进行传输,每个片都有自己的报头, 而且各片的报头基本相同。分片是在 MTU 不同的两个网络交界处(网关或路由器) 进行,一个数据报在达到目标地址前可能会进行多次分片。而片的重组则在目标主机 进行。 一个数据报在传输中,不管分成多个片,各片均具有相同的标识号。目标主机根据此
《网络技术基础》课程讲义 第四章网络互连与TCP/IP协议 第8页共29页 标识号和源地址判断所收到的片属于哪个数据报。片偏移则用于重组时确定其顺序。 标志第二位为0时,第三位将用来:为1表示非最后报片,否则目标主机便知收到了 最后一片,并将其片偏移加上本片总长即为原始数据报长。通过将各已到片的长度之 和和与原数据报长比较,便可知本数据报各片是否全部收到。 生存时间(TIL, time to live,8位):实际上是一个计数器,代表IP数据报在互联网中停留的 最长时间(每通过一个路由器自动减1,为0时若仍未到达目的地则被丢弃)。 用户协议(8位):规定最后送达目标使用P层服务的高层协议,如TCP、UDP、CMP和IGMP, 高层协议的号码(值)由 TCP/IP权威管理机构分配,如下: 值 协议 ICMP 268 GMP EGP 17 UDP 41 IPv6 OSPF 报头检验和(16位):保证报头的正确性 数据报选项:用于网络控制、测试和调试。 选项分为以下四类: ·记录路由(记录最多9个所经过的路由节点的IP地址)一一测试用 ·严格源路由(预先设定数据报必须经过的传送路由一一只能访问所列的路由节点) 自由源路由(预先设定数据报必须经过的的部分传送路由一一其间可有其他路由节点) 时间戳( timestamp)(记录数据报经过的每一路由节点的IP地址和时间)——测试用 填充:通过填充一定数量的0来保证IP数据报头是4个字节的整倍数。 44.3IcMP(互连网络控制报文协议, internet control message protocol)P234 使用不可靠的无连接的IP协议传送数据,优点是可以高效地利用网络资源,缺点则有两点 缺少出错报告和出错纠正功能—一如果路由器找不到通往目标主机的路径或传送超时必须丢 弃某个数据报时怎么办?如果目标主机无法及时接收所有发来的数据报而必须丢弃某个数 据报时怎么办?(IP协议本身并不负责通知源主机) 莆田学院计算机教研室 年4月
《网络技术基础》课程讲义 第四章 网络互连与 TCP/IP 协议 第 8 页 共 29 页 莆田学院计算机教研室 2003 年 4 月 标识号和源地址判断所收到的片属于哪个数据报。片偏移则用于重组时确定其顺序。 标志第二位为 0 时,第三位将用来:为 1 表示非最后报片,否则目标主机便知收到了 最后一片,并将其片偏移加上本片总长即为原始数据报长。通过将各已到片的长度之 和和与原数据报长比较,便可知本数据报各片是否全部收到。 生存时间(TTL,time to live,8 位):实际上是一个计数器,代表 IP 数据报在互联网中停留的 最长时间(每通过一个路由器自动减 1,为 0 时若仍未到达目的地则被丢弃)。 用户协议(8 位):规定最后送达目标使用 IP 层服务的高层协议,如 TCP、UDP、ICMP 和 IGMP, 高层协议的号码(值)由 TCP/IP 权威管理机构分配,如下: 值 协议 1 ICMP 2 IGMP 6 TCP 8 EGP 17 UDP 41 IPv6 89 OSPF 报头检验和(16 位):保证报头的正确性。 数据报选项:用于网络控制、测试和调试。 选项分为以下四类: ·记录路由(记录最多 9 个所经过的路由节点的 IP 地址)——测试用 ·严格源路由(预先设定数据报必须经过的传送路由——只能访问所列的路由节点) ·自由源路由(预先设定数据报必须经过的的部分传送路由——其间可有其他路由节点) ·时间戳(timestamp)(记录数据报经过的每一路由节点的 IP 地址和时间)——测试用 填充:通过填充一定数量的 0 来保证 IP 数据报头是 4 个字节的整倍数。 4.4.3 ICMP(互连网络控制报文协议,internet control message protocol) P234 使用不可靠的无连接的 IP 协议传送数据,优点是可以高效地利用网络资源,缺点则有两点: ·缺少出错报告和出错纠正功能——如果路由器找不到通往目标主机的路径或传送超时必须丢 弃某个数据报时怎么办?如果目标主机无法及时接收所有发来的数据报而必须丢弃某个数 据报时怎么办?(IP 协议本身并不负责通知源主机)
《网络技术基础》课程讲义 第四章网络互连与TCP/IP协议 第9页共29页 缺少主机和管理查询功能一一主机有时需要确定一下某个路由器是否“ alive”(在工作),网 络管理员有时也需要了解其他主机或路由器的信息 ICMP协议即是为了解决这两个问题而设计的。它发送五种出错报告报文和四组查询报文 来支持不可靠的无连接IP协议。它本身是一个网际层协议,但其信息总是封装在IP数据报内 再送到下层传送。(IP数据报中“用户协议”字段的值为1时表示是一个ICMP报文) ICMF报文 □P报头 数据 帧头 帧数据 帧尾(如果有时) ICMP报文可以分为两类:出错报告报文和查询报文。报文格式如下: 类型(p,8位)代码(o,8位)检验和( (checksum,16位) 报头其他部分 数据段 其中“类型”字段值如下: 厂报文种类类型 报文内容 3目标不可到达( Destination unreachable) 原抑制( Source quench) 出错报告报文[1 数据报超时( Time exceeded) 数据报参数错( Parameter 重定向( Redirection) 8或0|回应请求和应答( Echo request or reply) 查询报文 13或14时戳请求和应答( Timestamp request and reply 17或18地址掩码请求和应答( Address mask request and repl 10或9路由器请求和通告( Router solicitation and advertisement. ①出错报告报文 当路由器或主机处理某个IP数据报遇到问题时报告之,例如,当P数据报不能到达目的 地(网络、机器或端口)或网络出现阻塞,网络中某个监测到此错误的站点(中间网关)便向 源主机发送封装有ICMP信息的IP数据报 【注意】IcMP的出错报告报文仅用于向源主机报告出错信息,并不能纠正数据报中的任何出 错。此外,由于IcMP报文总是封装在无连接型的P数据报中,ICMP本身也可能丢 失。 可以报告的出错类型有五种:目标不能到达,源抑制,数据报超时,数据报参数错,重定 ·目标不能到达(Type:3) 莆田学院计算机教研室2003年4月
《网络技术基础》课程讲义 第四章 网络互连与 TCP/IP 协议 第 9 页 共 29 页 莆田学院计算机教研室 2003 年 4 月 ·缺少主机和管理查询功能——主机有时需要确定一下某个路由器是否“alive”(在工作),网 络管理员有时也需要了解其他主机或路由器的信息。 ICMP 协议即是为了解决这两个问题而设计的。它发送五种出错报告报文和四组查询报文 来支持不可靠的无连接 IP 协议。它本身是一个网际层协议,但其信息总是封装在 IP 数据报内 再送到下层传送。(IP 数据报中“用户协议”字段的值为 1 时表示是一个 ICMP 报文)。 ICMP 报文可以分为两类:出错报告报文和查询报文。报文格式如下: 类型(type,8 位) 代码(code,8 位) 检验和(checksum,16 位) 报头其他部分 数据段 其中“类型”字段值如下: 报文种类 类型 报文内容 出错报告报文 3 目标不可到达(Destination unreachable) 4 源抑制(Source quench) 11 数据报超时(Time exceeded) 12 数据报参数错(Parameter problem) 5 重定向(Redirection) 查询报文 8 或 0 回应请求和应答(Echo request or reply) 13 或 14 时戳请求和应答(Timestamp request and reply) 17 或 18 地址掩码请求和应答(Address mask request and reply) 10 或 9 路由器请求和通告(Router solicitation and advertisement) ①出错报告报文 当路由器或主机处理某个 IP 数据报遇到问题时报告之,例如,当 IP 数据报不能到达目的 地(网络、机器或端口)或网络出现阻塞,网络中某个监测到此错误的站点(中间网关)便向 源主机发送封装有 ICMP 信息的 IP 数据报。 【注意】ICMP 的出错报告报文仅用于向源主机报告出错信息,并不能纠正数据报中的任何出 错。此外,由于 ICMP 报文总是封装在无连接型的 IP 数据报中,ICMP 本身也可能丢 失。 可以报告的出错类型有五种:目标不能到达,源抑制,数据报超时,数据报参数错,重定 向。 ·目标不能到达(Type:3)
《网络技术基础》课程讲义 第四章网络互连与TcP/P协议 第10页共29页 共有15种出错代码,分别表示 Code0:网络不可到达 Code 1:主机不可到达 Code2:协议不可到达(目标主机未运行IP数据报所需的上层协议如TCP、UDP等时) Code3:端口不可到达(数据报发往的应用程序此刻未运行) Code4:要求分片但未分片(发送的数据报太大) Code5:源路由不能完成(源路由项中的一个或几个路由器无法访问) Code6:目标网络未知 Code7:目标主机未知 Code8:源主机处于隔离状态( isolated) Code9:与目标网络的通信被管理员禁止 Code 10:与目标主机的通信被管理员禁止 Code 11:网络不能到达,要求特定的服务(如果源主机请求某种服务,路由器才能处理 数据报) Code12:主机不能到达,要求特定的服务(如果源主机请求某种服务,路由器才能处理 数据报) Code 13:主机不能到达,因为管理者对它设置了过滤 Code14:主机不能到达,因为主机的优先权受到妨碍(所请求的优先权对目标主机不 适用) Code 15:主机不能到达,因为主机的优先权被剥夺 带有code2和3的报文只能由目标主机产生,其余只能由路由器产生。 源抑制(Type:4;Code:0) 当源主机传送数据的速率太高时,路由器或目标主机用此报文通知源主机:因为缓冲来 不及引起的阻塞( congested),数据报已被丢弃;请“抑制”( quench)! ·数据报超时(Type:11) Code0:当路由器接收到一个数据报发现其TIL值为0时,它将丢弃该数据报并向源 主机发送一个超时报文 Code I:当目标主机发现在规定时间内无法接收到某个数据报的所有分片时,它将丢 弃所有的分片并向源主机发送一个超时报文 数据报参数错(Type:12) 数据报头出现“语义含糊”( ambiguity)或错误时,路由器或目标主机将丢弃该数据报 并向源主机发送报告“参数出了问题”的报文。Code0用于报告报头中某个字段有问题, Code 1用于报告其他部分数据丢失。 重定向(Type:5,Code:0~4) 路由器和主机都必须使用路由表来引导数据报的发送和转发。路由器的路由表是动态更 新的,而主机的路由表通常是静态的(因为主机数量很多,动态更新可能会严重占用带 宽),且其路由条数很有限。重定向报文由路由器发给主机,帮助主机更新路由表。如 下图,主机A欲向主机B发送数据报,显然通过R2是最有效的路由选择,但主机A 根据自己的路由表,却不知道应该这样做,而将数据报先发给路由器Rl。R1在查看了 自己的路由表后,发现数据报应直接发给R2。于是一边向R发送数据报,一边向主机 莆田学院计算机教研室 年4月
《网络技术基础》课程讲义 第四章 网络互连与 TCP/IP 协议 第 10 页 共 29 页 莆田学院计算机教研室 2003 年 4 月 共有 15 种出错代码,分别表示—— Code 0:网络不可到达 Code 1:主机不可到达 Code 2:协议不可到达(目标主机未运行 IP 数据报所需的上层协议如 TCP、UDP 等时) Code 3:端口不可到达(数据报发往的应用程序此刻未运行) Code 4:要求分片但未分片(发送的数据报太大) Code 5:源路由不能完成(源路由项中的一个或几个路由器无法访问) Code 6:目标网络未知 Code 7:目标主机未知 Code 8:源主机处于隔离状态(isolated) Code 9:与目标网络的通信被管理员禁止 Code 10:与目标主机的通信被管理员禁止 Code 11:网络不能到达,要求特定的服务(如果源主机请求某种服务,路由器才能处理 数据报) Code 12:主机不能到达,要求特定的服务(如果源主机请求某种服务,路由器才能处理 数据报) Code 13:主机不能到达,因为管理者对它设置了过滤 Code 14:主机不能到达,因为主机的优先权受到妨碍(所请求的优先权对目标主机不 适用) Code 15:主机不能到达,因为主机的优先权被剥夺 带有 Code 2 和 3 的报文只能由目标主机产生,其余只能由路由器产生。 ·源抑制(Type:4;Code:0) 当源主机传送数据的速率太高时,路由器或目标主机用此报文通知源主机:因为缓冲来 不及引起的阻塞(congested),数据报已被丢弃;请“抑制”(quench)! ·数据报超时(Type:11) Code 0:当路由器接收到一个数据报发现其 TTL 值为 0 时,它将丢弃该数据报并向源 主机发送一个超时报文。 Code 1:当目标主机发现在规定时间内无法接收到某个数据报的所有分片时,它将丢 弃所有的分片并向源主机发送一个超时报文。 ·数据报参数错(Type:12) 数据报头出现“语义含糊”(ambiguity)或错误时,路由器或目标主机将丢弃该数据报 并向源主机发送报告“参数出了问题”的报文。Code 0 用于报告报头中某个字段有问题, Code 1 用于报告其他部分数据丢失。 ·重定向(Type:5,Code :0~4) 路由器和主机都必须使用路由表来引导数据报的发送和转发。路由器的路由表是动态更 新的,而主机的路由表通常是静态的(因为主机数量很多,动态更新可能会严重占用带 宽),且其路由条数很有限。重定向报文由路由器发给主机,帮助主机更新路由表。如 下图,主机 A 欲向主机 B 发送数据报,显然通过 R2 是最有效的路由选择,但主机 A 根据自己的路由表,却不知道应该这样做,而将数据报先发给路由器 R1。R1 在查看了 自己的路由表后,发现数据报应直接发给 R2。于是一边向 R2 发送数据报,一边向主机