LOADING
3011 words
15 minutes
应用层:协议与网络应用模型(五)

应用层

一、应用层的基本概念

1.应用层的基本概述

应用层对应用程序的通信提供服务。在应用层的协议需要规定:

1.应用进程交换的报文类型,请求还是响应?

2.各种报文类型的语法,如报文中的各个字段及其详细描述。

3.字段的语义,即包含在字段中的信息的含义。

4.进程何时、如何发送报文,以及对报文进行响应的规则。

在这些协议的基础上,应用层需要实现以下功能:

1.文件传输、访问和管理

2.电子邮件

3.虚拟终端(通常用于服务器管理、远程登录等场景,能够方便地远程控制计算机而无需物理接入)

4.查询服务和远程作业登录

2.网络应用模型

应用层最常用的网络应用模型分别为客户/服务器(Client/Server)模型以及P2P(Peer-to-Peer)模型。

(1)客户/服务器模型 服务器是提供计算服务的设备。

1.永久提供服务

2.具有永久性的访问地址/域名

客户机是请求计算服务的主机。

1.与服务器通信,使用服务器提供的服务

2.间歇性接入网络

3.可能使用动态IP地址

4.不与其他客户机直接通信(主机发送的数据需要通过服务器再转发给另外一台主机)

使用客户/服务器的相关应用:Web,文件传输FTP,远程登录,电子邮件

(2)P2P模型

1.在P2P模型中不存在永远在线的服务器,只有主机,每个主机既可以提供服务,也可以请求服务(相当于每台主机既是客户机也是服务器)。

2.任意端系统/节点之间可以直接通讯。

3.节点间歇性接入网络。

4.节点可能改变IP地址。

5.可扩展性好:P2P系统具有自管理的特点,节点之间可以动态地加入或离开网络,系统可以自适应地调整网络拓扑结构和资源分配。这种自管理性使得系统在规模扩大时更容易维护和管理。

6.网络健壮性强: P2P系统没有单点故障,节点之间可以直接通信和共享资源,不依赖于中心服务器(节点之间是对等的关系)。即使某些节点离线或发生故障,其他节点仍然可以继续工作,保持系统的可用性和正常运行。

使用P2P模型的相关应用:文件共享、区块链、内容分发网络、即时通讯和视频流媒体等。

二、应用层的核心功能

  1. 提供用户接口和服务 - 应用层直接面向用户,提供各种网络应用服务,如电子邮件、文件传输、网页浏览等
  2. 实现端到端的通信 - 在通信两端的应用程序之间建立逻辑连接,确保数据能够按照预期格式正确传输和接收
  3. 数据格式转换和表示 - 处理不同系统之间的数据格式转换,确保数据能被正确解释
  4. 会话管理 - 建立、维护和终止应用程序之间的会话连接
  5. 提供应用协议 - 实现各种应用层协议,如HTTP(网页)、SMTP/POP3/IMAP(电子邮件)、FTP(文件传输)、DNS(域名解析)等
  6. 数据加密和安全 - 在应用层实现数据加密、身份验证等安全功能
  7. 错误控制和恢复 - 在应用级别检测和处理错误,确保应用程序能够从错误中恢复
  8. 资源共享和访问控制 - 管理网络资源的共享和访问权限

应用层是OSI七层模型或TCP/IP四层模型中最高的一层,它使网络对用户透明,让用户能够方便地使用网络服务而不必关心底层的实现细节。

三、应用层主要协议

1. 超文本传输协议(HTTP/HTTPS)

HTTP(超文本传输协议)是Web应用的基础,运行在TCP之上,默认端口80。采用请求-响应模型,客户端发请求、服务器返回响应。

  • HTTP/1.1:引入持久连接、管道机制、主机头字段,提升传输效率。
  • HTTPS:HTTP的安全版本,通过SSL/TLS加密(默认端口443),提供数据加密、服务器身份验证、消息完整性保护。
  • HTTP/2:引入多路复用、服务器推送等优化,减少延迟。
  • HTTP/3:基于QUIC协议,进一步提升性能(如0-RTT连接建立)。

2. WebSocket

