【网络原理】应用层

时间:2024-04-05 20:59:17

一、域名系统DNS

1、域名系统DNS概述

1、DNS:互联网使用的命名系统,用来把机器名转换成IP地址。
2、域名到IP地址解析过程要点如下:

  • 当某一应用程序需要把主机名解析为IP地址时,该应用程序就调用解析程序,把待解析的域名放在DNS请求报文中,以UDP方式发给本地域名服务器,本地域名服务器在查找域名后,把对应的IP地址放在应答报文中返回。应用进程获得IP地址即可进行通信。
    若本地域名服务器不能回答该请求,则域名服务器再向其他域名服务器发出查询请求,直到查到为止。

2、互联网的域名结构

1、互联网采用了层次树状结构的命名方法,采用这种命名方法,任何一个连接在互联网上的主机都有一个唯一的层次结构名,即域名,域可以划分成若干个子域,子域可再分。
例如:mail.cctv.com 每一域名都由标号序列组成,各标号间用点号隔开。
2、DNS规定:域名标号都由字母或数字组成,不超过63个字符,域名总长不超过255个字符,域名级数不限,从左到右,级别升高。
各级域名由其上一级域管理机构管理,可保证每一域名在互联网范围内唯一。
【网络原理】应用层
3、*域名TLD可分为三大类

  • ①.国家*域名:.cn 表示中国,.us 表示美国,.uk 表示英国。
  • ②.通用*域名:.com、.org、.edu、.gov
  • ③.基础结构域名只有一个,即 arpa,用于反向域名解析,又称反向域名。

我国把二级域名划分为类别域名和行政区域名两类:

  • ①.类别域名:ac、com、edu、gov、net、org、mil等7个;
  • ②.行政区域名34个:bj,js(江苏),ah等。

我国允许在cn*域**册二级域名,各国管理方法可以不同,
注意:域名空间是按机构的组织来划分的,与物理网络无关。

3、域名服务器

DNS服务器实际管辖范围不是以域为单位,而是以区为单位。每一个区设置相应的权限域名服务器,用来保存该区中的所有主机的域名到IP地址的映射。各区根据自身情况划分自己管辖的区,区小于等于域。
【网络原理】应用层
1、域名服务器有以下四种类型:

  • ⑴、根域名服务器:所有的根域名服务器都知道所有的*域名服务器的域名和IP地址。
    互联网上共有13个不同IP地址的根域名服务器,根域名服务器数目并不是13个机器,而是13套装置。
    注意:许多情况下,根域名服务器并不直接把待查询的域名直接转换成IP 地址,而是告诉本地域名服务器,下一步应该找哪个*域名服务器进行查询。
  • ⑵、*域名服务器:负责管理在该*域名服务器注册的所有二级域名。当收到DNS请求时,可能给出最后结果,也可能给出下一步应当找的域名服务器的IP地址。
  • ⑶、权限域名服务器:负责一个区的域名服务。当一个权限域名服务器不能给出最后的查询回答时,就会告诉发出查询请求的 DNS 客户,下一步应当找哪一个权限域名服务器。
  • ⑷、本地域名服务器:当主机发出一个DNS查询请求时,这个查询请求就发给本地域名服务器。当本地域名服务器可以转换时就不需要询问其它域名服务器。
    为提高系统可靠性,DNS域名服务器都把数据复制到n个域名服务器来保存,其中一个是主域名服务,当主域名服务出现故障时,辅助域名服务可保证DNS查询工作不会中断。主域名服务定期把数据复制到辅助域名服务中,更改只能在主域名服务中进行,以保证数据的一致性。

2、域名解析过程:

  • ⑴、主机向本地域名服务器的查询一般都是采用递归查询。如果主机所询问的本地域名服务器不知道被查询域名的IP 地址,那么本地域名服务器就以DNS 客户的身份,向根域名服务器继续发出查询请求报文。
  • ⑵、本地域名服务器向根域名服务器的查询通常采用迭代查询。当根域名服务器收到本地域名服务器的迭代查询请求报文时,要么给出所要查询的 IP 地址,要么告诉本地域名服务器:“你下一步应当向哪一个域名服务器进行查询”。然后让本地域名服务器进行后续的查询。
    【网络原理】应用层

