IPv4 - 示例


本章介绍如何使用 Internet 协议版本 4 在网络上进行实际通信。

网络中的数据包流

IPv4 环境中的所有主机都分配有唯一的逻辑IP 地址。当一台主机想要向网络上的另一台主机发送一些数据时,它需要目标主机的物理(MAC)地址。为了获取 MAC 地址,主机会广播 ARP 消息,并要求目标 IP 地址的所有者提供 MAC 地址。该网段上的所有主机都会收到该 ARP 数据包,但只有 IP 与 ARP 消息中的 IP 匹配的主机才会回复其 MAC 地址。一旦发送方收到接收站的 MAC 地址,数据就会在物理介质上发送。

如果IP不属于本地子网,则通过该子网的网关将数据发送到目的地。要了解数据包流,我们必须首先了解以下组件 -

  • MAC 地址- 媒体访问控制地址是可以唯一识别的网络设备的 48 位工厂硬编码物理地址。该地址由设备制造商分配。

  • 地址解析协议- 地址解析协议用于获取 IP 地址已知的主机的 MAC 地址。ARP是一种广播报文,该网段内的所有主机都会收到。但只有 ARP 中提到的 IP 主机才会响应并提供其 MAC 地址。

  • 代理服务器- 要访问互联网,网络使用分配有公共 IP 的代理服务器。所有 PC 都向 Internet 上的代理服务器请求服务器。代理服务器代表 PCS 向服务器发送请求,当收到服务器的响应时,代理服务器将其转发给客户端 PC。这是一种控制计算机网络中互联网访问的方法,有助于实施基于网络的策略。

  • 动态主机控制协议- DHCP 是一项服务,通过该服务可以从预定义的地址池中为主机分配 IP 地址。DHCP 服务器还提供必要的信息,如网关 IP、DNS 服务器地址、IP 分配的租约等。通过使用 DHCP 服务,网络管理员可以轻松管理 IP 地址的分配。

  • 域名系统- 用户很可能不知道他想要连接的远程服务器的 IP 地址。但他知道分配给它的名称,例如,tutorialpoints.com。当用户键入他想要连接的远程服务器的名称时,屏幕后面的本地主机会发送 DNS 查询。域名系统是一种获取已知域名的主机的IP地址的方法。

  • 网络地址转换- 计算机网络中的几乎所有 PC 都被分配了私有 IP 地址,这些地址在 Internet 上不可路由。一旦路由器收到带有私有 IP 地址的 IP 数据包,它就会将其丢弃。为了访问公共私有地址上的服务器,计算机网络使用地址转换服务,该服务在公共地址和私有地址之间进行转换,称为网络地址转换。当 PC 从专用网络发送 IP 数据包时,NAT 会将专用 IP 地址更改为公用 IP 地址,反之亦然。

我们现在可以描述数据包流。假设用户想要从她的个人计算机访问 www.TutorialsPoint.com。她有来自 ISP 的互联网连接。系统将采取以下步骤来帮助她到达目的地网站。

步骤 1 – 获取 IP 地址 (DHCP)

当用户的PC启动时,它会搜索DHCP服务器来获取IP地址。同样,PC 发送 DHCPDISCOVER 广播,该广播由子网上的一个或多个 DHCP 服务器接收,并且它们都以 DHCPOFFER 进行响应,其中包括所有必要的详细信息,如 IP、子网、网关、DNS 等。 PC 发送 DHCPREQUEST数据包以请求提供的 IP 地址。最后,DHCP 发送 DHCPACK 数据包,告诉 PC 它可以将 IP 保留一段给定的时间(称为 IP 租用)。

或者,可以手动为 PC 分配 IP 地址,而无需借助 DHCP 服务器的任何帮助。当 PC 正确配置了 IP 地址详细信息后,它可以通过支持 IP 的网络与其他计算机进行通信。

步骤 2 – DNS 查询

当用户打开网页浏览器并输入 www.tutorialpoints.com(域名)并且 PC 不知道如何使用域名与服务器通信时,PC 会向网络发送 DNS 查询以获得与域名相关的IP地址。预先配置的 DNS 服务器使用指定域名的 IP 地址响应查询。

步骤 3 – ARP 请求

PC发现目的IP地址不属于自己的IP地址范围,必须将请求转发给网关。此场景中的网关可以是路由器或代理服务器。虽然网关的 IP 地址对于客户端计算机来说是已知的,但计算机不会在 IP 地址上交换数据,而是需要计算机的硬件地址,即第 2 层工厂编码的 MAC 地址。为了获取网关的 MAC 地址,客户端 PC 会广播一个 ARP 请求,询问“谁拥有该 IP 地址?” 网关响应 ARP 查询发送其 MAC 地址。PC收到MAC地址后,将数据包发送到网关。

IP数据包同时具有源地址和目标地址,它在逻辑上将主机与远程主机连接起来,而MAC地址则帮助单个网段上的系统传输实际数据。重要的是,源和目标 MAC 地址在通过 Internet(逐段)传输时会发生变化,但源和目标 IP 地址永远不会改变。