超详细的计算机网络基础知识总结 第六章:应用层

本文基于:王道计算机考研-计算机网络

☺其他文章:

超详细的计算机网络基础知识 第一章:概述
超详细的计算机网络基础知识 第二章:物理层
超详细的计算机网络基础知识 第三章:数据链路层
超详细的计算机网络基础知识 第四章:网络层
超详细的计算机网络基础知识 第五章:传输层

相见即是有缘,如果对你有帮助,给博主一个免费的点赞以示鼓励把QAQ☺

超详细的计算机网络基础知识总结 第六章:应用层_第1张图片

1 应用层概述

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

应用层的功能:

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

应用层的重要协议:

  • FTP
  • SMTP,POP3
  • HTTP
  • DNS

超详细的计算机网络基础知识总结 第六章:应用层_第2张图片

2 网络应用模型

2.1 客户/服务器模型(Client/Server)

超详细的计算机网络基础知识总结 第六章:应用层_第3张图片

2.2 P2P模型(Peer-to-peer)

P2P中的主机既可以提供服务,也可以请求服务,即使一个坏了,另一个也可以代替

超详细的计算机网络基础知识总结 第六章:应用层_第4张图片
超详细的计算机网络基础知识总结 第六章:应用层_第5张图片

3 DNS系统

DNS将域名转换成IP地址
超详细的计算机网络基础知识总结 第六章:应用层_第6张图片

3.1 域名

www.xxx.com就是一个域名,域名从左到右以点为分割,级别也越来越高,.com后面可以有顶级域名,我们称为根

域名要求全球唯一
超详细的计算机网络基础知识总结 第六章:应用层_第7张图片
超详细的计算机网络基础知识总结 第六章:应用层_第8张图片

3.2 域名服务器

DNS服务器可以分为三层:根域名服务器,顶级域名服务器,权限域名服务器

本地域名服务器:我们也称之为默认域名服务器,当要查询离用户或主机比较近的另一台主机在同一个范围内的时候,就可以直接处理

根域名服务器

- 是最高层次的服务器,是所有域名服务器中的老大,他知道所有顶级域名服务区的域名和ip地址,根域名只知道接
  下来寻找哪一个顶级域名服务器,其他的不归他管
  
- 管理该顶级域名服务器注册的所有二级域名

权限域名服务器

- 负责一个区的域名服务器
- 
- abc.org和y.abc.org虽然长度不一样,但在地位上是对等关系

超详细的计算机网络基础知识总结 第六章:应用层_第9张图片

3.2.1 域名解析过程

超详细的计算机网络基础知识总结 第六章:应用层_第10张图片

递归查询

是一种靠别人的查询,比如说在访问一个网站的时候,首先要进行DNS的查询请求,

首先要查询的是本地域名服务器,解析不到就去根域名服务器

如果根域名服务器还是无法解析完整,就去请求顶级域名服务器的帮助

如果顶级域名服务器还是无法解析完整,就去请求权限域名服务器的帮助

如果解析完整,就按照刚才的顺序依次返回

迭代查询

是一种靠自己的查询,如果本地服务器中并没有域名所对应的ip地址

他就去查根域名服务器,如果根域名服务器也没有,

就由本地域名服务器再去查询顶级域名服务器(根域名服务器会告诉本地域名服务器去访问哪台顶级域名服务器)

超详细的计算机网络基础知识总结 第六章:应用层_第11张图片
由上图可以看到两个过程都是比较繁琐的,因此为了提高效率,我们需要用到高速缓存

高速缓存用来存放最近查过的域名以及从哪里获得这个映射信息的记录,这样再次查询同一个域名的时候就可以直接查到而不用经历繁琐的步骤

4 FTP协议

文件传输协议(FTP File Transfer Protocol)

提供不同种类主机系统(硬,软件体系等都可以不同)之间的文件传输能力
超详细的计算机网络基础知识总结 第六章:应用层_第12张图片

4.1 FTP服务器和用户端

超详细的计算机网络基础知识总结 第六章:应用层_第13张图片

4.2 FTP工作原理

超详细的计算机网络基础知识总结 第六章:应用层_第14张图片
通常使用匿名登录ftp服务器

因为有太多的人都要登录服务器对文件进行下载上传拷贝,为了使服务器的负荷不至于过大,就采用匿名登录,只要
输入地址就可以登录

FTP使用TCP实现可靠传输

FTP的进程

  • 1个主进程
  • n个从属进程

主进程首先打开服务器的熟知端口21,使客户进程成功的连接上,接下来等待客户进程发送连接请求,然后进行数据的连接和传送,接下来启动从属进程,每个从属进程都可以单独处理客户的请求
超详细的计算机网络基础知识总结 第六章:应用层_第15张图片
注意:
图中的圆柱就表示正在运行的两个进程,控制进程与数据传送进程都属于从属进程,图中并不是没有主进程,而是没有划出来

