1.应用层概述和网络应用模型1.1.应用层概述

应用层概述:应用层是网络分层模型中的最高层,也是整个网络最终的服务对象,其作用是对应用程序的通信提供服务,主要会回答以下问题:

应用层功能有:

应用层较为重要的协议有:

1.2.网络层应用模型1.2.1.Client-Server 模型(C/S 模型)

Client-Server 模型(C/S 模型):由以下两类角色:

客户端:请求计算服务的主机。

工作流程如下:

取消用户默认共享_用户默认头像高清_计算机默认用户名

其他特点有:

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

1.2.2.Peer to Peer 模型(P2P 模型)

Peer to Peer 模型(P2P 模型):整个网络中的传输内容不再被保存在中心服务器上,每个结点都同时具有下载、上传的功能, 其权利和义务都是大体对等的。

取消用户默认共享_用户默认头像高清_计算机默认用户名

相比 C/S 模型,P2P 模型的优点有:

P2P模型也有缺点。在获取服务的同时,还要给其他结点提供服务,因此会占用较多的内存,影响整机速度。例如,经常进行P2P下载还会对硬盘造成较大的损伤。据某互联网调研机构统计,当前P2P程序已占互联网50%~90%的流量,使网络变得非常拥塞,因此各大ISP(互联网服务提供商,如电信、网通等)通常都对P2P应用持反对态度。

2.域名解析系统(DNS)

DNS(域名解析系统):相对于冗长、难以记忆的 IP 地址,人们更喜欢使用具有特定含义的字符串来标识主机(例如),但最终通信时仍然需要 IP 地址,所以 DNS 可以实现将网址(域名)转换为其对应的 IP 地址。

用户默认头像高清_取消用户默认共享_计算机默认用户名

2.1.层次域名空间

层次域名:DNS 中的域名都是用句点来分隔的,比如 ,这里的句点代表了不同层次之间的界限。在域名中,越靠右的位置表示其层级越高。域名的层级关系采用树状结构。

其中顶级域名又分为三类:

用户默认头像高清_计算机默认用户名_取消用户默认共享

2.2.域名服务器

域名解析系统是一个联机分布式的数据库系统(采用 C/S 模型),域名到 IP 地址的解析是由运行在域名服务器上的程序完成的,一个服务器所负责管辖的 (或有权限的) 范围称为区 (不以“域” 为单位),各单位根据具体情况来划分自己管辖范围的区,但在一个区中的所有结点必须是能够连通的。

每个区设置相应的权限域名服务器,用来保存该区中的所有主机的域名到 IP 地址的映射。每个域名服务器不但能够进行一些域名到 IP 地址的解析,而且还必须具有连向其他域名服务器的信息。当自己不能进行域名到 IP 地址的转换时,能够知道到什么地方去找其他域名服务器。

取消用户默认共享_计算机默认用户名_用户默认头像高清

根域名服务器:根域名服务器是最高层次的域名服务器,所有的根域名服务器都知道所有的顶级域名服务器的 IP 地址。根域名服务器也是最重要的域名服务器,不管是哪个本地域名服务器,若要对因特网上任何一个域名进行解析,只要自己无法解析,就首先要求助于根域名服务器。因特网上有 13 个根域名服务器,尽管我们将这 13 个根域名服务器中的每个都视为单个服务器,但每个 “服务器” 实际上是冗余服务器的集群,以提供安全性和可靠性。需要注意的是,根域名服务器用来管辖顶级域(如. com),通常它并不直接把待查询的域名直接转换成 IP 地址,而是告诉本地域名服务器下一步应当找哪个顶级域名服务器进行查询。

顶级域名服务器:这些域名服务器负责管理在该顶级域名服务器注册的所有二级域名。收到 DNS 查询请求时,就给出相应的回答 (可能是最后的结果,也可能是下一步应当查找的域名服务器的 IP 地址)。

权限域名服务器:每台主机都必须在授权域名服务器处登记。为了更加可靠地工作,一台主机最好至少有两个授权域名服务器。实际上,许多域名服务器都同时充当本地域名服务器和授权域名服务器。授权域名服务器总能将其管辖的主机名转换为该主机的 IP 地址。

本地域名服务器:本地域名服务器对域名系统非常重要。每个因特网服务提供者 (ISP), 或一所大学,甚至一所大学中的各个系,都可以拥有一个本地域名服务器。当一台主机发出 DNS 查询请求时,这个查询请求报文就发送给该主机的本地域名服务器。事实上,我们在 Windows 系统中配置“本地连接” 时,就需要填写 DNS 地址,这个地址就是本地 DNS(域名服务器)的地址。

