这一章节描述了如何在IPv4网络中进行实际通信。
在IPv4网络环境中,每台主机都有唯一的逻辑IP地址。当一台主机需要向另一台主机发送数据时,它需要知道目标主机的物理地址(MAC地址)。为了获取目标主机的MAC地址,主机会发送ARP(地址解析协议)请求,询问目标IP地址的MAC地址。这个ARP请求会在同一网络段的所有主机上广播,但只有IP地址与ARP消息中的IP地址匹配的主机会回复其MAC地址。一旦发送方获得了目标主机的MAC地址,数据就会通过物理介质传送。
如果目标IP地址不在本地子网中,数据包会通过子网的网关路由到目的地。为了理解数据包的流向,需要了解一些关键组件:
下面描述了数据包的流程。假设用户要访问https://bestyvps.com/网站:
当用户的PC启动时,它会搜索DHCP服务器以获取IP地址。PC发送DHCPDISCOVER广播,DHCP服务器回应DHCPOFFER,包括IP地址、子网、网关、DNS等所有必要的详细信息。PC发送DHCPREQUEST请求IP地址,并获得IP租约。这个过程确保PC拥有一个可用的IP地址,以便与其他计算机通信。
或者,PC也可以手动分配IP地址,而无需DHCP服务器的帮助。当PC正确配置了IP地址详细信息后,它可以通过IP进行网络通信。
当用户在Web浏览器中输入域名https://bestyvps.com/并且PC不知道如何与该服务器通信时,PC会发送DNS查询以获取域名对应的IP地址。预先配置的DNS服务器会响应查询,提供域名的IP地址。
如果目标IP地址不属于本地子网,PC会将数据包发送到网关。网关可以是路由器或代理服务器。虽然客户端知道网关的IP地址,但它需要知道网关的MAC地址才能交换数据。为了获取网关的MAC地址,客户端发送ARP请求,询问"谁拥有这个IP地址?"网关响应ARP查询,并提供其MAC地址。一旦PC获得了网关的MAC地址,数据就会发送到网关,然后由网关路由到Internet上的目的地。
IP数据包包含源地址和目标地址,逻辑上将主机连接到远程主机,而MAC地址有助于在同一网络段上的系统之间传输实际数据。值得注意的是,源和目标MAC地址在数据包在Internet上传输时会发生变化,但源和目标IP地址永远不会改变。