搜档网
当前位置:搜档网 › IP数据报和数据报转发

IP数据报和数据报转发

IP数据报和数据报转发
IP数据报和数据报转发

第1 8章I P数据报和数据报转发

18.1 概述

前面我们介绍了互联网的体系结构,因特网寻址以及用来将I P地址翻译成硬件地址的地址解析软件。本章我们将讨论互联网中基本的通讯服务,包括互联网中包的格式以及路由器如何处理和转发这些包。第1 9章接着讨论路由器如何利用底层硬件来传送包。

18.2 无连接服务

网络互联的目的是为了提供这样一种包通讯系统:一台计算机上运行的程序能够向另一台计算机上运行的程序发送数据。在一个设计良好的互联网中,底层物理网络对应用程序来说是透明的—这些应用程序能够收发数据而又无须了解很多细节,比如本机所连的局域网、目的机所连的远程网络以及两者之间的互联等等。

协议的设计者必须决定互联网协议要提供哪些通讯服务,以及如何高效地实现这些服务。另外,设计者还须决定是否为程序提供面向连接(c o n n e c t i o n-o r i e n t e d)的服务,或是无连接(c o n n e c t i o n l e s s)的服务,或是两者都提供。

T C P/I P的设计者既提供了无连接服务,也提供了面向连接的服务:他们选择了无连接的基本传送服务(delivery service),并在这些无连接的底层服务之上增加了可靠的面向连接的服务。这一设计非常成功,以至于经常被其他的协议所模仿。

18.3 虚拟包

无连接的互联网服务其实是包交换的一种扩展—这种服务允许发送方通过互联网传输单独的包。每一个包独立地在网上传送,它本身包含了用以标识接收方的信息。

一个包是如何在互联网上传输的呢?答案就在于路由器将包从一个网转发到另一个网。源主机创建了一个包,将目的地址放入包的头部,然后将包送往相邻的路由器。当一个路由器收到一个包,就会使用包的目的地址来选择下一个路由器并向之转发。最终,包会到达这样一个路由器,此路由器能够直接将包传给它的最终目的地。

一个互联网上的包的格式是怎样的呢?不幸的是,传统的硬件帧格式不适合作为互联网上的包格式。这是因为路由器能够连接异构网络,而不同类型网络的帧格式不同,因此路由器不能直接将包从一个网络传送到另一个网络。另外,路由器也不能简单地重新格式化帧的头部,因为两个网络可能使用不兼容的地址格式(例如,一个输入帧中的地址可能对另一个网络而言是毫无意义的)。

为了克服异构性,互联网协议软件定义了一种独立于底层硬件的互联网包格式。结果就产生了一种能无损地在底层硬件中传输的通用的(u n i v e r s a l)、虚拟的(v i r t u a l)包(第1 9章将详细说明一个互联网包怎样在物理网中传输)。就像虚拟(v i r t u a l)一词所示,协议软件负责产生和处理互联网包—底层硬件并不认识这种包的格式。又如通用(u n i v e r s a l)一词所示,互联网上的每一台主机或路由器都有认识这种包的协议软件。概述如下:

由于路由器可能连接异构的网络,它就不能直接将网上送来帧的传给另一个网。

为了克服异构性,一个互联网必须定义一种与硬件无关的包格式。

18.4 IP 数据报

T C P /I P 协议使用I P 数据报(IP datagram )这个名字来命名一个互联网包。令人惊奇的是,I P 数据报竟然与硬件帧有同样的基本格式:I P 数据报也是以一个头部开始,后跟数据区。图1 8-1例举了这种数据报格式。

一个数据报携带的数据量不固定,发送方根据特定的

用途选择合适的数据量。例如,一个应用若需要传送击键

信息,则可以将每次击键放在单独的数据报中,而当一个应用要传送大文件时,则会发送大数据报。关键在于:

数据报的尺寸取决于发送数据的应用。大小可变

的数据报使得I P 可以适应各种应用。在当前I P 版本(版本4)中,一个数据报的数据量可以小到一个字节,而数据报本身可以大到6 4K 字节(包括头部)。在大部分数据报中,头部比数据区要小得多。为了理解这一点,有必要了解一下传输数据的开销。就象物理网络帧中的帧头,数据报的头部意味着开销—传输头部所花费的时间中,并没有传输用户自己的数据。由于数据报头部的尺寸是固定的,发送大数据报导致单位时间内传送了更多的用户数据(即更高的吞吐率)。

与帧头类似,数据报头部包含的信息是为了在互联网中寻径用。例如,头部包含发出该数据报的计算机地址和目的计算机的地址。当然,数据报头部的地址形式与帧头的地址形式是不同的—数据报包含的是I P 地址,而帧包含的是硬件地址。概述如下:

一个通过T C P /I P 互联网的包叫I P 数据报。每个数据报由一个头部和紧跟其后的数

据区组成,数据报头部中源地址和目的地址都是I P 地址。

18.5 IP 数据报的转发

一个数据报沿着从源地址到目的地的一条路径穿过互联网,中间会经过很多路由器。路径上的每个路由器收到这个数据报时,先从头部取出目的地址,根据这个地址决定数据报该发往的下一站。然后路由器将此数据报转发给下一站,该下一站可能就是最终目的地,也可能是另一个路由器。为了使对下一站的选择高效而且便于理解,每个I P 路由器在一张路由表(r o u t i n g t a b l e )中保存有很多路由信

息。当一个路由器启动时,

需对路由表进行初始化,

而当网络的拓扑发生变化或某些硬件发生故障时,头部数据区图18-1 IP 数据报的基本格式:一个

头部后跟着数据区,头部含有控制该包发往何地及如何发送的信息

网络1网络2网络3网络4a )

目的地下一站

net 1 R

1net2 直接传送

net3 直接传送

b )图 1 8-2a )三个路由器将四个网络连接成一个互联网的例子b )路由器R 2

的概念路由表,其中每一项列出一个目的网络和到达目的网络路径中的下一站

R 1R 2R 3

必须更新路由表。

概念上说,路由表中每一项都指定了一个目的地和为到达这个目的地所要经过的下一站。图18-2 a )中,三个路由器将四个网络连接成为一个的互联网,b )是一个路由器中的路由表。

如图所示,路由器R 2直接连接网络2和网络3,因此,R 2能将数据报直接发往连在这两个网

络上的任何目的地。当一个数据报的目的地在网络4中时,R 2就需将数据报发往路由器R 3。

