一、IPV4地址结构


结构特点:

  • 总共由32位二进制组成,每8位二进制被分为一块,并且用.号隔开,因此每一组的范围是[0,255]
  • IPV4地址能表示的地址个数:4294967296


TCP/IP卷一:03---Internet地址之(IP地址结构)_ip地址

二、IPV6地址结构


结构特点:

  • 地址长度总共为128位,是IPV4地址长度的4倍
  • 每16位二进制被分为一块,每块之间用:号隔开,并且每块用十六进制表示
  • IPV6地址能表示的地址个数:340282366920938463463374607431768211456

例如:​一块包含8个块的IPv6地址可写为5f:05:2000:80ad:5800:0058:0800:2023:1d71



IPV6地址结构的简化书写方法

  • ①一个块中前导的零不必书写。​例如上面的例子中,地址可以简写为5f:05:2000:80ad:5800:58:800:2023:1d71
  • ②全零的块可以省略,并用符号::替代。​IPV6地址0:0:0‥0:0:0:0:1可简写为::1。地址2001:0db8:0:0:0:0:0:2可简写为2001:db8::2。(注意:为了避免出现歧义,一个IPV6地址中符号::只能使用一次)
  • ③在IPv6格式中嵌人IPv4地址可使用混合符号形式,紧接着IPv4部分的地址块的值为ffff,地址的其余部分使用点分四组格式​。例如IPV6地址::ffff:10.0.0.1可表示IPV4地址10.0.0.1,它被称为IPV4映射的IPV6地址
  • ④IPv6地址的低32位通常采用点分四组表示法。​IPv6地址::0102:fool相当于地 址::1.2.240.10它被称为IPv4兼容的IPv6(需要注意,IPv4兼容地址与IPv4映射地址不同,它们只是在能用类似IPv4地址的方式书写或由软件处理方面给人以兼容的感觉。这种地 址最初用于IPv4和IPv6之间的过渡计划,但现在不再需要)

TCP/IP卷一:03---Internet地址之(IP地址结构)_广播地址_02



IPV6地址在URL中的使用

  • IPv6地址中的冒号分隔符可能与其 他分隔符混淆,例如IP地址和端日号之间使用的冒号。在这种情况下,用括号字符[和]包围IPv6地址

TCP/IP卷一:03---Internet地址之(IP地址结构)_广播地址_03



IPV6地址的书写规则

  • ①前导的零必须压缩(例如, 200::0db8::0022变成200:db8::22 )
  • ②::只能用于影响最大的地方(压缩最多的零),但并不只是针对16位的块。如果多个块中包含等长度的零,顺序靠前的块将被替换为::
  • ③a到f的十六进制数字应该用小写表示


三、IPv4地址的分类


按种类分为:

  • 单播
  • 组播
  • 任播



按格式分为5种等级:A、B、C、D、E

  • A、B、C:用于Internet中的接口分配地址(单播地址)
  • D:组播使用
  • E:保留

蓝色的为Net_ID,绿色的为Host_ID

  • A类:​0xxxxxxx​.​xxxxxxxx.xxxxxxxx.xxxxxxxx​(地址范围:0.xx.xx.xx  ~ 127.xx.xx.xx)
  • B类:​10xxxxxx.xxxxxxxx​.​xxxxxxxx.xxxxxxxx(​地址范围:128.xx.xx.xx  ~ 191.xx.xx.xx​
  • C类:​110xxxxx.xxxxxxxx.xxxxxxxx​.​xxxxxxxx(​地址范围:192.xx.xx.xx ~ 223.xx.xx.xx​
  • D类:​1110xxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx(​地址范围:224.xx.xx.xx ~ 239.xx.xx.xx​
  • E类:​1111xxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx(​地址范围:240.xx.xx.xx ~ 255.xx.xx.xx​

TCP/IP卷一:03---Internet地址之(IP地址结构)_ip地址_04



  • 例如:​A类网络的网络号为7位自有位,因此可以表示为128个网络数,而主机号有24位,因此可以表示的主机数为16777216个

TCP/IP卷一:03---Internet地址之(IP地址结构)_ip地址_05


四、网络号、主机号的概念

一个主机的IP地址被分为两个字段

  • 网络号(Net_ID):​用于识别主机用的IP地址在哪个网络中可被发现
  • 主机号(Host_ID):​用于表示在特定网络号下的某个特定主机

五、广播地址、网段地址


  • 网段地址(Network IP):​Host_ID的比特位全为0,代表网段地址
  • 广播地址(Broadcast IP):​Host_ID的比特位全为1,代表广播地址

注意:

  • 网段地址和广播地址不能被普通主机所使用,因此一个类型的地址网络中有2个特殊的IP不能被普通用户使用,例如C类网络中能被普通用户使用的主机数为256-2=254个



例如:我的IP地址类型属于C类,并且网络号码为192.168.43,则

  • 网段地址为:192.168.43.0  (11000000.10101000.101011.​00000000​)
  • 广播地址为:192.168.43.255  (11000000.10101000.101011.​11111111​)


六、IPv4与IPv6地址的转换

  • 在有些网络中,可能需要在IPv4和IPv6之间转换


转换的方法

  • 方案一:一个已制定用于单播转换的框架
  • 方案二:一个正在开发的用于组播转换的方案:一 个基本功能是提供自动、基于算法的地址转换例如,使用“知名的” IPv6前缀64:ff9b::/96或其他指定前缀,定义了如何在单播地址中实现它



方案二使用一种特殊地址格式,称为嵌入IPv4的IPv6地址。这种地址在IPv6地址内部包含IPv4地址。它可采用6种格式之一来编码, IPv6前缀长度必须是下列数值之一: 32、 40、 48、 56、 64或96

  • 在该图中,前缀既可以是一个众所周知的前缀,也可以是组织为转换器分配的唯一前缀
  • 第64至71位必须设置为0,以保持与指定标识符的兼容性。后缀的位被保留,并且应设置为0
  • 然后,采用简单方法来生成嵌人IPv4的IPv6地址:将IPv6前缀与32位的IPv4地址相串联,并确保第64至71位被设置为0 (如果有必要,插人)。在后缀的后面增加0,直到生成一个128位地址
  • 嵌人IPv4的IPv6地址使用96位前缀选项,该选项通常用前面提到的IPv6映射地址来表示。例如,嵌入IPv4地址198.51.100.16和众所周知的前缀,生成地址64::ff96::198.51.100.16

TCP/IP卷一:03---Internet地址之(IP地址结构)_广播地址_06