二、文件传输协议

1、FTP概述

  • 1、FTP提供交互式访问,允许客户指明文件的类型、格式,并允许文件具有存取权限。
  • 2、FTP基于TCP,TFTP(简单文件传输协议)基于UDP,它们都属于文件共享协议中的一大类,即复制整个文件,其特点是:若要存取一个文件,就必须先获得一个本地的文件副本。如果要修改文件,只能对文件的副本进行修改,然后再将修改的文件副本传回到原结点。

2、FTP的基本工作原理

  • FTP 的主要功能:减少或消除在不同操作系统下处理文件的不兼容性。
  • FTP使用“客户—服务器”方式:一个FTP服务进程可同时为多个客户进程提供服务。FTP的服务进程由两大部分组成:①.主进程,负责接收新的请求;②.若干个从属进程,负责处理单个请求。

1、主进程工作步骤如下:

  • ⑴、打开熟知端口(21),使得客户进程能够连接上。
  • ⑵、等待客户进程发出连接请求。
  • ⑶、启动从属进程来处理客户请求。从属进程处理完客户请求后即终止,但从属进程在运行期间根据需要还可能创建其他一些子进程。
  • ⑷、回到等待状态,继续接受其它客户请求,主进程与从属进程的处理是并发执行。

服务器有2个从属进程:控制进程和数据传送进程;当客户进程向服务进程发出建立连接请求时,要寻找服务进程的熟知端口(21),同时还要告诉服务进程自己的另一个端口号,用于建立数据传送连接。接着,服务进程使用自己传送数据的熟知端口(20)与客户进程所提供的端口号建立数据传输连接。由于FTP使用两个不同的端口号,所以数据连接与控制连接不会发生混乱。
【网络原理】应用层
使用两个独立连接的主要好处:使协议更简单、更易实现。FTP并非对所有数据传输都是最佳的。

例如:A的应用程序要在远地B上一个很大文件的后面添加信息,若用FTP,则应先将文件从B传到A,A添上这些信息后再用FTP传给B,来回传输花时间。

NFS则允许应用程序打开一个远地文件,并能在该文件的某一个特定位置上开始读写数据。对于上述例子,A只需将要添加的数据和在文件后面写数据的请求一起发送给B。B更新后返回应答信息,在网络上只传送少量的修改数据。

3、简单文件传送协议TFTP

1、TFTP也使用C/S方式,但它使用UDP数据报:TFTP需要有自己的差错改正措施。只支持文件传输而不支持交互。TFTP没有庞大的命令集,没有列目录功能,也不能进行身份鉴别。

2、TFTP主要特点:

  • 每次传送的数据报文中有512B数据,最后一次可不足512B。
  • TFTP工作很像停止等待协议。发送完一个文件块后就等对方确认,确认时应指明所确认的块编号,确认超时则重发。
  • TFTP的熟知端口号为69,若文件为512B整倍数,需最后发一个无数据的报文,若文件长度不是512B整倍数,最后一个不足512B的数据报可做为文件结束标志。

三、万维网www

1、万维网概述

  • 1、万维网并非某种特殊的计算机网络,它是一个大规模、联机式的信息存储藏所。
  • 2、万维网用链接的方法能非常方便的从互联网上的一个站点访问另一个站点,从而主动地按需要获得丰富的信息。
  • 3、万维网提供分布式服务。
  • 4、万维网是一个分布式超媒体系统,它是超文本的扩充。超文本是万维网的基础。
    超媒体与超文本的区别:文档内容不同。超文本文档仅包含文本信息,而超媒体文档还包含其他表示方式的信息,如图形、图像、声音、动画,甚至活动视频。
  • 5、客户程序向服务器程序发出请求,服务器程序向客户程序回送客户所要的万维网文档,在一个客户程序主窗口上显示出的万维网文档成为页面。

