本章介绍使用Internet协议版本4在网络上进行实际通信的方式。
网络中的数据包流
IPv4环境中的所有主机都分配有唯一的逻辑IP地址。当主机要向网络上的另一主机发送一些数据时,它需要目标主机的物理(MAC)地址。要获取MAC地址,主机会广播ARP消息,并要求提供MAC地址,该IP地址是目标IP地址的所有者。该网段上的所有主机都接收ARP数据包,但是只有IP与ARP消息中的IP匹配的主机才会使用其MAC地址进行回复。一旦发送方接收到接收站的MAC地址,就在物理介质上发送数据。
如果IP不属于本地子网,则数据将通过子网的网关发送到目的地。要了解数据包流,我们必须首先了解以下组件-
- MAC地址-媒体访问控制地址是网络设备的48位工厂硬编码物理地址,可以唯一标识。该地址由设备制造商分配。
- 地址解析协议-地址解析协议用于获取其IP地址已知的主机的MAC地址。ARP是广播报文,由网段中的所有主机接收。但是,只有在ARP中提到其IP的主机才对其进行响应,以提供其MAC地址。
- 代理服务器-要访问Internet,网络使用已分配了公共IP的代理服务器。所有PC都向Internet上的服务器请求代理服务器。代表PCS的代理服务器将请求发送到服务器,并且当接收到来自服务器的响应时,代理服务器将请求转发给客户端PC。这是一种控制计算机网络中Internet访问的方法,有助于实施基于Web的策略。
- 动态主机控制协议-DHCP是一项服务,通过该服务可以为主机分配来自预定义地址池的IP地址。DHCP服务器还提供必要的信息,例如网关IP,DNS服务器地址,为IP分配的租约等。通过使用DHCP服务,网络管理员可以轻松管理IP地址的分配。
- 域名系统-用户很可能不知道他要连接的远程服务器的IP地址。但是他知道分配给它的名称,例如,gingerdoc.com。当用户键入要连接的远程服务器的名称时,屏幕后面的本地主机将发送DNS查询。域名系统是一种获取其域名已知的主机的IP地址的方法。
- 网络地址转换-计算机网络中几乎所有PC都分配有专用IP地址,这些IP地址无法在Internet上路由。路由器一接收到带有专用IP地址的IP数据包,就会立即将其丢弃。为了访问公共专用地址上的服务器,计算机网络使用地址转换服务,该服务在公共和专用地址之间转换,称为网络地址转换。当PC从私有网络发送IP数据包时,NAT会将私有IP地址更改为公共IP地址,反之亦然。
现在我们可以描述数据包流。假设用户要从其个人计算机访问www.gingerdoc.com。她通过ISP可以连接互联网。系统将采取以下步骤来帮助她到达目标网站。
步骤1 –获取IP地址(DHCP)
用户的PC启动时,它将搜索DHCP服务器以获取IP地址。同样,PC发送DHCPDISCOVER广播,该广播由子网上的一台或多台DHCP服务器接收,它们都以DHCPOFFER响应,其中包括所有必需的详细信息,例如IP,子网,网关,DNS等。数据包以请求提供的IP地址。最后,DHCP发送DHCPACK数据包以告知PC它可以将IP保留一定的时间,这称为IP租约。
或者,可以手动为PC分配IP地址,而无需DHCP服务器的任何帮助。如果一台PC的IP地址详细信息配置正确,则它可以通过启用IP的网络与其他计算机进行通信。
第2步– DNS查询
当用户打开Web浏览器并输入www.gingerdoc.com(这是一个域名)并且PC无法理解如何使用域名与服务器进行通信时,PC会在网络上发送DNS查询以获取与域名有关的IP地址。预先配置的DNS服务器使用指定域名的IP地址响应查询。
步骤3 – ARP请求
PC发现目标IP地址不属于他自己的IP地址范围,并且必须将请求转发到网关。在这种情况下,网关可以是路由器或代理服务器。尽管客户端计算机知道网关的IP地址,但是计算机不交换IP地址上的数据,而是它们需要计算机的硬件地址,即第二层出厂编码的MAC地址。为了获得网关的MAC地址,客户端PC广播一个ARP请求,说“谁拥有这个IP地址?”。网关响应ARP查询发送其MAC地址。PC收到MAC地址后,将数据包发送到网关。
IP数据包同时具有源地址和目标地址,并且在逻辑上将主机与远程主机连接,而MAC地址可帮助单个网段上的系统传输实际数据。重要的是,源和目标MAC地址随着它们在Internet上传播(按段划分)而发生变化,但是源IP和目标IP地址永远不会发生变化。