路由表中列出的每个目的地是一个网络,而不是一个单独的主机。这个差别非常重要,因为一个互联网中的主机数可能是网络数的1 000倍以上。因而,使用网络作为目的地可以使路由表的尺寸变得较小。概述如下:

由于路由表中的每个目的地对应于一个网络,路由表中的项数正比于互联网中的

网络个数。

18.6 IP 地址与路由表项

事实上,一个I P 路由表比1 8-2图中的例子稍复杂一些。首先,每一项的目的地(D e s t i n a t i o n )域只包含目的地网络的网络前缀。第二,每项中有一个附加域包含了一个地址屏蔽码(a d d r e s s m a s k ),这个屏蔽码决定了目的地中的哪些位对应着网络前缀。第三,当下一站(Next Hop )域指的是一个路由器时,将使用一个I P 地址。图1 8-2的路由表在实际当中是以图1 8-3的形式出现。(大部分互联网连接了不止四个网络,一个典型的路由表还应包含一个缺省路由,即一个对应于所有未在表中列出的目的地的项。)

图 1 8-3

a) 四个网络和三个路由器组成的一个互联网,每个路由器接口分配一个I P 地址b) 是中间那个

路由器的路由表,表中每一项列出一个目的地、一个屏蔽码和到达目的地的下一站

表中头两个网络都有一个A 类前缀,第三个网络有一个B 类前缀,第四个网络有一个C 类前缀。每个路由器被指定了两个I P 地址,一个地址对应一个接口。例如,连接网络 3 0.0.0.0和4 0.0.0.0的路由器被指定了地址3 0.0.0.7和4 0.0.0.7。尽管路由器的两个接口有同样的主机后缀,其实I P 并不要求这种一致—网络管理员可以自由地为每个接口指定不同的值。

18.7 屏蔽码域和数据报转发

使用路由表为数据报选择下一站的过程叫路由(r o u t i n g )或转发(f o r w a r d i n g )。查表时屏蔽码域用来从一个I P 地址中取出网络部分。为了理解屏蔽码是怎样使用的,想象一个路由软件目的地屏蔽码下一站

a )

b )

正要转发一个数据报。假设数据报包含了目的地址D,路由软件必须在路由表中找到指明D的下一站的那一项。为了做到这一点,软件检测路由器中的每一项,利用屏蔽码域提取地址D的前缀,并把结果与目的地域加以比较。如果相同,数据报将按该项中所指的下一站进行转发。

屏蔽码的引入使得提取前缀的工作非常高效—软件将屏蔽码与数据报目的地址D进行布尔与(a n d)运算。因而,检测表中第i项的计算过程可以表述如下:

i f((M a s k[i] & D)== D e s t i n a t i o n[i] )f o r w a r d t o N e x t H o p[i];

举一个例子,考虑一个目的地址为1 92.4.10.3的数据报,假设该数据报到达了一个包含图1 8-3所示路由表的路由器上,并假设软件顺序搜索表中每一项,则对于第一项,因为2 55.0.0.0 & 192.4.10.3不等于3 0.0.0.0,故匹配失败。同样,第二、三项都不符和,路由软件最终选择了地址为1 28.1.0.9的下一站,因为

255.255.255.0 & 197.4.10.3== 1 92.4.10.0

18.8 目的地和下一站地址

数据报头部的目的地址与其被转发的下一站地址之间到底有什么关系呢?数据报中的目的地I P地址(D E S T I N A TION IP ADDRESS)域包含了最终目的地址。当路由器收到一个数据报,会取出目的地址D,用它来计算数据报将发往的下一路由器的地址N。尽管这个数据报被直接发往地址N,但头部中仍保持着目的地址D。也就是说:

一个数据报头部中的目的地址总是指最终目的地。当一个路由器将这个数据报转发给另一个路由器时,下一站的地址并不在数据报头部里出现。

所有的路由器都是使用I P地址进行计算的。在计算出下一站的地址N之后,I P软件使用第1 7章所述的地址联编技术将地址N翻译成等价的硬件地址以便传输。在下一章中,我们将讨论数据报是怎样穿过一个物理网络的。

18.9 尽力传递

除了定义互联网数据报格式,I P还定义了通信的语义,并使用“尽力而为”(b e s t-e f f o r t)这个词来描述所提供的服务。从本质上讲,这个标准指出了尽管I P层会努力地尝试传递每个数据报,但并不保证处理以下问题:

? 数据报重复。

? 延迟传送或乱序传送。

? 数据的损坏。

? 数据报的丢失。

以上问题都需要上层协议软件加以处理。

I P层会出现这些问题也许看起来很奇怪,然而,这里有一个重要的原因:每一层的协议软件各自只负责通信的某些方面,I P层就不负责处理以上问题。因而,当底层物理网络会出现以上的这些问题时,使用I P的任何软件都必须自己解决。概述如下:

由于I P是为了操作各种类型的网络硬件而设计,而这些硬件可能工作得并不太好,因此I P数据报也会发生丢失、重复、延迟、乱序或损坏等问题,这些问题都需靠高层

协议软件来解决。

18.10 IP 数据报头部格式图1 8-4给出了一个I P 数据报头部包含的各个域,包括源I P 地址(SOURCE IP ADDRESS )、目的地I P 地址(D E S T I N A TION IP ADDRESS )和类型(T Y P E )域,源I P 地址域含有发送方的I P

地址,目的地址域含有接收方的I P 地址,类型域指明数据的类型。

图18-4 IP 数据报头部中的各个域。其中,源地址和目的地地址均是I P 地址

数据报头部里的每个域都有固定的大小。数据报以4位的协议版本号(当前版本号4)和4位的头部长度开始,头部长度指出以3 2位字长为单位的头部长度。服务类型(S E R VICE TYPE )域包含的值指明发送方是否希望以一条低延迟的路径或是以一条高吞吐率的路径来传送该数据

报,当一个路由器知道多条通往目的地的路径时,就可以靠这个域对路径加以选择。总长(TO T AL LENGTH )域为1 6位的整数,说明以字节计的数据报总长度,包括头部长度和数据长度。第1 9章将解释标识(I D E N T I F I C AT I O N )域、标志( F L A G S )域和和段偏移(FRAGMENT OFFSET )域。

生存时间(TIME TO LIVE )域用来阻止数据报在一条包含环路的路径上永远地传送。当软件发生故障或管理人员错误地配置路由器时,就会产生这样的路径。发送方负责初始化生存时间域,这是一个从1到2 55之间的整数。每个路由器处理数据报时,会将头部里的生存时间减1,如果达到0,数据报将被丢弃,一个出错消息被发回给源主机。

