网络寻址

我们已经看到为什么必须唯一地识别主机和网络以便能够可靠地传递数据包。根据规模,主要有三种方式可以做到这一点;我们将在本节讨论全部三种。IP 路由的端到端过程将在下一节中讨论。一个值得注意的有趣的事是,对于这些寻址模式中的每一种,保留一个或者多个地址用于特殊用途。通常,这些是以知模式打开或关闭的已知位组标记的:

  • 以太网地址(Ethernet address): 这也称为 媒体访问控制 Media Access Control(MAC) 地址。 它是分配给网络设备(通常存储在卡上)的 48 位长的唯一标识符,用于在网段中识别它。通常,这些是由网卡制造商编程的,但所有现代操作系统都允许人们对其进行修改。写入以太网地址的标准方法是六组,每组两个十六进制数字(01-23-45-67-89-ab-cd-ef)。另一种常见方法是使用冒号分隔数字(01:23:45:67:89:ab:cd:ef)。保留一些特殊的比特序列用于寻址特殊情况:发送方可以通过将第一个八位字节的最低有效位设置为1来请求该段中的所有主机应该接收以太网帧。这称为 多播 。如果该特定位设置为 0,则帧应仅传送到一个接收器。今天,它们被广泛用于 以太网 和 Wi-Fi 。
  • IP 地址: 这是分配给 IP 网络中的每个设备的地址。原始 IP 地址标准(IPv4)在 1980 年定义了 32 位地址。 然而,到 1995 年显然互联网上的可用地址总数不足以覆盖所有设备。这导致了 IPV6 的发展,将地址空间扩展到 128 位。处理一级 IP 地址的标准方法是使用 CIDR 表示法,例如 192.168.100.1/26(IPv4)。斜杠后面的十进制数计算网络掩码中前导 1 的数量。因此,在这种特定情况下,网络中有 2^(32-26) = 64 个地址,从192.168.100.0 开始到 192.168.100.63 。互联网号码分配机构 Internet Assigned Numbers Authority(IANA) 为组织分配可公共路由的 IP 地址块。许多 IP v4 和 v6 地址被保留用于各种目的,例如在专用网络中寻址等。在家庭网络(将始终使用特殊的私有范围地址)中,这些由 Wi-Fi 路由器通过 动态主机配置协议 Dynamic Host Configuration Protocol(DHCP) 分配。
  • 自治系统编号 Autonomous system number: 这是一个 32 位数字,用于唯一标识自治系统。 与 IP 地址一样,这些由 IANA 分配和维护。

除此之外,主机之间的通信通常使用端口号来区分进程。当 OS 为进程分配特定端口时,它会更新其进程标识符和端口号之间映射的数据库。 因此,当它在该端口上接收传入数据包时,它知将这些数据包传递到哪个进程。 如果该进程在此时退出,操作系统将丢弃数据包,如果是 TCP , 则启动连接关闭。在后面的部分中,我们将看到 TCP 在实践中是如何工作的。

0 到 1024 之间的端口号范围由操作系统为公共服务保留。其他应用程序可以自由请求 1024 以上的任何端口。