提供客户端与服务器间持久性双向通信通道,适合实时场景(如聊天、协同编辑)。

  • 基于TCP,默认端口80(ws://)或443(wss://,加密版)。
  • 通过HTTP协议升级握手建立连接(从HTTP切换到WebSocket)。
  • 连接建立后支持全双工通信(服务器可主动推数据给客户端),且帧结构开销低,适合频繁小数据传输。

3. 电子邮件协议(SMTP、POP3、IMAP)

  • SMTP(简单邮件传输协议):负责邮件发送,运行在TCP端口25。例如,用户向邮箱服务器发邮件时,通过SMTP推送邮件。
  • POP3(邮局协议版本3):用于从服务器下载邮件到本地,默认端口110。下载后服务器通常删除邮件(可配置保留),适合单设备收信。
  • IMAP(互联网消息访问协议):更灵活的邮件管理协议,默认端口143。支持在服务器端直接管理邮件(建文件夹、标记已读),多设备同步状态更方便。

4. 文件传输协议(FTP)

用于客户端与服务器间文件传输,运行在TCP上,控制端口21、数据端口20(主动模式)或随机端口(被动模式)。

  • 主动模式:服务器主动发起数据连接到客户端端口。
  • 被动模式:客户端主动发起数据连接到服务器随机端口(规避防火墙限制)。 示例:开发者用FTP向网站服务器上传网页文件。

5. 域名系统(DNS)

负责域名→IP地址的解析(如将www.example.com转为192.0.2.1),是互联网“寻址”核心。

  • 运行在UDP(默认端口53,小请求)或TCP(大响应,如区域传输)上。
  • 支持递归查询(本地DNS服务器帮用户查)和迭代查询(服务器间逐级查询)。

发送方主机如果要发送数据给特定主机就需要知道这一主机的IP地址,同理如果某人要访问一个网站,也需要通过IP地址进行访问,但是IP地址较为复杂,通过IP地址寻找网站很困难,所以出现了”域名”。

若用户想打开一个网页,并向计算机输入域名,计算机会看不懂这个域名,所以会发往域名服务器,域名服务器会向计算机返回IP地址,计算机收到IP地址后,会根据这个地址向HTTP服务器发送HTTP连接请求,HTTP确认连接,这时候作为用户才算真正打开了网页。

域名:

http://www.fuyeor.com

https://www.baidu.com/

  • 域名中的字符只能是A-z、0-9、及”-”。
  • 每个点分割开的字符称为一个标号,每个标号不能超过63个字符,但是为了记忆方便最好不要超过12个字符。
  • 域名标号的级别高低是自左向右由低到高,最高级的标号被称为顶级域名,其次为二级域名
  • 除了顶级域名,二级域名,三级域名……之外,还有一个根域名,根域名的表示其实是com后的一个“.”,即www.cskaoyan.com.
  • 顶级域名包括三种类型:

国家顶级域名:cn,us,uk

通用顶级域名:com(企业域名),net(提供互联网服务机构),org(非营利性组织),gov(政府),int(国际组织),aero(航空),museum(博物馆),travel(路由) 基础结构域名/反向域名:arpa(反向解析,从IP地址到域名)

  • 二级域名包括两种类型:

类别域名:ac(科研机构),com(企业),edu(教育机构),gov(政府机构),mil(中国国防机构),net(提供互联网服务机构,org(非盈利性组织)

行政区域名:用于我国各省、自治区、直辖市 bj(北京),js(江苏)

自己注册的域名:cctv,cskaoyan

注:二级域名与顶级域名有部分相同,但是我们可以用国家顶级域名加以区分,例如com.cn,就是中国的某企业。

  • 在二级域名下可以注册三级域名,例如pku.edu.cn中的pku就是北大申请的三级域名。

www.pku.edu.cn中的www就是第四级域名,常见的四级域名还有:

mail(提供邮件有关的服务器对应的域名) ftp(提供文件传输功能的服务器对应的域名)

每个域名对应一个IP地址,DNS服务器将用户输入的域名映射到相应的IP地址,使得用户可以通过域名来访问特定的网络资源,而无需记住复杂的IP地址。

DNS服务器有多种类型:

根域名服务器<根域名服务器是最高层次的域名服务器>,也是最重要的域名服务器,它知道每一个顶级域名服务器以及其对应的IP地址。

权限域名服务器找到域名对应的IP地址后,IP地址会按照权限域名服务器--->顶级域名服务器--->根域名服务器--->本地域名服务器--->主机的路线返回给主机。

6. 远程登录协议(Telnet、SSH)

  • Telnet:早期远程登录协议,运行在TCP端口23,但明文传输(密码等无加密),安全性差,已被SSH取代。
  • SSH(安全外壳协议):加密的远程登录协议,运行在TCP端口22,可安全传输命令、文件(结合SCP、SFTP)。 示例:运维人员通过SSH远程管理云服务器。

7. 动态主机配置协议(DHCP)

自动为客户端分配IP地址、子网掩码、网关、DNS等网络配置,运行在UDP上(服务器端口67、客户端端口68)。

  • 家庭路由器、企业内网通过DHCP实现设备“即插即用”连网。

8. 简单网络管理协议(SNMP)

用于网络设备的监控与管理(如路由器、交换机的性能、故障),运行在UDP(默认端口161)或TCP上。

  • 管理员通过SNMP获取设备状态、配置参数,实现批量运维。

9. 实时通信协议(XMPP、MQTT)

  • XMPP:基于XML的即时通信协议,支持聊天、在线状态(Presence)等,典型应用如早期Jabber、OpenFire服务。
  • MQTT:轻量级“发布-订阅”协议,适合物联网(IoT)场景(如传感器数据上报),开销小,能在低带宽、不稳定网络下工作。
应用层:协议与网络应用模型(五)
/posts/2026-7-7/5-应用层/
Author
Atopos
Published at
2026-07-07
License
CC BY-NC-SA 4.0

Some information may be outdated