注意控制连接一直打开,关闭的是数据连接端口,客户端与服务端只要建立会话,控制连接就不会关闭,数据连接是根据文件是否传送完毕来决定连接是否关闭,TCP数据连接端口也不一定是20,是否是20与传输模式有关,主动传输模式使用TCP 20端口,被动方式由服务器和客户端自行协商决定(端口>1024)

主动方式

  • 服务器端主动与客户端建立连接

被动方式

  • 客户端请求与服务器端建立连接

超详细的计算机网络基础知识总结 第六章:应用层_第16张图片

5 电子邮件

5.1电子邮件的信息格式

超详细的计算机网络基础知识总结 第六章:应用层_第17张图片

5.2 电子邮件的组成结构

超详细的计算机网络基础知识总结 第六章:应用层_第18张图片
发送邮件用到SMTP

接收邮件用到POP3

邮件服务器的主要功能

  • 发送&接收邮件
    • 接收是指接收方的邮件服务器接收发送方服务器传过来的邮件
    • 发送是指邮件服务器发送给接收方的邮件服务器
  • 向发件人报告邮件传送结果

邮件服务器采用C/S模式,且每台服务器都可以同时充当服务端或客户端

超详细的计算机网络基础知识总结 第六章:应用层_第19张图片

5.3 邮件协议

5.3.1 简单邮件传送协议SMTP

超详细的计算机网络基础知识总结 第六章:应用层_第20张图片

SMTP服务器既可以充当服务端也可以充当客户端

SMTP建立在TCP连接之上,使用的端口号是25,使用C/S模式
超详细的计算机网络基础知识总结 第六章:应用层_第21张图片

RCPT命令表示的是要发送给谁,可能是群发,所以可能是多条

5.3.2 MIME协议

超详细的计算机网络基础知识总结 第六章:应用层_第22张图片

5.3.3 POP3协议

超详细的计算机网络基础知识总结 第六章:应用层_第23张图片

5.3.4 IMAP协议

超详细的计算机网络基础知识总结 第六章:应用层_第24张图片

5.3.5 基于万维网的电子邮件

超详细的计算机网络基础知识总结 第六章:应用层_第25张图片

发送邮件使用的是HTTP协议,在中间发送邮件的环节使用的是SMTP协议

超详细的计算机网络基础知识总结 第六章:应用层_第26张图片

6 万维网和HTTP协议

6.1 万维网概述

万维网使用统一资源定位符URL来唯一标识文字,视频,音频等资源,URL不区分大小写

这些资源通过超文本传输协议(HTTP)传送给使用者
超详细的计算机网络基础知识总结 第六章:应用层_第27张图片

6.2 HTTP协议

超详细的计算机网络基础知识总结 第六章:应用层_第28张图片

6.2.1 HTTP协议的特点

HTTP协议本身是无连接的(通信双方在交换HTTP报文之前不需要先建立HTTP连接)

超详细的计算机网络基础知识总结 第六章:应用层_第29张图片

6.2.2 HTTP协议的连接方式

超详细的计算机网络基础知识总结 第六章:应用层_第30张图片

非持久连接发生在TCP三次握手中的第三次握手中,HTTP请求报文作为数据发送给万维网服务器,服务器收到请求就
会返回给浏览器一个HTTP响应报文,响应报文是有一定长度的,所以非持久连接需要消耗2倍的RTT+文档的传输时间
,如果万维网客户再发一个HTTP请求报文,就要又走一遍上面的流程,这是非持久连接的坏处:时间消耗比较长

持久连接在非持久连接的基础上进行了改进,当用户再次发送请求,就不需要重新建立连接了,而是直接在原来连接的基础上继续请求元素

持久连接的两种方式

非流水线式

  • 发送一个请求就确认一个请求,一个一个来

流水线式

  • 发送多个请求后一次性确认完

6.3 HTTP报文结构

超详细的计算机网络基础知识总结 第六章:应用层_第31张图片
具体的请求报文的例子
超详细的计算机网络基础知识总结 第六章:应用层_第32张图片

7 第六章思维导图

超详细的计算机网络基础知识总结 第六章:应用层_第33张图片

☺其他文章:

超详细的计算机网络基础知识 第一章:概述
超详细的计算机网络基础知识 第二章:物理层
超详细的计算机网络基础知识 第三章:数据链路层
超详细的计算机网络基础知识 第四章:网络层
超详细的计算机网络基础知识 第五章:传输层

相见即是有缘,如果对你有帮助,给博主一个免费的点赞以示鼓励把QAQ☺

超详细的计算机网络基础知识总结 第六章:应用层_第34张图片

你可能感兴趣的:(计算机网络,网络,计算机网络,面试,经验分享,网络协议)