头部校验和(HEADER CHECKSUM )域确保头部在传送过程中不被改变。发送方对除了校验和域的头部数据每1 6位对1求补,所有结果累加,并将和的补放入头部校验和域中。接收方进行同样计算,但包括了校验和域。如果校验和正确,则结果应该为0(数学上,1的求补是一个逆加,因此将一个值加到它自身的补上将得到零)。

为了保证数据报不过大,I P 定义了一套可选项(o p t i o n s )。当一个I P 数据报没携带可选项时,头部长度(H .L E N )域的值为5,头部以目的地址(D E S T I N A TION ADDRESS )域作为结束。因为头部长度总是 3 2位的倍数,如果可选项达不到 3 2位的整数倍,全0的充填(PA D D I N G )域会被加入以保证头部长度为3 2位的倍数。

1 8.11 小结

互联网协议定义了在T C P /I P 互联网上传送的基本单位—I P 数据报。每个数据报类似于一个硬件帧,因为都是由头部跟其后的数据区组成。就象硬件帧一样,头部包含了传送数据报至特定目的地的信息。与硬件帧不同的是,数据报头部包含的是I P 地址。

路由器中I P 的软件使用一个路由表来决定数据报发送的下一站。路由表中的每一项对应于一个目的地网络,这就使得路由表的尺寸与互联网中的网络数目成正比。当挑选一条路径时,数据开始IP 可选项(可省略)

目的地IP 地址

源IP 地址

充填类型

标识

段偏移总长服务类型标志版本头部长度

生存时间头部校验和

I P软件将把目的地址的网络前缀与表中的每一项进行比较。

尽管I P软件选择了数据报发往的下一站,但下一站的地址并不出现在数据报头部中。相反,头部中总是放着最终目的地的地址。

练习

18.1 用虚拟包代替帧的主要优点是什么?

18.2 写一个计算机程序,输入一个象图18-3 b)的I P路由表以及一系列的目的地址。对每

一个目的地址,该程序顺序搜索路由表,找到正确的下一站作为输出。

18.3 修改前一个练习的程序,使用散列代替顺序搜索。比较两个程序的速度,看看散列

到底快多少。

18.4 写一个计算机程序,从一个I P数据报中取出源地址和目的地地址,以点分十进制表

示法输出。

18.5 写一个计算机程序,计算头部校验和。使用这个程序检测从网上捕获的数据报,看

看校验和失败的频度如何。

18.6 写一个计算机程序,从I P数据报头部中提取所有的域。以十六进制的形式或点分十

进制的形式打印它们的值。

18.7 如果一个数据报包含一个8位的可选项和一个8位的数据值,则头部的头部长度域的

值和总长度域的值分别是多少?

18.8 假设两个路由器被错误地配置,以至对某些目的地D产生了路由环。解释一下为什

么目的地为D的数据报不会永远地在环中传送。

以太网数据包格式

时隙在一般的数字通信原理中是这样定义的: 由各个消息构成的单一抽样的一组脉冲叫做一帧,一帧中相邻两个脉冲之间是时间间隔叫做时隙. 而以太网的时隙有它自己的特定意义. (1)在以太网CSMA/CD规则中,若发生冲突,则必须让网上每个主机都检测到。但信号传播到整个介质需要一定的时间。 (2)考虑极限情况,主机发送的帧很小,两冲突主机相距很远。在A发送的帧传播到B的前一刻,B开始发送帧。这样,当A的帧到达B时,B检测到了冲突,于是发送阻塞信号。 (3)但B的阻塞信号还没有传输到A,A的帧已发送完毕,那么A就检测不到冲突,而误认为已发送成功,不再发送。 (4)由于信号的传播时延,检测到冲突需要一定的时间,所以发送的帧必须有一定的长度。这就是时隙需要解决的问题。 这里可以把从A到B的传输时间设为T,在极端的情况下A要在2T的时间里才可以检测到有冲突的存在 1,电磁波在1KM电缆的传输时延约为5us(这个数字应该记下来~~~),如果在理想情况下 2,在10Mbps的以太网中有个5-4-3的问题:10 Mb/s以太网最多只能有5个网段,4个转发器,而其中只允许3个网段有设备,其他两个只是传输距离的延长。按照标准,10Mbps以太网采用中继器时,连接最大长度为2500米! 那么在理想的情况下,时隙可以为2500/1000*5*2us=25us,但是事实上并非如此简单.实际上的 时隙一定会比25us大些.接下来说明一下~~~ 3,在以太网在,时隙也可以叫做争用期,只有经过争用期这段时间没有检测到冲突碰撞,发送端才能肯定这次发送不会发生碰撞.然后当发生了碰撞而停止之后,以太网上的机器会再次侦听,再发送,这就有个再 次碰撞的可能性,这里以太网使用了截断二进制指数类型的退避算法来解决,在碰撞之后,会推迟一个随机时间(具体略),这也会对争用期的选择有些影响. 而这个截断二进制指数类型的退避算法的有关说明,可以看看我回的这个帖子~

IP数据报格式

IP数据报格式 TCP/IP协议定义了一个在因特网上传输的包,称为IP 数据报(IP Datagram)。这是一个与硬件无关的虚拟包, 由首部和数据两部分组成,其格式如图所示。首部的前一部分是固定长度,共20字节,是所有IP数据报必须具有的。在首部的固定部分的后面是一些可选字段,其长度是可变的。首部中的源地址和目的地址都是IP协议地址 1、IP数据报首部的固定部分中的各字段 (1)版本占4位,指IP协议的版本。通信双方使用的IP 协议版本必须一致。目前广泛使用的IP协议版本号为4(即IPv4)。 (2)首部长度占4位,可表示的最大十进制数值是15。请注意,这个字段所表示数的单位是32位字长(1个32位字长是4字节),因此,当IP的首部长度为1111时(即十进制的15),首部长度就达到60字节。当IP分组的首部长度不是4字节的整数倍时,必须利用最后的填充字段加以填充。因此数据部分永远在4字节的整数倍开始,这样在实现IP 协议时较为方便。首部长度限制为60 字节的缺点是有时可能不够用。但这样做是希望用户尽量减少开销。最常用的首部长度就是20字节(即首部长度为0101),这时不使用任何

