博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
IP协议报头学习笔记
阅读量:2441 次
发布时间:2019-05-10

本文共 4329 字,大约阅读时间需要 14 分钟。

From:

 

IP,全称Internet Protocol,中文名为因特网协议。

" M" |* w' O, ~5 o6 H9 a% n2 KCSNA网络分析社区 网络技术,网络分析,网络管理,网络安全防御,网络防护2 ?7 Y. F# J1 [' @4 D# R; w
IP协议有两个基本任务:提供无连接的和最有效的数据包传送;提供数据包的分割及重组以支持不同最大传输单元大小的数据连接,其报头结构和解码如下图所示:

(图1 IP协议结构)

(图2 科来网络分析系统之IP协议解码)

 

版本 www.csna.cn: M( R' i/ B; T/ I4 a) |5 E

目前常见的版本号是4,因此有时也叫IPV4。
7 V+ M  i, `0 N$ r+ z' q+ B' r9 q全球领先的网络分析技术社区
9 i, G7 v2 `) /+ _( L8 g3 B% Z+ oCSNA网络分析社区 首部长度 全球领先的网络分析技术社区0 Y9 v" y. t6 E/ D8 d6 B
用来标识以32bit字长的IP头的长度,也包括可选项,这是一个4bit的字段,因此首部最长为60个字节。没有选项的IP头的值为20字节,长度为5。9 s$ k5 J# h( N3 w$ K
3 U9 z/ D- i  X8 s+ ]4 r/ j. L全球领先的网络分析技术社区 区分服务字段
$ D% Q- Z# p& q2 l8 t# s中文网络管理网络分析技术学习交流平台 当数据报由路由器从源主机发到目的主机时,服务类型可以影响数据报的路径。服务类型允许高层应用和进程指出它们需要从路由器获得的质量和服务类型。因为很少使有,一般值都为0,这是一个期望值。
- s1 i5 j0 t9 {中文网络管理网络分析技术学习交流平台
9 j& f  H/ A! ?* h5 N. Uwww.csna.cn 总长度 www.csna.cn' x% F9 }6 {2 {$ i& p$ @  _5 b6 v( [: k% d
以字节为单位定义了整个IP数据报的长度,该值包括IP头和数据报中所携带的数据。www.csna.cn7 i2 q, s' |. a
' A" N9 a4 O8 `+ S+ n9 C全球领先的网络分析技术社区 标识 3 I4 F6 A. w& Q9 S( m' h' H  R+ {
在数据报发送之前,发送主机给每个数据报一个ID值,此ID唯一的标识了数据报或数据报的流,而目的主机也利用此ID对收到的数数报进行重组。当然如果收到的数据对传输的介质而言太大时,则会对数据进行分段,对于分段的数据包则分配相同的ID,我们在后面会有详细的描述。网络技术,网络分析,网络管理,网络安全防御,网络防护' U5 K7 j# b( L5 i2 x( D6 |. q" M
全球领先的网络分析技术社区. s  R0 }/ u( D  _3 }& g
分段标识
( p: i0 v- b# j网络技术,网络分析,网络管理,网络安全防御,网络防护 第0比特= 预留位,必须置0;                 
; V2 N) B+ /7 g8 gwww.csna.cn 第1比特= 可以取下列两个值之一:
. {" w% W' E- W' q2 n6 Q/ v全球领先的网络分析技术社区  0= 可能分段;网络技术,网络分析,网络管理,网络安全防御,网络防护/ X- T' l  w% {7 ]  ^4 u; c
 1= 没有分段;
& j: s9 H5 o9 w- C; B全球领先的网络分析技术社区 用于发送主机或网关进行分段,如果支持(此位置0)就在传输前将数据流分成较小的块,如果不支持(此位置1)主机或网关就不能对数据进行分段;当然还有一种情况,那就是你网络的MTU值决定是否对数据进行分段。以太网帧最大为1518字节。中文网络管理网络分析技术学习交流平台" t# z" ?3 m. l
第2比特= 可以取下列两个值之一:网络技术,网络分析,网络管理,网络安全防御,网络防护; c8 p6 }+ w1 B  Z* J' u- ^
 0= 最后一段;
