网络学的习笔记.doc

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
网络学的习笔记

IPV4报文结构IP子网划分 IPV4头部结构 IP报文头部信息用于指导网络设备对报文进行路由和分片。同一个网段内的数据转发通过链路层即可实现,而跨网段的数据转发需要使用网络设备的路由功能。分片是指数据包超过一定长度时,需要被划分成不同的片段使其能够在网络中传输。 IP报文头部长度为20到60字节,报文头中的信息可以用来指导网络设备如何将报文从源设备发送到目的设备。其中,版本字段表示当前支持的IP协议版本,当前的版本号为4。DS字段早期用来表示业务类型,现在用于支持QoS中的差别服务模型,实现网络流量优化。 源和目的IP地址是分配给主机的逻辑地址,用于在网络层标识报文的发送方和接收方。根据源和目的IP地址可以判断目的端是否与发送端位于同一网段,如果二者不在同一网段,则需要采用路由机制进行跨网段转发。 第一行: Version(版本):长度为4bit,填充为4 IHL(头部长度):长度为4bit,最大填充值为15,携带的不是IPV4头部的长度,而是携带的数据行数,每一行数据的长度为4个字节。通过用行数X4字节的方式计算IPV4头部长度。 TOS(服务类型):可以为IP包标识优先级,主要用于区分不同的IP包。在TOS中还有两个概念,IP优先级和DSCP值。 total length(总长度):IP数据包的长度(IP头部长度+填充的数据长度) DS Field(用于标识特权优先转发) 第二行:(用于IP分片) Identification(标识位):用于标识每一个不同的IP包 flags(标志位): 第一个bit位:Reserver(保留位):不使用 第二个bit位:DF位(Dont fragment)不分片位:如果DF位置0(默认为0),表示IP包可以被分片,如果DF位为1,表示IP包不能被分片。 第三个bit位:MF位(More fragment)更多分片位:如果MF位置0,表示是最后一片,如果为1,表示后面还有更多的分片。 Fragment offset(分片偏移):用于标识每一个分片的数据起始位置,每一片携带的数据是从哪里开始的。通过这种方式可以区分IP分片的先后顺序,用于IP报文重组。 第三行: Time to live(TTL):用于限制IP包的传输范围和防止IP数据包的转发环路,每经过一个设备减少一个字节,最小只为0,最大值为255. protocol id(协议标识):(2个字节)用于标识上层封装协议,协议举例:TCP=6 UDP=17 ICMP=1 IGMP=2 header checksum(头部效验):用于效验IPV4报文头部的完整性,防止IP包在传输中被破坏或者篡改(2个字节) 第四行: Source address(源IP地址):填充IP包发送者的IP地址(4个字节) 第五行: Destination address(源IP地址):填充IP包接收者的IP地址( 第六行: option选项:(0-40个字节)常见的是20个字节 最后一个字段是任选项,是数据报中的一个可变长的可选信息。目前,这些任选项定义 如下: ? 安全和处理限制(用于军事领域,详细内容参见RFC 1108[Kent 1991]) ? 记录路径(让每个路由器都记下它的I P地址,见7 . 3节) ? 时间戳(让每个路由器都记下它的I P地址和时间,见7 . 4节) ? 宽松的源站选路(为数据报指定一系列必须经过的I P地址,见8 . 5节) ? 严格的源站选路(与宽松的源站选路类似,但是要求只能经过指定的这些地址,不能 经过其他的地址)。 padding(垫片):如果填充的option选项数据长度不足4个字节,需要用padding填充0来补全4个字节。 IP编址 网络中的数据可以采用二进制、十进制、或十六进制来表示,了解这些进制对理解IP网络基础知识很有必要。每种进制使用不同的基值表示每一位的数值。二进制每一位只有0和1两个值,基值为2,二进制数的每一位都可以用2的x次幂来表示,x表示二进制数的位数。十六进制的每一位可以有16个数值,范围为0-F(即0-9和A-F),A对应十进制的10,F对应十进制的15(二进制的1111)。 二进制和十进制转换 例如: 1.我们通过上图的表来用加减法转换一下172 [172]十进制转换成二进制的方法:首先用172对着上图的表从左往右从128到1依次去减(如果当前值≥表上当前相减的值时置”1 “,当前值≤表上当前相减的值时置”0“)  ?172= 172 - 128 = 44 -32 =12 -8 = 4 -4=0-0=010101100 (说明:172大于2^7=128?可减128,二进制第一位写1 ? ? ? ? ? ? 44小于2^6=64不能减,二进制第二位写0 ? ? ? ? ? ? ?44大于2^

文档评论(0)

liwenhua00 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档