Wireshark捕获分组深入理解TCPIP协_第1页
Wireshark捕获分组深入理解TCPIP协_第2页
Wireshark捕获分组深入理解TCPIP协_第3页
Wireshark捕获分组深入理解TCPIP协_第4页
Wireshark捕获分组深入理解TCPIP协_第5页
已阅读5页,还剩1页未读, 继续免费阅读

下载本文档

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

文档简介

Wireshark捕获分组深入理解TCP/IP协议之IP协议摘要:本文简单介绍了网络层理论知识,详细讲解了IP数据报各个字段,并从Wireshark俘获分组中选取IP数据报进行分析,也阐述了分组和分片的区别。一、IPv4数据报网络层是处理端到端数据传输的最低层。网络层关注如何将分组从源端沿着网络路径送达目的端,期间可能需要经过许多跳中间路由器。即提供转发(数据从路由器那个接口出去)、选路(发送方与接收方间的路径)、网络建立(如ATM、帧中继)。这里以IPv4为例,关于IPv6报文格式详见博文《IPv4与IPv6数据报格式详解》。32比特4~~4~I 8i 16分片版本分片版本riPv4)部度首长r服务类型数据报长匿(字ii)16位比特标识标志13比特分段偏移序命TTL上层协议首部检,杏和32位比特源IP地址32位比特目的]P地址blog.clnin-aunixTnet供载数据(有效净荷)图1IPv4数据报格式版本号(version)不同的IP协议版本使用不同的数据报格式。首部长度(HL,InternetHeadLength)确定IP数据报中数据部分实际从哪里开始,包含可变数量的选项。若IP数据报没有包含选项,则IP数据报首部长度为20字节。服务类型(TOS,TypeOfService)更好地服务不同类型IP数据报(如实时数据报IP电话应用、非实时通信流FTP),Cisco将TOS前3位标识不同服务等级,即优先级。数据报长度(TL,TotalLength)IP数据报长度,即首部+数据。分片:标识(identification)、标志(flags)、段位移(FragmentOffset)这3个字段跟IP分片有关,当目的主机从同一个源收到一批数据报时,需要确定这些数据报是完整数据报还是分片后的数据报,数据报首部标识字段解决这个问题,检查数据报的标识号确定哪些数据报真正是同一个较大数据报的片;如何判断最后一个分片已收到,数据报首部标志字段解决这个问题,将最后一片的标志为0,其他标记为1;如何顺序重组这些片,这就需要记录每个片的在数据报有效净荷的偏移量,这也确定了片是否丢失。若丢失某些片,则丢弃这个不完整的数据报(不会交给传输层)。需要可靠传输怎么办呢,由传输层让源重传原始数据摄中的数据(如TCP)。寿命(TTL,TimeToLive)每次数据报经过一台路由器时,该字段的值减1,若TTL字段减为0,则丢弃该数据报,从而确保数据报不会永远在网络循环。上层协议(Protocol)该字段用于指明IP数据报的数据部分应该交给哪个传输层协议(6为TCP、17为UDP)。首部检查和(HeaderChecksum)只是对IP首部进行检验,对整个TCP/UDP报文段检验交由TCP/UDP完成。将首部中的每两个字节当作一个数,用反码运算对这些数求和,该和按1补码值存放在检查和字段。当路由器收到IP数据报时,计算其首部检查和,与该字段值比较,若出错则丢弃该数据报。注:因为TTL字段及选项字段可能改变,所以每个路由器上的检查和都须重新计算并存放在原处。(检查后,再更新)源和目的IP地址(Source/DestinationAddress)选项(Options)选项字段允许IP首部被扩展,由此导致数据报首部长度可变,故不能预先确定数据字段从何开始,同时也使路由器处理一个IP数据报所需时间差异很大(有的要处理选项,有的不而女)。数据(Data)当使用TCP/UDP协议时,数据即为传输层报文段(TCP/UDP)。数据字段也可承载其他类型数据,如ICMP报文段。二、实例解析以请求百度首页基本HTML为例,因HTTP报文太大(3835字节),网络层对其进行分片,共4片,如下图(截自Wireshark俘获的HTTP响应报文):[4Reassemb'ledTCPSegmentsC3836bytes): ^28^44-0),^30^4-40),「F「am已;N7,口义丫1口义日; byt已%)1日:g口HylciHci:4口_-姬5。口_44。hyt此「FFHme:孑ClpiHylciHcl: —孑N9Ci「144。b/tesp]「旦:Ml,Qaylciacl: E545Byt旦m)][segmentcount:4]ERedssembledTCP1ength:3336]图2数据分片实例整个HTTP报文传输示意图如下:客户机 服务器图3HTTP报文传输实例示意图2.1分片IP数据报首部字段的标识(identification)、标志(flags)、段位移(FragmentOffset)用来处理分片。当目的主机从同一个源收到一批数据报时,需要确定这些数据报是完整数据报还是分片后的数据报,数据报首部标识字段解决这个问题,检查数据报的标识号确定哪些数据报真正是同一个较大数据报的片;如何判断最后一个分片已收到,数据报首部标志字段解决这个问题,将最后一片的标志为0,其他标记为1;如何顺序重组这些片,这就需要记录每个片的在数据报有效净荷的偏移量,这也确定了片是否丢失。若丢失某些片,则丢弃这个不完整的数据报(不会交给传输层)。需要可靠传输怎么办呢,由传输层让源重传原始数据摄中的数据(如TCP)。将该4个IP数据报(组成该完整的HTTP报文)的标识、标志、段位移部分抽出来,如下图所示:

IdantItlcatIdantItlcat1on:OxL5a7C56O7JFlage:0x02C^on'tFragmant)0 =Fieservedbit:Notset.1 =Don'tfragment:set..0 =Morefragments:Notsetfragmentoffset:0 /!7 .fclant1T1cat1on:0x15ab^56LLJ-Iags:0x02(Don'tFragment)0 =R.eservedbit:Notset..0 =Morefragments:Notsetfragmentoffset:0 30 ,I'cienTiricaTlon:0x15^9(^5609;Flags:0x02(Don'tFragment^0 =Reservedbit:Notset■1 =Dcin't和耳叩财七:..0 =Morefragments:Notset^ragmenxaffs^T:0 9R.rSentincation:uxibeac.bbi^j 1-1ags:0x02(Don'tFragment^)0 =Reservedbit:Notset.1 =□□rTt如旦nt:蠲z..0 =Morefragments:;Notsetjrmgiri旦m:口卜十勺旦七:口 31 ,图4HTTP响应报文的4个IP数据报可以看出,IP数据报并没有分片,这是因为这些IP数据报封装成帧并没有超过MTU(以太网MTU为1500字节)。蛮想找一个有分片的IP数据报分析下,可惜俘获的分组没有:-(不尽要问,当报文太大时,什么时候划分报文呢?主要是在两个地方:传输层TCP分组、网络层IP分片。(1)分组TCP把应用程序交给它的报文分成合适的小块交给下面网络层,要不要分取决于应用层报文是否大于MSS(想想TCP连接建立时最大报文段MSS大小的协商,注MSS仅包含TCP报文段的净荷数据,不包括TCP首部),怎么分取决于特定的分组算法。本例将3836字节长度HTTP报文分成:411+1440+1440+545。⑵分片IP数据报在发送方与目的地间传输可能选择不同的路径,路径上的每段链路可能使用不同的链路层协议,协议可能具有不同的最大传输单(MTU,链路层数据报能承载的最大数据量)。当出链路的MTU比IP数据报的长度小时,需要将过大的IP数据报分片。IPv4数据报首部字段标识、标志、偏移量解决这个问题。值得注意的是,IP数据报分片在网络层重组,重组好了,再交给传输层oTCP报文段在传输层重组,重组好了,再交给应用层。2.2IP数据报实例接下来,取一个完整IP数据报分析(以第一个数据报为例,即27),如下:图4IP数据报实例IP数据报首部没有选项字段,长度为20字节,数据报长度451=IP数据报首部长度20(没有选项字段)+TCP首部长度20(没有选项字段)+TCP报文段的数据字段411(实为HTTP报文前411字节)。最后附上我向春哥取经的东西:IP分片和TCP的分组有什么本质的区别么?ans:IP是TCP的底层为什么不能把大的数据都丢到IP层去而还需要TCP的分组呢ans:ip分片用的不多的通常都是在跨链路

温馨提示

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

评论

0/150

提交评论