2.3.域名解析过程

域名解析:把域名映射成为 IP 地址或把 IP 地址映射成域名的过程。。当客户端需要域名解析时,通过本机的 DNS 客户端构造一个 DNS 请求报文,以 UDP 数据报方式发往本地域名服务器。域名解析有以下两种方式:

用户默认头像高清_计算机默认用户名_取消用户默认共享

以迭代查询为例:图片和描述来自小林 coding

取消用户默认共享_计算机默认用户名_用户默认头像高清

客户端首先会发出一个 DNS 请求,问的 IP 是啥,并发给本地 DNS 服务器 (也就是客户端的 TCP/IP 设置中填写的 DNS 服务器地址)。

本地域名服务器收到客户端的请求后,如果缓存里的表格能找到则它直接返回 IP 地址;如果没有,本地 DNS 会去问它的根域名服务器:“老大,能告诉我的 IP 地址吗”?根域名服务器是最高层次的,它不直接用于域名解析, 但能指明一条道路。

根 DNS 收到来自本地 DNS 的请求后,发现后置是. com, 说:“ 这个域名归.com区域管理”,我给你.com顶级域名服务器地址给你,你去问问它吧”。

本地 DNS 收到顶级域名服务器的地址后,发起请求问 “老二,你能告诉我的 IP 地址吗?”

顶级域名服务器说:“我给你负责区域的权威 DNS 服务器的地址,你去问它应该能问到” 。

本地 DNS 于是转向问权威 DNS 服务器:“老三计算机默认用户名,对 应的 IP 是啥呀?”server.com的权威 DNS 服务器,它是域名解析结果的原出处为啥叫权威呢? 就是我的域名我做主。

权威 DNS 服务器查询后将对应的 IP 地址X.X.X.X告诉本地 DNS 。

本地 DNS 再将 IP 地址返回客户端,客户端和目标建立连接。

计算机默认用户名_用户默认头像高清_取消用户默认共享

DNS 域名解析的过程蛮有意思的,整个过程就和我们日常生活中找人问路的过程类似,只指路不带路。

为了提高 DNS 的查询效率,并减少因特网上的 DNS 查询报文数量,在域名服务器中广泛地使用了高速缓存。当一个 DNS 服务器接收到 DNS 查询结果时,它能将该 DNS 信息缓存在高速缓存中。这样,当另一个相同的域名查询到达该 DNS 服务器时,该服务器就能够直接提供所要求的 IP 地址,而不需要再去向其他 DNS 服务器询问。因为主机名和 IP 地址之间的映射不是永久的,所以 DNS 服务器将在一段时间后丢弃高速缓存中的信息。

3.文件传输协议(FTP)和电子邮件3.1.FTP 及其工作原理3.1.1.FTP

文件传输协议(FTP):这是是因特网上使用得最广泛的文件传输协议。FTP 提供交互式的访问,允许客户指明文件的类型与格式,并允许文件具有存取权限。它屏蔽了各计算机系统的细节,因而适合于在异构网络中的任意计算机之间传送文件,具有以下功能:

3.1.2.工作原理

工作原理:FTP 采用 C/S 的工作方式,它使用 TCP 可靠的传输服务。一个 FTP 服务器进程可同时为多个客户进程提供服务。FTP 的服务器进程由两大部分组成:一个主进程,负责接收新的请求,另外有若干从属进程,负责处理单个请求。其工作步骤如下:

取消用户默认共享_用户默认头像高清_计算机默认用户名

3.2.控制连接与数据连接

FTP 在工作时使用两个并行的 TCP 连接:一个是控制连接 (端口号 21),一个是数据连接 (端口号 20)。使用两个不同的端口号可使协议更加简单和更容易实现。

取消用户默认共享_计算机默认用户名_用户默认头像高清

控制连接:服务器监听 21 号端口,等待客户连接,建立在这个端口上的连接称为控制连接,控制连接用来传输控制信息 (如连接请求、传送请求等),并且控制信息都以 7 位 ASCII 格式传送。FTP 客户发出的传送请求, 通过控制连接发送给服务器端的控制进程,但控制连接并不用来传送文件。在传输文件时还可以使用控制连接 (如客户在传输中途发一个中止传输的命令),因此控制连接在整个会话期间一直保持打开状态。

