网络层(Internet Layer)
网络层负责为数据包选择合适的路径,并进行路由和转发,实现跨网络的数据传输。它使用 IP 协议来标识主机和路由器,并提供了数据包的传送服务。
网络层的主要功能
网络层主要负责数据包从源主机到目的主机的传输与转发,其核心功能包括:
- 路径选择(路由选择):
根据网络拓扑和路由算法,选择最优路径将数据包从源地址转发到目的地址。 - 数据包转发:
每个经过网络层的路由器根据目标 IP 地址查找路由表,将数据包转发到下一跳设备。 - 逻辑地址管理:
提供 IP 地址(逻辑地址)的分配和管理,解决不同网络之间的互联问题。 - 分段与重组:
当数据包过大时,网络层可能会对其进行分段处理;接收端则负责将这些分段数据重组为原始数据。
IP 协议
IP 协议(Internet Protocol):是网络层的核心协议,主要任务是将数据包从源主机传送到目的主机。
无连接传输:
IP 协议在传输数据时不建立专门的连接,也不维持状态信息。每个数据包(数据报)都独立传输,采用“尽力而为”的方式,不保证数据包必达、顺序正确或不重复。
优缺点:
- 优点: 实现简单、开销低,适合大规模互联;
- 缺点: 不提供传输层面的可靠性,需由上层协议(如 TCP)补充可靠性保障。
子网掩码
子网掩码:是一个 32 位的二进制数,用于区分 IP 地址中的网络部分和主机部分。
- 划分方法:
- 子网掩码中连续的 1 表示网络部分,后面的 0 表示主机部分。
- 例如:子网掩码 255.255.255.0(即二进制 11111111.11111111.11111111.00000000)表示前 24 位为网络号,后 8 位为主机号。
- 作用:
通过与 IP 地址按位与运算,可以得到网络地址,从而确定数据包所属的网络,便于路由器进行查找和转发。
ICMP 协议
ICMP 协议(Internet Control Message Protocol):是用于在网络设备间传递控制信息和错误报告的协议,属于网络层的一部分。
- 主要作用:
- 错误报告: 如目的不可达(Destination Unreachable)、时间超过(Time Exceeded)等信息,帮助诊断网络故障。
- 网络诊断: 例如使用 ICMP 的回显请求/应答(ping 命令)来检测目标主机是否可达,以及网络延时情况。
- 示例:
当路由器在转发数据包时发现目标主机不可达,它会发送一个 ICMP 错误消息通知源主机,从而帮助上层应用或网络管理员及时发现并处理网络问题。
NAT(网络地址转换)
NAT(Network Address Translation)是一种将私有网络内部的 IP 地址转换为公共 IP 地址(以及反向转换)的技术。
- 工作原理:
- 地址映射: 内部主机发送的数据包经过 NAT 设备时,其源 IP 地址会被替换为公共 IP 地址,同时记录映射关系;当外部数据包返回时,根据记录的映射关系,将目标地址还原成内部主机的 IP 地址。
- 作用:
- 节省公共 IP 资源: 多个内部主机可以共享一个公共 IP 地址;
- 提高安全性: 内部网络结构对外部隐藏,降低直接攻击风险;
- 简化网络管理: 使内部网络可以自由规划,而无需受公共 IP 地址限制。