IPv4与IPv6

IPv4报文格式

 

字段

长度

含义

版本

Version

4比特

IP协议的版本号,分为IPv4和IPv6协议。

首部长度

IHL

Header Length

4比特

IPv4的首部长度。首部长度占4位,单位为4字节,可表示最小值5、最大值15,即5*32=160bit=20Byte15*32bit=480bit=60Byte

区分服务字段

(TOS字段)

DS Field

8比特

用来获得更好的服务。只有在使用区分服务时,这个字段才起作用。由3bit优先权字段、4bitTOS字段、1bit未用位组成

总长度

Total Length

16比特

IP报文首部和数据部分之和的长度。

标识

Identification

16比特

IPv4软件在存储器中维持一个计数器,每产生一个数据报,计数器就加1,并将此值赋给标识字段。

分段标志

Fragment Flags

3比特

目前只有两位有意义。最低位为1表示后面“还有分片”的数据报,为0表示这已经是最后一个数据片;中间一位为1表示“不能分片”,为0才允许分片。

片位移

Fragment Offset

13比特

指出较长的分组在分片后,该片在原分组中的相对位置。

生存时间TTL(Time To Live)

8比特

表示数据报在网络中的寿命,功能是“跳数限制”。

协议

Protocol

8比特

指出此数据报携带的数据是使用何种协议。

首部检验和

Header Checksum

16比特

数据报每经过一个设备,设备都要重新计算一下首部检验和,若首部未发生变化,则此结果必为0,于是就保留这个数据报。这个字段只检验数据报的首部,但不包括数据部分。

源地址

Source IP

32比特

报文发送方的IPv4地址。

目的地址

Destination IP

32比特

报文接收方的IPv4地址。

选项字段

0~40字节(长度可变)

用来支持排错、测量以及安全等措施。在必要的时候插入值为0的填充字节。

数据部分

可变

用来填充报文。

------------------------------------------------------------------------------------------------------

IPv6

IPv4问题与改进

  • 网络地址短缺:IPv432为,只能提供43亿个地址

IPv6128

  • 路由速度慢:随着网络规模扩大,路由表越来越大,路由处理速度越来越慢,IPv4头部多大13个字段

IPv6只有8个字段

  • 缺乏安全功能:IPv4没有加密、认证等机制

IPv6集成IPSec

  • 不支持新的业务模式:IPv4没有扩展字段

IPv6支持多报头嵌套

  • IPv6只能由源发节点进行分段,中间路由器不能分段,目的是简化路由处理

 

IPv6报文格式

40个字节,8个字段:

  1. 版本(4位):用0110只是IPv6
  2. 通信类型(8位):用于区分不同的IP分组,相当于IPv4中服务类型字段(实际不用)
  3. 流标记(20位):标识某些需要特别处理的分组(实际不用)
  4. 负载长度(16位):表示除了IPv6固定头部40个字节之外的负载长度,扩展头包含在负载长度之中
  5. 下一跳头部(8位):指明下一个头部类型,可能是IPv6扩展头部或高层协议的头部
  6. 跳数限制(8位):用于检测路由循环,类似TTL
  7. 源地址(128位):发送节点的地址
  8. 目标地址(128位):接收节点的地址

 

IPv6扩展头部:

 

头部名称

解释

0

逐条选项

(hop-by-hop option)

由沿途各个路由器处理

60

目标选项

(Destination option)

选项中的信息由目标节点检查处理

43

路由选择

(routing)

给出一个路由器地址列表组成,类似于IPv4的松散路由和路由记录

51

认证

(AH, Authentication

由接收者进行身份认证

50

封装安全负荷

(ESP, Encrypted security payload)

对分组内容进行加密的有关信息

 

 

IPv6地址格式

 
      • IPv6地址扩展到128
      • 地址采用冒号分隔的十六进制数表示
      • 例如:8000:0000:0000:0000:0123:4567:89AB:CDEF
        • 每个字段前面的0可以剩去,例如0123可以简写为123
        • 一个或多个全0字段,可以用1对冒号 "::" 代替

以上地址可简写为 8000::123:4567:89AB:CDEF

      • IPv4兼容地址可以写为::192.168.10.1
      • 有效0为不可以简写,双冒号只能出现一次

 

 

IPv6地址分类

单播地址

  • 不确定地址:地址 0:0:0:0:0:0:0:0 称为不确定地址,不能分配给任何节点
  • 环回地址:地址 0:0:0:0:0:0:0:1 称为环回地址
  • 可聚合全球单播地址:这种地址在全球范围内有效,相当于IPv4的公网地址(前缀为001
  • 链路本地地址:用于同一链路的相邻节点间的通信(前缀为1111 1110 10结合MAC址自动生成
  • 站点本地地址:相当于IPv4中的私网地址(前缀为1111 1110 11

任意播地址

  • 表示一组接口的标识符,通常是路由距离最近的接口
  • 任意播地址不能用作源地址,只能作为目标地址
  • 任意播地址不能指定给IPv6主机,只能指定给IPv6路由器

组播地址

  • 表示一组接口的地址
  • 发往组播地址的分组被传送给该地址表示的所有接口
  • IPv6中没有广播地址,它的功能已被组播地址所代替
  • IPv6组播地址的格式前缀为 1111 1111

 

IPv4IPv6地址对比

IPv4IPv6地址比较

IPv4地址

IPv6地址

点分十进制表示

带冒号的十六进制表示,0可以压缩

分为A,B,C,D,E 5

不分类

组播地址 224.0.0.0/4

组播地址 FF00::/8

广播地址(主机位为全1

任意播(限于子网内部)

默认地址 0.0.0.0

不确定地址 ::

环回地址 127.0.0.1

环回地址 ::1

公共地址

可聚合全球单播地址 FP(前缀)=001

私网地址

10.0.0.0/8

172.16.0.0/12

192.168.0.0/16

站点本地地址

FEC0::/48

自动专用IP地址

169.254.0.0/16

链路本地地址

FE80::/48

 

6to4隧道地址

2002::/16

 

 

IPv6路由协议

RIPng

OSPFv3

BGP4+

DHCPv6 无状态配置

ICMPv6(新增加的邻居发现功能代替了ARP协议的功能)

 

 

IPv4IPv6过度技术

2023920

21:19

      • 隧道技术:解决IPv6节点之间通过IPv4网络进行通信
        • ISATAP隧道

自动隧道技术,可穿透NAT设备,与私网之外的主机建立IPv6连接

    • 双栈技术:同时运行IPv4IPv6
    • 翻译技术:解决纯IPv6节点与纯IPv4节点之间的通信
      • NAT-PT
        • 静态NAT-PT
        • 动态NAT-PT
        • 基于端口的NAPT-PT
posted @   让我读个条  阅读(257)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示