IPV4地址和IPV6地址详解
IPV4地址和IPV6地址详解
IPV4地址
IP地址的概念
IP地址(Internet Protocol Address)是分配给每个连接到互联网或局域网设备的唯一标识符。它用于在网络中定位和识别设备。目前最常用的IP地址版本是IPv4(32位)和IPv6(128位)。IPv4地址由四个用点分隔的十进制数字表示,如192.168.1.1。每个数字范围为0到255。
在IP网络上,如果用户要将一台计算机连接到internet上,就需要申请一个IP地址。IP地址就像现实中的地址,可以标识网络中的一个节点,数据就是通过它来找到目的地的。即我们通过IP地址实现全球范围内的网络通信。
IP地址是网络设备接口的属性,不是网络设备本身的属性。当我们说给某台设备分配一个IP地址时,实质上是指给这台设备的某个接口分配一个IP地址。如果设备有多个接口,通常每个接口都至少需要一个IP地址。
注:需要使用IP地址的接口,通常是路由器和计算机的接口。
IP地址表示
一个IPv4地址有32 bit。IPv4地址通常采用“点分十进制”表示。
IP地址表示
IP地址是长度是32 bit,由4个字节组成。为了阅读和书写方便,IP地址通常采用点分0十进制数来表示。
IP地址表现形式能够帮助我们更好的使用和配置网络,但通信设备在对IP地址进行计算时使用的是二进制的操作方式,因此掌握十进制、二进制的转换运算非常有必要。
IPv4地址范围
00000000.00000000.00000000.0000000011111111.111.11111111,即0.0.0.0255.255.255.255。
IP地址构成
网络部分:用来标识一个网络。
主机部分:用来区分一个网络内的不同主机。
网络掩码:区分一个IP地址中的网络部分及主机部分
IPv4地址由如下两部分组成:
网络部分(网络号):用来标识一个网络。
a.IP地址不能反映任何有关主机位置的地理信息,只能通过网络号码字段判断出主机属于哪个网络。
b.对于网络号相同的设备,无论实际所处的物理位置如何,它们都是处在同一个网络中。
主机部分(主机号):用来区分一个网络内的不同主机。
网络掩码(Netmask),又称子网掩码(Subnet Mask):
a.网络掩码为32 bit,与IP地址的位数一样,通常也以点分十进制数来表示。
b.网络掩码不是一个IP地址,在二进制的表示上是一堆连续的1、后面接一堆连续的0。
c.通常将网络掩码中1的个数称为这个网络掩码的长度。如:码0.0.0.0的长度是0,掩码252.0.0.0的长度是6。
d.网络掩码一般与IP地址结合使用,其中值为1的比特对应IP地址中的网络位;值为0的比特对应IP地址中的主机位,以此来辅助我们识别一个IP地址中的网络位与主机位。即网络掩码中1的个数就是IP地址的网络号的位数,0的个数就是IP地址的主机号的位数。
IP地址寻址
网络部分:用来标识一个网络,代表IP地址所属网络。
主机部分:用来区分一个网络内的不同主机,能唯一标识网段上的某台设备。
网络号用于表示主机所在的网络,类似于“XX省XX市XX区XX小区”的作用。
主机号用于表示网络号所定义的网络范围内某个特定的主机接口,类似于门牌号“XX栋XX号”的作用。
网络寻址:
二层网络寻址:可直接通过IP地址,找到对应的主机接口。
三层网络寻址:利用网关转发来自不同网段之间的数据包。
网关:
报文转发过程中,首先需要确定转发路径以及通往目的网段的接口。如果目的主机与源主机不在同一网段,报文需要先转发到网关,然后通过网关将报文转发到目的网段。
网关是指接收并处理本地网段主机发送的报文并转发到目的网段的设备。为实现此功能,网关必须知道目的网段的路由。网关设备上连接本地网段的接口地址即为该网段的网关地址。
IP地址分类
为了方便IP地址的管理及组网,IP地址分成五类:
①.A、B、C、D、E类的类别字段分别是二进制数0、10、110、1110、1111,通过网络号码字段的前几个比特就可以判断IP地址属于哪一类,这是区分各类地址最简单的方法。
②.A、B、C三类地址是单播IP地址(除一些特殊地址外),只有这三类地址才能分配给主0机接口使用。
③.D类地址属于组播IP地址。
④.E类地址专门用于特殊的实验目的。
A、B、C类地址比较:
a.使用A类地址的网络称为A类网络;使用B类地址的网络称为B类网络;使用C类地址的网络称为C类网络。
b.A类网络的网络号为8 bit,个数很少,但所允许的主机接口的个数很多;首位恒定为0地址空间为:0.0.0.0~127.255.255.255。
c.B类网络的网络号为16 bit,介于A类和C类网络之间;首两位恒定为10,地址空间为:128.0.0.0~191.255.255.255.
d.C类网络的网络号为24 bit,个数很多,但所允许的主机接口的个数就很少;首三位恒定为110,地址空间为:192.0.0.0~223.255.255.255。
注:
主机(Host),通常指路由器和计算机的统称。并且常把主机的某个接口的IP地址简称为主机IP地址。
组播地址:组播能实现一对多传递消息。
IP地址类型
我们通常把一个网络号所定义的网络范围称为一个网段。
网络地址:用于标识一个网络。
网络地址
网络号为X,主机号的每个比特都为0。
不能分配给具体的主机接口使用。
广播地址
网络号为X,主机号的每个比特都为1。
不能分配给具体的主机接口使用。
可用地址
又称主机地址,可用分配给具体的主机接口使用。
一个网段可用地址数量计算:
一个网段的主机位为n位,则IP地址数为:2",可用IP地址数为:2-2(减去网络地址和广播地址)。
IP地址计算
例:172.16.10.1/16这个B类地址的网络地址、广播地址以及可用地址数分别是?
网络地址:将IP地址的主机位全设为0,所得结果是该IP地址所在网络的网络地址。
广播地址:将IP地址的主机位全设为1,所得结果是该IP地址所在网络的广播地址。
IP地址数:2”,n为主机位位数。
可用IP地址数:2-2,n为主机位位数。
私有IP地址
公网IP地址:IP地址是由IANA统一分配的,以保证任何一个IP地址在Internet上的唯一性。这里的IP地址是指公网IP地址。
私网IP地址:实际上一些网络不需要连接到Intermet,比如一个大学的封闭实验室内的网络,只要同一网络中的网络设备的IP地址不冲突即可。在IP地址空间里,A、B、C三类地址中各预留了一些地址专门用于上述情况,称为私网IP地址。
A类:10.0.0.0~10.255.255.255
B类:172.16.0.0~172.31.255.255
C类:192.168.0.0~192.168.255.255
为了解决IP地址短缺的问题,提出了私有地址的概念。私有地址是指内部网络或主机地址这些地址只能用于某个内部网络,不能用于公共网络。
公网IP地址:连接到Internet的网络设备必须具有由ICANN分配的公网IP地址:
私网IP地址:私网IP地址的使用使得网络可以得到更为自由地扩展,因为同一个私网IP地址是可以在不同的私有网络中重复使用的。
私有网络连接到Internet:私有网络由于使用了私网IP地址,是不允许连接到Internet的。后来在实际需求的驱动下,许多私有网络也希望能够连接到Internet上,从而实现私网与Internet之间的通信,以及通过Internet实现私网与私网之间的通信。私网与Internet的互联必须使用网络地址转换(NAT)技术实现。
注:
NAT(Network Address Translation),网络地址转换,其基本作用是实现私网IP地址与公网IP地址之间的转换。
IANA(Internet Assigned Numbers Authority),因特网地址分配组织。
特殊IP地址
IP地址空间中,有一些特殊的IP地址,这些IP地址有特殊的含义和作用,举例如下:
特殊IP地址 地址范围 作用
有限广播地址 255.255.255.255 可作为目的地址,发往该网段所有主机(受限于网关)
任意地址 0.0.0.0 “任何网络”的网络地址;这个网络上这个主机接口”的IP地址
环回地址 127.0.0.0/8 测试设备自身的软件系统
本地链路地址 169.254.0.0/24 当主机自动获取地址失败后,可使用该网段中的某个地址进行临时通信
255.255.255.255
这个地址称为有限广播地址,它可以作为一个IP报文的目的IP地址使用。
路由器接收到目的IP地址为有限广播地址的IP报文后,会停止对该IP报文的转发。
0.0.0.0
如果把这个地址作为网络地址,它的意思就是“任何网络”的网络地址;如果把这个D地址作为主机接口地址,它的意思就是“这个网络上主机接口”的IP地址。
例如:当一个主机接口在启动过程中尚未获得自己的IP地址时,就可以向网络发送目的IP地址为有限广播地址、源IP地址为0.0.0.0的DHCP请求报文,希望DHCP服务器在收到自己的请求后,能够给自己分配一个可用的IP地址。
127.0.0.0/8
这个地址为环回地址,它可以作为一个IP报文的目的IP地址使用。其作用是测试设备0自身的软件系统。
一个设备产生的、目的IP地址为环回地址的IP报文是不可能离开这个设备本身的。
169.254.0.0/16
如果一个网络设备获取IP地址的方式被设置成了自动获取方式,但是该设备在网络上口又没有找到可用的DHCP服务器,那么该设备就会使用169.254.0.0/16网段的某个地址来进行临时通信。
注:
DHCP(Dynamic Host Configuration Protocol),动态主机配置协议,用于动态分配网络配置参数,如IP地址。
掩码位数与对应的子网掩码
掩码位数 IP总数 子网掩码
/30 4 255.255.255.252
/29 8 255.255.255.248
/28 16 255.255.255.240
/27 32 255.255.255.224
/26 64 255.255.255.192
/25 128 255.255.255.128
/24 256 255.255.255.0
/23 512 255.255.254.0
/22 1024 255.255.252.0
/21 2048 255.255.248.0
/20 4096 255.255.240.0
/19 8192 255.255.224.0
/18 16384 255.255.192.0
/17 32768 255.255.128.0
/16 65536 255.255.0.0
IPV6地址
IPV6地址分类
单播:传统点对点通信。
可聚合的全局单播地址:可在全球范围内路由和到达的,相当于IPv4的公网地址;前三个bit是001,例如:2000::1:2345:6789:abcd(一般看到2与3开头的IPv6地址都是全局单播地址)。
链路本地地址:用于同一个链路上的相邻节点之间通信,就像IPv4中的169.254.0.0/16。 前10个bit是1111 1110 10即FE80::/64。
站点本地地址: IPV6的私网地址,就像IPV4中的私网地址一样。前缀10 个 bit 是 1111 1110 11即FEC0。
组播(多播):一对多点通信,IPv6没有广播,将广播看做多播的一个特例。组播地址前缀11111111,就是FF00开头的地址。
任播:IPv6新增的一个类型,任播的终点是一组计算机,但数据报交付距离最近的一个。
常见IPV6地址表示:
地址类型 二进制前缀
未指明地址 00...0(128位),可记为::/128。
环回地址 00...1(128位),可记为::1/128。
多播地址 11111111(8位),可记为FF00::/8。
本地链路单播地址 1111111010(10位),可记为FE80::/10。
全球单播地址 (除上述四种外,所有其他的二进制前缓)
IPV6地址表示
IPv4是32个二进制位,为了方便操作使用点分十进制记法。
IPv6是128个二进制位,为了方便操作使用冒号十六进制记法,常见IPv6地址如下所示。
IPv6地址压缩规则:连续的零字段可以用双冒号 “::” 代替,但在一个地址中只能使用一次 “::” 来压缩连续的零字段,以避免歧义。
例如:2001:0db8:0000:0000:0000:0000:1428:57ab 可以压缩为 2001:0db8::1428:57ab。
IPV6地址自动配置
IPv6地址自动配置分为两种:有状态地址自动配置和无状态地址自动配置。
无状态地址自动配置:节点通过接收路由器发送的 Router Advertisement(RA,路由器通告)报文来获取网络信息。RA 报文中包含网络前缀等信息,节点结合自身生成的接口标识符(通常基于接口的 MAC 地址生成),自动配置 IPv6 地址。
有状态地址自动配置(即DHCPv6方式):节点通过与 DHCPv6(Dynamic Host Configuration Protocol for IPv6,IPv6 动态主机配置协议)服务器进行交互来获取 IPv6 地址及其他网络配置信息。DHCPv6服务器和中继代理使用UDP 547端口,DHCPv6客户端使用UDP 546端口监听报文。
IPv4 VS IPv6
由全球IP地址分配机构,IANA(Internet Assigned Numbers Authority)管理的IPv4地址,于2011年完全用尽。随着最后一个IPV4公网地址分配完毕,加上接入公网的用户及设备越来越多,IPV4地址枯竭的问题日益严重,这是当前IPv6替代IPv4的最大源动力。