Skip to main content

第八章 会话层、表示层与应用层

8.1 会话层的功能与作用

会话层是OSI参考模型的第5层,负责建立、管理和终止通信会话,主要功能包括:

  1. 会话建立:在两台主机之间建立通信会话,确保连接可用。
  2. 会话同步:提供检查点功能,支持数据传输中断后的恢复。
  3. 会话管理:管理会话的启动、维护和终止,防止冲突和重复。
  4. 全双工通信:支持双向同时通信。

示例:远程登录(如SSH、Telnet)和视频会议系统的通信控制。


8.2 表示层的功能与作用

表示层是OSI参考模型的第6层,负责数据的语法和语义表示,主要功能包括:

  1. 数据格式转换:在通信双方采用不同数据格式时,进行适配和转换。
    • 例如,将图片文件从BMP格式转换为JPEG格式。
  2. 数据加密与解密:在发送方对数据加密,接收方对数据解密,确保通信安全。
    • 常见加密算法:AES、RSA。
  3. 数据压缩与解压缩:减小数据体积,提高传输效率。
    • 例如,视频流的H.264压缩技术。

示例:图像文件格式(JPEG、PNG)、视频文件格式(MP4)、SSL/TLS协议。


8.3 应用层协议

应用层是OSI参考模型的第7层,为用户提供直接的网络服务。常见协议如下:

8.3.1 HTTP(超文本传输协议)

  • 功能:用于Web浏览器与服务器之间的通信,传输超文本内容。
  • 特点
    • 无状态协议:每次请求都是独立的,不记录历史状态。
    • 使用TCP作为底层传输协议。
  • 示例:网页加载、API通信。

8.3.2 FTP(文件传输协议)

  • 功能:提供文件上传和下载服务。
  • 特点
    • 支持多种传输模式(主动模式与被动模式)。
    • 用户名和密码验证,适合批量文件传输。
  • 示例:远程文件备份。

8.3.3 SMTP(简单邮件传输协议)

  • 功能:用于电子邮件的发送与转发。
  • 特点
    • 基于TCP端口25进行通信。
    • 不负责接收邮件,与POP3/IMAP配合完成邮件系统。
  • 示例:电子邮件发送服务。

8.3.4 DNS(域名系统)

  • 功能:将域名解析为IP地址,支持主机定位。
  • 特点
    • 分布式架构,支持负载均衡。
    • 使用UDP端口53进行通信。
  • 示例:将www.example.com解析为192.168.1.1

8.4 网络应用的开发与实现

网络应用的开发与实现需要结合传输层和应用层协议,典型步骤包括:

  1. 需求分析:明确应用功能需求及通信协议。
    • 例如,文件传输应用需选择FTP或HTTP协议。
  2. 协议选择:根据场景选择合适的协议(如HTTP、WebSocket)。
  3. 通信接口实现:通过Socket编程实现数据传输。
    • 在TCP连接中实现可靠数据传输。
    • 在UDP连接中实现高效数据广播。
  4. 用户界面设计:为用户提供友好的操作界面。
  5. 测试与优化:测试网络性能,优化传输效率。

示例:即时通讯工具、网络存储应用。


8.5 会话管理:连接建立、维护与终止

会话管理是会话层的重要功能,主要包括以下三个阶段:

8.5.1 连接建立

  • 过程:在通信双方之间创建会话连接。
  • 协议
    • TCP:三次握手建立可靠连接。
    • WebSocket:通过HTTP升级实现双向通信。

8.5.2 连接维护

  • 功能
    • 保持会话活动状态。
    • 管理会话的同步和恢复。
  • 示例:SSH会话中,用户可以断开后重新连接继续操作。

8.5.3 连接终止

  • 过程:关闭会话连接,释放资源。
  • 协议
    • TCP:通过四次挥手终止连接。
    • WebSocket:通过关闭帧(Close Frame)关闭连接。

总结

会话层、表示层和应用层在网络通信中扮演重要角色,从管理会话到处理数据表示,再到提供应用服务。通过掌握这三层的功能与协议,可以更好地理解网络应用的设计与实现。