数据连接:服务器端的控制进程在接收到 FTP 客户发来的文件传输请求后,就创建 “数据传送进程” 和 “数据连接”。数据连接用来 连接客户端和服务器端的数据传送进程,数据传送进程实际完成文件的传送,在传送完毕后关闭 “数据传送连接” 并结束运行。

数据连接有两种传输模式:主动模式PORT和被动模式PASV。

PORT模式的工作原理:客户端连接到服务器的21端口,登录成功后要读取数据时,客户端随机开放一个端口,并发送命令告知服务器,服务器收到PORT命令和端口号后,通过20端口和客户端开放的端口连接,发送数据。

PASV模式的不同点是,客户端要读取数据时,发送PASV命令到服务器,服务器在本地随机开放一个端口,并告知客户端,客户端再连接到服务器开放的端口进行数据传输。

可见,是用PORT模式还是PASV模式,选择权在客户端。简单概括为,主动模式传送数据是“服务器”连接到“客户端”的端口;被动模式传送数据是“客户端”连接到“服务器”的端口。

因为FTP使用了一个分离的控制连接,所以也称FTP的控制信息是带外(Out-of-band)传送的。使用FTP时,若要修改服务器上的文件,则需要先将此文件传送到本地主机,然后再将修改后的文件副本传送到原服务器,来回传送耗费很多时间。网络文件系统(NFS)采用另一种思路,它允许进程打开一个远程文件,并能在该文件的某个特定位置开始读写数据。这样,NFS可使用户复制一个大文件中的一个很小的片段,而不需要复制整个大文件。

3.3.电子邮件

取消用户默认共享_用户默认头像高清_计算机默认用户名

3.3.1.电子邮件格式

电子邮件格式:一封电子邮件由信封和内容两部分组成,其中内容又分为首部和主体。协议会规定首部的具体格式,主体部分则由用户撰写

3.3.2.电子邮件系统组成结构

组成结构:一个电子邮件系统有以下三大组件构成:

3.3.3.电子邮件收发过程

电子邮件收发过程:

取消用户默认共享_用户默认头像高清_计算机默认用户名

计算机默认用户名_取消用户默认共享_用户默认头像高清

用户默认头像高清_计算机默认用户名_取消用户默认共享

3.3.4.简单邮件传输协议(SMTP)3.3.4.1.SMTP 概述

简单邮件传输协议(SMTP):这是一种提供可靠且有效的电子邮件传输的协议,它控制两个相互通信的 SMTP 进程交换信息。由于 SMTP 使用 C/S 方式,因此负责发送邮件的 SMTP 进程就是 SMTP 客户,而负责接收邮件的 SMTP 进程就是 SMTP 服务器。SMTP 用的是 TCP 连接,端口号为 25。SMTP 通信有以下三个阶段:

(1)连接建立

发件人的邮件发送到发送方邮件服务器的邮件缓存中后,SMTP客户就每隔一定时间对邮件缓存扫描一次。如发现有邮件,就使用SMTP的熟知端口号(25)与接收方邮件服务器的SMTP服务器建立TCP连接。连接建立后,接收方SMTP服务器发出220 Service ready(服务就绪)。然后SMTP客户向SMTP服务器发送HELO命令,附上发送方的主机名。SMTP不使用中间的邮件服务器。TCP连接总是在发送方和接收方这两个邮件服务器之间直接建立,而不管它们相隔多远,不管在传送过程中要经过多少个路由器。当接收方邮件服务器因故障暂时不能建立连接时,发送方的邮件服务器只能等待一段时间后再次尝试连接。

(2)邮件传送

连接建立后,就可开始传送邮件。邮件的传送从MAL命令开始,MAIL命令后面有发件人的地址。如MAIL FROM:hoopdog@hust.edu.cn。若SMTP服务器已准备好接收邮件,则回答250OK。接着SMTP客户端发送一个或多个RCPT(收件人recipient的缩写)命令,格式为RCPT TO:。每发送一个RCPT命令,都应有相应的信息从SMTP服务器返回,如250OK或550 No such user here(无此用户)。RCPT命令的作用是,先弄清接收方系统是否已做好接收邮件的准备,然后才发送邮件,以便不至于发送了很长的邮件后才知道地址错误,进而避免浪费通信资源。获得OK的回答后,客户端就使用DATA命令,表示要开始传输邮件的内容。正常情况下计算机默认用户名, SMTP服务器回复的信息是354 Start mail input;end with.。表示回车换行。此时SMTP客户端就可开始传送邮件内容,并用.表示邮件内容的结束。

