TCP/IP 详解(第 2 版) 笔记 / 2 互联网地址架构 / 2.2 IP 地址表示

目录、参考文献


2.2 IP 地址表示

IPv4 地址通常用被称为点分四段或点分十进制符号的方式表示,如:165.195.130.107
点分四段符号由四个十进制数组成,用点分隔
每个数字是一个 0 到 255 之间的非负整数,表示 IP 地址的四分之一
点分四段符号只是整个 IPv4 地址的一种书写方式,使用方便的十进制数字(IPv4 地址本质上是一个 32 位的非负整数)
在许多情况下,我们会关心地址的二进制结构
一些网站提供了在 IP 地址的多种形式间转换的计算器以及一些相关的信息,如:http://www.subnetmask.info
图 2-1 提供了几个 IPv4 地址与它们的二进制表示的例子

Table 2-1

表 2-1
用点分四段表示法与二进制符号表示的 IPv4 地址的例子

IPv6 地址的长度为 128 位,是 IPv4 地址长度的 4 倍
IPv6 地址由一系列的用冒号分隔的十六进制数表示,每个十六进制数称为block)或字段field
一个包含 8 个块的 IPv6 地址:5f05:2000:80ad:5800:0058:0800:2023:1d71
十六进制转换为二进制时相对十进制要更容易一点
另外,多个 IPv6 地址的简化方式已经被标准化 [RFC4291]:

  1. 一个块中开头的零可以省略
    前边的例子中,地址可以被写为:5f05:2000:80ad:5800:58:800:2023:1d71
  2. 全为零的块可以被省略,用符号 :: 代替
    例如:0:0:0:0:0:0:0:1 可以写为:::1
    2001:0db8:0:0:0:0:0:2 可以写为:2001:db8::2
    为了避免引起混淆,一个 IPv6 地址中只能使用一次 :: 符号
  3. 为了在 IPv6 中兼容 IPv4 地址,可以将 IPv4 嵌入 IPv6 格式中,即用 IPv6 格式表示的 IPv4 地址
    此时可以采用一种混合符号,前边 96 为 ::ffff,后边 32 位为 IPv4 地址的值,用点分四段方式表示
    例如,IPv6 地址 ::ffff:10.0.0.1 表示 IPv4 地址 10.0.0.1
    这被称为 IPv4 映射的 IPv6 地址IPv4-mapped IPv6 address
  4. IPv6 的低 32 位可以被写为点分四段符号
    如:IPv6 地址 ::0102:f001 可以被写为:::1.2.240.1
    这被称为 IPv4 兼容的 IPv6 地址
    注意,IPv4 兼容的 IPv6 地址与 IPv4 映射的 IPv6 地址是不一样的
    IPv4 兼容的 IPv6 地址的兼容性,只是说它们能够用一种与 IPv4 地址相似方式进行书写或被软件操作
    这种类型的地址最初是为了满足从 IPv4 到 IPv6 的过度计划的需要,如今已经不再使用 [RFC4291]

Table 2-2

表 2-2
一些 IPv6 地址的例子与它们的二进制表示

在某些情况下(如:表示包含 IP 地址的 URL 时)
IPv6 中的冒号定界符可能会与其它分隔符产生混淆(如 IP 地址与端口号之间的冒号)
在这种情况下,可以使用中括号 [] 将 IPv6 地址括起来
如 URL:http://[2001:0db8:85a3:08d3:1319:8a2e:0370:7344]:443/
表示 IPv6 主机 2001:0db8:85a3:08d3:1319:8a2e:0370:7344 的 443 端口,使用了 HTTP/TCP/IPv6 协议

[RFC4291] 的灵活性会导致不必要的混淆,因为它让一个 IPv6 地址有多种表示方式
为了对这种情况进行补救,[RFC5952] 利用一些规则来减小选择的范围,同时又与 [RFC4291] 兼容:

  1. 开头的零必须省略(如:2001:0db8::0022 变为 2001:db8::22
  2. :: 结构必须效果最大化,即必须代表最多的连续零,且如果只有 16 位零则不允许使用
    如果多个连续块包含同样多的零,那么应该在第一次出现的连续零处使用 ::
  3. 十六进制数字 a 到 f 应该使用小写字母

目录、参考文献

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值