选项。 (#我们一般看到的版本和首部长度两个字段是十六进制45,就是版本号version=4,headlength=5,也就是首部长度是60个字节) (3)区分服务占8位,用来获得更好的服务。这个字段在旧标准中叫做服务类型,但实际上一直没有被使用过。1998年IETF把这个字段改名为区分服务DS(Differentiated Services)。只有在使用区分服务时,这个字段才起作用。 (4)总长度总长度指首部和数据之和的长度,单位为字节。总长度字段为16位,因此数据报的最大长度为 216-1=65535字节。 #可以看这个以太网frame总长为336字节,而IP数据包Total length=322,336-322=14正好是Ethernet包头的长度,所以就可以看出这IP数据包总长度一值就是除去Ethernet头的剩余长度,也就是IP包头加数据的长度。 在IP层下面的每一种数据链路层都有自己的帧格式,其中包括帧格式中的数据字段的最大长度,这称为最大传送单元MTU(Maximum Transfer Unit)。当一个数据报封装成链路层的帧时,此数据报的总长度(即首部加上数据部分)一定不能超过下面的数据链路层的MTU值。 (5)标识(identification)占16位。IP软件在存储器中维

网络数据包的捕获与分析毕业设计

网络数据包的捕获与分析 【摘要】网络数据包的捕获对于网络安全有着巨大的作用,为我们更好的分析网络中的数据流提供了帮助。本论文是基于Windows下开发一个网络监听工具,侧重点在于实现网络数据包的捕获,然后分析并显示捕获到的数据包信息这部分功能的实现,如分析:IP首部协议类型、源IP、目的IP和端口号等。采用的是Winpcap(Windows Packet Capture)来实现的抓包功能。通过VC++6.0中MFC编程实现通过一个完整界面来控制调用Winpcap中的函数来实现对网卡信息的捕获和循环捕获数据包,然后通过预先对于IP、TCP、UDP等数据包的定义和TCP/IP等协议来解析其中包含的内容并返回显示捕获到数据包的信息,当然也可以保存捕获到的数据包到指定地点以便进一步分析。 【关键词】Winpcap;数据包;捕获;分析

The Capture and Analysis of Network Data Packets Wang Hang (Grade 11,Class 1, Major Network Engineering, Scho ol of Mathematics and Computer Science Dept, Shaanxi University of Technology, Hanzhong 723003, Shaanxi) Tutor: Jia Wei Abstract: The capture of network data packets plays an important part in network security, which is helpful for our better analysis of network data flow.This paper is about a network monitoring tool based on Windows system, which emphasizes particularly on realizing the capture and analysis of network data packets and then displays them. Take analysis as an example, it will check the type of the IP protocol, the source address of IP, the destination address of IP and the port https://www.sodocs.net/doc/f618342524.html,e the Winpcap(Windows Packet Capture)to capture of data packets. In MFC programming of VC++6.0, the capture of network data packets can be realized via the invoking and control of the functions through a full control panel, and then the analysis of IP ,TCP,UDP and TCP/IP will be done before they are displayed. Certainly the information captured can be saved to the appointed destination in order to go through an advanced analysis. Key words:Winpcap;Data Packets;Capture;Analysis

IP数据包格式简介

IP 数据包格式 IP 数据包是网络传输的信封,它说明了数据发送的源地址和目的地址,以及数据传输状态。一个完整的数据包由首部和数据两部分组成。首部前20字节属于固定长度,是所有IP 数据包必须有的,后面是可选字段,其长度可变,首部后面是数据包携带的数据,见图5.3.1。 48 16 19 31 版本号 标志 生存时间 协 议标 识 服务类型数据包总长度 段偏移首 部 检 验 和 源地址目 的地址可 选字段+ 填 充位首部长度 数 据部 分 数 据 首部首部 IP 数据包 发送 图5.3.1 IP 数据包格式 1. 版本号(4bit ) 版本号占4位,是IP 协议所使用的版本号,目前是广泛使用的是第四版本,即IPv4。 2. 首部长度(4bit ) 首部长度用于指出IP 包头长度,用于标识数据包头在何处结束,所携带的数据在何处开始。首部长度占四位,数值范围5~15,以4字节为单位,则IP 首部长度为20字节~60字节。如假设首部长度取值“1010”,转换为十进制为“10”,表示IP 包头长度为10×4=40字节,数据从第41字节开始。 3. 服务类型(8bit ) 服务类型用于获得更好服务,大多数情况下并不使用。当网络流量较大时,路由器会根据不同数据包服务类型取值决定哪些先发送,哪些后发送,见图5.3.2。 D 优先级T R C 未用 0 1 2 3 4 5 6 7 图5.3.2 服务类型格式 (1)前3个bit 表示优先级,取值范围0~7共8个优先级,数值越低优先级越高。 (2)后四位是服务类型子字段,用于标识QOS 质量服务。 D :表示要求更低时延 T :表示要求更多吞吐量 R :表示要求更多可靠性 C :表示要求更小路径开销 注:DTRC 默认4位值都为0,表示一般服务;

Ip数据包捕获设计报告

解析IP数据包程序设计与实现 学生姓名:梁帅指导老师:谢晓巍 摘要现如今,计算机网络已经彻彻底底地改变了人们的生活。大量的数据都是经过计算机网络传输的,而TCP/IP协议是计算机网络中最重要的协议之一。计算机网络中绝大多数数据都是以IP数据包的形式发送和接受的。所以IP数据包的捕获是很多计算机安全技术的基础。本课程设计实现了可以捕获流经本地网卡的IP数据包并将其头部信息解析输出的程序。 关键词TCP/IP;IP数据包;计算机网络;捕获

Design and implementation of IP data packet Student name: LIANG Shuai Advisor:XIE Xiao-wei Abstract Nowadays, computer network has completely changed people's life. A large amount of data is transmitted through computer networks, and the TCP/IP protocol is one of the most important protocols in computer networks. Most of the data in the computer network are sent and received in the form of IP data packets. So IP packet capture is the basis of many computer security technology. This course is designed to capture the IP data packet that flows through the local network card and the program to parse the output of its head. Key words TCP/IP;IP data packet;Computer network;Capture

IP及IPSEC协议数据包的捕获与分析

IP及IPSEC协议数据包的捕获与分析

IP及IPSEC协议数据包的捕获与分析 为了掌握掌握IP和IPSEC协议的工作原理及数据传输格式,熟悉网络层的协议。我进行了以下实验:首先用两台PC互ping并查看其IP报文,之后在两台PC上设置IPSEC互ping并查看其报文。最终分析两者的报文了解协议及工作原理。 一、用两台PC组建对等网: 将PC1与PC2连接并分别配置10.176.5.119和10.176.5.120的地址。如图1-1所示。 图1-1 二、两PC互ping: IP数据报结构如图1-2所示。 图1-2 我所抓获的报文如图1-3,图1-4所示:

图1-3 请求包 图1-4 回应包 分析抓获的IP报文: (1)版本:IPV4 (2)首部长度:20字节 (3)服务:当前无不同服务代码,传输忽略CE位,当前网络不拥塞

(4)报文总长度:60字节 (5)标识该字段标记当前分片为第1367分片 (6)三段标志分别指明该报文无保留、可以分段,当前报文为最后一段 (7)片偏移:指当前分片在原数据报(分片前的数据报)中相对于用户数据字段 的偏移量,即在原数据报中的相对位置。 (8)生存时间:表明当前报文还能生存64 (9)上层协议:1代表ICMP (10)首部校验和:用于检验IP报文头部在传播的过程中是否出错 (11)报文发送方IP:10.176.5.120 (12)报文接收方IP:10.176.5.119 (13)之后为所携带的ICMP协议的信息:类型0指本报文为回复应答,数据部分 则指出该报文携带了32字节的数据信息,通过抓获可看到内容为:abcdefghijklmnopqrstuvwabcdefghi 三、IPSec协议配置: 1、新建一个本地安全策略。如图1-5。 图1-5 2、添加IP安全规则。如图1-6.

IP及IPSEC协议数据包的捕获与分析

IP及IPSEC协议数据包的捕获与分析 为了掌握掌握IP和IPSEC协议的工作原理及数据传输格式,熟悉网络层的协议。我进行了以下实验:首先用两台PC互ping并查看其IP报文,之后在两台PC上设置IPSEC互ping并查看其报文。最终分析两者的报文了解协议及工作原理。 一、用两台PC组建对等网: 将PC1与PC2连接并分别配置10.176.5.119和10.176.5.120的地址。如图1-1所示。 图1-1 二、两PC互ping: IP数据报结构如图1-2所示。 图1-2 我所抓获的报文如图1-3,图1-4所示:

图1-3 请求包 图1-4 回应包 分析抓获的IP报文: (1)版本:IPV4 (2)首部长度:20字节 (3)服务:当前无不同服务代码,传输忽略CE位,当前网络不拥塞

(4)报文总长度:60字节 (5)标识该字段标记当前分片为第1367分片 (6)三段标志分别指明该报文无保留、可以分段,当前报文为最后一段 (7)片偏移:指当前分片在原数据报(分片前的数据报)中相对于用户数据字段 的偏移量,即在原数据报中的相对位置。 (8)生存时间:表明当前报文还能生存64 (9)上层协议:1代表ICMP (10)首部校验和:用于检验IP报文头部在传播的过程中是否出错 (11)报文发送方IP:10.176.5.120 (12)报文接收方IP:10.176.5.119 (13)之后为所携带的ICMP协议的信息:类型0指本报文为回复应答,数据部分 则指出该报文携带了32字节的数据信息,通过抓获可看到内容为:abcdefghijklmnopqrstuvwabcdefghi 三、IPSec协议配置: 1、新建一个本地安全策略。如图1-5。 图1-5 2、添加IP安全规则。如图1-6.

实验 IP数据报的格式

实验IP数据报的格式 【实验目的】 1、通过分析IP数据报的格式了解IP数据报各个字段的大小、取值范围; 2、掌握它们在IP协议中所起的作用。 【实验内容】 1、分析IP数据报的结构,熟悉各个字段的内容、功能、格式和取值范围; 2、编辑IP数据报首部各字段的内容; 3、单个或批量发送已经编辑好的IP数据报。 【实验原理】 IP数据报由首部和数据两部分组成。首部的前一部分是固定长度,共20字节,是所有IP数据报必须具有的。20字节之后是一些可选字段,其长度是可变的。IP数据报的格式如下图所示: 版本:占4 bit,指IP协议的版本。通信双方使用的IP版本必须一致。目前广泛使用的版本号为4。 首部长度:占4 bit,可表示的最大数值是15个单位(一个单位为4字节),因此IP的首部长度的最大值是60字节。

服务类型:占8 bit,用来获得更好的服务。前三个比特表示优先级。第D比特表示要求有更低的时延。T比特表示要求有更高的吞吐量。R比特表示要求有更高的可靠性。C比特表示要求选择代价更小的路由。最后一个比特目前尚未使用。 总长度:占16 bit,指首部和数据之和的长度,单位为字节。 标识:占16 bit,它是一个计数器,用来产生数据报的标识。 标志:占3 bit,目前只有前两个比特有意义。最低位记为MF,MF=1表示后面“还有分片”的数据报。MF=0表示这已是若干数据报片中的最后一个。标志字段中间的一位记为DF,意思是“不能分片”。只有当DF=0时才允许分片。 片偏移:占13 bit,表示较长的分组在分片后,某片在原分组中的相对位置。片偏移以8个字节为偏移单位。 生存时间:占8 bit,表示数据报在网络中可通过的路由器的最大值。 协议:占8 bit,指出此数据报携带的数据是何种协议。 首部校验和:占16 bit,只校验数据报的首部,不包括数据部分。 源IP地址:占4 bit。 目的IP地址:占4 bit。 可选字段:用来支持排错、测量以及安全等措施。此字段长度可变,从1个字节到40个字节不等,取决于所选择的项目。 【实验步骤】 练习一:分析IP数据报格式 1、运行报文仿真编辑器; 2、选择“文件”菜单中的“打开”菜单项,选择安装目录下Data目录中报文仿真编辑器 存档文件:udp.pef; 3、选中报文列表框中的一条记录,报文仿真编辑器中间部分自动显示此条报文记录的协议 结构树; 4、选中协议结构树中的“IP首部”结点,报文仿真编辑器右侧部分自动显示当前IP数据 报首部各个字段的内容; 5、查看IP数据报首部中的源地址和目的地址的结构和内容; 6、分析IP数据报首部中的类型字段所表示的含义。 练习二:编辑IP数据报格式中的字段内容 1、在报文仿真编辑器的右侧修改IP数据报的各个字段的内容; 2、单击“保存”按钮; 3、查看修改后的字段内容。 练习三:发送和接收IP数据报序列 1、运行报文解析器;

IP 数据报捕获与分析实验报告

实验报告 专业班级成绩评定______ 学号姓名教师签名______ 实验题目IP 数据报捕获与分析实验时间 一、实验目的: 1.掌握IP数据报格式。 2.理解IP协议的工作原理及工作过程。 3.掌握使用wireshark捕获IP等数据报并分析。 二、实验环境:以太网。 三、实验内容: 1.熟悉WinPcap的体系构架和提供的函数。 2.学习IP数据报校验和计算方法。 3.掌握使用wireshark捕获IP等数据报。 4.对捕获的IP数据报进行分析。 四、实验步骤: 1.在PING之前先运行wireshark熟悉页面并进行一些设置

a.单击Capture Filter过滤器:可以设置捕捉一些特殊规则 的数据报。 b.在选中Capture packets in promiscuous mode:可以设置 为混合全处理模式。 c.可以点击Start开始捕捉。过一段时间后,点击Stop停止, 观察捕捉到的数据报,并进行分析。 2.使用wireshark捕获和分析IP数据包。 a.打开wireshar并开始捕获数据包。 b.然后在系统的“开始”—“运行”—输入“CMD”命令,进 入DOS命令窗口,并输入“ping”命令测试网络的情况. c.如“ping 192.168.0.1”。 Ping 命令的使用

d.再回到wireshar点击停止后查看捕获到的数据,双击打开 “ping”后的数据包,分析数据包的内容。 分片的数据包 (以下图片全部通过wireshark捕获数据包,然后用QQ中的截图功能截取) IP协议节点

IP协议节点 上面节点说明如下: 3.进制数据包窗口 16进制数据包窗口将数据包的所有内容以16进制的形式显示出来,如下所示:

IPv4 数据报首部格式

北京理工大学珠海学院实验报告 ZHUHAI CAMPAUS OF BEIJING INSTITUTE OF TECHNOLOGY 班级XXX 3班学号0123456 姓名 XXX 指导教师ZHANG XUE 成绩 实验题目IPv4 数据报首部格式实验时间 2014.1 一、实验目的 掌握IPv4 协议原理,理解IPv4 分组首部结构及各字段的含义。 二、实验环境 1.连接外网的Windows XP 主机一台,并安装有科来网络分析系统。 2.通过科来网络分析系统捕获一段时间内的IPv4 分组。 三、实验内容 1.用科来网络分析系统捕获数据包。 2.分析捕获到的IP数据包中首部各个字段的意义。 四、实验步骤 1.打开科来网络分析系统,开始捕获数据包。 2.用浏览器访问百度,用ping 命令探测临机、网关和百度。 3.停止捕获,观察捕获到的数据包。

访问百度: Ping临机如图:

Ping网关如图: Ping百度如图: 4.将访问百度以及ping 临机、网关和百度的IP 数据包首部中各字段的值记录在下表中,需要记录IP 数据报的版本号、首部长度、总长度、标识、标志、片偏移、生存时间、上层协议、源地址和目的地址。 5.比较所记录的各字段的值,理解首部字段的含义和作用。

五、心得体会 经过上一次上机实践对网络命令的操作的结果分析,本次实践已经大概明白了网络命令的操作和作用和对网络命令的操作的结果分析… 六、实验要求 完成本次实验后,仔细观察所捕获的数据包,对网络层数据包首部的各字段进行整理,说明参数之间的关联性,进而加深理解网络层的工作过程。 思考与讨论:

数据包捕获与解析

数据包捕获与解析课程设计报告 学生姓名:董耀杰 学号:1030430330 指导教师:江珊珊

数据包捕获与分析 摘要本课程设计通过Ethereal捕捉实时网络数据包,并根据网络协议分析流程对数据包在TCP/IP各层协议中进行实际解包分析,让网络研究人员对数据包的认识上升到一个感性的层面,为网络协议分析提供技术手段。最后根据Ethereal的工作原理,用Visual C++编写一个简单的数据包捕获与分析软件。 关键词协议分析;Ethereal;数据包;Visual C++ 1引言 本课程设计通过技术手段捕获数据包并加以分析,追踪数据包在TCP/IP各层的封装过程,对于网络协议的研究具有重要的意义。Ethereal是当前较为流行的图形用户接口的抓包软件,是一个可以用来监视所有在网络上被传送的包,并分析其内容的程序。它通常被用来检查网络工作情况,或是用来发现网络程序的bugs。通过ethereal对TCP、UDP、SMTP、telnet和FTP等常用协议进行分析,非常有助于网络故障修复、分析以及软件和协议开发。,它以开源、免费、操作界面友好等优点广为世界各地网络研究人员使用为网络协议分析搭建了一个良好的研究平台。 1.1课程设计的内容 (1)掌握数据包捕获和数据包分析的相关知识; (2)掌握Ethreal软件的安装、启动,并熟悉用它进行局域网数据捕获和分析的功能; (3)设计一个简单的数据包捕获与分析软件。 1.2课程设计的要求 (1)按要求编写课程设计报告书,能正确阐述设计结果。 (2)通过课程设计培养学生严谨的科学态度,认真的工作作风和团队协作精神。 (3)学会文献检索的基本方法和综合运用文献的能力。 (4)在老师的指导下,要求每个学生独立完成课程设计的全部内容。

ip数据包解析实验报告摘要doc

ip数据包解析实验报告摘要篇一:解析IP数据包实验报告 成都工业学院 (课程设计实验报告) 院系: 计算机工程系 课程名称: 计算机网络 设计名称: 解析IP数据包 专业名称: 网络工程 班级: 1305022 姓名: 牟黎明 学号: 11 指导老师:刘枝盛老师 成绩: 设计时间:XX年12月22日—XX年12月26日成都工业学院课程设计任务书 指导教师(签名): 目录

一、课程设计的目的和意义...............................................3 二、课程设计的内容和要求..............................................3 三、解析IP数据包设计的相关技术 (4) ? 3.1 IP数据包的格式与分析 ? 3.2 程序分析设计......................................................4 .. (6) (6) (6) (7) (7) ……………………….…………..…………….7 ? 3.2.1 网卡设置? 3.2.2 程序设计? 3.2.3 程序设计? 3.2.4 程序设计? 3.2.5 程序设计 四、课程设计过程 (8) ? 4.1 程序流程图

? 4.2源程序代码 (8) (16) ……………….……………..............……………….9 ? 4.3 程序运行结果 ? 4.3.1.登陆界面,提示输入命令符 (16) ? 4.3.2.命令符输入错误后提示界面 (16) ? 4.3.3.截获的IP数据包界面 (17) ? 4.3.4.继续抓包图 (17) 五、课程设计小结 (18) 参考文献 (18) 一、课程设计的目的和意义

ip报头格式

版本——标识了IP协议的版本,通常这个字段的值为0010,常用的版本号为4,新的版本号为6,现在IPv6还没有普遍使用,但是中国已经为奥运会建立了一个ipv6的网络。IPv6又被称为IPng(IP Next Generation) 报头长度——这个字段的长度为4,它表明了IP报头的长度,设计这个字段的原因是报文的选择项字段会发生改变,IP报头的最小长度为20个8bit,最大为24个8bit。报文字段描述了以32比特为单位程度的报头长度,其中5表示IP 报头的最小长度为160比特,6表示最大。 服务类型——字段长度为8位,它用来表示特殊报文的处理方式。服务类型字段实际上被划分为2个部分,一部分为优先权一部分为TOS。优先权用来设定报文的优先级,就像邮包分为挂号和平信一样。TOS允许按照吞吐量、时延、可靠性和费用方式选择传输服务,在早期的时候,TOS还被用来进行路由选择。在QOS 中有时也会使用优先权,常见的优先权队列。

总长度——字段长度为16位,通常预标记字段和分片偏移字段一起用于IP报文的分段。如果报文总长度大于数据链路可传输的最大传输单元(MTU),那么就会对报文进行分片。 标记字段——长度位3位,其中第一位没有被使用第二位是不分片位,当DF 位被置1,表示路由器不能对数据报文进行分片处理,如果报文由于不能被分片而不能被转发,那么路由器将丢弃这个数据包,并向源地址发送错误报告。这一功能可以用来测试线路的最大传输单元。第三位MF,当路由器对数据进行分片时,除了最后一个分片的MF位为0外,其他所有的MF为全部为1,表示其后面还有其他的分片。 分片偏移――字段长度为13位,以8个bit为单位,用于指明分片起始点相对于报头的起始点的偏移量,由于分片到达时间可能错序,所以分片偏移字段可以使得接受者按照顺序重新组织报文。 生存时间——字段长度为8位,在最初创建报文时,TTL就被设定为某个特定值,当报文沿路由器传送时,每经过一个路由器TTL的值就会减小1,当TTL为零的时候,就会丢弃这个报文,同时向源地址发送错误报告,促使重新发送。协议――字段长度为8位,它给出了主机到主机或者传输层的地址或者协议号,协议字段中指定了报文中信息的类型,当前已分配了100多个不同的协议号。 校验和――时针对IP报头的纠错字段,校验和的计算不能用被封装的数据内容,UDP/TCP/和ICMP都有各自的校验和,此字段包含一个16位的二进制补码和,这是由报文发送者计算得到的,接收者将联通院士校验和从新进行16位补码和计算,如果在传输中没有发生错误,那么16位补码值全部为1,由于路由器都会降低TTL值,所以路由器都会重新计算校验和。 源地址――字段长度为32位,分别表示发送报文的路由器的源地址。 目的地址――标识接收数据报文的路由器的地址。

IP数据包的捕获与分析文献综述

毕业设计(论文)文献综述 还有同名论文、任务书、和其他文件题目: IP数据包的捕获与分析 姓名: 学号: 系别: 专业: 年级: 指导教师:(签名) 年月日

一、研究背景 随着社会的飞速发展,科技的日新月异,互联网已经渗透到世界的各行各业和人民生活的各个方面,全社会对网络的依赖程度只增不减,整个世界通过网络正快速的融为一体,网络时代已经来临。但由于网络具有开放性,互联性,多样性,不均匀性等诸多特征,以至于网络中存在许多风险,例如黑客攻击,恶意软件等。这些风险的存在,严重的危险到网络上信息的完整性、保密性、真实性、可靠性。所以网络安全问题已越发受到人们的关注,而想要解决这些问题涉及的内容既有技术方面的问题,也有管理方面的问题,两方面相互补充,缺一不可。技术方面主要侧重于防范外部非法用户的攻击,管理方面则侧重于内部人为因素的管理。如何更有效地保护重要的信息数据、提高计算机网络系统的安全性已经成为所有计算机网络应用必须考虑和必须解决的一个重要问题。 可以这样来定义网络数据安全:所谓网络数据安全,指的是网络系统的硬件、软件和数据信息能够受到保护,不会因为偶然或恶意的原因而遭到破坏、更改、泄露,同时系统能够连续、可靠地运行,网络服务不被中断。但在现实中,绝对安全的网络是没有的。 目前,我正处在高速的现代化建设阶段,政府部门、军队、企业、学校等都需要建立自己的网络和信息系统并实施保护,尤其是有关的重要部门更需要需要网络的安全保障。所以建立网络安全系统对我们具有重大的意义,而有效的实时监控和捕获可疑的网络信息就是建立网络安全系统的基础。 二、研究意义 随着个人计算机和互联网的普及,使我们从一个封闭的环境进入到一个开放的世界,越来越多的人开始使用网络这个媒介来发送,接收信息,计算机网络给人们生产和生活带来了巨大的便利。但是由于网络是一个面向大众的开放系统,它的这种特性决定了其对数据信息的保密和系统的安全性考虑并并不完备,存在着诸多的安全隐患。因此让有些个人或团体有机可乘,利用这些隐患和漏洞,通过网络来发送一些包含色情,反动等不良内容的信息,或通过网络入侵他人主机盗取信息和机密,达到破坏正常社会秩序的目的,以至于计算机网络的安全形势日趋严峻。因此,现在在计算机网络安全隐患中扮演重要角色之一的网络数据抓包软件受到越来越大的关注。 构建安全网络环境,除了通过主动的人为思想的预防以外,一套被动的网络安全检测机制也是必不可少的,通过运用标准的机制对网络中传输的各类型进行实时监控,对具有威胁性的信息进行甄别警报,这套机制的前提就是首先对网络中传输的信息进行捕获,对获取的信息解析筛查。而想要捕获这些信息,就要知道网络中的信息是以数据包的形式进行传输,想要获取信息,就必须对网络中的数据包进行捕获和分析,才能获得所需要的相应信息。所以对网络上传送的数据包进行有效的捕获与解析是目前网络监控的关键技术,

ip数据报解析源地址目的地址

青岛农业大学 理学与信息科学学院 计算机网络综合实习报告 题目IP数据报解析源地址/目的地址专业计算机科学与技术 学号 姓名 指导教师 日期2014年11月8日

目录 一、设计任务和目的........................................................................................................................ - 2 - 二、设计要求.................................................................................................................................... - 2 - 三、设计内容.................................................................................................................................... - 2 - 3.1原理概述: ..................................................................................................................................... - 2 - 3.1.1 点分十进制表示法:...................................................................................................... - 2 - 3.1.2 IP数据报格式: ........................................................................................................... - 2 - 3.2 运行结果及分析......................................................................................................................... - 4 - 3.2.1程序运行及截图............................................................................................................... - 4 - 3.2.2 分析.................................................................................................................................. - 5 - 四、设计方案改进及建议................................................................................................................ - 5 - 五、总结体会.................................................................................................................................... - 5 - 六、主要参考文献............................................................................................................................ - 6 - 七、附录............................................................................................................................................ - 6 - 附录1 程序流程图........................................................................................................................... - 6 - 附录2 程序源代码及解释............................................................................................................... - 7 -

ip数据包的捕获与解析代码

// PackCaptureDlg.h:header file #define IPV4_WERSION 4 #define IPV6_WERSION 6 #define ICMP_PACKET 1 #define IGMP_PACKET 2 #define TCP_PACKET 6 #define EGP_PACKET 8 #define UDP_packet 17 #define OSPF_PACKET 89 class CPackCaptureDlg:public CDialog { public: //{{AFX_DATA(CFindHostDlg) enum {IDO=IDO_PACKCAPTURE_DIALOG}; int m_Count; CString m_Packet; //}}AFX_DATA protected: //{{AFX_MSG(CFindHostDlg) afx_msg void OnCapture(); //}}AFX_MSG private: typedef struct IP_HEAD //IP头部结构 { union { unsigned char Version; //版本(字节前四位) unsigned char HeadLen; //头部长度(字节后四位) }; unsigned char ServiceType; //服务类型 unsigned short TotalLen; //总长度 unsigned short Identifier; //标识符 union { unsigned short Flags; //标志位(字前三位) unsigned short FragOffset;

IP数据报格式

IP数据报格式: TCP/IP协议定义了一个在因特网上传输的包, 称为IP数据报(IP Datagram)。这是一个与硬件无关的虚拟包, 由首部和数据两部分组成。首部的前一部分是固定长度,共20 字节, 是所有IP数据报必须具有的。在首部的固定部分的后面是一些可选字段,其长度是可变的。首都中的源地址和目的地址都是IP 协议地址。 那么IP数据报格式又是怎样要求的呢? 1. IP数据报首部的固定部分中的各字段 ①版本:占4位,指IP协议的版本。通信双方使用的 IP协议版本必须一致。日前广泛使用的IP协议版本号为4 (即IPv4)。IPv6 目前还处于起步阶段。 ②首部长度:占4 位,可表示的最大十进制数值是15。请注意, 这个字段所表示数的单位是32位字( 1 个32位字长是4 字节), 因此,当IP 的首部长度为1111 时(即十进制的15), 首部长度就达到60字节。当IP 分组的首部长度不是4字节的整数倍时,必须利用最后的填充字段加以填充。 因此数据部分永远在4字节的整数倍开始, 这样在实现IP协议时较为方便。 首部长度限制为60字节的缺点是有时可能不够用。 这样做的目的是希望用户尽量减少开销。 最常用的首部长度就是20 字节(即首部长度为0101), 这时不使用任何选项。 ③服务:占8 位,用来获得更好的服务。 这个字段在旧标准中叫做服务类型,但实际上一直没有被使用过。 1998年IETF把这个字段改名为区分服务DS (DifferentiatedServices)。 只有在使用区分服务时,这个字段才起作用。

④总长度:总长度指首都及数据之和的长度,单位为字节。 因为总长度字段为16位,所以数据报的最大长度为216-1=65 535字节。在IP层下面的每一种数据链路层都有自己的帧格式,其中包括帧格式中的数据字段的最大长度,即最大传送单元MTU (Maximum Transfer Unit)。当一个数据报封装成链路层的帧时,此数据报的总长度(即首部加上数据部分)一定不能超过下面的数据链路层的MTU值。 ⑤标识(Identification):占16位。 IP软件在存储器中维持一个计数器,每产生一个数据报, 计数器就加1,并将此值赋给标识字段。但这个“标识”并不是序号, 因为IP是无连接的服务,数据报不存在按序接收的问题。 当数据报由于长度超过网络的MTU 而必须分片时, 这个标识字段的值就被复制到所有的数据报的标识字段中。 相同的标识字段的值使分片后的各数据报片最后能正确地重装成为 原来的数据报。 ⑥标志(Flag):占3 位,但目前只有2位有意义。 标志字段中的最低位记为MF (More Fragment)。 MF=1即表示后面“还有分片”的数据报。MF=0表示这已是若干数据报片 中的最后一个。 标志字段中间的一位记为DF(Don't Fragment), 意思是“不能分片”。只有当DF=0时才允许分片。 ⑦片偏移:占13位。较长的分组在分片后, 某片在原分组中的相对位置。也就是说,相对用户数据字段的起点, 该片从何处开始。片偏移以8个字节为偏移单位。 这就是说,每个分片的长度一定是8字节(64位)的整数倍。 ⑧生存时间:占8位,生存时间字段常用的英文缩写是 TTL (Time To Live),其表明数据报在网络中的寿命。 由发出数据报的源点设置这个字段。 其目的是防止无法交付的数据报无限制地在因特网中兜围子, 因而白白消耗网络资源。最初的设计是以秒作为TTL的单位。 每经过一个路由器时,就把TTL减去数据报在路由器消耗掉的一段时间。 若数据报在路由器消耗的时间小于 1 秒,就把TTL值减1。 当TTL值为0时,就丢弃这个数据报。 ⑨协议:占8 位,协议字段指出此数据报携带的数据是使用何种协议,以便使目的主机的IP层知道应将数据部分上交给哪个处理过程。 ⑩首部检验和:占16位。这个字段只检验数据报的首部, 但不包括数据部分。这是因为数据报每经过一个路由器,都要重新计算一下首都检验和(一些字段,如生存时间、标志、片偏移等都可能发生变化)。不检验数据部分可减少计算的工作量。 ⑾源地址:占32位。 ⑿目的地址:占32位。 2. IP数据报首部的可变部分 IP首都的可变部分就是一个可选字段。选项字段用来支持排错、测量以及安全等措施,内容很丰富。此字段的长度可变,从1 个字节到40个字节不等,取决于所选择的项目。某些选项只需要1 个字节,它只包括1 个字节的选项代码。但还有些选项需要多个字节,这些选项一个个拼接起来,中间不需要有分隔符,最后用全0 的填充字段补齐成为4字节的

相关主题