TCP/IP 应用层包含应用程序用来请求和提供网络服务的协议。它涵盖 OSI 术语中分别归入应用层、表示层和会话层的许多功能。
网络基础 · 第 5 课
应用层
学习应用层协议如何定义服务消息、状态、命名和安全行为。
协议消息与语义
应用层协议定义对等方如何解读消息和状态。HTTP 定义请求、响应、方法、状态码和字段;DNS 定义查询和资源记录;SMTP 定义邮件传输所用的命令和回复。
并非每种应用层协议都会添加一个固定的“应用层标头”。有些使用文本字段,有些使用二进制记录,有些包含多层嵌套格式,还有些在一个传输连接上承载连续的消息序列。
应用层协议主要定义什么?
客户端、服务器与对等方
客户端向服务发起请求或连接;服务器监听或以其他方式接受请求。这些是一次交互中的角色,而不是永久的设备类别。同一台主机可以同时作为 DNS 客户端和 SSH 服务器,有些协议还采用点对点角色。
在典型的请求-响应交换中,什么使程序成为客户端?
名称、端口与服务选择
应用程序可以将服务名称解析为一个或多个 IP 地址,并选择传输端点。知名端口提供默认约定,并不能成为协议的固定证明。HTTP 通常使用 TCP 端口 80,HTTPS 通常使用 TCP 端口 443,但两者都可以运行在其他端口。SMTP 的邮件中继和邮件提交会使用不同端口与策略。
仅凭 TCP 端口 443 开放能证明什么?
安全与端到端测试
在证书验证和端点命名正确时,TLS 可以提供机密性、完整性和经过身份验证的对端身份。它不会自动授权每项应用程序操作。测试时应使用与真实客户端相同的名称、地址族、端口、协议、凭据和请求。
例如,诊断 HTTPS 时可以分别检查名称解析、TCP 连接、TLS 证书和名称、HTTP 响应以及应用程序内容。某一步成功可以缩小问题范围,但不能证明后续所有步骤都成功。
TLS 证书验证成功能确定什么?
课程已完成
你已完成 应用层
现在,你可以超越端口号或程序名称来描述应用层行为。
将协议语法、语义和状态识别为应用层问题。
将客户端和服务器视为一次交换中的角色。
将端口视为端点约定,而不是协议证明。
对命名、安全和应用程序响应进行端到端测试。