(3)连接释放

邮件发送完毕后,SMTP客户应发送QUIT命令。SMTP服务器返回的信息是221(服务关闭),表示SMTP同意释放TCP连接。邮件传送的全部过程就此结束。

SMTP 协议存在以下缺陷:

3.3.4.2.多用途网际邮件扩充(MIME)

多用途网际邮件扩充(MIME):主要用来解决如上提到的 SMTP 协议的诸多缺点。MIME 并未改动 SMTP 或取代它。MIME 的意图是继续使用目前的格式,但增加了邮件主体的结构,并定义了传送非 ASCI 码的编码规则。也就是说,MIME 邮件可在现有的电子邮件程序和协议下传送。主要包含以下三部分内容:

计算机默认用户名_用户默认头像高清_取消用户默认共享

3.3.5.邮局协议(POP3)

邮局协议(POP3):一个非常简单但功能有限的邮件读取协议。POP3 采用的是 “拉”(Pull) 的通信方式,当用户读取邮件时,用户代理向邮件服务器发出请求,“拉” 取用户邮箱中的邮件。POP 也使用 C/S 的工作方式,在传输层使用 TCP 端口号为 110。接收方的用户代理上必须运行 POP 客户程序,而接收方的邮件服务器上则运行 POP 服务器程序。有如下两种工作方式:

因特网报文存取协议(IMAP):另一个邮件读取协议,它比POP复杂得多,IMAP为用户提供了创建文件夹、在不同文件夹之间移动邮件及在远程文件夹中查询邮件等联机命令,为此IMAP服务器维护了会话用户的状态信息。MAP的另一特性是允许用户代理只获取报文的某些部分,例如可以只读取一个报文的首部,或多部分MME报文的一部分。这非常适用于低带宽的情况,用户可能并不想取回邮箱中的所有邮件,尤其是包含很多音频或视频的大邮件。

4.万维网和超文本传输协议(HTTP)4.1.万维网4.1.1.万维网(WWW)

万维网(WWW):是一个资料空间,在这个空间中:一样有用的事物称为一样 “资源”,并由一个全域 “统一资源定位符”(URL) 标识。这些资源通过超文本传输协议 (HTTP) 传送给使用者,而后者通过单击链接来获取资源。万维网的内核部分是由三个标准构成的

4.1.2.URI 和 URL4.1.2.1.URI 和 URL 是什么

URL 是 URI 的一个子集,URL 是 URI 概念的一种实现方式。

URI 和 URL 都定义了资源是什么,但是 URL 还定义了如何访问资源,URL 是一种具体的 URI。他不仅唯一标识资源,而且还提供了定位该资源的信息。因此 URL 是一种语义上的抽象概念,可以是绝对的也可以是相对的,但是 URL 必须提供绝对的定位信息。

4.1.2.2.URL 的格式

URL 的格式如下:

用户默认头像高清_取消用户默认共享_计算机默认用户名

另外,可以发现像/ ? @ :这样的字符在 URL 中是具有特殊的意义的,因此在传参时如果需要传入这样的字符,就必须对其进行转义。转义的过程称为 urlencode,其逆过程称为 urldecode 。

如下,如果输入普通字符,可以发现关键字未被转义。

如果输入特殊字符,发现进行了转义。

计算机默认用户名_取消用户默认共享_用户默认头像高清

因此在编写服务器时,面对这些特殊字符,一定要做编码处理,下面是一个在线的编码 / 解码工具。

超文本传输协议(HTTP):HTTP 定义了浏览器 (万维网客户进程) 怎样向万维网服务器请求万维网文档,以及服务器怎样把文档传送给浏览器。从层次的角度看,HTTP 是面向事务的 (Transaction-oriented) 应用层协议,它规定了在浏览器和服务器之间的请求和响应的格式与规则,是万维网上能够可靠地交换文件 (包括文本、声音、图像等各种多媒体文件) 的重要基础。

4.2.超文本传输协议(HTTP)4.2.1.HTTP 协议操作过程

万维网大致工作过程如下图所示:

计算机默认用户名_取消用户默认共享_用户默认头像高清

用户通过浏览器与服务器进行交互,遵循 HTTP 协议,有以下两类报文:

用户单击鼠标后所发生的事件按顺序如下(以访问清华大学的网站为例):

———END———
限 时 特 惠: 本站每日持续更新海量各大内部创业教程,一年会员只需98元,全站资源免费下载 点击网站首页每天更新
站 长 微 信: aiwo51889