计算机网络 - 网络层协议

  • 简述

    网络中的每台计算机都有一个 IP 地址,通过该地址可以唯一地识别和寻址。IP 地址是第 3 层(网络层)逻辑地址。每次计算机重新启动时,此地址可能会更改。一台计算机可以在某个时间拥有一个 IP,而在某个不同时间拥有另一个 IP。
  • 地址解析协议(ARP)

    在通信时,主机需要属于同一广播域或网络的目标机器的第 2 层 (MAC) 地址。MAC 地址被物理刻录到机器的网络接口卡 (NIC) 中,并且永远不会改变。
    另一方面,公共域的 IP 地址很少更改。如果在某些故障的情况下更换了 NIC,MAC 地址也会发生变化。这样,要进行第 2 层通信,就需要两者之间的映射。
    ARP机制
    要知道广播域上远程主机的 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-r​​eply 是检查端到端主机可达性的最常用的 ICMP 消息。当主机收到一个 ICMP-echo 请求时,它必然会发回一个 ICMP-echo-r​​eply。如果中转网络出现任何问题,ICMP 将报告该问题。
  • 互联网协议版本 4 (IPv4)

    IPv4 是用作 TCP/IP 主机寻址机制的 32 位寻址方案。IP 寻址使 TCP/IP 网络上的每个主机都可以唯一识别。
    IPv4 提供分层寻址方案,使其能够将网络划分为子网,每个子网都有明确定义的主机数量。IP地址分为很多类:
    • A 类  - 它使用网络地址的第一个八位字节和主机寻址的最后三个八位字节
    • B 类  - 它使用前两个字节作为网络地址,后两个字节作为主机寻址
    • C 类  - 它使用前三个字节作为网络地址,最后一个字节作为主机寻址
    • D 类  - 它提供了扁平的IP寻址方案,与以上三个的分层结构形成对比。
    • E 类  - 它被用作实验。
    IPv4 还具有明确定义的地址空间,可用作私有地址(不可在 Internet 上路由)和公共地址(由 ISP 提供且可在 Internet 上路由)。
    虽然IP不是可靠的;它提供了“Best-Effort-Delivery”机制。
  • 互联网协议版本 6 (IPv6)

    IPv4 地址的枯竭催生了下一代互联网协议第 6 版。IPv6 使用 128 位宽的地址为其节点寻址,从而为未来在整个地球或更远的地方使用提供充足的地址空间。
    IPv6 引入了任播寻址,但删除了广播的概念。IPv6 使设备能够自行获取 IPv6 地址并在该子网内进行通信。这种自动配置消除了动态主机配置协议 (DHCP) 服务器的可靠性。这样,即使该子网上的 DHCP 服务器关闭,主机也可以相互通信。
    IPv6 提供了 IPv6 移动性的新特性。配备移动 IPv6 的机器可以在无需更改 IP 地址的情况下四处漫游。
    IPv6 仍处于过渡阶段,预计将在未来几年内完全取代 IPv4。目前,很少有网络在 IPv6 上运行。有一些过渡机制可用于启用 IPv6 的网络,以便在 IPv4 上轻松地在不同的网络上讲话和漫游。这些是:
    • 双栈实现
    • 隧道
    • NAT-PT