+ Z! y1 @% /, I) T  X# C中文网络管理网络分析技术学习交流平台  1= 更多分段;中文网络管理网络分析技术学习交流平台, E+ _3 s" `; B# ]5 P
该值用来表示此数据报是数据流中的最后一个或者后面还有更多的段。当然,只有一个段,则此比特值为0,表示这是第一个,也是最后一个。目的主机收到数据报 时,观察此ID并检查此位的值,以确定这是最后一个数据报或者后面还有更多的数据报。如果还有后续数据报,则主机将数据报保存在内存中直到所有具有相同 ID的其它数据报的到来,然后重组报文将其传送到高层相应的协议处理。www.csna.cn9 K5 A) `7 h6 f4 F# Q5 q% /
通过对ID值的匹配和参考最后一个或几个比特是0或1,主机就可以知道何时停止等待下一报文,何时开始重组报文。中文网络管理网络分析技术学习交流平台$ S  T% j2 F  i- Z2 J9 e
3 _6 }8 D& F# A- b" P& X全球领先的网络分析技术社区 分段偏移量
$ u8 N4 j% y/ |; I6 v+ A& ?
分段偏移量用来标识数据报在发送数据流中的位置,也就是用同一个IP标识发送多个数据报时的顺序号。发送主机总是给第一个数据报的偏移赋值0。而分配给以后的数据偏移值则跟MTU有关,接收主机通过此偏移值将数据重组或检查数据是否丢失。我们以一个例子来学习分段偏移量:中文网络管理网络分析技术学习交流平台/ H% n. K4 s' ?1 v9 I4 q
我们执行ping 192.168.0.1 –l 3000 (192.168.0.1为网关),进行抓包,然后来查看偏移量的值,如下图:

从上图可知中,共捕获到了三个数据包,第一个协议是ICMP,后面两个是IP Fragment,前面两个数据包的大小是1518字节,第三个是86字节。第一个数据包的IP偏移量是0,第二个是185,第三个是370。网络技术,网络分析,网络管理,网络安全防御,网络防护1 O! I5 R3 C, v

那这个偏移量是怎样算来的呢?首先我们来看这三个数据包传输的数据大小:+ t1 m: r' J2 T9 s6 |

上表中,第1个数据包中,多了一个ICMP报头,所以在计算传输的数据时,多减了8个字节的ICMP报头,而后面的两个数据包由于不存在ICMP的报头开 销,所以不需要减去8字节的ICMP报头。将传输的数据加起来,1472+1480+48=3000,与执行的命令参数完全吻合。

$ _4 }) q6 h; P  ^  ~ 注意:如果有更多的分段,按照此规则依次累加即可,同时所有分段数据包的IP标识都是相同的。
4 R( ]+ P/ ]( i0 f4 @" R网络技术,网络分析,网络管理,网络安全防御,网络防护 现在回到对偏移量的介绍:我们知道,段以8字节为单位,而第一个数据包传输的数据为1472,也就是有184个段(1472/8),所以第二个数据报的偏移则为184+1=185,依次类推,第三个数据包应是184+185(1480/8)+1=370。www.csna.cn+ T3 f/ E, u9 C/ b# E2 O4 I; d$ W
5 _$ `) c0 Z) E  ~# C: j+ a' o5 F中文网络管理网络分析技术学习交流平台 生存时间 中文网络管理网络分析技术学习交流平台+ /6 P* V% T0 U& K% p3 e6 k, _
生存时间(time to live)用来设置数据报可以经过的最多路由数和数据报的生存时间,并保证不能被传送的数据报被丢弃,通常情况下,生存时间由源主机设置,但最大值不能超 过255。数据报每经过一个网关时,生存时间的值都为减去1,当值减为0时,此数据由会被生存时间减为0的设备发送ICMP报文给源主机。网络技术,网络分析,网络管理,网络安全防御,网络防护/ p6 ^1 Q& W' v0 u4 K: N8 }# v5 b* I3 a
中文网络管理网络分析技术学习交流平台5 v4 l; q' G. I7 ^
上层协议
5 b8 /1 N$ X: L: E) [) @9 M' ]全球领先的网络分析技术社区 此字段来标识哪一个高层协议处理此信息,这里简列举几个:
. l0 n5 /5 r. L4 F) s9 b: t3 @ 6(TCP) 17(UDP) 1(ICMP)
" }1 n( g4 }- z全球领先的网络分析技术社区 " C! ?* Y3 p$ f% p7 k9 Z& }& z4 s
校验和
0 X2 u' }9 J9 nwww.csna.cn 因为IP是一个无连接的协议,因此它并未实现任何类型的错误纠正机制,IP只是将数据报发送出去,给其编址并希望能达到目的主机。所以IP采用了简单的校验和机制来验证IP头的完整性,从而保证源主机和目的主机在传输过程中没有任何变化。
( Y" l: |1 N( T6 C中文网络管理网络分析技术学习交流平台 CSNA网络分析社区6 g9 K6 c  /2 H% y$ x9 t  ~: I
源IP地址 CSNA网络分析社区& Y8 k; X* U+ X! j, ]
发送主机的逻辑地址。
5 /. X" q: D. {& ]www.csna.cn
' X! @! ~0 @$ _+ c网络技术,网络分析,网络管理,网络安全防御,网络防护 目标IP地址 全球领先的网络分析技术社区# ]% ^' F/ b8 |* q
目标主机的逻辑地址。2 d1 y) a$ /5 j0 o% ?# v& N( H0 r
2 U( x/ U; ~& u0 X3 }! oCSNA网络分析社区 可选项 中文网络管理网络分析技术学习交流平台: e4 f, {/ G% D2 p0 Q: e0 Q) x
主机或网关可以实现可选参数,当使用可选参数时,主机或和网关都必须支持才能实现,当然可选项不是必须的。选项字段一直以32bit作为界限,在必要时以0填充,这样确保IP首部始终都是32bit的整数倍。全球领先的网络分析技术社区- I$ j, }, ~/ /5 B& w9 U8 |: v% d

