文章目录
计算机网络-6-应用层
1.网络应用模型
1.1应用层概述
应用层对应用程序的通信提供服务。
应用层协议定义了什么?
- 应用进程交换的报文类型,请求还是响应?
- 各种报文类型的语法,如报文中的各个字段及其详细描述。
- 字段的语义,即包含在字段中的信息的含义。
- 进程何时、如何发送报文,以及对报文进行响应的规则。
应用层的功能:
- 文件传输、访问和管理。
- 电子邮件。
- 虚拟终端。
- 查询服务和远程作业登录。
应用层的重要协议:FTP
,SMTP
,POP3
,HTTP
,DNS
。
1.2客户/服务器(C/S)模型
服务器:提供计算服务的设备。
- 永久提供服务。
- 永久性访问地址/域名。
客户机:请求计算服务的主机。
- 与服务器通信,使用服务器提供的服务。
- 间歇性接入网络。
- 可能使用动态IP地址。
- 不与其他客户机直接通信。
应用:Web
,文件传输FTP
,远程登录,电子邮件。
1.3P2P模型
- 不存在永远在线的服务器。
- 每个主机既可以提供服务,也可以请求服务。
- 任意端系统/节点之间可以直接通讯。
- 节点间歇性接入网络。
- 节点可能改变IP地址。
- 可扩展性好。
- 网络健壮性强。
2.DNS系统
2.1DNS概述
DNS就是将在地址栏的域名转化为IP地址的东西。
2.2域名
域名就是www.xxx.com
,当然这是最简单的一种 .com
之后还可以有东西,称之为根,域名从左向右,级别逐渐增高。
2.3域名服务器(DNS服务器)
-
域名服务器层次结构:
- 根域名服务器
- *域名服务器
- 权限域名服务器
- 本地域名服务器不算层次结构,特点是里主机比较近,当主机和另一台比较近的主机通信时,就不用走哪些更高级的服务器了。
- 根域名服务器并不是一个域名只有一台,而是一个域名对应多台域名服务器,全世界一共有13个这样的域名,分别是a.rootservers.net,b.rootservers.net,c.rootservers.net,…~m.rootservers.net
- 在权限域名服务器中,虽然看似abc.com比y.abc.com少了一位,但是他们的地位仍是对等的,对应的两台权限域名服务器。
2.4域名解析过程
- 递归查询(靠别人)
- 迭代查询(靠自己)
高速缓存:为了减少多次查询同一个域名的资源浪费,本地域名服务器会存储最近使用的ip地址解析,下次再访问同一个域名就不需要这么多查询步骤了。同时这个高速缓存主机本身也有存储同时本地域名服务器还可以对*域名服务器,权限域名服务器的地址进行缓存,下一次即使是不知道的ip地址,查询也可以更快。
高速缓存为了保持正确性,需要定时更新。
3.文件传送协议FTP
3.1概述
文件传送协议FTP:提供不同种类主机系统之间的文件传输能力。
3.2FTP的服务端和客户端
- FTP是**基于客户/服务器(C/S)**的协议。
- 用户通过一个客户机程序连接至在远程计算机上运行的服务器程序。
- 依照FTP协议提供服务,进行文件传送的计算机就是FTP服务器。
- 连接FTP服务器,遵循FTP协议与服务器传送文件的电脑就是FTP客户端。
3.3FTP工作原理
- 主进程和从属进程的区别:主进程是打开端口,让外部发送的数据可以进来,并且将这些数据逐个分配各从属进程。从属进程则是单独为这些数据服务。
4.电子邮件
4.1电子邮件的信息格式
4.2电子邮件的组成结构
- 发邮件:SMTP。
- 收邮件:POP3或IMAP。
-
邮件服务器的功能:
- 发送&接收邮件。
- 向发件人报告邮件传送结果。
- 邮件服务器采用的是C/S模型。
4.3简单邮件传送协议SMTP
- SMTP规定了在两个相互通信的SMTP进程之间应如何交换信息。
- 负责发送邮件的SMTP进程就是SMTP客户,负责接收邮件的进程就是SMTP服务器。
- SMTP规定了14条命令(几个字母)和21种应答信息(三位数字代码+简单文字说明)。
- SMTP协议采用TCP连接。
- SMTP占用的端口号是25。
- SMTP采用C/S模型。
- SMTP通信三个阶段:
- 连接建立
- 邮件发送
- 连接释放
-
连接建立
-
邮件发送
-
连接释放
4.4通用因特网邮件扩充MIME协议
-
SMTP的缺点:
1.SMTP不能传送可执行文件或者其他二进制对象。
2.SMTP仅限于传送7位ASCII码,不能传送其他非英语国家的文字。
3.SMTP服务器会拒绝超过一定长度的邮件。
-
正是由于SMTP协议有这些缺点才有了MIME协议。
-
MIME协议:使电子邮件系统可以支持声音、图像、视频、多种国家语言等等。使得传输内容丰富多彩。
4.5邮局协议POP3
-
邮局协议POP3的工作方式:
- 下载并保留(在服务器)。
- 下载并删除。
- 采用TCP连接。
- 端口号110。
- C/S模型。
4.6网际报文存取协议IMAP
- IMAP协议比POP协议复杂。当用户PC上的IMAP客户程序打开IMAP服务器的邮箱时,用户可以看到邮箱的首部,若用户需要打开某个邮件,该邮件才上传到用户的计算机上。
- IMAP可以让用户在不同的地方使用不同的计算机随时上网阅读处理邮件,还允许只读取邮件中的某一个部分(先看正文,有WiFi的时候再下载附件)。
4.7基于万维网的电子邮件
与之前的不同的地方就是,基于万维网的电子邮件的邮件服务器端可以不同。
同时,发送邮件使用的SMTP/MIME和收邮件时的POP3/IMAP协议都换成了HTTP协议。
5.万维网和HTTP协议
5.1万维网概述
-
万维网www(World Wide Web):是一个大规模的,联机式的信息储藏所/资料空间,是无数个网络站点和网页的集合。万维网以客户/服务器方式工作,用户使用的浏览器就是万维网客户程序,万维网文档所驻留的主机运行服务器程序。
-
URL:统一资源定位符。来标识整个互联网当中某一个资源(文字,视频,音频…)。
-
HTTP:超文本传输协议。用户通过点击超链接(https://www.bilibili.com/)获取资源,这些资源通过超文本传输协议HTTP传送给使用者。
-
HTML:超文本标记语言。使得万维网页面设计者可以很方便地从一个界面的链接转到另一个界面,并能够在自己的屏幕上显示出来。
5.3HTTP协议的过程
- HTTP协议定义了浏览器(万维网客户进程)怎样向万维网服务器请求万维网文档,以及服务器怎样把文档传送给浏览器。
-
具体过程:
- 浏览器分析URL。
- 浏览器向DNS请求解析IP地址。
- DNS解析出lP地址。
- 浏览器与服务器建立TCP连接。
- 浏览器发出取文件命令。
- 服务器响应。
- 释放TCP连接。
- 浏览器显示。
5.4HTTP协议的特点
HTTP协议的特点:
- HTTP协议是无状态的。
- HTTP采用TCP作为运输层协议,但HTTP协议本身是无连接的(通信双方在交换HTTP报文之前不需要先建立HTTP连接)。
-
HTTP的连接方式:
- 持久连接
- 非流水线
- 流水线
- 非持久连接
- 持久连接
小知识:
由于HTTP协议是无状态的,但是在实际工作中,一些万维网站点常常希望能够识别用户。
于是有了Cookie。Cookie是存储在用户主机中的文本文件,记录一段时间内某用户(使用识别码识别,如“123456”)的访问记录。可为用户提供个性化服务。
5.5HTTP连接方式
- 非持久连接:如果再次传输需要重新建立TCP连接从头开始。
-
持久连接:再次请求时不需要重新建立新的TCP连接。
- 非流水线:发一个,确认一个,才能发下一个。
- 流水线:一个个接着发,然后多个确认。
5.6HTTP的报文结构
- HTTP报文是面向文本的,因此在报文中的每一个字段都是一些ASClI码串。
- 开始行:用于区别请求报文和响应报文。下图可以看出两种请求报文开始行不相同。
- URL:标识传送的资源。