万维网必须解决以下几个问题:

  • ①.怎样标志分布在整个互联网上的万维网文档?
    答案:URL(统一资源定位符):用于完整地描述Internet上网页和其他资源的地址的一种标识方法。
  • ②.用什么样的协议实现万维网上的各种连接?
    答案:HTTP(超文本传送协议):互联网上应用最广泛的一种网络传输协议。
  • ③.怎样使不同作者创作的不同风格的万维网文档,都能在互联网上的各种主机上显示出来,同时使用户清楚地知道什么地方存在着连接?
    答案:HTML超文本链接标示语言:是目前网络上应用最为广泛的语言,也是构成网页文档的主要语言。
  • ④.怎样使用户能够方便快捷的找到所需要的信息?
    答案:搜索引擎

2、统一资源定位符URL

1、URL格式
URL给资源的位置提供一种抽象的识别方法,并用这种方法给资源定位。
URL相当于一个文件名在网络范围的扩展,一般由以下四部分组成:
【网络原理】应用层
2、使用HTTP的URL
一般形式为:HTTP//<主机>:<端口>/<路径>

HTTP默认的端口号是80,通常可以省略,若再省略路径,则URL就指互联网上的某个主页。例如http://www.xpu.edu.cn/

通过URL不仅能访问万维网的页面,还能访问ftp等,用户只需要选择一个程序,即浏览器。

3、超文本传送协议HTTP

1、下面我们用HTTP/1.0更具体地说明在用户点击http://www.xpu.edu.cn/后所发生的几个事件:

  • ⑴、浏览器分析链接指向页面的URL;
  • ⑵、浏览器向DNS请求解析出http://www.xpu.edu.cn/的IP地址;
  • ⑶、DNS服务器解析出大学WEB服务器的IP地址为202.200.200.2;
  • ⑷、浏览器与服务器建立TCP连接;
  • ⑸、浏览器发出取文件命令;
  • ⑹、服务器www.xpu.edu.cn给出响应,把文件index.htm发给浏览器;
  • ⑺、释放TCP连接;
  • ⑻、浏览器显示index.htm中所有文本。

HTTP使用TCP作为运输层协议,保证数据可靠传输,但HTTP协议本身是无连接的。

2、从浏览器请求一个万维网文档到收到整个文档所需要的时间估计:
文档传输时间加上2个往返时延RTT(一个RTT用于TCP连接,另一个RTT用于请求和接受万维网文档),这里TCP第三次握手报文段中捎带了客户对万维网文档的请求。

3、HTTP/1.0主要缺点:每请求一个文档就要有2个RTT开销。

4、HTTP/1.1支持连接的两种工作方式:【与服务器持续连接】

  • ⑴、非流水线方式:客户在收到前一个响应后才能发出下一个请求。因此TCP连接建立后,客户每访问一次对象就要用去一个RTT时间。服务器资源浪费比较严重。(1.0)
  • ⑵、流水线方式:客户可以一个接一个像服务器发送请求,服务器可连续发回响应报文。因此,使用该方式客户访问所有对象只需花费一个RTT时间,效率更高。(1.1)

5、代理服务器:
代理服务器又称为万维网高速缓存,代理服务器把最近一些请求和响应暂存在本地磁盘中,当新请求到达时,若代理服务器发现这个请求与暂存放的请求相同,就返回暂存的响应,而不需要按URL再去Internet访问该资源,代理服务器可在客户端或中间系统上工作。
校园网使用代理服务器访问互联网过程如下:

  • ①.校园网PC机中的浏览器向互联网请求服务时,先和校园网的代理服务器建立TCP连接,并向代理服务器发出HTTP请求报文。

  • ②.若代理服务器已存放了所请求对象,代理服务器就把这个对象放入HTTP响应报文中返回给PC机浏览器。

  • ③.否则代理服务器就代表发出请求的浏览器与互联网上源点服务器建立TCP连接,并发送HTTP请求报文。

  • ④.源点服务器把所请求的对象放在HTTP响应报文中返回给校园网代理服务器。

  • ⑤.代理服务器收到这个对象后,先复制到自己的本地存储中,然后把这个对象放在HTTP响应报文中,通过已建立的TCP连接返回请求该对象的浏览器。

    显然:使用代理服务器减少了访问互联网的时延。

