IPv4 - 示例

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


网络中的数据包流

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

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

  • MAC 地址 − Media Access Control Address 是 48 位出厂硬编码的网络设备物理地址,可以唯一标识。 该地址由设备制造商分配。

  • 地址解析协议 − 地址解析协议用于获取已知IP地址的主机的MAC地址。 ARP是网段内所有主机接收的广播包。 但是只有在 ARP 中提到其 IP 的主机才会响应它提供其 MAC 地址。

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

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

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

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

我们现在可以描述数据包流。 假设用户想从个人计算机访问 www.w3ccoo.com。 系统将采取以下步骤来帮助用户到达目标网站。


第 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 查询

当用户打开 Web 浏览器并键入域名 www.w3ccoo.com 并且 PC 不了解如何使用域名与服务器通信时,PC 会在网络上发送 DNS 查询 以获取与域名相关的 IP 地址。 预先配置的 DNS 服务器以指定域名的 IP 地址响应查询。


第 3 步 – ARP 请求

PC发现目的IP地址不属于自己的IP地址范围,只好将请求转发给Gateway。 这种情况下的网关可以是路由器或代理服务器。 虽然客户端机器知道网关的 IP 地址,但计算机不会交换 IP 地址上的数据,而是需要机器的硬件地址,即第 2 层工厂编码的 MAC 地址。 为获取网关的 MAC 地址,客户端 PC 广播一个 ARP 请求"谁拥有这个 IP 地址?" 网关响应 ARP 查询发送其 MAC 地址。 收到 MAC 地址后,PC 将数据包发送到网关。

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