计算机网络——应用层(完结撒花)

应用层功能

1、文件传输、访问和管理。(FTP协议)

2、电子邮件。(HTTP协议、SMTP协议、IMAP协议)

3、虚拟终端。(HTTP协议)

查询服务和远程作业登录。(DNS协议)

网络应用的两种模型

客户/服务器模型(C/S)模型

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

特点:

1⃣️、永久提供服务

2⃣️、永久性访问地址/域名

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

特点:

1⃣️、与服务器通信,使用服务器提供的服务。

2⃣️、间歇性的接入网络。

3⃣️、可能使用动态的IP地址。

4⃣️、与其他客户直接通信

贴一张图帮助更直观的理解:

计算机网络——应用层(完结撒花)_第1张图片

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

P2P模型

特点:

1⃣️、不存在永远在线的服务器。

2⃣️、每个主机既是客户机又是服务器,既可以请求服务,又可以提供服务。

3⃣️、任意端系统/结点之间都可以直接通讯

4⃣️、节点间歇性的接入网络。

5⃣️、结点可能改变IP地址。

6⃣️、可拓展性好。

7⃣️、网络健壮性强。

DNS系统(域名解析系统)

DNS系统

当你想访问一个网站的时候,你需要知道那个网站的IP地址是多少。但我们知道IP地址记忆起来有点困难,因此就有了一种解决办法——域名,我们虽然记不住百度的IP地址,但我们能记住百度的域名是www.baidu.com。DNS系统的作用就是将域名转换成IP地址,从而完成对某一个网站的访问。

因此每当客户端想要访问一个网站的时候,客户端将这个网站的域名传给DNS服务器,DNS服务器解析出IP地址,然后将IP地址传递给客户端,客户端就可以对其进行一个访问。

DNS系统的作用就是将域名解析为IP地址。

域名

我们用这张图片来举例子

计算机网络——应用层(完结撒花)_第2张图片

域名的构成:

域名由根(com后面的一个.)+顶级域名+二级域名+三级域名(有的还有四级域名,例如北大的域名是www.pku.edu.com)构成。

自右向左域名等级逐渐降低。

那不同级别的域名分别表示什么呢?

计算机网络——应用层(完结撒花)_第3张图片

用北大的域名(www.pku.edu.cn)来举个例子

由上面的图可以知道

顶级域名cn,表示中国的域名。

二级域名edu,表示教育行业的域名。

三级域名pku,有二级域名就会有一个三级域名,北大所申请的三级域名就是pku。

四级域名www,表示北大的首页。

域名服务器

如果所有的域名都在一个服务器里面解析,那肯定会很慢。因此域名服务器分为以下几种:

1⃣️、根域名服务器

2⃣️、顶级域名服务器

3⃣️、权限域名服务器

先来看一张图片

计算机网络——应用层(完结撒花)_第4张图片

从图片中我们可以总结出:

按照域名的等级,上一等级的域名服务器可以解析出下一服务器域名的IP地址,并知道接下来该发往什么服务器。

比如根域名服务器,就能够解析出顶级域名对应的IP,并且知道接下来要发往有着对应域名的顶级域名服务器。下面的同理可推。 

特殊的——本地域名服务器:

当主机发出DNS查询请求时,这个查询请求报文就先发送给本地域名服务器。

本地域名服务器中有高速缓存。如果本地域名服务器曾经访问过那个域名的话,就会把那个域名记录下来,下次用的时候可以直接从本地缓存中获取,没有的话就转发到其他的域名服务器中完成IP的获取。

域名解析过程

分为递归查询和迭代查询两种,下面我们通过看一张图来了解一下。

左边是递归查询,右边是递归查询和迭代查询相结合。 

计算机网络——应用层(完结撒花)_第5张图片

我们来总结一下什么是递归查询,什么是迭代查询。

递归查询:查询不到就一直向下传递,直到查询完毕,然后再按照原来的路径传递回客户端中。

迭代查询:查询不到就传递回本地域名服务器中,并告知本地域名服务器接下来该去哪个域名解析服务器,然后由本地域名服务器亲自去查询。

文件传输协议FTP

文件传送协议FTP、简单文件传送协议TFTP

作用:

不同类型主机系统(软、硬件体系等都可以不同)之间的文件传输能力。

FTP的功能就是进行拷贝,拷贝又分为上传和下载两种主要功能。

FTP是基于客户/服务器(C/S)的协议

FTP的工作原理

登录:

1⃣️、ftp地址➕用户名和密码

2⃣️、匿名登录(无需在服务器下面进行登记注册,也不用取得FTP服务器的授权)

Anonymous(匿名文件传输)能够使用户与远程主机间建立联系,并以匿名的身份拷贝文件。

FTP使用TCP实现可靠传输。

FTP服务器进程可以分为1个主进程、n个从属进程。

主进程负责安排请求,当有一个请求时,主进程都会为该请求安排一个从属进程。

FTP服务器的熟知端口是21

两种传输模式

先来看一张图:

计算机网络——应用层(完结撒花)_第6张图片

由图我们可以得知,TCP控制连接端口21是负责用来传请求的,TCP数据连接端口是用来传文件的。然而传文件是否使用TCP 20端口建立数据连接还与传输模式有关。 