6、HTTP报文结构
HTTP有两类报文:请求报文和响应报文。

1、HTTP请求和响应报文都是三个部分组成:
⑴、开始行:用于区分是请求报文还是响应报文。
⑵、首部行:用来说明浏览器服务器或报文主体的一些信息。首部可以有好几行,也可以不用。每一行结束都要回车换行。
⑶、实体主体:请求报文中一般不用,响应报文中也可以不用该字段。
请求报文第一行开始行称请求行,只有三个内容:方法、URL、HTTP版本。
响应报文第一行开始行称状态行,也有三个内容:HTTP版本、状态码、解释状态码的简单短语,如:HTTP/1-1 202 Accepted。

【网络原理】应用层
【网络原理】应用层
2、在服务器上存放用户信息
在实际工作中,一些万维网站点希望能识别用户,做到这一点,可以在HTTP中使用cookie。

当用户张三浏览某个使用cookie的网站时,该网站的服务器就为张三产生一个唯一的识别码。并以此作为索引在服务器的后端数据库中产生一个项目。接着在给张三的HTTP响应报文中添加一个叫做set-cookie的首部行。当张三收到这个响应时,浏览器就在它管理的特定cookie文件夹中添加一行,其中包括这个服务器的主机名和识别码。当张三继续浏览这个网站时,每发送一个HTTP请求报文,其浏览器就从cookie文件中取出该网站给出的识别码,并放到HTTP请求报文的cookie首部行中。于是该网站就能跟踪用户张三了,张三对服务器来说就是识别码。

可以设置拒绝cookie。

4、万维网的文档

1、超文本标记语言HTML
仅当HTML文档以html或htm为后缀时,浏览器才对这样的html文档各种标签进行解释。
并非所有浏览器都支持所有的html标签。

2、动态万维网文档

  • 静态文档:指文档创作完毕后就存放在万维网服务器中,被用户浏览的过程中内容不会改变。
  • 动态文档:文档内容是在浏览器访问万维网服务器时才由应用程序动态创建,当浏览器请求到达时万维网服务器运行另一个应用程序,并把控制转移到此应用程序。接着该应用程序才对浏览器发来的数据进行处理,并输出HTTP格式的文档,万维网服务器把应用程序的输出作为浏览器的响应,如民航售票情况等。
  • 活动万维网文档:动态文档一旦建立,它所包含的信息内容也就固定下来而无法及时刷新屏幕。另外象动画之类的显示效果,动态文档也无法提供。
    活动文档技术:每次浏览器请求一个活动文档时,服务器就返回一段活动文档程序副本,使该程序副本在浏览器端运行。用户运行活动文档程序,活动文档内容就可以连续改变。

3、浏览器的结构

  • ①.一组客户程序:如FTP客户程序,电子邮件客户程序等等。
  • ②.一组解释程序:html解释程序必不可少。其它可选,如Java。
  • ③.一个控制程序:管理这些控制程序和解释程序。
  • ④.缓存:用于保存每个页面副本,当用户用鼠标点击某个选项时,浏览器首先检查磁盘缓存,若缓存中保存了该项,那么,浏览器就直接从缓存中得到该项副本而不必经过网络来获取。

5、万维网的信息检索系统

