实验 IP数据报的格式
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数据报格式详解
IP数据报格式详解IP协议提供不可靠无连接的数据报传输服务,IP层提供的服务是通过IP层对数据报的封装与拆封来实现的。
IP数据报的格式分为报头区和数据区两大部分,其中报头区是为了正确传输高层数据而加的各种控制信息,数据区包括高层协议需要传输的数据。
IP数据报的格式如下:注意,上图表示的数据,最高位在左边,记为0位;最低位在右边,记为31位。
在网络中传输数据时,先传输0~7位,其次是8~15位,然后传输16~23位,最后传输24~31位。
由于TCP/IP协议头部中所有的二进制数在网络中传输时都要求以这种顺序进行,因此把它称为网络字节顺序。
在实际编程中,以其他形式存储的二进制数必须在传输数据前使用网络编程API相应的函数把头部转换成网络字节顺序。
IP数据报各字段功能如下:1)版本号:占用4位二进制数,表示该IP数据报使用的IP协议版本。
目前Internet中使用的主要是TCP/IP协议族中版本号为4的IP协议。
2)头长度:占用4位二进制位,此域指出整个报头的长度(包括选项),该长度是以32位二进制数为一个计数单位的,接收端通过此域可以计算出报头在何处结束及从何处开始读数据。
普通IP数据报(没有任何选项)该字段的值是5(即20个字节的长度)。
3)服务类型(TOS、type of service):占用8位二进制位,用于规定本数据报的处理方式。
服务类型字段的8位分成了5个子域:(1)—优先权(0-7)数越大,表示该数据报优先权越高。
网络中路由器可以使用优先权进行拥塞控制,如当网络发生拥塞时可以根据数据报的优先权来决定数据报的取舍。
(2)—短延迟位D(Delay):该位置1时,数据报请求以短延迟信道传输,0表示正常延时。
(3)—高吞吐量位T(Throughput):该位置1时,数据报请求以高吞吐量信道传输,0表示普通。
(4)—高可靠位R(Reliability):该位置1时,数据报请求以高可靠性信道传输,0表示普通。
IP数据报格式和IP地址路由
IP数据报格式和IP地址路由⼀、IP数据报格式IP数据报格式如下:注:需要注意的是⽹络数据包以⼤端字节序传输,当然头部也得是⼤端字节序,也就是说:The most significant bit is numbered 0 at the left, and the least significant bit of a 32-bit value is numbered 31 on the right.The 4 bytes in the 32-bit value are transmitted in the order: bits 0-7 first, then bits 8-15, then 16-23, and bits 24-31 last. This is called big endian byte ordering, which is the byte ordering requiredfor all binary integers in the TCP/IP headers as they traverse a network. This is called the network byte order. Machines that store binary integers in other formats, such as the little endian format,must convert the header values into the network byte order before transmitting the data.版本IP协议版本号,长度为4位,IPv4此字段值为4,IPv6此字段值为6⾸部长度以32位的字为单位,该字段长度为4位,最⼩值为5,即不带任何选项的IP⾸部20个字节;最⼤值为15,所以⾸部长度最⼤为60个字节服务类型(TOS)长度为8位。
ip数据报格式 相关解答题
ip数据报格式相关解答题好的,以下是一篇可能的文章草稿,供您参考:IP数据报格式一、什么是IP数据报?IP数据报是一种在网络中传输的数据单元,通常由一个或多个IP 数据包组成。
它包含了发送主机和接收主机之间的数据和相关控制信息。
二、IP数据报的格式是什么?IP数据报的格式通常包括以下几个部分:1. 版本:IP协议的版本号,目前常用的版本是4(IPv4)。
2. 头部校验和:用于检测数据报在传输过程中是否发生改变。
3. 目标协议地址:接收数据报的设备的IP地址。
4. 源协议地址:发送数据报的设备的IP地址。
5. 数据部分:实际要传输的数据。
三、IP数据报头部有哪些字段?IP数据报头部包含多个字段,以下是其中一些常见的字段:1. 服务类型/TOS:用于控制数据传输的优先级、可靠性与实时性。
2. 标识符:用于跟踪数据报在转发过程中的顺序。
3. 标志字段:用于控制数据报的分片和粘包行为。
4. 片偏移:用于指定数据报片段在原始数据中的位置。
5. TTL(生存时间):用于控制数据报在路由器中的缓存时间和转发次数。
6. 协议:指示使用哪种协议来处理数据报的数据部分。
7. 校验和:用于检测IP数据报在传输过程中是否发生改变。
8. 源主机地址和目标主机地址:与IP数据报头部中的源协议地址和目标协议地址相对应,用于指定发送和接收数据报的主机。
四、如何解析IP数据报?解析IP数据报需要使用特定的协议和工具。
常见的工具包括Wireshark、tcpdump等。
解析过程通常包括以下步骤:1. 读取数据报。
2. 提取头部信息,包括版本、标志、片偏移、TTL等。
3. 根据协议字段确定使用哪种协议来处理数据报的数据部分。
4. 根据头部中的目标主机地址将数据报转发到相应的网络设备或应用程序。
五、如何处理IP数据报的分片?当一个较大的数据包需要通过路由器进行转发时,如果目标主机地址不在同一个网络中,路由器可能会将数据包分成多个更小的片段,并将每个片段发送到不同的网络中。
IP数据报的格式
IP数据报的格式TCP/IP协议使用IP数据报包含一个数据报报头和一个数据区。
IP数据报头包含有源、目的信息,做寻径用。
并且指明承载负载的协议类型。
数据报所携带的数据量不固定!下面给出IP数据报的详细格式:0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7-----------------------------------------------------------------| 版本 |报头长度| 服务类型 | 总长度 | -----------------------------------------------------------------| 标识符 | 标志 | 分片偏移量 | -----------------------------------------------------------------| 存活时间 | 协议 | 报头校验和 | -----------------------------------------------------------------|源地址 | -----------------------------------------------------------------|目的地址 | -----------------------------------------------------------------| IP选项 | 填充 | -----------------------------------------------------------------|数据区。
| -----------------------------------------------------------------| 2.1 版本协议号IP数据报的第一个域是4bit长的版本域(version)。
IPv4数据报格式及其语义
IPv4数据报格式及其语义⼀、IP数据报的格式如下图所⽰版本⾸部长度服务类型数据报长度16⽐特标识标志13⽐特⽚偏移寿命上层协议⾸部检验和32⽐特源IP地址32⽐特⽬的IP地址选项(如果有的话)数据IPv4数据报格式⼆、各部分语义1)版本(号):4bit,规定了数据包的IP协议版本;通过查看版本号,路由器能够确定如何解释IP数据报的剩余部分2)⾸部长度:因为IPV4数据报可包含⼀些可变数量的选项,所以需要⽤这4bit来确定⾸部的长度,以确定IP数据报的数据部分实际从哪⾥开始。
⼤多数IP数据报不包含选项,所以⼀般IP数据报具有20字节的⾸部3)服务类型:8bit,服务类型包含在⾸部中以使不同类型的IP数据报能相互区分开来,例如,将实时数据报(如⽤于IP电话应⽤)与⾮实时流量(如FTP)区分开来也许是有⽤,提供特定等级的服务是⼀个由路由器管理员决定的策略问题4)数据报长度:这是IP数据报的总长度(⾸部加上数据),以字节计,因为该字段长为16bit,所以IP数据报的理论最⼤长度为65535字节,然⽽数据报很少有超过1500字节的(因为IP数据还要靠数据链路层运输的,⽽链路层帧能承载的最⼤数据量为叫做最⼤运输单元(Maximum Transmission Unit,MTU))5)标识、标志、⽚偏移: 要理解这三个内容,要先理解⼀些其他知识 (1)分⽚:把IP数据报中的数据分成两个或者更多个较⼩的IP数据报,⽤单独的链路层帧封装成较⼩的IP数据报,每个这些较⼩的数据报称为⽚ (2)为什么要分⽚:因为每个IP数据报封装在链路层帧中从⼀台路由器传输到下⼀台路由器,⽽链路层帧能承载的最⼤数据量(最⼤运输单元(Maximum Transmission Unit,MTU)是⼀定的,故链路层帧严格限制着IP数据报的长度;⽽且发送⽅和与⽬的路径上的每段链路可能使⽤不同的链路层协议,且每种协议可能具有不同的MTU,所以就更有可能需要分⽚了,以便能够使得数据报能够顺利的传递数据报 (3)组装:⽬的主机从相同源收到⼀系列数据报时,需要确定哪些数据报是分⽚,如果是分⽚的话,还要进⼀步指导何时收到最后⼀个分⽚,如何将接收到的分⽚拼接起来以形成初始的数据报,故IPV4的设计者将标识、标志和⽚偏移字段放在IP数据报⾸部中,当⽣成⼀个数据报时,发送主机为该数据报设置源和⽬的地址的同时,再填上标识号标识:16bit,源主机发送IP数据报的时候,通常为它发送的每个数据报的标识号加1,所以当某个路由器需要对某⼀个数据报分⽚时,形成的每个数据报(分⽚)具有初始数据报的源地址、⽬的地址、与标识号,这样⽬的主机就可以判别哪些分⽚是属于⼀个初始数据报的标志:3bit,由于IP是⼀种不可靠服务,⼀个或者多个⽚可能永远到不了⽬的地,所以为了让⽬的主机绝对的相信它已经收到了初始数据报的最后⼀个⽚,最后⼀个⽚的标志⽐特被设置为0,⽽所有其他⽚的标志⽐特被设置为1⽚偏移:13bit,标⽰数据相对于初始数据报的偏移值,并且偏移值应当被规定以8字节块为单位。
IP数据报的格式
返回总目录 返回章目录
重组
1.重组:在接收到所有分片的基础上,主机对分片进行重新 1.重组:在接收到所有分片的基础上,主机对分片进行重新 组装的过程 2.目的主机进行重组 2.目的主机进行重组
减少了中间路由器的计算量 路由器可以为每个分片独立选路
3.路由器不需要对分片进行重组,也不可能对分片进行重组 3.路由器不需要对分片进行重组,也不可能对分片进行重组
返回总目录 返回章目录
连续发送ping探测报文 连续发送ping探测报文
返回总目录 返回章目录
自选数据长度的ping探测报文 自选数据长度的ping探测报文
返回总目录 返回章目录
不允许对ping探测报分片 不允许对ping探测报分片
返回总目录 返回章目录
修改“ping”命令的请求超时时间 修改“ping”命令的请求超时时间
返回总目录 返回章目录
时间戳选项
时间戳:记录IP数据报经过每一路由器时的当地时间 时间戳:记录IP数据报经过每一路由器时的当地时间 应用场合:分析网络吞吐率、拥塞情况、负载情况等
返回总目录 返回章目录
差错与控制报文
IP互联网利用ICMP传输控制报文和差错报文 IP互联网利用ICMP传输控制报文和差错报文 ICMP报文的封装:封装在IP数据报中 ICMP报文的封装:封装在IP数据报中
返回总目录 返回章目录
回应请求与应答
1.机理 1.机理
请求者向特定目的IP地址发送包含任选数据区的回应请求报文 请求者向特定目的IP地址发送包含任选数据区的回应请求报文 目的主机或路由器收到,响应回应应答报文(包含请求报文中任选 数据的复制)
2.请求者成功收到应答则说明 2.请求者成功收到应答则说明
第8章 IP 数 据 报
IP数据报文分析
课程:TCP/IP协议分析
实验名称
IP数据包格式
指导老师
姓名
学号
班级
实验地点
实验日期
成绩
一、实验内容:
抓取IP数据包进行分析
二、实验目的:
熟悉ip数据包的格式。
分析iP数据包
三、涉及实验的相关情况介绍(包含使用软件或实验设备等情况):
Windows系统抓包软件
四、程序清单与测试数据:
08 00:协议类型
45:4代表版本号IPV4,5代表首部长度。当前为标准IP头4*5=20
00:服务类型
00 3C :IP数据包总长度
04 5A:标识
00 00:标志+片偏移
80:生存时间
01:ICMP协议
8ห้องสมุดไป่ตู้ 25 :首部校验和
C0 A8 21 04:源IP地址
C0 A806ED:目的IP地址
2、IP数据包分片:
五、实验结果、分析、体会等:
简单的了解ip报文格式,对ip数据报有了更进一步的认识。
执行ping命令:
图4-1
抓取数据包:
图4-2
图4-3
图4-4
图4-5
图4-6
图4-3、图4-4、图4-5和图4-6为IP分片包,标识为7e ca,图4-3、图4-4与图4-5标志为001,DF位为0,代表分片。MF为1,代表后面有分片。图4-5标志为000,DF位为0,代表分片。MF为0,代表最后一个分片
一、IP数据包分析:
1、IP数据包格式:
图1-1
本机信息:
图2-1
IP:192.168.33.4MAC:8C-89-A5-3B-90-4B
IP数据报格式
位)属性 – 是有链路层最大帧的 限制决定的.
不同类型的链路, 不同的
MTUs
❖ 较大的IP分组在网络中会被分割
(“fragmented”)
一个分组就被分成了若干分 组
分组只是在最终的信宿站点 被重新“组装-reassembled”
reassembly
5b-2
ICMP: 因特网控制报文协议(Internet Control Message Protocol)
❖ 用于主机、路由器、网关之间交 换网络层信息
报告错误: unreachable host, network, port, protocol
进行request/reply 应答(ping 命令)
control - not used) 8 0 echo request (ping) 9 0 route advertisement 10 0 router discovery 11 0 TTL expired 12 0 bad IP header
第5讲 网络层之二
5b-3
因特网中的路由选择
❖ 全球因特网是由诸多 Autonomous Systems (AS)互联而成:
Gateway
Flags Ref Use Interface
-------------------- -------------------- ----- ----- ------ ---------
127.0.0.1
127.0.0.1
UH
0 26492 lo0
192.168.2.
192.168.2.5
小型自治系统(Stub AS): 中小型企业 分区自治系统(Multihomed AS):大型企业 (非跨越的) 跨越式自治系统(Transit AS): NBP等
IP数据报首部格式
IP数据报⾸部格式IP协议提供不可靠、⽆连接的数据报传送服务。
不可靠:尽⼒⽽为地传输,不保证IP数据报能成功到达⽬的地。
⽆连接:每⼀个数据报之间相互独⽴地进⾏路由选择,可不按发送顺序接收。
IP⾸部格式例如以下:以下就⽤这幅图结合Wireshark来分析个字段含义。
这次截取的是DNS数据报,它位于应⽤层。
⾸先看⼀下整个IP⾸部的内容:相应的原始数据:以下按字段分别进⾏说明。
4位版本号表⽰眼下的协议版本号号。
这⾥使⽤的是IPv4,当然值就是4啦。
4为⾸部长度表⽰⾸部包括多少个4字节。
相应Header length字段的20字节,但依据原始数据能够看出,这个字段实际值应该是5,也就是有5个4字节,共20字节。
8位服务类型包含最⼩延迟、最⼤吞吐量、最⾼可靠性等性能指标。
这⾥全为0表⽰⼀般服务。
16位总长度是指整个IP数据报的长度。
以字节为单位。
这⾥为514字节。
注意这⼀长度仅仅是包括在以太⽹帧中的IP数据报的长度,不包括以太⽹帧开头的⽬的地址(6字节)、源地址(6字节)、类型(2字节)。
16位标识唯⼀地标识主机发送的每⼀份数据报。
通常每发送⼀份报⽂它的值就加1。
这⼀字段主要⽤来分⽚和重组。
3位标识。
在分⽚和重组时⽤到,这⾥暂不讨论。
13位⽚廉价。
在分⽚和重组时⽤到。
这⾥暂不讨论。
8位⽣存时间表⽰该数据报能够经过的最多路由器数。
经过⼀个路由器值减1。
减到0则丢弃该数据报。
并发送ICMP报⽂通知源主机。
8位协议域。
分别有:1表⽰ICMP协议2表⽰IGMP协议6表⽰TCP协议17表⽰UDP协议我们这⾥是UDP协议。
从⽽能够知道,DNS协议执⾏于UDP之上。
16位⾸部检验和。
详细怎样校验这⾥不讨论。
当校验值有误时,IP层丢弃收到的数据报,但不⽣成差错报⽂,由上层去发现丢失的数据报并进⾏重传。
接下来就是32位的源IP加上32位的⽬的IP。
这⾥没什么好说的。
最后的选项字段⾮常少被使⽤,这⾥就不讨论了。
參考:《TCP/IP具体解释》 P24-P27.。
IP数据报的格式
IP数据报的格式 IP协议具有什么功能从数据报的格式中就能够知道,⼀个IP数据报被分为了⾸部和数据两个部分,在⾸部中有20个字节是固定的,还有⼀些可选字段长度是可变的,下⾯是IP数据报的具体格式:IP数据报各个字段的意义 1.版本号 版本号占4位,指使⽤的IP协议的版本,通信双⽅使⽤的版本要⼀致才能通信,⽬前的版本有IPv4和IPv6, 2.⾸部长度 指数据报的⾸部的长度,占4位,注意这⾥的⾸部长度的单位是4个字节,所以最⼤的⾸部长度可以达到 15 * 4 = 60 个字节,当⾸部长度不是4个整数倍的时候,就要使⽤填充字段进⾏填充。
3.区分服务 占8位,⽤来获得更好的服务,只有在使⽤区分服务的时候,这个字段才有⽤,⼀般情况下,都不使⽤这个字段 4.总长度 ⾸部和数据部分长度之和,占16位,因此IP数据报的最⼤长度位2的16次⽅ - 1,即65535个字节,然⽽这样长度的数据报是极少遇到的,我们知道在数据链层规定了MTU的⼤⼩(常⽤的以太⽹的MTU为1500字节),当数据报的⼤⼩超过MTU时,就要进⾏分⽚处理。
IP协议规定所有的主机和路由器,必须能够接受长度不超过576字节的数据报,当要发送的数据包的长度超过576个字节时,就应该先了解⽬的主机是否能够接受所发送的数据报的长度,否则就要进⾏分⽚处理了。
5.标识 占16位,IP软件在存储器中维持⼀个计数器,每产⽣⼀个数据报,就将计数器加⼀,并将此值赋值给标识字段,当数据报的长度,超过⽹络的MTU时,就必须进⾏分⽚处理,这个标识将会赋值到所有的分⽚中,也就是说⼀个数据报经过分⽚之后的形成的多个数据报的标识是⼀样的,这样做是为了将它们组成⼀个完整的数据报。
6.标志 占3位,但⽬前只有两位有意义, 标志字段的最低位为MF,当MF = 1 时,表⽰后⾯还有分⽚,MF = 0表⽰这是最后⼀个分⽚ 中间位位DF,DF的意思是不能分⽚,当DF=0时,才允许分⽚ 7.⽚位移 占13位,分⽚之后的每⼀⽚在原来的数据报中的位置,即相对于数据报的起点位置,该⽚从何处开始,⽚位移以8个字节位单位, 8.⽣存时间 占8位,英⽂缩写为TTL(Time To Live),这个字段指明数据报在⽹络中的⽣存时间,每当数据报经过⼀个路由器,TTL就减1,当TTL为0时,路由器就丢弃该数据报,⽽不进⾏转发了,这样做的⽬的是为了防⽌数据报在⽹络中“兜圈⼦”⽽⽩⽩消耗⽹络资源,⼀般的操作系统都有默认的TTL: Linux 64 Windows 128 Unix 256 9.协议 占8位,协议字段指出数据包的数据部分使⽤的是何种协议,以便使⽬的主机的IP层知道应该将数据报中的数据交给哪个部分来处理,常见的协议和对应的字段值如下: ICMP 1 IGMP 2 IP 4 , IP数据报再封装到IP数据报中 TCP 6 IGP 9 UDP 17 IPv6 41 ESP 50 OSPF 89 10.⾸部检验和 占16位,只将⾸部检验过后的检验和填⼊此字段中,不检验数据报的数据部分,数据报每经过⼀个路由器都要重新计算检验和,检验和的计算过程如下: 先将检验和字段设置为全0, 然后将IP数据报的⾸部划分位以16位为⼀个单位的序列,将这些字段进⾏反码算术运算求和, 将得到的结果取反,并写⼊检验和字段,注意这个取反后的结果和原来的结果相加为全1 接收⽅收到数据报之后,也将IP数据报的⾸部划分位以16位为⼀个单位的序列,将这些字段进⾏反码算术运算求和, 若将得到的结果取反不为0,那么证明出错了,则丢弃该数据报,若取反结果为0,将数据报上交。
实验五、IP协议分析实验报告
实验五、IP协议分析实验报告一、实验目的本次实验的主要目的是深入理解 IP 协议的工作原理和机制,通过实际的抓包分析,掌握 IP 数据包的格式、IP 地址的分类与分配、子网掩码的作用以及路由选择的基本过程。
二、实验环境1、操作系统:Windows 102、抓包工具:Wireshark三、实验原理1、 IP 协议概述IP(Internet Protocol)协议是 TCP/IP 协议簇中最为核心的协议之一,它负责为网络中的设备提供逻辑地址(即 IP 地址),并实现数据包的路由和转发。
2、 IP 数据包格式IP 数据包由头部和数据部分组成。
头部包含了源 IP 地址、目的 IP地址、协议类型、生存时间(TTL)等重要信息。
3、 IP 地址分类IP 地址分为 A、B、C、D、E 五类,其中 A、B、C 类为常用的单播地址,D 类用于组播,E 类为保留地址。
4、子网掩码子网掩码用于确定 IP 地址中的网络部分和主机部分,从而实现子网划分。
5、路由选择路由器根据 IP 数据包中的目的地址和路由表,选择合适的路径将数据包转发到下一跳。
四、实验步骤1、打开 Wireshark 软件,选择合适的网络接口进行抓包。
2、在网络中进行一些常见的网络操作,如访问网页、发送邮件等,以获取 IP 数据包。
3、停止抓包,并对抓取到的数据包进行筛选,只显示 IP 协议的数据包。
4、逐个分析 IP 数据包的头部信息,包括源 IP 地址、目的 IP 地址、协议类型、TTL 等。
5、观察不同类型的 IP 地址,并分析其网络部分和主机部分。
6、研究子网掩码在数据包中的作用,以及如何通过子网掩码确定子网范围。
7、分析路由选择过程,观察数据包在网络中的转发路径。
五、实验结果与分析1、 IP 数据包格式分析通过对抓取到的 IP 数据包进行分析,我们可以看到其头部格式如下:版本(Version):通常为 4,表示 IPv4 协议。
头部长度(Header Length):以 4 字节为单位,指示头部的长度。
(完整)计算机网络课程网际协议IP地址实验报告
重庆师范大学课程名称:计算机网络实验题目:网际协议IP姓名:专业:学院:指导老师:时实验三网际协议IP实验目的:1、掌握IP数据报的报文格式2、掌握IP检验和计算方法3、掌握子网掩码和路由转发4、理解特殊IP地址的含义5、理解IP分片过程实验环境配置采用网络结构二实验原理一、IP报文格式IP数据报是由IP首部加数据组成的,IP首部的最大长度不超过60字节。
IP数据报文格式如下图所示:二、IP分片链路层具有最大传输单元(MTU)这个特性,它限制了数据帧的最大长度。
不同的网络类型有一股上限值。
以太网通常是1500字节。
如果IP层有数据包要传输,而数据包的长度超过了MTU,那么IP层就要对数据包进行分片操作,使每一片长度都小于MTU。
IP 首部中“16位标识”、“3位标志”和“13位片偏移”包含了分片和重组所需的信息。
另外,当数据被分片后,每个片的“16位总长度”的值要改为该片的长度值。
三、IP路由表大部分网络层设备(包括PC机、三层交换机、路由器等)都存储着一张记录路由信息的表格,称为路由表。
一张路由表由许多表项组成。
网络层设备收到数据报后,根据其目的IP地址查找路由表确定数据报传输的最佳路径(下一跳)。
然后利用网络层的协议重新封装数据报,利用下层提供的服务把数据报转发出去。
路由表的项目一般含有五个基本字段:目的地址、网络掩码、下一跳地址、接口、度量。
路由表匹配顺序如下:直接交付:路由表项的“目的地址”字段是交付主机的本网络地址。
特定主机交付:路由表项的“目的地址”字段是某台特定主机的IP地址。
特定网络交付:路由表项的“目的地址”字段是另一个网络的地址。
默认交付:路由表项的“目的地址”字段是一个默认路由器(默认网关)。
四、路由选择过程路由选择模块从IP处理模块接收到IP分组后,使用该分组的目的IP地址同路由表中的每一个项目按特定的顺序(路由表匹配顺序)查找匹配项,当找到第一个匹配项后就不再继续寻找了,这样就完成了路由选择过程。
ip数据报
(2)长度
– 报头长度:报头区的长度(以32bit为单位) – 总长度:整个IP数据报的长度(以8bit为单位)
(3)服务类型
– 转发过程中对该数据报的处理方式
(4)生存周期
IP数据报在互联网中的存活时间(避免死循环)
(5)头部校验和
保证IP数据报报头的完整性
(6)地址
源IP地址:数据报的发送者 目的IP地址:数据报的接收者
IP封装、分片与 重组 IP封装、 封装
IP数据报在各 IP数据报在各 个物理网络 中需要重新 封装
1. MTU
MTU:网络规定的一个帧最多能够携带的数据量 IP数据报的长度只有小于或等于网络的MTU,才能在这 个网络传输 与路由器连接的各个网络的MTU可能不同
2.分片 2.分片
分片:IP数据报的尺寸大于将发往网络的MTU值时,路 由器将IP数据报分成若干较小的部分的过程 每个分片由报头区和数据取两部分构成 每个分片经过独立的路由选择等处理过程,最终到达目 的主机
IP 分包 & 重组
网络链路具有 MTU (最大传输单位)属性 – 是有链路层最大帧 的限制决定的. –不同类型的链路, 不同的 MTUs
IP 分片&重组
length ID fragflag offset =4000 =x =0 =0
• 较大的IP分组在 网络中会被分割 (“fragmented”) • 一个分组就被分 成了若干分组 • 分组只是在最终 的信宿站点被重 新“组装reassembled” • 在IP 分组的首部 有些位标记用来 确认和排序相关 的组“片”
3. 时间戳选项
(1)时间戳 记录IP数据报经过每一路由器时的当地时间 (2)应用场合 分析网络吞吐率、拥塞情况、负载情况等
计算机网络原理 IP数据报的格式
计算机网络原理IP数据报的格式要进行传输的数据在IP层首先需要加上IP头信息,封装成IP数据报。
IP数据报包括一个报文头以及与更高层协议相关的数据。
图6-22所示为IP数据报的具体格式。
图6-22 IP数据报格式IP数据报的格式可以分为报头区和数据区两大部分,其中,数据区包括高层需要传输的数据,报头区是为了正确传输高层数据而增加的控制信息,这些控制信息包括:●版本。
长度为4bit,表示与数据报对应的IP协议版本号。
不同的IP协议版本,其数据报格式有所不同。
当前的IP协议版本号为“4”。
所有IP软件在处理数据报之前都必须检查版本号,以确保版本正确。
IP软件将拒绝处理版本不同的数据报,以避免错误解释其中内容。
●报头长度。
长度为4bit,指出以32bit长计算的报头长度,IP数据报头中除IP选项域外,其他各域均为定长域,各定长域长度为20个字节,这样一个不含选项域的普通IP数据报其头标长度域值为“5”。
总的来说,头标长度应为32bit的整数位,假如不是,在头标尾部添“0”凑齐。
●服务类型。
服务类型(SERVICE TYPE)规定对本数据报的处理方式。
该域长度为一个字节,被分为5个子域,其子域结构如表6-6所示。
其中,3bit的“优先权”(PRECEDENCE)子域指示本数据报的优先权,表示本数据报的重要程度。
优先权取值从0到7,“0”表示一般优先权,“7”表示网络控制优先权,优先权值是由用户指定的。
大多数网络软件对此不予理睬,然而它毕竟提供了一种手段,允许控制信息享受比一般数据较高的优先权。
DTR三位数据表示本数据报所要的传输类型。
其中,D 代表低延迟——Delay;T代表高吞吐率——Throughput;R代表高可靠性——Reliability。
上述3位只是用户的请求,不具有强制性,Internet在寻找路径时可能以它们为参考。
●总长:总长域为16bit,指示整个IP数据报的长度,以字节为单位,其中包括报头长度及数据区长。
编辑并发送IP数据报
IP报文格式IP数据报格式如下图所示,它是由IP首部与数据组成的。
IP首部长度通常为20字节。
如果含有选项字段,IP首部长度将会大于20字节,但不会超过60字节。
图3-5 IP报文格式在IP首部中各个字段的意义如下:●版本号:这个字段定义了IP的版本。
目前主流的是版本4(IPv4),但它正逐渐地被版本6(IPv6)所替代。
●首部长度:由于IP选项字段的存在,所以IP首部长度是可变的。
该字段用4位来定义首部长度。
将该值乘4可得到用字节表示的长度,所以IP首部长度为20~60个字节。
●区分服务:该字段以前叫做服务类型(在RFC791中定义),是由3位优先域、4位服务类型域和1位未用位(该位必须置为0)组成,其中4位服务类型分别代表:最小时延、最大吞吐量、最高可靠性和最小费用。
该字段在RFC2474中被重新定义,在新的定义中将该字段命名为区分服务,其中包含一个6位的区分服务码点(DSCP)字段和一个2位的未用位(CU)字段。
如下图所示:图3-6 RFC2474定义的区分服务字段前6位的区分服务码点的值用来映射一个底层的服务,它决定了每一跳行为。
在RFC3168中,将区分服务字段中的未用位字段定义为显示拥塞通告(ECN)字段,ECN字段包括2个子字段,分别为:ECT字段和CE字段,如下图所示:图3-7 RFC3168定义的区分服务字段ECN字段用于指定发送数据的主机是否支持拥塞通告以及指示网络中是否有拥塞发生。
ECN通过两个子字段的不同值组合来做到这一点:00:发送主机不支持ECN。
01或10:发送主机支持ECN。
11:路由器正在经历拥塞。
●总长度:该字段以字节为单位定义IP数据报的总长度(首部加上数据)。
要得到IP上层数据的长度,只需从总长度中减去首部长度即可。
●标识:每一个IP数据包在发送时被给定特有的标识值。
如果数据包必须被分割成碎片以适应支持小型数据包的网络,那么每一个碎片中都设置相同的标识号码。
实验6IP数据报格式
实验 6 分析IP 数据报格式6.1 实验目的1. 了解IP 数据报的格式;2. 理解IP 各个数据项的涵义;3. 理解TCP、UDP 协议的工作原理;4. 了解TCP报文段、UDP数据报各个字段的作用。
6.2 相关背景知识1. Winpcap 基本介绍数据报捕获的原理:为了进行数据报,网卡必须被设置为混杂模式。
在现实的网络环境中,存在着许多共享式的以太网络。
这些以太网是通过Hub 连接起来的总线网络。
在这种拓扑结构的网络中,任何两台计算机进行通信的时候,它们之间交换的报文全部会通过Hub进行转发,而Hub以广播的方式进行转发,网络中所有的计算机都会收到这个报文,不过只有目的机器会进行后续处理,而其它机器简单的将报文丢弃。
目的机器是指自身MAC 地址与消息中指定的目的MAC 地址相匹配的计算机。
网络监听的主要原理就是利用这些原本要被丢弃的报文,对它们进行全面的分析,这样就可以得到整个网络中信息的现状。
Tcpdump的简单介绍:Tcpdump是Unix平台下的捕获数据报的一个架构。
Tcpdump最初有美国加利福尼亚大学的伯克利分校洛仑兹实验室的Craig Leres、Van Jcaobso和Steve McCa nne共同开发完成,它可以收集网上的IP数据报文,并用来分析网络可能存在的问题。
现在,Tcpdump已被移植到几乎所有的UNIX系统上,如:HP-UX、SCO UNIX、SGI Irix、SunOS Mach、Linux和FreeBSD等等。
更为重要的是Tcpdump是一个公开源代码和输出文件格式的软件,我们可以在Tcpdu np的基础上进行改进,加入辅助分析的功能,增强其网络分析能力。
(详细信息可以参看相关的资料)。
Winpcap的简单介绍:Winpcap是由意大利Fulvio Risso和Loris Degioanni等人提出并实现的应用于Win32平台的数据报捕获与分析的一种软件包,包括内核级的数据报监听设备驱动程序、低级动态链接库(Packet.dll) 和高级系统无关库(Winpcap.dll)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验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、运行报文解析器;
2、单击报文解析器工具栏上的“开始捕获”按钮,报文解析器开始捕获数据报;
3、单击报文仿真编辑器工具栏上的“发送报文”按钮,报文仿真编辑器弹出“发送成功”
对话框;
4、在报文解析器左侧报文列表框中查看所接收到的报文仿真编辑器发出的报文;
5、选中其中一条报文记录,报文解析器中间部分自动显示此条报文记录的协议结构树,比
较是否与发送的报文相同。
【实验报告要求】
1.记录实验数据
2.分析实验结果
例:MAC帧首部
目的地址:FF-FF-FF-FF-FF-FF
源地址:00-01-6C-E9-0D-2C
类型:ARP
ARP
硬件类型:以太网
协议类型:IP
硬件地址长度:6
协议地址长度:6
操作:ARP请求
源硬件地址:00-01-6C-E9-0D-2C
源协议地址:192.168.1.6
目的硬件地址:00-00-00-00-00-00
目的协议地址:192.168.1.2
(16进制显示框)
00000000:FF FF FF FF FF FF 00 01 – 6C E9 0D 2C 08 06 00 01
00000010:08 00 06 04 00 01 00 01 – 6C E9 0D 2C C0 08 01 06
00000020:00 00 00 00 00 00 C0 A8 – 01 02
其中“类型:ARP”对应值为08 06
3.未知数据包的分析
本部分通过Sniffer软件捕获本机所在计算机网络中的未知数据包,要求对所捕获的数据包进行分析。
数据包一如下(下图截取了该数据包16进制表中的前6行):
未知数据包的16进制值
根据以下举例,分析上述捕获的数据包为一个什么协议的请求报文。
未知数据包二如下:
未知数据包二的16进制值
分析如下:
第一行前12个字节为协议MAC帧首部中的目的硬件地址和源地址。
紧随其后的两个字节是MAC帧首部中的类型字段,标识从上层接收到什么类型的协议,“08 06”表示从上层收到的是类型的数据报。
则接下来的数据就代表该数据报的内容。
“00 01”表示硬件类型为以太网,
“08 00”表示采用的协议类型为IP类型,
“06 04”分别表示硬件地址长度为6字节及协议地址长度为4字节,
“00 01”表示执行ARP请求操作,
“00 13 d4 ae 44 26”“3b 4f 12 9b”表示了源硬件地址,源协议地址(59.79.18.155)“00 00 00 00 00 00”“3b 4f 12 fe”表示了目的硬件地址和目的协议地址(59.79.18.254)。
剩余的0均为填充数据。
综上得出,该数据包为一个什么协议的请求报文。