《分布式系统:概念与设计》一3.4.1 IP寻址

简介: 本节书摘来华章计算机《分布式系统:概念与设计》一书中的第3章 ,第3.4节,(英) George Coulouris Jean DollimoreTim Kindberg Gordon Blair 著 金蓓弘 马应龙 等译 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

3.4.1 IP寻址

或许设计互联网协议最富有挑战之处是构造主机的命名和寻址方案以及将IP数据包路由到目的地的方案。分配主机网络地址的方案和计算机连接到它们的方案需要满足以下一些需求:

  • 这必须是通用的——任何主机必须可以发送数据包给互联网中的任何其他主机。
  • 地址空间的使用,必须是有效的——预知互联网的最终规模、网络数量和所需的主机地址数量是不可能的。地址空间必须仔细地分割以确保地址不会用完。1978—1982年,当开发TCP/IP协议时,108认为提供232(即约40亿,大致等于当时全世界的人口总数)的可寻址的主机就足够了。但这种判断已经被证明是目光短浅的,原因如下:
    —互联网的增长速度远远超过了当初的预测。

—地址空间的分配和使用比预期的要低效得多。

  • 寻址方案必须有助于开发灵活有效的路由方案,但地址本身并不能包括太多的用于将数据包路由到目的地的信息。
    所选的方案为互联网中的每个主机都分配一个IP地址——一个32比特的数字标识符,其中包括一个网络标识符(唯一标识了互联网中的某个子网)、一个主机标识符(唯一标识了到该网络的主机连接)。这些地址将放在IP数据包中并被路由到目的地。

互联网地址空间所采用的设计如图3-15所示。一共有4类已分配的互联网地址——A、B、C、D。D类地址为互联网组播通信保留,组播通信仅在一些互联网路由器中实现,其进一步的讨论见4.4.1节。E类地址包括一些未分配的地址,为满足未来的需求而保留。
image

这些包含网络标识符和主机标识符的32比特互联网地址通常写成由点分开的4个十进制数字序列。每个十进制数字表示一个字节或IP地址的8比特组(octets)。每一类网络地址的允许值如图3-16所示。
image

三类地址用于满足不同类型组织的需要。A类地址(在每个子网中能容纳224台主机)是为非常大的网络准备的,例如US NSFNet和其他全国性的广域网。B类地址可分配给网络中的计算机超过255台的组织,而C类地址则是分配给所有其他的网络。
主机标识符为0和全1(二进制)的互联网地址将留作特殊用途。主机标识符为0的地址代表“本机”,若主机标识符为全1,则表示这是一个广播消息,并将消息发送到与地址的网络标识符部分指定的网络连接的主机上。
网络标识符是由互联网编号管理局(IANA)分配给其网络与互联网相连的组织。连接到互联网的计算机的主机标识符是由相关网络的管理员来分配的。
既然主机的地址包括一个网络标识符,那么连接到多个网络的计算机必须在每个网络中都有独立的地址。每次计算机移到一个新的网络,它的互联网地址必须改变。这些需求导致了实质性的管理开销,在使用便携计算机的情况下就会有这种开销。
IP地址分配方案在实际中并不是很有效。主要的困难是,用户组织中的网络管理员不能很容易地预测出未来他们对主机地址需求的增长,一般都会过高地估计,从而选择B类地址。到了1990年前后,按照当时的IP地址分配速度,到1996年前后就可能用完所有的地址。当时采取了三个步骤。第一步是开始开发新的IP协议和寻址方案,结果也就是现在的IPv6。
第二步是从根本上修改IP地址的分配方案。一个新的旨在更加有效地利用IP地址空间的地址分配和路由方案诞生了,该方案称为无等级域间路由(CIDR),我们将在3.4.3节中讨论CIDR。图3-10中的局域网拥有多个C类地址规模的子网,从138.37.88~138.37.95,这些子网通过路由器连接。路由器负责将IP数据包传送到所有的子网,同时也负责处理子网间和子网到互联网其他部分的流量。该图也说明了使用CIDR划分一个B类地址空间,形成若干C类地址规模的子网。
第三步是使未注册的计算机能通过实现了网络地址翻译(NAT)方案的路由器间接地访问互联网。我们在3.4.3节讨论该方案。

相关文章
|
5月前
|
网络协议 关系型数据库 MySQL
深入解读网络协议:原理与重要概念
TCP/IP协议 TCP/IP是互联网通信的基础协议。它由两个部分组成:TCP负责数据的可靠传输,确保数据按序到达目标;IP负责寻址和路由,确保数据在网络中正确传递。TCP/IP协议簇涵盖了多个层次,其中最重要的四个层次是:应用层、传输层、网络层和链路层。 应用层: 在应用层,各种应用程序与网络进行交互。这包括诸如HTTP(用于Web浏览器)、SMTP(用于电子邮件)、FTP(用于文件传输)等协议。在这个层次,数据被转换成适当的格式,以便在网络上传输,同时也从网络接收的数据被转换为用户可以理解的形式。 传输层: TCP和UDP是两种网络传输协议。TCP提供可靠连接,确保数据不丢失且按顺序传输,
44 0
|
6月前
|
消息中间件 网络协议 算法
网络协议的重要性与应用:理解进程间通信和网络分层结构(上)
学习网络协议的关键是了解其分层结构。在计算机网络中,我们使用的是OSI标准模型和TCP/IP网络模型。这些模型将网络通信划分为多个层级,每个层级都有不同的功能和作用。在本章节中,我们主要讲解了TCP/IP网络模型的前三层:应用层、传输层和网络层。后面的数据链路层和物理层将在下一篇文章中进行详细讲解
网络协议的重要性与应用:理解进程间通信和网络分层结构(上)
|
6月前
|
网络协议 网络架构 数据格式
网络协议的重要性与应用:理解进程间通信和网络分层结构(下)
这篇文章概括了数据链路层和物理层在网络通信中的作用和功能。数据链路层负责为网络层提供链路级别的传输服务,通过MAC地址标识设备,并在链路上进行数据传输。物理层将数据包转换为电信号,在物理媒介中传输。不同的物理媒介包括双绞铜线、同轴电缆和光纤,它们都被用于实现高效的数据传输和通信。
|
存储 应用服务中间件 nginx
分布式系统如何寻址?
分布式系统如何寻址?
122 0
分布式系统如何寻址?
|
机器学习/深度学习 网络协议
【计算机网络】计算机网络 分层结构 ( 分层基本原则 | 分层结构 | 实体 | 协议 | 接口 | 协议三要素 | 数据 | 计算机网络体系结构概念 | 分层概念 )
【计算机网络】计算机网络 分层结构 ( 分层基本原则 | 分层结构 | 实体 | 协议 | 接口 | 协议三要素 | 数据 | 计算机网络体系结构概念 | 分层概念 )
398 0
【计算机网络】计算机网络 分层结构 ( 分层基本原则 | 分层结构 | 实体 | 协议 | 接口 | 协议三要素 | 数据 | 计算机网络体系结构概念 | 分层概念 )
openflow多级流表机制的优点?
openflow多级流表机制的优点?
240 0
|
JavaScript 前端开发 Java
计算机分层架构
计算机分层架构
162 0
计算机分层架构
|
安全 网络安全 数据安全/隐私保护
|
安全 网络协议
《分布式系统:概念与设计》一3.4 互联网协议
本节书摘来华章计算机《分布式系统:概念与设计》一书中的第3章 ,第3.1节,(英) George Coulouris Jean DollimoreTim Kindberg Gordon Blair 著 金蓓弘 马应龙 等译 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1571 0