1、搜索引擎的种类:

  • ⑴、全文检索:通过搜索软件到互联网上的各网站收集信息,找到一个网站后可以从这个网站再链接到另一网站,象蜘蛛爬行一样,然后按照一定的规则建立搜索数据库供用户查询,如Google,百度。
  • ⑵、分类目录搜索引擎:利用各网站搜索引擎提交的网站信息填写关键词和网站描述等信息,经人工审核编辑后,如果认为符合网站登录条件,则输入到分类目录的数据库中,供网上用户查询。如新浪、搜狐、网易等。
  • ⑶、垂直搜索引擎:针对某一特定领域、特定人群或某一特定需求提供搜索服务。
  • ⑷、元搜索引擎:把用户检索请求发送到多个独立的搜索引擎上去搜索,并把结果统一处理,以统一格式提供给用户。

四、电子邮件

1、电子邮件系统

1、电子邮件系统的三个主要构件:

  • ⑴、用户代理:电子邮件客户端软件
    用户代理至少有以下四个功能:①.撰写、②.显示、③.处理、④.通信。
  • ⑵、邮件服务器:可供用户收发电子邮件使用,24小时不间断工作。
    邮件服务器必须能同时充当客户和服务器。
  • ⑶、邮件发送协议和邮件读取协议:邮件服务器需使用两种协议
    ①.一种协议用于用户代理向邮件服务器发送邮件或在邮件服务器之间发送邮件,如SMTP;
    ②.另一种用于用户代理从邮件服务器读取邮件,如POP3协议。

SMTP和POP3(或IMAP)都是在TCP链接上传送邮件,这样做的目的是为了使用邮件传送成为可靠的。

2、发送和接收电子邮件的几个重要步骤:

  • ①.发件人调用 PC 机中的用户代理撰写和编辑要发送的邮件。
  • ②.发件人的用户代理把邮件用SMTP协议发给发送方邮件服务器。
    ③.SMTP服务器把邮件临时存放在邮件缓存队列中,等待发送。
    ④.发送方邮件服务器的客户与接收方邮件服务器的服务器建立TCP 连接,然后就把邮件缓存队列中的邮件依次发送出去。
  • ⑤.运行在接收方邮件服务器中的服务器进程收到邮件后,把邮件放入收件人的用户邮箱中,等待收件人进行读取。
  • ⑥.收件人在打算收信时,就运行PC机中的用户代理,使用POP3(或IMAP)协议读取发送给自己的邮件。

3、电子邮件的组成:
电子邮件由信封和内容两部分组成。

2、SMTP简单邮件传送协议

SMTP 所规定的就是在两个相互通信的 SMTP 进程之间应如何交换信息;由于 SMTP 使用客户/服务器方式,因此负责发送邮件的 SMTP 进程就是 SMTP 客户,而负责接收邮件的 SMTP 进程就是 SMTP 服务器。

SMTP 规定了 14 条命令和 21 种应答信息。每条命令用 4 个字母组成,而每一种应答信息一般只有一行信息,由一个 3 位数字的代码开始,后面附上(也可不附上)很简单的文字说明。

SMTP 通信的三个阶段:建立连接、邮件传送、连接释放。

3、邮件读取协议POP3和IMAP

用户从POP服务器读取了邮件,POP服务器就把该邮件删除。IMAP是一个联机协议,若用户打开邮箱,可看到邮件首部,若需要打开某个邮件,邮件才传到用户计算机上,在用户未发出删除命令之前,IMAP服务器邮箱中的邮件一直保存着。

4、基于万维网的电子邮件

服务器间发送时仍使用SMTP协议,读取邮件时使用HTTP协议。客户发送给服务器也用HTTP协议。

