《TCPIP协议原理 - Read》由会员分享,可在线阅读,更多相关《TCPIP协议原理 - Read(34页珍藏版)》请在金锄头文库上搜索。
1、第七讲v网际协议IP本讲内容vv分组格式vv分组处理vv分组投递vvIP软件设计第七讲第七讲 IP IP协议协议2 2IP 协议vvInternet Protocol,RFC 791IPLANsMANsWANsICMPIGMPARPRARPNetworkNetworkLayerLayerNetworkNetworkAccessAccessLayerLayerTransport LayerTransport LayerApplication LayerApplication Layer第七讲第七讲 IP IP协议协议3 3IP:不可靠无连接数据报协议IP通信无连接:跨越多个异构物理网无连接:跨越
2、多个异构物理网 通用性通用性不可靠:尽最大努力交付(不可靠:尽最大努力交付(best-effort best-effort deliverydelivery)可靠性问题交由高层协议解决可靠性问题交由高层协议解决第七讲第七讲 IP IP协议协议4 47.1 分组格式IP DatagramIP Datagram第七讲第七讲 IP IP协议协议5 5长度字段vv首部长度字段,HLEN,4 bits以以4 4字节(即字节(即32bits32bits)为单位)为单位取值:取值:5 155 15(即首部长度为(即首部长度为 20 60 20 60 bytesbytes)vv总长度字段,Total leng
3、th,16 bits以字节单位以字节单位首部长度(即首部长度(即4*HLEN4*HLEN)+ + 数据长度数据长度思考:思考:IP分组的最大长度是多少?分组的最大长度是多少?65535第七讲第七讲 IP IP协议协议6 6服务类型字段vvType of Service(TOS),8 bits该分组所该分组所期望期望的服务质量的服务质量DTR PrecedenceD: Minimize delayD: Minimize delayR: Maximize reliabilityR: Maximize reliabilityT: Maximize throughputT: Maximize thro
4、ughput C: Minimize costC: Minimize cost指示对分组进行指示对分组进行指示对分组进行指示对分组进行处理(排队或丢处理(排队或丢处理(排队或丢处理(排队或丢弃)的优先权,弃)的优先权,弃)的优先权,弃)的优先权,值从值从值从值从0 0(普通优(普通优(普通优(普通优先级)到先级)到先级)到先级)到7 7(网(网(网(网络控制)络控制)络控制)络控制) 该分组所希望该分组所希望该分组所希望该分组所希望的路由转发服的路由转发服的路由转发服的路由转发服务类型,不能务类型,不能务类型,不能务类型,不能同时设置同时设置同时设置同时设置 ReserveRFC 1349RF
5、C 1349DTR PrecedenceCRFC 2474RFC 2474 DSCPCUDifferentiated Services Code Point,区分服务编码点,区分服务编码点 CurrentlyCurrentlyUnusedUnused第七讲第七讲 IP IP协议协议7 7分片控制字段vv标识字段,Identification,16 bits源站每发送一个分组,标识值源站每发送一个分组,标识值1 1(源(源IPIP地址,标识)地址,标识) 全网唯一分组标识全网唯一分组标识vv标志字段,Flags,3 bitsvv分片偏移字段,Fragmentation offset,13 bit
6、s以以8 bytes8 bytes为单位为单位D DMMFlagsFlagsD: Do not fragmentD: Do not fragmentM: More fragmentsM: More fragments思考:思考:IP数据报为什么需要被分片?数据报为什么需要被分片?第七讲第七讲 IP IP协议协议8 8生存时间字段vvTime to LiveTime to Live(TTLTTL),),8 bits8 bits 分组寿命:防止路由成环时,分组寿命:防止路由成环时,IPIP被无限次转发被无限次转发 取值:分组传输时间取值:分组传输时间+路由器转发处理时间路由器转发处理时间 困难困难
7、 实际:源和目的之间的路由器个数(跳数)实际:源和目的之间的路由器个数(跳数) 路由器转发时将路由器转发时将 TTLTTL值减值减1 1 ,TTLTTL值为零时丢弃该分组值为零时丢弃该分组最大值?最大值?最大值?最大值?255255第七讲第七讲 IP IP协议协议9 9协议字段vvProtocol,8 bits使用使用IPIP服务的高层协议服务的高层协议HeaderHeaderICMPICMPIGMPIGMPEGPEGPOSPFOSPFTCPTCPUDPUDPNetwork Network layerlayerTransport Transport layerlayerIP DatagramI
8、P Datagram1 1:ICMPICMP 2 2:IGMPIGMP 4 4:IPIP6 6:TCPTCP8 8:EGPEGP 17 17:UDPUDP 41 41:IPv6IPv68989:OSPFOSPF第七讲第七讲 IP IP协议协议1010校验和字段vvChecksum,16 bits差错检测差错检测vv只校验首部,数据部分由高层协议校验无须重复校验数据部分无须重复校验数据部分缩短了路由器转发分组时的处理时间缩短了路由器转发分组时的处理时间第七讲第七讲 IP IP协议协议1111选项字段vvOptionOption,0 40 bytes0 40 bytes 网络测试或调试网络测试或调
9、试 不是不是IPIP分组的必需部分,但其处理是分组的必需部分,但其处理是IPIP软件的必需部软件的必需部分分CodeCode8 bits8 bitsLengthLength8 bits8 bitsDataDatavariable lengthvariable lengthCopyCopy1 bit1 bitClassClass2 bits2 bitsNumber Number 5 bits5 bitsCopyCopy 0 Copy only in first fragment0 Copy only in first fragment1 Copy into all fragments1 Copy
10、 into all fragmentsClassClass00 Datagram control00 Datagram control01 Reserved01 Reserved1010 Debugging and management Debugging and management1111 Reserved ReservedNumberNumber00000 End of option00000 End of option00001 No option00001 No option00011 Loose source route00011 Loose source route00111 R
11、ecord route00111 Record route01001 Strict source route01001 Strict source route第七讲第七讲 IP IP协议协议1212IP分组封装vv直接封装在数据链路帧中例:例:Ethernet Ethernet 帧帧IP PacketIP Packet目的目的目的目的MACMAC类型类型类型类型FCSFCS源源源源MACMACPacketPacket6 66 62 246 150046 15004 40x08000x0800bytebyteEthernet frame headerIP headerIP headerIP da
12、ta第七讲第七讲 IP IP协议协议1313IP分组实例第七讲第七讲 IP IP协议协议14147.2 IP软件设计第七讲第七讲 IP IP协议协议15157.3 IP分组处理vv合法性检查版本版本长度长度TTLTTLProtocolProtocolIPIP地址地址ChecksumChecksumvv分片与重组vv选项处理第七讲第七讲 IP IP协议协议16167.3.1 ChecksumvvRFC 1071RFC 1071(RFC 1141RFC 1141,16241624,19361936)16 bits16 bitsSection 1Section 116 bits16 bitsSect
13、ion 2Section 216 bits16 bitsSection kSection kAll 0sAll 0sChecksumChecksum16 bits16 bitsSumSum16 bits16 bits取反取反取反取反ChecksumChecksum16 bits16 bitsSection 1Section 116 bits16 bitsSection 2Section 216 bits16 bitsSection kSection k16 bits16 bitsChecksumChecksum16 bits16 bitsSumSumResultResult16 bits16
14、bitsChecksumChecksumPacketPacketIf the result If the result is is 0 0, keep; , keep; otherwise, otherwise, discarddiscard16 bits16 bitsSenderSenderReceiverReceiver取反取反取反取反第七讲第七讲 IP IP协议协议17170x D1900x D190Example4 45 50 030301 10 00 010101717100. 100. 102. 102. 0 011010001 1001000011010001 100100000
15、100010000000000 0001111000000000 0001111000000000 0000000100000000 00000001000000000010100000101000000000 00000000 0000000000000000011001000110010000001110000011100110011001100110000001110000011101010101 000000000000000000000 0000000000000 00000000000100010001000112.12.000011000000110014.14.00000101
16、000001015 50010010000100100000010010000100136.36.7. 7.9 9+ +00101110 011011100101110 01101111 10 0取取取取反反反反ChecksumChecksum:0x D1900x D190第七讲第七讲 IP IP协议协议18187.3.2 分片与重组vv适应在不同MTU的物理网上传输MTUMTUHeader Header TrailerTrailerIP datagramIP datagramDatagramDatagramFrameFrame数据帧中封装的数据帧中封装的数据帧中封装的数据帧中封装的最大数据长
17、度最大数据长度最大数据长度最大数据长度物理网物理网MTUMTUToken ring (16 Token ring (16 Mbps)Mbps)1791417914Token ring (4 Token ring (4 Mbps)Mbps)44644464FDDIFDDI43524352EthernetEthernet15001500X.25X.25576576PPPPPP296296第七讲第七讲 IP IP协议协议1919分片操作(Fragmentation)vv仅由仅由路由器路由器执行:转发分组时执行:转发分组时vv确实需要时才进行分片:提高传输效率确实需要时才进行分片:提高传输效率vv每个
18、分片都要包含每个分片都要包含IPIP首部:无连接通信首部:无连接通信vv数据报可被多次分片数据报可被多次分片首部首部Data 1Data 1600 bytes600 bytesData 2Data 2600 bytes600 bytesData 3Data 3200 bytes200 bytes06001200Offset = 0Offset = 600/8 = 75Offset = 150DataDataMTU = 620 bytesMTU = 620 bytes首部首部首部首部首部首部首部首部首部首部首部首部Data 1Data 1Data 2Data 2Data 3Data 3第七讲第七
19、讲 IP IP协议协议2020分片举例4020402014567145670 00 014201420MTU = 1420MTU = 14201456714567原始分组数据原始分组数据原始分组数据原始分组数据0 39990 3999122012201 11420142014567145671456714567145671456714567145671 10 01 11 10 0175175350350175175275275820820620620MTU = 820MTU = 820片片片片3 3 数据:数据:数据:数据:2800 39992800 3999片片片片1 1 数据:数据:数据:
20、数据:0 13990 1399片片片片2 2 数据:数据:数据:数据:1400 27991400 2799片片片片2.2 2.2 数据:数据:数据:数据:2200 27992200 2799片片片片2.1 2.1 数据:数据:数据:数据:1400 21991400 2199第七讲第七讲 IP IP协议协议2121重组操作( Reassembly)vv仅由目的主机执行:将数据递交给上层时IPIP的无连接通信的无连接通信 各分片的传输路径可不同各分片的传输路径可不同有重组时限有重组时限若丢失分片,则无法重组若丢失分片,则无法重组IPIP分组分组vv目的主机能区分和重组不同的原IP报文(源(源IPI
21、P地址,标识)地址,标识)ABR1R1R3R3R2R2Net 1Net 1Net 2Net 2MTUMTU1 162062012201220MTUMTU2 2420420MTUMTU4 4820820R4R4Net 3Net 3Net 4Net 4MTUMTU3 36206207575 5050 0 00 0757575755050 0 0 12001200第七讲第七讲 IP IP协议协议2222重组表第七讲第七讲 IP IP协议协议23237.3.3 选项处理vv选项类型选项选项选项选项OptionOption单字节单字节单字节单字节Single-byteSingle-byte多字节多字节多
22、字节多字节Multiple-byteMultiple-byte无操作无操作无操作无操作No operationNo operation记录路由记录路由记录路由记录路由Record routeRecord route选项结束选项结束选项结束选项结束End of optionEnd of option严格源路由严格源路由严格源路由严格源路由Strict source routeStrict source route松散源路由松散源路由松散源路由松散源路由Loose source routeLoose source route时间戳时间戳时间戳时间戳TimestampTimestamp第七讲第七讲
23、IP IP协议协议2424无操作选项vv格式vv作用:选项间的填充CodeCode:1 10000000100000001一个一个一个一个1111字节的选项字节的选项字节的选项字节的选项NO-OPNO-OP一个一个一个一个7 7字节的选项字节的选项字节的选项字节的选项NO-OPNO-OP一个一个一个一个8 8字节的选项字节的选项字节的选项字节的选项用来对齐一个选项的开始用来对齐一个选项的开始用来对齐一个选项的开始用来对齐一个选项的开始用来对齐下一个选项用来对齐下一个选项用来对齐下一个选项用来对齐下一个选项第七讲第七讲 IP IP协议协议2525选项结束选项vv格式vv作用:标识选项字段的结束C
24、odeCode:0 00000000000000000选项选项END-OPEND-OP数据数据 第七讲第七讲 IP IP协议协议2626记录路由选项vv格式CodeCode:7 70000011100000111LengthLength(Total lengthTotal length)PointerPointerFirst IP addressFirst IP address(Empty when startedEmpty when started)Second IP addressSecond IP address(Empty when startedEmpty when started)
25、 Last IP addressLast IP address(Empty when startedEmpty when started)CodeCode:1 1(NO-OP)(NO-OP)第七讲第七讲 IP IP协议协议2727作用vv记录处理IP分组的路由器4 415157 78 8140.10.6.3140.10.6.3200.14.7.9200.14.7.9138.6.22.26138.6.22.261212161667.0.0.067.0.0.0140.10.0.0140.10.0.0200.14.7.0200.14.7.067.34.30.667.34.30.6138.6.0.01
26、38.6.0.067.14.10.2267.14.10.22140.10.6.3140.10.6.3140.10.5.4140.10.5.4200.14.7.9200.14.7.9200.14.7.14200.14.7.14138.6.22.26138.6.22.26138.6.25.40138.6.25.40第七讲第七讲 IP IP协议协议2828严格源路由选项vv格式CodeCode:1371371000100110001001LengthLength(Total lengthTotal length)PointerPointerFirst IP addressFirst IP addre
27、ss(Filled when startedFilled when started)Second IP addressSecond IP address(Filled when startedFilled when started) Last IP addressLast IP address(Filled when startedFilled when started)CodeCode:1 1(NO-OP)(NO-OP)第七讲第七讲 IP IP协议协议292910.0.0.110.0.0.110.0.0.210.0.0.2作用vv严格按给定的严格按给定的IPIP地址逐跳转发,中间不允许经过地
28、址逐跳转发,中间不允许经过其它其它IPIP地址地址4 4151513713767.14.10.2267.14.10.22140.10.5.4140.10.5.4200.14.7.14200.14.7.148 8140.10.6.3140.10.6.3200.14.7.9200.14.7.9138.6.22.26138.6.22.261212161667.0.0.067.0.0.0140.10.0.0140.10.0.0200.14.7.0200.14.7.067.34.30.667.34.30.6138.6.0.0138.6.0.067.14.10.2267.14.10.22140.10.6.
29、3140.10.6.3140.10.5.4140.10.5.4200.14.7.9200.14.7.9200.14.7.14200.14.7.14138.6.22.26138.6.22.26138.6.25.40138.6.25.40第七讲第七讲 IP IP协议协议3030松散源路由选项vv格式vv作用依次通过给定的依次通过给定的IPIP地址,中间可经过其它地址,中间可经过其它IPIP地址地址CodeCode:1311311000001110000011LengthLength(Total lengthTotal length)PointerPointerFirst IP addressFir
30、st IP address(Filled when startedFilled when started)Second IP addressSecond IP address(Filled when startedFilled when started) Last IP addressLast IP address(Filled when startedFilled when started)第七讲第七讲 IP IP协议协议3131时间戳选项vv格式格式vv作用作用 记录记录IPIP分组到达的路由器及其到达时间分组到达的路由器及其到达时间CodeCode:6868010001000100010
31、0LengthLength(Total lengthTotal length)PointerPointerFirst IP addressFirst IP address Last IP addressLast IP addressOverflowOverflow4 bits4 bitsFlagsFlags4 bits4 bitsFirst timestampFirst timestampLast timestampLast timestamp0 = 忽略忽略IP , 仅记录时间仅记录时间1 = 记录记录IP和时间和时间3 = 发方指定发方指定IP, 仅记录时间仅记录时间第七讲第七讲 IP I
32、P协议协议3232选项的分片控制vv哪些选项会复制到所有分片中?哪些只在第一个分片中出现?为什么?vv哪些选项用于数据报控制?哪些选项用于调试管理?No copyNo copyNo copyNo copyNo copyNo copyNo copyNo copyCopyCopyCopyCopyControlControlControlControlControlControlControlControlControlControlDebugDebugNo operationNo operation0 00 000010 00 00001End of optionEnd of option0 00
33、 000000 00 00000Record routeRecord route0 00 001110 00 00111Strict source routeStrict source route1 00 010011 00 01001Loose source routeLoose source route1 00 000111 00 00011TimestampTimestamp0 10 001000 10 00100第七讲第七讲 IP IP协议协议33337.4 小结vvIP协议不可靠、无连接、数据报交付协议不可靠、无连接、数据报交付协议vvIP分组格式数据报:首部数据报:首部 + + 数据数据首部:各字段的含义、作用、取值首部:各字段的含义、作用、取值(长度、(长度、TTLTTL、协议、片标志、片偏移、校验和)、协议、片标志、片偏移、校验和)封装:直接封装在数据帧中封装:直接封装在数据帧中vvIP分组处理TTLTTL、校验和计算、分片和重组、选项处理、校验和计算、分片和重组、选项处理第七讲第七讲 IP IP协议协议3434