全球领先的网络分析技术社区+ `4 v3 J4 `$ Q9 f

www.csna.cn& m" s( y: V) S3 B" M: n, Z

你可能感兴趣的文章
unix下几个有用的小shell脚本(转)
查看>>
QQ病毒的系列处理办法(转)
查看>>
source命令的一个妙用(转)
查看>>
亚洲开源航母呼之欲出 目标瞄向Novell与红帽(转)
查看>>
正版化:水到渠成?预装Windows对Linux无打压(转)
查看>>
Red Hat并购JBoss 谁将受创?(转)
查看>>
基于IBM大型主机,Linux开辟意大利旅游新天地(转)
查看>>
一些Linux试题(经典!!)(转)
查看>>
优化MySQL数据库性能的八大“妙手”(转)
查看>>
小心:谁动了你的注册表(转)
查看>>
Unix/BSD/Linux的口令机制初探(转)
查看>>
福布斯:Sun下场本可避免 老CEO不听劝(转)
查看>>
清华紫光笔记本和PC电脑预装LINUX操作平台(转)
查看>>
根据什么选择一套适合自己的linux系统?(转)
查看>>
新型威盛电脑处理器亮相国内市场(转)
查看>>
戴尔将在法国推出Linux笔记本(转)
查看>>
近9成盗版Office用户称愿投奔开源(转)
查看>>
MySQL购InnoDB不敌甲骨文宣布开放数据引擎(转)
查看>>
银行监会选红旗Linux建设公文传输系统(转)
查看>>
红旗支撑国家外汇管理局网上核销系统(转)
查看>>