目录
  1. 1. 概述
  2. 2. 网络应用模型
    1. 2.1. Client/Server
    2. 2.2. P2P
  3. 3. DNS系统
    1. 3.1. 域名
    2. 3.2. 域名服务器
    3. 3.3. 域名解析过程
  4. 4. FTP
    1. 4.1. 服务器和用户端
    2. 4.2. 工作原理
      1. 4.2.1. PORT模式(主动)
      2. 4.2.2. PASV模式(被动)
  5. 5. 电子邮件
    1. 5.1. 用户代理
    2. 5.2. 邮件服务器
    3. 5.3. SMTP
    4. 5.4. MIME
    5. 5.5. 邮件信息格式
    6. 5.6. 邮件访问协议
    7. 5.7. HTTP邮件
  6. 6. 万维网
    1. 6.1. HTTP
      1. 6.1.1. HTTP特点
    2. 6.2. HTTP方法
    3. 6.3. 安全超文本协议
    4. 6.4. HTTP 1.1
应用层

概述

应用层对应用程序的通信提供服务。

应用层协议定义:

  • 应用进程交换的报文类型,请求还是响应?
  • 各种报文类型的语法,如报文中各个字段及其详细描述
  • 字段的语义,即包含在字段中的信息的含义
  • 进程何时、如何发送报文,以及对报文进行响应的规则

应用层的功能:

  • 文件传输、访问和管理
  • 电子邮件
  • 虚拟终端
  • 查询服务和远程作业登录

应用层重要协议

  • FTP:TCP 20 (数据流)、21 (命令流)
  • SMTP:TCP 25
  • POP3:TCP 110;IMAP:TCP 143
  • HTTP:TCP 80
  • DNS:UDP 53

网络应用模型

Client/Server

服务器提供计算服务 的设备

  • 永久提供服务
  • 永久性访问地址/域名

客户机请求计算服务 的设备

  • 与服务器通信,使用服务器提供的服务
  • 间歇性接入网络
  • 可能使用动态IP
  • 不与其他客户机直接通信

应用:Web,文件传输FTP,远程登录,电子邮件

P2P

  • 不存在永远在线的服务器
  • 每个主机既可以提供服务,也可以请求服务
  • 任意端系统/节点之间可以 直接通讯
  • 节点间歇性接入网络
  • 节点可能改变IP地址
  • 可扩展性好
  • 网络健壮性强

DNS系统

使用 UDP (53),减少开销

域名

域名服务器

  • 根域名服务器
  • 权限域名服务器:负责一个区的域名服务器
  • 本地域名服务器(端口号 53):当一个主机发出DNS查询请求时,这个查询请求报文就发给本地域名服务器

域名解析过程

  • 递归查询:交给其他域名服务器完成
  • 迭代查询:全程由自己去完成

FTP

运行在两个端口:2021

  • 端口 20 用于在客户端和服务器之间 传输数据流
  • 端口 21 用于 传输控制流,并且是命令通向FTP服务器的入口

数据传输的两种方式:ASCII二进制

使用 TCP 实现可靠传输

服务器和用户端

FTP 是基于 C/S 模式的协议。

用户通过一个客户机程序连接至在远程计算机上运行的服务器程序。

依照 FTP 协议提供服务,进行文件传送的计算机就是FTP服务器。

连接 FTP 服务器,遵循 FTP 协议与服务器传送文件的电脑就是 FTP 客户端。

工作原理

控制 连接(21) 始终保持数据 连接保持 一会

是否使用 TCP 20 端口建立数据连接与传输模式有关:

  • 主动 方式使用TCP 20端口
  • 被动 方式 协商 决定(1024~5000)

主动被动是相对于服务器来说的,服务器是否是主动连接数据流

PORT模式(主动)

FTP 客户端首先和FTP Server的TCP 21端口建立连接,通过这个通道发送命令,客户端需要接收数据的时候在这个通道上发送PORT命令。PORT命令包含了客户端用什么端口(一个大于1024的端口)接收数据。在传送数据的时候,服务器端通过自己的TCP 20端口发送数据。FTP server必须和客户端建立一个新的连接用来传送数据。

PASV模式(被动)

在建立控制通道的时候和PORT模式类似,当客户端通过这个通道发送PASV命令的时候,FTP Server打开一个位于1024和5000之间的随机端口并且通知客户端在这个端口上传送数据的请求,然后FTP Server 将通过这个端口进行数据的传送,这个时候FTP Server不再需要建立一个新的和客户端之间的连接传送数据。

电子邮件

用户代理