主动传输(使用TCP 20端口)

主动传输在控制连接建立时,客户端会将自己的数据传送进程的端口号发送给服务器端,服务器端根据客户端所提供的端口号,主动的与客户端建立数据连接。

被动传输(端口>1024)

被动传输在控制连接建立后,客户端会请求询问服务器要给它一个什么样的端口号,服务器将端口号传给客户端,客户端根据端口号完成数据连接的建立。

区别在于主动传输的数据连接是服务器发出TCP请求建立的,被动传输的数据连接是客户端发出TCP请求建立的。

电子邮件

先来通过一张图片了解一下电子邮件的信息格式

计算机网络——应用层(完结撒花)_第7张图片

电子邮件的系统概述——组成结构

先来看张图片了解一下

计算机网络——应用层(完结撒花)_第8张图片

 用户代理的四个功能:

1⃣️、撰写 

2⃣️、显示

3⃣️、处理

4⃣️、通信

使用的协议

SMTP协议:

用来发送邮件的协议。

规定了两个互相通信的SMTP进程之间应该如何交换信息。

STMP规定了14条命令(几个字母)和21种应答信息(三位数字代码➕简单文字说明)

SMTP通信的三个阶段

TCP连接 端口号25 C/S

连接建立——邮件发送——连接释放计算机网络——应用层(完结撒花)_第9张图片

 发送方邮件服务器先于接收方服务器建立好TCP连接, 然后接收方服务器返回一个“220 Service ready”,表示已经准备就绪,然后发送方服务器发送一个HELLO命令,如果SMTP服务器有能力接受文件就回答“250 OK”,否则的话就会返回“421 Service not available”

途中邮件发送的第三步所出现的RCPT是收件人名字的缩写。所以可以有多个,相当于群发邮件。

SMTP所存在的缺点

计算机网络——应用层(完结撒花)_第10张图片

所以这就需要我们下面所说到的MIME 。

通用因特网邮件扩充MIME,应用于STMP协议之上,作用如下图所示

计算机网络——应用层(完结撒花)_第11张图片

 

POP3协议:

TCP连接 端口号110 C/S

POP3的工作方式有两种

下载并保留(在服务器)

下载并删除(当用户从服务器中取出邮件时,删除邮件)

无论怎么样,邮件中的内容都会被下载下来,会占内存,而且邮件取出会被删除,也很不方便,所以就有了下面的IMAP协议。

网际报文存取协议IMAP

IMAP使用的位置就是从接受段服务器到用户端读取的那个位置。

IMAP的特点

计算机网络——应用层(完结撒花)_第12张图片

 可以看到邮箱的首部,从而决定要不要对文章进行一个下载,还可以只读区邮件中的某一个部分。

最后我们来说一下基于万维网的电子邮件,也是我们现在比较常用的一种电子邮件,很方便。

 先来看一张图了解一下其结构:
计算机网络——应用层(完结撒花)_第13张图片

 我们可以发现,这张图与上面的区别就是

1⃣️、可选择的服务器不同。可以为某公司的服务器

2⃣️、使用的协议不同。 在发送方到服务器之间和接收方到服务器之间使用HTTP协议

万维网和HTTP协议

 万维网概述:

计算机网络——应用层(完结撒花)_第14张图片

万维网的定义见上图

万维网中的三个重点:

1⃣️、URL统一资源定位符 唯一标识(不区分大小写)

URL的一般形式:
<协议>://<主机>:<端口>/<路径>

协议:http协议、ftp协议

主机:也就是域名或者IP地址

端口和路径可以没有。

举个例子http://www.baidu.com(超链接)

2⃣️、超文本传输协议HTTP

端口号80

计算机网络——应用层(完结撒花)_第15张图片 

 通过HTTP协议来完成文件的获取可以分为八步(简称天龙八步)

具体操作看上图右边即可。

HTTP协议的特点

计算机网络——应用层(完结撒花)_第16张图片

HTTP协议是无状态的,也就是说你关闭一个网站后,再次打开它,它和第一次所显示的内容一样。但实际中,比如淘宝,就希望能够识别用户,为用户提供一些服务。这就用到了Cookie小饼干。

COokie是储存在用户主机中的文本文件,能够记录一段时间内某用户的访问记录(用识别码来识别,比如“123456”),并据此提供个性化服务。

HTTP协议的连接方式分为非持久连接和持久连接两种方式,具体见下图:

计算机网络——应用层(完结撒花)_第17张图片

非持久连接在完成文档请求后,就会断开TCP连接,持久连接就不会断开TCP连接。

持久连接中的流水线持久连接,就是可以连续发送请求,非流水线就是一次只能发送一个请求,直到收到该请求为止,才能继续发送下一个请求。

超文本传输协议HTTP的报文结构,具体见下图

计算机网络——应用层(完结撒花)_第18张图片

计算机网络——应用层(完结撒花)_第19张图片 

方法:就是对请求的文档要进行什么操作。

至此,计算机网络圆满结束啦,哈哈哈哈,完结撒花,不过之后还是要多多复习,在生活中多多思考和计网有关的相关知识,温故而知新,加油!

你可能感兴趣的:(http,网络,网络协议)