首页
随机
最近更改
特殊页面
社群首页
参数设置
关于WHY42
免责声明
WHY42
搜索
用户菜单
登录
欢迎来到Riguz的小站!这是一个私人wiki,用来记录一些我的笔记。
查看“︁Net:IPv4”︁的源代码
←
Net:IPv4
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
Pv4在IETF于1981年9月发布的 RFC 791 中被描述,此RFC替换了于1980年1月发布的 RFC 760。 IPv4是一种无连接的协议,操作在使用分组交换的链路层(如以太网)上。此协议会尽最大努力交付数据包,意即它不保证任何数据包均能送达目的地,也不保证所有数据包均按照正确的顺序无重复地到达。这些方面是由上层的传输协议(如传输控制协议)处理的。 =地址空间= * A类:0.0.0.0~127.255.255.255 * B类:128.0.0.0~191.255.255.255 * C类:192.0.0.0~223.255.255.255 * D类:224.0.0.0~239.255.255.255 * E类:240.0.0.0~255.255.255.255 =报文结构= [[Image:IPv4-Structue.png|600px]] * 版本: IPv4即为4 * 首部长度: 首部长度说明首部有多少32位字(4字节)。由于IPv4首部可能包含数目不定的选项,这个字段也用来确定数据的偏移量。这个字段的最小值是5(二进制0101),相当于5*4=20字节(RFC 791),最大十进制值是15。 * 区分服务: 只有在使用区分服务时,这个字段才起作用,在一般的情况 下都不使用这个字段。例如需要实时数据流的技术会应用这个字段,一个例子是VoIP。 * 显式拥塞通告( Explicit Congestion Notification,ECN):在RFC 3168中定义,允许在不丢弃报文的同时通知对方网络拥塞的发生。ECN是一种可选的功能,仅当两端都支持并希望使用,且底层网络支持时才被使用。 * 全长: 报文总长,包含首部和数据,单位为字节。这个字段的最小值是20(20字节首部+0字节数据) * 标识符: 主要被用来唯一地标识一个报文的所有分片,因为分片不一定按序到达,所以在重组时需要知道分片所属的报文。每产生一个数据报,计数器加1,并赋值给此字段。 * 标志 : 这个3位字段用于控制和识别分片,它们是: ** 位0:保留,必须为0; ** 位1:禁止分片(Don’t Fragment,DF),当DF=0时才允许分片; ** 位2:更多分片(More Fragment,MF),MF=1代表后面还有分片,MF=0 代表已经是最后一个分片。 * 分片偏移:指明了每个分片相对于原始报文开头的偏移量,以8字节作单位。 * 存活时间: 避免报文在互联网中永远存在(例如陷入路由环路)。存活时间以秒为单位,但小于一秒的时间均向上取整到一秒。在现实中,这实际上成了一个跳数计数器:报文经过的每个路由器都将此字段减1,当此字段等于0时,报文不再向下一跳传送并被丢弃,最大值是255。常规地,一份ICMP报文被发回报文发送端说明其发送的报文已被丢弃。这也是traceroute的核心原理。 * 协议: 定义了该报文数据区使用的协议。 * 首部检验和: 只对首部查错,不包括数据部分。重新计算的必要性是因为每一跳的一些首部字段(如TTL、Flag、Offset等)都有可能发生变化,不检查数据部分是为了减少工作量。 * 源地址: 请注意,因为NAT的存在,这个地址并不总是报文的真实发送端 * 目的地址: 报文的接收端。 * 选项: 并不被经常使用 =分片和组装= [[Category:Network]]
返回
Net:IPv4
。