OSI 7层网络模型是一种经典的计算机网络体系架构,它将复杂的网络通信过程划分为七个逻辑层次,以便更好地理解和管理网络功能。这七层按照自下而上的顺序分别是:
1. **物理层(Layer 1)**: 这一层主要关注数据的物理传输,包括比特流的传输,如电信号、光信号等。物理层设备如集线器、网卡等负责数据的传输,实现比特级别的通信。
2. **数据链路层(Layer 2)**: 数据链路层处理网络连接的建立和维护,确保数据的可靠传输。它使用MAC地址进行寻址,并提供了差错检测和纠正机制,如CRC校验。这一层常见的协议有Ethernet、WiFi等。
3. **网络层(Layer 3)**: 网络层负责路由选择,通过IP地址进行数据包的转发。它处理分组和重组任务,以及选择最佳路径,包括静态路由和动态路由两种方法。
4. **传输层(Layer 4)**: 传输层确保端到端的可靠传输,提供TCP(传输控制协议)和UDP(用户数据报协议)两种服务。TCP是面向连接的,提供序列化、确认、错误重传等功能,适用于需要数据完整性和可靠性的场景;而UDP则是无连接的,速度快但不保证数据的到达,适合实时性要求较高的应用,如音频、视频流。
5. **会话层(Layer 5)**: 会话层负责协调不同进程之间的通信,管理会话的建立、保持和终止,以及数据交换的同步。
6. **表示层(Layer 6)**: 表示层处理数据的表示和转换,包括数据加密、压缩和解压缩等,确保数据能在不同设备和协议间正确解析。
7. **应用层(Layer 7)**: 最高层为应用层,直接为用户提供服务,提供了操作界面和各种应用程序接口(API)。它是网络通信的最终目的,比如HTTP、FTP、SMTP等应用就运行在这一层。
在面试中,面试官可能会询问关于网络模型的理解,例如,CPU利用率和负载的概念,以及CFS( Completely Fair Scheduler,完全公平调度器)算法在操作系统调度中的作用。CFS通过为每个进程分配虚拟运行时间(vruntime),根据进程优先级和等待时间来决定执行顺序,保证了相对公平的资源分配。
此外,面试者可能还会考察对TCP三次握手过程的掌握,这是TCP连接建立的基础,确保数据的可靠传输。而在通信结束后,TCP连接的四次分手则涉及到断开连接的流程,包括客户端和服务器分别发送FIN(Finish)和ACK(Acknowledgment)报文,确保数据传输的彻底结束。
理解OSI 7层网络模型对于从事IT行业的人员来说至关重要,它不仅帮助我们设计、优化网络架构,还用于解决实际问题,如性能监控、故障排查和网络管理。