网络层协议
网络中的每台计算机都有一个 IP 地址,通过该地址可以唯一地标识和寻址该计算机。IP 地址是第 3 层(网络层)逻辑地址。每次计算机重新启动时,此地址都可能更改。计算机在某个时间点可以有一个 IP,而在某个不同时间点可以有另一个 IP。
地址解析协议 (ARP)
在通信时,主机需要属于同一广播域或网络的目标计算机的第 2 层 (MAC) 地址。MAC 地址物理上刻录在计算机的网络接口卡 (NIC) 中,并且永远不会更改。
另一方面,公共域上的 IP 地址很少更改。如果在发生某些故障时更改了 NIC,则 MAC 地址也会更改。这样,要进行第 2 层通信,就需要两者之间的映射。
要知道广播域中远程主机的 MAC 地址,希望发起通信的计算机会发出 ARP 广播消息,询问"谁有这个 IP 地址?"由于这是广播,因此网络段(广播域)上的所有主机都会接收并处理此数据包。ARP 数据包包含发送主机希望与之通信的目标主机的 IP 地址。当主机收到发往它的 ARP 数据包时,它会回复自己的 MAC 地址。
一旦主机获得目标 MAC 地址,它就可以使用第 2 层链路协议与远程主机通信。此 MAC 到 IP 的映射保存在发送和接收主机的 ARP 缓存中。下次,如果它们需要通信,则可以直接引用各自的 ARP 缓存。
反向 ARP 是一种机制,主机知道远程主机的 MAC 地址,但需要知道 IP 地址才能进行通信。
互联网控制消息协议 (ICMP)
ICMP 是网络诊断和错误报告协议。ICMP 属于 IP 协议套件,使用 IP 作为载体协议。构造 ICMP 数据包后,将其封装在 IP 数据包中。由于 IP 本身是一种尽力而为的不可靠协议,因此 ICMP 也是如此。
有关网络的任何反馈都会发送回原始主机。如果网络发生某些错误,则通过 ICMP 进行报告。ICMP 包含数十条诊断和错误报告消息。
ICMP-echo 和 ICMP-echo-reply 是最常用的 ICMP 消息,用于检查端到端主机的可达性。当主机收到 ICMP 回显请求时,它必然会发回 ICMP 回显答复。如果传输网络中出现任何问题,ICMP 将报告该问题。
Internet 协议版本 4 (IPv4)
IPv4 是用作 TCP/IP 主机寻址机制的 32 位寻址方案。IP 寻址使 TCP/IP 网络上的每个主机都可以唯一地标识。
IPv4 提供分层寻址方案,使其能够将网络划分为子网络,每个子网络都有明确定义的主机数量。IP 地址分为许多类别:
A 类 - 它使用第一个八位字节作为网络地址,使用最后三个八位字节作为主机寻址
B 类 - 它使用前两个八位字节作为网络地址,使用后两个八位字节作为主机寻址
C 类 - 它使用前三个八位字节作为网络地址,使用最后一个八位字节作为主机寻址
D 类 - 它提供平面 IP 寻址方案,与上述三个方案的分层结构形成对比。
E 类 - 它用作实验。
IPv4 还具有明确定义的地址空间,可用作私有地址(无法在互联网上路由)和公共地址(由 ISP 提供,可在互联网上路由)。
尽管 IP 并不可靠,但它提供了"尽力而为"机制。
互联网协议版本 6 (IPv6)
IPv4 地址的耗尽催生了下一代互联网协议版本 6。IPv6 使用 128 位宽的地址来寻址其节点,为未来在整个星球或更远的地方使用提供了充足的地址空间。
IPv6 引入了任播寻址,但删除了广播的概念。IPv6 使设备能够自行获取 IPv6 地址并在该子网内通信。这种自动配置消除了动态主机配置协议 (DHCP) 服务器的可靠性。这样,即使该子网上的 DHCP 服务器关闭,主机也可以相互通信。
IPv6 提供了 IPv6 移动性的新功能。配备移动 IPv6 的机器可以漫游,而无需更改其 IP 地址。
IPv6 仍处于过渡阶段,预计将在未来几年完全取代 IPv4。目前,很少有网络在 IPv6 上运行。有一些过渡机制可供启用 IPv6 的网络在 IPv4 上轻松地在不同网络中通信和漫游。这些是:
- 双栈实现
- 隧道
- NAT-PT