您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 第3章Internet的网络层协议
第三章Internet的网络层协议3.1IP协议3.2ICMP协议3.3IP路由的基本原理3.4IPman3.1IP协议3.1.1IP协议的功能3.1.2IP包3.1.1IP协议的功能提供一种无连接的数据报服务尽全力型不保证可靠(可能会丢失、重复)不保证按序3.1.2IP包版本首部长度服务类型总长度标识标志片偏移量生存时间协议首部校验和源IP地址目的IP地址IP选项填充……0481619313.1.2IP包版本(VERS):4位,包含了创建该IP包的IP协议的的版本信息,用来证实发送方、接收方和它们之间的所有路器都约定使用该IP包格式。所有IP软件在处理一个包之前,都要检查版本字段,以保证与软件预期的格式相同,如果标准变了,则拒绝协议版本号不同的包,以免按照过时的格式错误地解释包的内容。当前的版本是4,即我们所说的IPV4。3.1.2IP包首部长度(HLEN):4位,以32位为单位的首部的长度。总长度(TOTALLENGTH):16位,以8位为单位的IP包的总长度,包括头部+数据,因些最长为65535字节。3.1.2IP包服务类型(SERVICETYPE):8位,但只有7位有定义,也称为TOS(TypeOfService),它规定了包的处理方式。优先级(Precedence)指明包的优先级,允许发送方表示每个包的重要程度,优先级的值从0(普通)到7(网络控制)。但一些路由器会忽略这些位,但它的概念非常重要,它提供了一种机制,允许控制登信息比一般的数据具有更高的优先级。优先级DTRCX012345673.1.2IP包DTRC和位代表本包所希望的传输类型(但IP网不一定能保证)D:LowDelayT:HighThroughputR:HighReliabilityC:LowCost(后加的)X:未用,必须为0DTRC4位,只能有一位为1;四位都为0,为正常服务。优先级DTRCX01234567Telnet/Rlogin10000x10ApplicationDFTFRFCFHexvalueFTPcontrol10000x10FTPdata01000x08TFTP10000x10SMTP10000x10CommandphaseSMTP01000x08DatephaseDNSudpquery10000x10DNStcpquery00000x00DNSzonetransfer01000x08ICMP00000x00SNMP00100x04BOOTP00000x00NNTP00010x023.1.2IP包标识、标志、偏移量:(ID,Flag,Offset)IP协议将各种不同的物理网络连接在了一起,和物理网络的数据链路层协议对帧的最大长度的限制是不一样的,例如,以太网是1500字节,FDDI是4470字节,该限制称为网络的最大传输单元MTU(MaximumTransferUnit)。MTU可以很小,也可以很大,完全取决于物理网络。当IP包很短,而物理网络的MTU很大时,是不经济的,IP包较大,而网络的MTU较小时,是无法封装在一个帧中的。IP协议采用的办法时,当IP包大,MTU小将IP包划分成片(Fragment)。在发送时分片,在到达目的站时再组合。3.1.2IP包ID:来自于同一IP包的分片,其ID一样(IP软件使用的方法是在主存中保存一个全局计数器,每产生一个新的包,就将计数器加1);Flag:标志由3位组成,其中2位有定义,用于分片控制,通常,使用TCP/IP的应用软件并不关心分片,因为,分片与重组都在操作系统的低层自动完成,对于端用户是不可见的,但是,为了测试互连网软件或调试操作问题,测试分片的包的大小是非常重要的,第1位为D位(Donotfragment),当该位为1时,不分片,第2位为M(Morefragment)指示是否还有进一步的分片;3.1.2IP包Offset:单个分片到达目的主机后才被重组,但各个分片到达的顺序不能保证与发送的顺序一致,Offset就是用于指示其分片顺序的,其单位是8字节(分片的长度必须是8的倍数)。3.1.2IP包例如,一个包,其数据长度为2200字节,通过一个MTU为820字节的网络时,路由器分片情况:R1R2ABLAN1LAN2MTU=820R1R2ABLAN1LAN2MTU=820800字节600字节800字节包头片头1800字节片头2800字节片头3600字节片1,偏移量为0,MF=1片2,偏移量为100,MF=1片3,偏移量为200,MF=0800字节600字节800字节包头片头1800字节片头2800字节片头3600字节片1,偏移量为0,MF=1片2,偏移量为100,MF=1片3,偏移量为200,MF=0如果再通过一个MTU为420的网络,路由器(R2)可再进一步分片,情况如何?R1R2ABLAN1LAN2MTU=820MTU=420800字节600字节800字节包头片头1800字节片头2800字节片头3600字节片1,偏移量为0,MF=1片2,偏移量为100,MF=1片3,偏移量为200,MF=0R1R2ABLAN1LAN2MTU=820MTU=420片头1400字节片1,偏移量为0,MF=1片头2400字节片2,偏移量为50,MF=1800字节600字节800字节包头片头1800字节片头2800字节片头3600字节片1,偏移量为0,MF=1片2,偏移量为100,MF=1片3,偏移量为200,MF=0R1R2ABLAN1LAN2MTU=820MTU=420片头1400字节片1,偏移量为0,MF=1片头2400字节片2,偏移量为50,MF=1片头3400字节片3,偏移量为100,MF=1片头4400字节片4,偏移量为150,MF=1800字节600字节800字节包头片头1800字节片头2800字节片头3600字节片1,偏移量为0,MF=1片2,偏移量为100,MF=1片3,偏移量为200,MF=0R1R2ABLAN1LAN2MTU=820MTU=420片头1400字节片1,偏移量为0,MF=1片头2400字节片2,偏移量为50,MF=1片头3400字节片3,偏移量为100,MF=1片头4400字节片4,偏移量为150,MF=1片头5400字节片5,偏移量为200,MF=1800字节600字节800字节包头片头1800字节片头2800字节片头3600字节片1,偏移量为0,MF=1片2,偏移量为100,MF=1片3,偏移量为200,MF=0R1R2ABLAN1LAN2MTU=820MTU=420片头1400字节片1,偏移量为0,MF=1片头2400字节片2,偏移量为50,MF=1片头3400字节片3,偏移量为100,MF=1片头4400字节片4,偏移量为150,MF=1片头5400字节片5,偏移量为200,MF=1片头6200字节片6,偏移量为250,MF=03.1.2IP包TTL:生存时间,允许该包在互连网中存在的时间,单位为秒。(Thenumbersofrouterswhichapacketcanpass.)协议:Protocol,上层协议的类型,如UDP(17),TCP(6),ICMP(1),GGP(3),EGP(8),IGP(9),OFPF(89),ISO-TP4(29)。3.1.2IP包首部校验和:HeaderChecksum,用于保证首部数据的完整性。首先将该字段清0,按16位为单位取反,然后求和,再取反.在收到IP包后,将首部的16位字再加一遍,如果未出错,则结果必定为全1。源IP地址:目的IP地址:3.1.2IP包IP选项:IPOptions字段是可选的,包含的选项主要用于网络测试或调试。但是,选项是IP协议的组成部分,所以,所有的标准实现都必须有它。IP选项至少有一个8位长的选项码,有的还包含8位的选长度和一系列选项数据。选项码的格式如图所示。选项格式复制选项类选项号01237复制:0,仅仅复制第一个分片中,1每个分片均复制。选项类:0,包或网络控制1,保留2,调试和度量3,保留选项类0,0:选项表结束0,1:无操作(PADDING)0,3:不严格源路径0,7:记录源路径,用于跟踪路由0,8:严格源路径0,11:MTU探测,用于发现路径MTU0,12:MTU应答,用于发现路径MTU2,4:Internet时间戳,用于记录路径上时间(午夜时间时为0,以ms为单位)2,18:路由追踪。由Traceroute程序来查找沿路径的路由器3.2ICMP协议3.2.1概述3.2.2ICMP的封装3.2.3ICMP报文格式3.2.4常见的ICMP报文3.2.1概述ICMP:InternetControlMessageProtocolIP协议通过安排路由器转发包提供无连接的数据报服务;路由器有时无法选择路由、无法投递包或检测到异常条件(如拥挤),路由器需要通知原站,采取措施避免或纠正问题,需要传达控制或出错信息3.2.2ICMP的封装ICMPHeaderICMPDataIPHeaderIPDataFrameHeaderFrameData3.2.3ICMP报文格式类型代码检查和长度可变部分(取决于类型)0816313.2.3ICMP报文格式类型ICMP报文意义类型ICMP报文意义0345891011回送应答目的地不可达源站抑制(SourceQuench)重定向(改变路由)回送请求路由器通告(advertisement)路由器恳求(solicitation)数据报超时12131415161718数据报参数错时间戳请求时间戳应答信息请求(已过时)信息应答(已过时)地址掩码(AddressMask)请求地址掩码(AddressMask)应答3.2.4常见的ICMP报文1.类型5(改变路由)2.类型8/0(EchorequestandEchoanswer)3.类型4(源站抑制)4.类型13/14(时间戳请求与回答)5.类型17/18(获得地址掩码)1.类型5(改变路由)这是用得最多的一种报文LAN2LAN3LAN1R1R2BCA假定主机A的默认网关为R1。当A向C发送IP包时,结果如何?1.类型5(改变路由)LAN2LAN3LAN1R1R2BCA假定主机A的默认网关为R1。当A向C发送IP包时,结果如何?A将包发到了R1,R1再发到R2。R1向A发出一个改变路由的ICMP报文,在该报文中指出此包应经过的下一路由器R2的IP地址。A收到该报文后就会更改其路由表。1.类型5(改变路由)LAN2LAN3LAN1R1R2BCA类型(5)代码(0~2)检查和路由器的IP地址081631原IP包的头部原IP包数据的前八字节2.类型8/0(回送请求与应答)Internet网上的ping(PacketInternetGroper)命令,就是利用该报文实现的。可选的数据……类型(8/0)代码(0)检查和081631标示符序号可选数据字段是一个可变长度字段,它包含要返回给发送者的数据。回送应答通常返回与所收到的请求完全相同的数据。标识符(IDENTIFIER)字段和序号(SEQUENCENUMBER)字段由发送者用来匹配应答和请求。类型(TYPE)字段的值指明报文是一个请求(8)还是一个应答(0)。2.类型8/0(回送请求与应答)应答正常接收表明系统的主要部分是正常的:1.源主机上的IP软件要为该包选路;2.源和目的之间的Router正在正常运行;3.目的主机正在运行,且IP和ICMP软件都在正常运行。Ping命令的实现有简,有复杂。简单的仅仅发送一个请求,然后等待回答;复杂的要发送一系列的请求并捕获响应,并提供丢失报文的统计信息。2.类型8/0(Ping的参数)Ping–tPing–ncountPing–wtimePing–rcount3.类型4(源站抑制报文)为了进行拥挤控制,当某个Router收到来自某主机的包,而自己的缓冲区已满时,就将源站抑制报文发回,并将收到的报文丢弃;源站则减少向某站发送的包的数量,直到不
本文标题:第3章Internet的网络层协议
链接地址:https://www.777doc.com/doc-2193013 .html