当前位置: 首页 > article >正文

计算机网络:应用层 —— 应用层概述

文章目录

      • 概述
      • 主要功能
      • 常见应用层协议

概述

应用层是计算机网络体系结构的最顶层,它直接面向用户和应用程序,解决通过应用进程的交互来实现特定网络应用的问题,是设计和建立计算机网络的最终目的,也是计算机网络中发展最快的部分。

应用层协议定义了应用进程间通信和交互的规则,这些协议主要解决的是网络应用程序与网络服务之间的通信问题

在 TCP/IP 体系结构中,应用层协议利用传输层提供的服务(如 TCP 或 UDP)来实现各种网络应用。就像是一栋建筑的顶层,它是用户和计算机网络交互的接口,通过应用层协议来完成各种网络功能。

在这里插入图片描述

  • 早期基于文本的应用(电子邮件、远程登录文件传输、新闻组)

  • 20世纪90年代将因特网带入干家万户的万维网WWW

  • 当今流行的即时通信、P2P文件共享及各种音视频应用

  • 计算设备的小型化和“无处不在”,宽带住宅接入和无线接入的日益普及和迅速发展,为未来更多的新型应用提供了广阔的舞台。

主要功能

应用层的主要功能包括:

  • 提供应用服务接口为各种网络应用程序提供接口,使得应用程序能够方便地使用网络服务。例如,Web 浏览器通过 HTTP(超文本传输协议)与 Web 服务器进行通信,获取网页内容;电子邮件客户端通过 SMTP(简单邮件传输协议)发送邮件,通过 POP3(邮局协议第 3 版)或 IMAP(互联网消息访问协议)接收邮件。这些协议为应用程序提供了发送和接收数据的标准方式。

  • 数据表示和转换:负责处理应用程序之间交换的数据的格式和表示。不同的应用程序可能使用不同的数据格式,应用层需要对这些数据进行转换,以确保数据能够在不同的系统之间正确地传输和理解。例如,在网页传输中,HTML(超文本标记语言)格式的网页内容需要被正确地编码和传输,接收方的浏览器再将其解码并显示出来。

  • 应用进程通信协调协调不同应用进程之间的通信。在一个复杂的网络环境中,可能有多个应用程序同时在进行通信,应用层需要对这些通信进行管理和协调。例如,在一个分布式系统中,应用层可以通过远程过程调用(RPC)协议来实现不同主机上的应用进程之间的通信,使得这些进程能够像在本地一样进行交互。

常见应用层协议

  • HTTP / HTTPS

    • HTTP(超文本传输协议):用于在 Web 浏览器和 Web 服务器之间传输超文本,是构建万维网(WWW)的基础协议。它采用请求 - 响应模式,浏览器发送请求(如 GET 请求获取网页内容,POST 请求提交表单数据等),服务器收到请求后返回相应的响应,包括 HTML 文档、图片、脚本等资源。

    • HTTPS(安全超文本传输协议):是 HTTP安全版本,在 HTTP 的基础上加入了 SSL/TLS(安全套接层 / 传输层安全)加密协议。它主要用于保护敏感信息(如用户登录信息、信用卡信息等)在网络传输过程中的安全,通过加密和身份认证机制,确保数据不被窃取或篡改。

  • SMTPPOP3IMAP

    • SMTP(简单邮件传输协议):用于发送电子邮件。它规定了邮件从发送方的邮件客户端发送到发送方的邮件服务器,再从发送方的邮件服务器传输到接收方的邮件服务器的过程。SMTP 使用简单的命令 - 响应格式进行通信,发送方通过 SMTP 命令发送邮件相关信息(如发件人、收件人、邮件主题、邮件正文等)。

    • POP3(邮局协议第 3 版):主要用于接收电子邮件。用户通过 POP3 协议从邮件服务器上下载自己的邮件到本地客户端。POP3 采用客户端 - 服务器模式,客户端连接到服务器后,可以列出邮件列表、下载邮件、删除邮件等操作。

    • IMAP(互联网消息访问协议):也是用于接收电子邮件,但与 POP3 不同的是,IMAP 提供了更强大的邮件管理功能。用户可以在服务器上直接对邮件进行操作,如创建文件夹、移动邮件、标记邮件等,并且可以在多个设备上同步邮件状态,使得用户在不同设备上访问邮件时能够保持一致的体验。

  • DNS(域名系统):用于将域名(如 www.example.com转换为对应的 IP 地址。在网络通信中,计算机是通过 IP 地址来识别对方的,但对于用户来说,记住复杂的 IP 地址很困难,DNS 就起到了这个转换的作用。当用户在浏览器中输入域名时,浏览器会首先向 DNS 服务器发送查询请求,DNS 服务器查找并返回对应的 IP 地址,然后浏览器再通过该 IP 地址与目标服务器进行通信。

  • FTP(文件传输协议):用于在不同主机之间传输文件FTP 采用客户端 - 服务器模式,支持两种连接方式:控制连接和数据连接。控制连接用于传输命令,如用户登录、文件目录操作等命令;数据连接用于传输实际的文件数据。FTP 可以进行文件的上传(从客户端到服务器)和下载(从服务器到客户端)操作,并且可以支持多种文件类型和传输模式。


http://www.kler.cn/a/447784.html

相关文章:

  • Unity 3D饼状图效果
  • 0.gitlab ubuntu20.04 部署问题解决
  • ubuntu22.04编译安装Opencv4.8.0+Opencv-contrib4.8.0教程
  • Unbuntu下怎么生成SSL自签证书?
  • 【C#】try-catch-finally语句的执行顺序,以及在发生异常时的执行顺序
  • 数据版本管理和迁移工具Flyway用法最简说明
  • BERT模型入门(12)字节对编码(Byte Pair Encoding,BPE)
  • 【数据库系统概论】—— 关系数据库
  • stm32制作CAN适配器4--WinUsb的使用
  • 植物大战僵尸杂交版v3.0.2最新版本(附下载链接)
  • 云图库平台(二)前端项目初始化
  • 二进制分析的新兴趋势:塑造安全的移动应用
  • Kubernates
  • Ubuntu24版 最新安装CUDA驱动方式
  • dify工作流+github actions实现翻译并创建PR
  • 智能体实战(需求分析助手)二、需求分析助手第一版实现(支持需求提取、整理、痛点分析、需求分类、优先级分析、需求文档生成等功能)
  • Spring(二)AOP、切入点表达式、AspecJ常用通知的类型、Spring中的事务管理
  • 【期末复习】JavaEE(上)
  • powershell美化
  • 使用 Docker 打包和运行 Vue 应用
  • Suno Api V4模型无水印开发「人声伴奏分离」 —— 「Suno Api系列」第7篇
  • 成方金融科技后端部分笔试题 - 解析
  • Pytorch | 利用VMI-FGSM针对CIFAR10上的ResNet分类器进行对抗攻击
  • Pytorch | 从零构建MobileNet对CIFAR10进行分类
  • 电子应用设计方案66:智能打印机系统设计
  • Vulkan 学习(11)---- Vulkan RenderPass 创建