网络模型
TCP/IP网络模型可以分为以下四层:
- 应用层(Application Layer):
- 最上层,用户直接接触的层,提供应用功能,如HTTP、FTP、Telnet、DNS、SMTP等。
- 专注于为用户提供应用功能,不关心数据传输的具体细节。
- 工作在操作系统中的用户态。
- 传输层(Transport Layer):
- 为应用层提供网络支持,包括TCP(传输控制协议)和UDP(用户数据报协议)两个传输协议。
- TCP提供流量控制、超时重传、拥塞控制等特性,保证数据可靠传输。
- UDP简单,只负责发送数据包,不保证数据包抵达,实时性和传输效率较高。
- 负责将数据分块(TCP段),以便在数据包过大时进行分段传输。
- 使用端口号区分同一设备上的不同应用。
- 网络层(Internet Layer):
- 负责将数据从一个设备传输到另一个设备,使用IP协议(Internet Protocol)。
- IP协议将传输层的报文加上IP包头组装成IP报文,并处理分片。
- 使用IP地址对设备进行编号,区分网络号和主机号,配合子网掩码使用。
- 负责寻址和路由,决定数据包的传输路径。
- 网络接口层(Link Layer):
- 在IP头部前加上MAC头部,封装成数据帧发送到网络上。
- 工作在以太网、WiFi等底层网络上,使用MAC地址标识网络上的设备。
- 负责链路级别传输服务,通过ARP协议获取对方的MAC地址。
ARP 的工作原理
ARP(Address Resolution Protocol) 是一种网络协议,用于在 IPv4 网络中将 IP 地址 转换为对应的 MAC 地址。它是 TCP/IP 协议栈中的一个重要协议,工作在链路层和网络层之间。
1. ARP 请求(ARP Request)
• 当设备需要发送数据包,但不知道目标设备的 MAC 地址时,它会广播一个 ARP 请求到本地网络。
• 请求包的内容包括:
• 发出请求的设备的 IP 和 MAC 地址。
• 目标设备的 IP 地址(MAC 地址为空)。
• 广播范围限制在同一个子网。
2. ARP 响应(ARP Reply)
• 局域网内的设备接收到 ARP 请求后,检查自己的 IP 地址。
• 如果目标 IP 地址与自己的 IP 地址匹配,该设备会发送一个单播的 ARP 响应包,告知发起请求的设备自己的 MAC 地址。
3. 缓存结果
• 发起请求的设备将目标 IP 和 MAC 地址的映射关系缓存到本地的 ARP 表中,以后再发送数据时直接使用缓存,而不需要重复请求。
• 缓存有时效性,通常过一段时间后会清除
假设主机 A(IP: 192.168.1.1,MAC: AA:BB:CC:DD:EE:FF)想要与主机 B(IP: 192.168.1.2,MAC: 11:22:33:44:55:66)通信,流程如下:
1. 主机 A 查找 ARP 表,发现没有 192.168.1.2 的 MAC 地址。
2. 主机 A 广播一个 ARP 请求,问“192.168.1.2 的 MAC 地址是什么?”。
3. 主机 B 收到请求后,单播一个 ARP 响应,告知“192.168.1.2 的 MAC 地址是 11:22:33:44:55:66”。
4. 主机 A 将这个映射缓存到 ARP 表中,并开始通信。

浙公网安备 33010602011771号