用户代理提供用户阅读、保存、回复、转发、编写、发送和删除邮件消息等功能。

邮件服务器

邮件服务器构成了电子邮件系统的核心。

每个收信人都有一个位于某个邮件服务器上的邮箱。

功能:发送&接收邮件;向发件人报告邮件传送状态

SMTP

SMTP (Simple Mail Transfer Protocol) 规定了两个互相通信的 SMTP进程 之间应如何交换信息。

SMTP 限制所有邮件消息的信体 必须是简单的7位ASCII字符格式

使用 TCP,端口号为 25,是 C/S 模式

共发送了5个命令:

  • HELO 表示发信人自己的身份
  • MAIL FROM 表示请求发送邮件,初始化邮件传输
  • RCPT TO 标识某电子邮件的计划接收人
  • DATA 表示所有的邮件接收人已标识,并初始化数据传输
  • QUIT 表示退出邮件发送过程,结束会话

MIME

使电子邮件系统可以支持声音、图像、视频、多种国家语言。

  • 使用BASE64编码:用于转换成某种可接受的7位ASCII格式的编码技术之一。

邮件信息格式

RFC 822 详细说明了各个邮件消息头部的格式和含义。

邮件消息的每个头部都是直观可读的文本,由一个后跟冒号的关键字和相应的值构成。

  • 有些头部是必须的,有些则是可选的
  • 每个信头必须有一个 From: 头部和一个 To: 头部
  • 可以有一个 Subject: 头部和其他头部

邮件访问协议

POP3:TCP 连接,端口号 110,C/S。下载并保留;下载并删除

IMAP:允许用户像对待本地邮箱那样操纵远程邮箱

  • 这两个协议使用 内拉操作获取邮件消息,而 SMTP 是一个 外推 协议。

HTTP邮件

使用提供这种服务的服务器时,用户代理是普通的web浏览器,用户与邮件服务器主机上的邮箱之间的交互由HTTP协议完成。

邮件消息的 内拉、外推都是由HTTP协议 完成的。

邮件消息在邮件服务器主机之间的 中转仍然通过SMTP协议

万维网

WWW(World Wide Web),是一个大规模的、联机式的信息储藏所/资料空间,是无数个网络站点和网页的集合。

万维网以 C/S模式 工作,用户使用的浏览器就是万维网客户程序,万维网文档所驻留的主机运行服务器程序。

  • 统一资源标识符 URI:唯一标识了资源

  • 统一资源定位符 URL:URI的子集,通过定位来标识资源

    • URL一般形式:<协议>://<主机>:<端口>/<路径>(不区分大小写)
  • 用户通过点击超链接(HyperLink)获取资源,这些资源通过 超文本传输协议(HTTP) 传送给使用者。

  • 超文本标记语言HTML:定义超文本文档的结构和格式

HTTP

HTTP定义了浏览器(客户)怎么向万维网服务器请求万维网文档,以及服务器怎么把文档传送给浏览器。

HTTP特点

HTTP协议是无状态的。

Cookie 是存储在用户主机的 文本文件,记录一段时间内某用户的访问记录——提供个性化服务。

  • Cookie 用于万维网站识别用户

HTTP采用 TCP 80 作为传输层协议,但是 HTTP本身是无连接的(通信双方在交换HTTP报文之前,不需要先建立HTTP连接)

HTTP方法

HTTP/1.1协议中共定义了八种方法(有时也叫“动作”)来表明Request-URI指定的资源的不同操作方式。

HTTP 服务器至少应该实现 GET 和 HEAD 方法,其他方法都是可选的。

  • HEAD:向服务器索要与 GET 请求相一致的响应,只不过响应体将不会被返回
  • GET:向特定的资源发出请求

安全超文本协议

HTTPS URI 方案和 HTTP 1.1 请求头

  • 由于浏览器对后者几乎没有任何支持,因此 HTTPS URI 方案仍是创建安全超文本协议连接的主要手段
  • 安全超文本连接协议使用 https:// 代替 http://

HTTP 1.1

  • 持久连接被默认采用
  • 支持以管道方式在同时发送多个请求,以便降低线路负载,提高传输速度
  • 一个连接可被多个请求重复利用的保持连接
  • HTTP1.1 相比较于 HTTP/1.0 协议的区别主要体现在:缓存处理、带宽优化及网络连接的使用、错误通知的管理、消息在网络中的发送、互联网地址的维护、安全性及完整性
文章作者: EasonZzZz
文章链接: http://yoursite.com/2020/07/01/学习/计网/应用层/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Nice To Meet U