五、动态主机配置协议DHCP

  • 动态主机配置协议 DHCP 提供了即插即用连网的机制,这种机制允许一台计算机加入新的网络和获取IP地址而不用手工参与。
  • 需要IP地址的主机在启动时向DHCP服务器广播发送发现报文,这时该主机就成为 DHCP 客户。广播是因为主机不知道DHCP服务器在什么地方,只有DHCP服务器(本地)才会回答。若在自己数据库中找到该主机配置信息,则返回找到信息,否则从IP地址池中取出一个地址分配给该计算机。
  • 不是每个网络上都设置一个DHCP服务器,但是,每个网络上至少有一个DHCP中继代理。DHCP中继代理收到主机广播的发现报文后,就以单播方式向DHCP服务器转发此报文,并等待回答,收到 DHCP 服务器回答的提供报文后,DHCP 中继代理再将此提供报文发回给主机。
  • DHCP报文下层使用UDP数据报,客户端使用68号端口,服务器端使用67号端口。

分析DHCP协议工作过程:
【网络原理】应用层

  • ①.DHCP 服务器被动打开 UDP 端口 67,等待客户端发来的报文。
  • ②.DHCP 客户从 UDP 端口 68,发送 DHCP 发现报文。
  • ③.凡收到 DHCP 发现报文的 DHCP 服务器都发出 DHCP 提供报文,因此 DHCP 客户可能收到多个 DHCP 提供报文。
  • ④.DHCP 客户从几个 DHCP 服务器中选择其中的一个,并向所选择的 DHCP 服务器发送 DHCP 请求报文。
  • ⑤.被选择的 DHCP 服务器发送确认报文DHCPACK,进入已绑定状态,并可开始使用得到的临时 IP 地址了。
    DHCP 客户现在要根据服务器提供的租用期 T 设置两个计时器 T1 和 T2,它们的超时时间分别是 0.5T 和 0.875T。当超时时间到就要请求更新租用期。
  • ⑥.租用期过了一半(T1 时间到),DHCP 发送请求报文 DHCPREQUEST 要求更新租用期。
  • ⑦.DHCP 服务器若同意,则发回确认报文DHCPACK。DHCP 客户得到了新的租用期,重新设置计时器。
  • ⑧.DHCP 服务器若不同意,则发回否认报文DHCPNACK。这时 DHCP 客户必须立即停止使用原来的 IP 地址,而必须重新申请IP 地址(回到步骤②)。
    若DHCP服务器不响应步骤⑥的请求报文DHCPREQUEST,则在租用期过了 87.5% 时,DHCP 客户必须重新发送请求报文 DHCPREQUEST(重复步骤⑥),然后又继续后面的步骤。
  • ⑨.DHCP 客户可随时提前终止服务器所提供的租用期,这时只需向 DHCP 服务器发送释放报文 DHCPRELEASE 即可。

六、简单网络管理协议

1、网络管理的一般模型

【网络原理】应用层

  • 1、管理站:常称为网络运行中心 NOC ,是网络管理系统的核心。
  • 2、管理程序:在运行时就成为管理进程。
  • 3、管理者(manager) :管理站(硬件)或管理程序(软件)。不是指人而是指机器或软件。
  • 4、网络管理员(administrator) :指的是人。大型网络往往实行多级管理,因而有多个管理者,而一个管理者一般只管理本地网络的设备。
  • 5、被管对象:网络的每一个被管设备中可能有多个被管对象。被管设备又称为网络元素或网元。在被管设备中也会有一些不能被管的对象。
  • 6、代理:在每一个被管设备中都要运行一个程序以便和管理站中的管理程序进行通信。这些运行着的程序叫做网络管理代理程序,简称为代理。
    ①.管理程序和代理程序按客户/服务器方式工作;
    ②.管理程序运行 SNMP 客户程序,向某个代理程序发出请求(或命令),代理程序运行 SNMP 服务器程序,返回响应(或执行某个动作);
    ③.在网管系统中往往是一个(或少数几个)客户程序与很多的服务器程序进行交互。
  • 7、网管协议:就是管理程序和代理程序之间进行通信的规则。

2、SNMP 网络管理(程序)的三个组成部分

  • ①.SNMP 本身;
  • ②.管理信息结构 SMI(Structure of Management Information);
  • ③.管理信息库 MIB(Management Information Base)。