IP地址表示

IP地址

IP地址(Internet Protocol Address)是因特网中使用的网络层地址,全称为因特网协议地址,又译为网际协议地址。连接到Internet的每个设备至少有一个IP地址,用以接入Internet收发数据。

IP地址表示

IPv4

IPv4地址通常采用点分四组(或称点分十进制)表示法,例如0.0.0.0,165.197.45.0等。点分四组表示法由四个用点分隔的十进制数组成。实际上,在计算机中,IPv4地址由32个二进制位组成,每组有8位。因此转换为十进制后,每个这样的数字是一个非负整数,范围为[0, 255]。上述的IP地址的二进制表示如下:


IPv6

在IPv6中,地址的长度是128位,表示方法是采用称为块或字段的四个十六进制数(即每块有16个二进制数),共分为8个块或字段,这些块或字段由冒号分隔。例如5f05:2000:80ad:5800:0058:0800:2023:1d71,其二进制表示如下:


[RFC4291]中规定了一些IPv6地址的简化表示法:
·一个块中前导的零不必书写,并用符号::代替。例如上面例子的IPv6地址按此规则可简写为 5f05:2000:80ad:5800:58:800:2023:1d71
·在IPv6格式中嵌入IPv4地址可使用混合符号形式,紧接着IPv4部分的地址块的值为ffff,地址的其余部分使用点分四组格式。例如,IPv6地址::ffff:10.0.0.1可表示IPv4地址10.0.0.1。这被称为IPv4映射的IPv6地址。
另外,在某些情况下(例如表示一个包含地址的URL时),IPv6地址中的冒号分隔符可能与其他分隔符混淆,例如IP地址和端口号之间使用的冒号。在这种情况下,用括号字符[]来包围IPv6地址。例如,URL:
http://[5f05:2000:80ad:5800:0058:0800:2023:1d71]:443/
为了避免[RFC4291]提供的灵活性带来的不必要的混淆,RFC[5952]制定了一些规则以缩小选择范围,同时与[RFC4291]保持一致:
·前导的零必须压缩
·符号::只能用于影响最大的地方(压缩最多的零),但并不只是针对16位的块。如果多个块中包含等长度的零,顺序靠前的块将被替换为::

·a到f的十六进制数应该用小写表示


本文内容摘自《TCP/IP详解 卷1:协议(中文版)第2版》,有改动
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值