《计网》应用层

main
InkSoul 2023-07-27 21:06:02 +08:00
parent 2970d5dd73
commit 1820eabe3a
15 changed files with 263 additions and 0 deletions

View File

@ -0,0 +1,263 @@
---
title: "《计网》应用层"
date: 2023-07-27T19:15:08+08:00
---
## 应用层
* 应用层对应用程序的通信提供服务。应用层协议具体应定义为
* 应用进程交换的报文类型,如请求报文和响应报文
* 各种报文类型的语法,如报文中的各个字段及其详细描述
* 字段的语义,即包含在字段中信息的含义
* 进程何时发送报文,以及对报文的响应的规则
## 网络应用模型
### 客户/服务器模型
![](../../images/《计网》应用层/客户服务器模型.png)
* 主要特点
* 客户是服务请求方,服务器是服务提供方
* 服务器特点
* 提供永久服务
* 服务器IP地址固定不变
* 客户端特点
* 与服务器通信,使用服务器提供的服务
* 间歇性接入网络
* 可能使用动态的IP地址
* 不与其他客户端直接通信
* 常见应用
* Web
* 文件传输协议FTP
* 远程登录
* 电子邮件
### P2P模型
![](../../images/《计网》应用层/P2P模型.png)
* 主要特点
* 显著特点:对等节点之间有直接通信能力
* P2P是指在互联网中由对等节点组成的一种覆盖网络
* P2P是一种动态的逻辑网络不是一种物理网络
* 不存在永远在线的服务器
* 每个主机既可以提供服务,也可以请求服务
* 节点间歇性接入网络并且可能改变IP地址
* 自扩展性好,网络健壮性强
## 域名系统DNS
* DNS作用把域名转换为IP地址
* DNS采用C/S模型
* DNS协议运行在UDP上使用53端口
### DNS组成部分
* 层次域名空间
* ![](../../images/《计网》应用层/层次域名空间.png)
* 顶级域名
* 二级域名
* 三级域名
* 多个标号组成的完整域名总共不超过255个字符
* 域名服务器
* ![](../../images/《计网》应用层/域名服务器.png)
* 种类
* 根域名服务器(.
* 顶级域名服务器
* 授权/权限域名服务器
* 一定能在授权服务器找到对应的IP号
* 本地域名服务器
* 域名服务器被设计为一种联机的分布式数据库系统采用C/S模型
* 域名解析过程
* 递归查询
* ![](../../images/《计网》应用层/递归查询.png)
* 本机向本地域名服务器的查询是递归查询
* 递归迭代查询
* ![](../../images/《计网》应用层/递归迭代查询.png)
* 本地域名服务器向根域名服务器的查询是迭代查询
* 流程
* 主机m.xyz.com先向其本地域名服务器dns.xyz.com进行递归查询
* 本地域名服务器采用迭代查询。它向一个根域名服务器查询
* 根域名服务器告诉本地域名服务器下一次应查询的顶级域名服务器dns.com的IP地址
* 本地域名服务器向顶级域名其dns.com进行查询
* 顶级域名服务器dns.com告诉本地域名服务器下一次查询的权限域名服务器的dns.baidu.com的IP地址
* 本地域名服务器向权限域名服务器dns.baidu.com进行查询
* 权限域名服务器dns.baidu.com告诉本地域名服务器所查询的主机的IP地址
* 本地域名服务器dns.xyz.com最后把查询结果告知主机m.xyz.com
* 8个步骤共要使用8个UDP用户数据报使用UDP是为了减少开销的报文
* 本地域名服务器经过三次迭代查询后从权限域名服务器dns.baidu.com得到了主机www.baidu.com的IP地址
* 高速缓存DNS缓存
* 在域名服务器中使用DNS的目的
* 为了提高DNS查询效率
* 减轻根域名服务器的负荷和减少互联网上的DNS查询报文数量
* DNS服务器将在一段时间后丢弃高速缓存中的信息
## 文件传输协议FTP
* FTP使用TCP可靠的传输服务
* FTP必须在整个会话期间保留用户的状态信息
* 服务器必须追踪用户在远程目录树上的当前位置
* FTP特点
* 提供交互式访问
* 运行客户指明文件的类型与格式,运行文件具有存取权限
* 适合在异构网络中的任意计算机之间传送文件
* FTP功能
* 提供不同种类主机系统(软硬件都可)之间的文件传输能力
* 以用户权限管理的方式提供用户对远程FTP服务器的文件管理能力
* 以匿名FTP的方式提供公用文件共享的能力使用anonymous作为用户名
* FTP组成
* 一个主进程,负责接收新的请求
* 若干个从属进程,负责处理单个请求
* 主进程步骤
* 服务端打开21端口使客户进程能够连接上
* 等待客户进程发出连接请求
* 启动从属进程处理客户进程发来的请求。主进程与从属进程并发执行,从属进程对客户进程的请求处理完毕后即终止。
* 回到等待状态,继续接受其他客户进程发来的请求
### FTP工作时用到的TCP连接
* FTP使用两个独立的连接的好处
* 使协议更加简单和容易实现
* 在传输文件的时候可以利用控制连接对文件的传输进行控制(如用户可以在文件传输过程中发生请求中止服务)
![](../../images/《计网》应用层/FTP工作时用到的TCP连接.png)
* 控制连接
* 作用
* 用于将命令从客户传给服务器并传回服务器的应答
* 端口
* 21端口
* 特点
* 控制信息都以7位ASCII格式传送
* 控制连接在整个会话期间一直保持打开
* FTP的控制信息是带外传送的
* 数据连接
* 作用
* 用于传输文件
* 端口
* 20端口
* 特点
* PORT模式
* 主动模式
* 传送数据是服务器连接到客户端端口
* PASV模式
* 被动模式
* 传送数据是客户端连接服务器端口
## 电子邮件系统
* 电子邮件系统是一种异步通信方式
* 基于WWW的电子邮件
* 用户浏览器与Gmail的邮件服务器用HTTP发送或接收邮件
* 不同邮件服务器之间传送用SMTP
* 三个组成部分
* 用户代理用户与电子邮件系统的接口如Outlook,Foxmail
* 邮件服务器,用来发送和接收邮件
* 邮件发送协议SMTP【类似Push】和读取协议pop3【类似Pull】
* 发送接收过程
* ![](../../images/《计网》应用层/电子邮件发送接收过程.png)
### 电子邮件格式
* 电子邮件 = 信封 + 内容
* 内容 = 首部【RFC822规定】 + 主体【用户自用撰写】
* 首部的关键字
* From:abc@cskaoyan.com【必须要】由邮件系统自动填入
* To:x123@cskaoyan1.com【必须要】abc是收件人邮箱号后者是邮箱所在主机的域名
* Subject:xxxxxxx【可选】是邮件的主题
* 多用途网络邮件扩充MIME
* 因为SMTP/pop3只能传送一定长度的ASCII码邮件且无法传送可执行文件及其他二进制对象所以提出MIME
* MIME继续使用SMTP的格式增加了邮件主题的结构定义了传送非ASCII码的编码规则
### 发送协议和读取协议
||SMTP|POP3|IMAP|
|---|---|---|---|
|定义|一种提供可靠且有效的电子邮件传输协议|一种非常简单但功能有限的邮件读取协议|因特网报文存取协议|
|特点|使用C/S方式<br>使用TCP连接<br>端口号25<br>只支持传输7比特ASCII码内容|使用C/S方式<br>使用TCP连接<br>端口号为110<br>POP3协议是用明文传输密码的不对密码加密|为用户提供了联机命令<br>创建文件夹<br>在不同文件夹之间移动邮件<br>在远程文件夹中查询邮件<br>IMAP服务器维护了会话用户的状态信息<br>允许用户代理只获取报文的某些部分<br>适合低带宽|
|工作过程|连接建立<br>邮件传送<br>链接释放|下载并保留<br>下载并删除||
## 万维网
* WWW是一个分布式联机式的信息存储空间
* 组成部分
* 统一资源定位符URL
* 标志分布在整个互联网上的万维网文档
* 超文本传送协议HTTP
* 实现WWW上的各种连接的协议
* 超文本标记语言HTML
* 使不同风格的文档在互联网上的主机显示
* URL的形式
* <协议>://<主机>:<端口>/<路径>
## HTTP协议
* 定义了浏览器向服务器请求web页面的方式以及服务器向浏览器传送页面的方式
* HTTP特点
* HTTP使用面向连接的TCP作为传输层协议保证了数据的可靠传输
* HTTP协议本身是无连接的
* HTTP协议是无状态的
* 不需要保存客户的状态信息可以减少服务器的CPU及内存的消耗
### Cookie
![](../../images/《计网》应用层/Cookie.png)
* Cookie是网站为了辨别用户身份进行会话跟踪而存储在客户端上的数据
* Cookie的组成
* 在HTTP响应报文中的一个cookie首部行
* 在HTTP请求报文中的一个cookie首部行
* 在用户端系统中保留一个cookie文件由用户的浏览器进行管理
* 位于web站点的一个后端数据库
### HTTP操作过程
![](../../images/《计网》应用层/HTTP操作过程.jpg)
* 浏览器分析链接指向页面的URL
* 浏览器向DNS请求解析网址的IP地址
* 域名系统DNS解析出IP地址
* 浏览器与该服务器建立TPC链接【默认端口80】
* 浏览器发送HTTP请求
* 服务器通过HTTP响应把文件发送给浏览器
* 释放TCP连接
* 浏览器解释文件把web页面显示给用户
### 持久连接和非持久连接
* 非持久连接
* ![](../../images/《计网》应用层/非持久连接.png)
* 传输时间
* 文档传输时间 + 两倍的往返时间RTT
* connection状态
* 标志为close说明是非持久连接
* 持久连接
* ![](../../images/《计网》应用层/持久连接.png)
* 传输时间
* 共经历1个RTT延迟
* connection状态
* 标志为keep-alive,说明是持久连接
* HTTP/1.1的默认方式是持久连接
### HTTP的报文结构
![](../../images/《计网》应用层/HTTP的报文结构.jpg)
* 两类HTTP报文
* 请求报文
* 响应报文
* 报文的组成
* 开始行【请求报文为请求行】【响应报文为状态行】
* 首部行
* 实体主体
* 请求报文采用的方法
* GET【请求】
* HEAD【读取URL表示的信息的首部无response】
* POST【上传信息】
* CONNECT【代理服务器】
* 实例
* ![](../../images/《计网》应用层/HTTP的报文结构实例.jpg)

Binary file not shown.

After

Width:  |  Height:  |  Size: 137 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 183 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 115 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 156 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 363 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 124 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 114 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 158 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 178 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 102 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 115 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 115 KiB