Internet地址结构
IPv4 & IPv6
表示 IP 地址有两种标准:IP版本4 (IPv4) 和 IP版本6 (IPv6)。所有有IP地址的计算机都有IPv4地址,许多计算机也开始使用新的IPv6地址系统。以下是这两种地址类型的含义:
-
IPv4 使用 32 个二进制位创建单个唯一地址。可以使用点分法表示,每个数字都是十进制(以10为基底)表示的八位二进制(以2为基底)数字,例如:192.168.1.137。
image.png
-
IPv6 使用128个二进制位在网络上创建一个唯一地址。也可以使用八组十六进制(以16为基数)数字表示,这些数字由冒号分隔,如 2001:cdba:cdff:0e00:0f00:f000:ffff:3277:9e52 所示。
image.png
地址分类
IPv4 地址空间中有4294 967 296个可能的地址,而 IPv6 的地址个数为
340282366920938463 463 374607431 768211 456
由于拥有大量地址,为方便管理将其分为几大类,其中有些类别预留作为保留特殊用途的地址:
最早期的 ip 地址,仅仅有两部分构成,网络部分,用于识别 ip 地址在哪个网络中可被发现;以及一个主机地址,用于识别由网络部分给出的网络中的特定主机。
又由于不同网络可能有不同数量的主机,因此还需要将其划分为五大类
划分方法是基于当前或预计的主机数量,将不同大小的IP地址空间分配给不同的站点。有点类似于三级联动:
image.png
其中 D、E 类别作为特殊地址保留
子网划分
Intemet发展初期首先遇到一个困难,那就是很难为接人Intemet的新网段分配一个新的
网络号。在20世纪80年代初,随着局域网(LAN)的发展和增加,这个问题变得更棘手。
为了解决这个问题,人们很自然想到一种方式,在一个站点接人Intemet后为其分配一个网络号,然后由站点管理员进一步划分本地的子网数。实现这个想法需要改变一个IP地址的网络部分和主机部分的限制,但这样做只是针对一个站点自身而言;
从本质上来说,子网寻址为IP地址结构增加了一个局域网网络分组,但它没有为地址增加长度。
因此,一个站点管理员能在子网数和每个子网中预期的主机数之间折中,同时不需要与其他站点协调。
为了实现子网划分,路由器必须知道在地址中如何找到子网ID这可通过一个配置参数实现
子网掩码
子网掩码是由一台主机或路由器使用的分配,以确定如何从一台主机对应IP地址中
获得网络和子网信息。它们通常在一台主机或路由器中以IP地址相同的方式配置,既可以是静态的(通常是路由器),也可以使用一些动态方式,例如动态主机配置协议。
image.png对于 IPv4 ,子网掩码以 IPv4 地址相同的方式(即点分十进制)编写。这样安排,就可以用容易记的格式表示掩码,只需给出一些连续位的1 (左起)的掩码。这种格式是当前最常见的格式,有时也被称为前缀长度。
- 子网掩码中的一位设为 1 表示一个IP地址的对应位与一个地址的网络/子网部分的对应位相结合,并将结果作为转发数据报的基础。
- 子网掩码中的一位设为 0 ,表示一个IP地址的对应位作为主机ID的一部分。
例如,我们在图2-4中可以看到,当子网掩码为 255.255.255.0 时,如何处理 IPv4 地址128.32.1.140
image.png
保留地址
image.png对于 IPv4 和 IPv6 ,没有指定作为特殊、组播或保留地址的地址范围可供单播使用。一些单播地址空间 (IPv4 的前缀 10/8、 172.16/12 和 192.168/16,以及 IPv6 的前缀feoO::/7)被保留用于构建专用网络。来自这些范围的地址可用于一个站点或组织内部的主机和路由器之间的通信,但不能跨越全球性的 Internet。 因此,这些地址有时也被称为不可路由的地址。也就是说,它们不能在公共 Intemet 中路由。
广播、组播、多播、任播
子网广播地址
在每个IPv4子网中,一个特殊地址被保留作为子网广播地址。子网广播地址将
IPv4地址的网络/子网部分设置为适当值, 主机部分的所有位设置为 1。
如图 2-6 所示,子网 128.32.1.0/24 的子网广播地址是 128.32.1.255 从历史上看,使用
这种地址作为目的地的数据报,也被称为定向广播。理论上这种广播可作为一个单独的数据报通过 Intemet 路由直至到达目标子网,再作为一组广播数据报发送给子网中所有主机。
本地网络广播
除了子网广播地址,特殊用途地址 255.255.255.255 被保留为本地网络广播/有限广播,它根本不会被路由器转发。虽然路由器可能不转发广播,但子网广播和连接在同一网络中的计算机的本地网络广播将工作,除非被终端主机明确禁用。这种广播不需要路由器;如果有的话,链路层的广播机制用于支持它们。广播地址通常与某些协议一起使用,例如 UDP/IP 或 ICMP ,因为这些协议不涉及 TCP/IP 那样的双方会话
组播地址
一个IP组播地址标识一组主机接口,而不是单个接日。一般来说,一个组可以跨越整个Internet , 一个组所覆盖的网络部分称为组的范围[RFC2365]。常见的范围包括
- 节点本地(同一计算机)
- 链路本地(同一子网)
- 站点本地(适用于一些站点)
- 全球(整个Intemet)
在软件的控制下,每个 Internet 主机中的协议栈能加人或离开一个组播组。已加人组的所有主机将接收发送到该组的任何数据报。发送方通常不知道主机是否接收到数据报,除非它们明确做出应答。
对于IPv4, D类空间(224.0.0.0 - 239.255.255.255)已被保留支持组播0 28位空闲意
味着可提供 268 435 456 个主机组(每个组是一个IP地址)。这个地址空间被分为几个主要部分,它建立在对路由分配和处理的基础上[IP4MA]。
表2-9列出了这些主要部分。
image.png
image.png
任播地址
任播地址是一个单播 IPv4 或 IPv6 地址,这些地址根据它所在的网络确定不同的主机。这是通过配置路由器通知 Intemet 中多个站点有相同单播路由来实现。因此,一个任播地址不是指 Intemet 中的一台主机,而是对于任播地址“最合适”或“最接近”的一台主机。任播地址最常用于发现一台提供了常用服务的计算机。
地址分配
IP 地址空间通常被分配为大的块,这由一些分层次组织的权威机构完成。
image.png