计算机网络 - 应用层

Posted die_job

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算机网络 - 应用层相关的知识,希望对你有一定的参考价值。


运输层为应用进程提供了端到端的通信服务,但不同的网络应用的应用进程之间,还需要有不同的通信规则,因为每一类应用问题都需要一个单独的应用层协议来解决;

应用层协议定义应用进程交换的报文类型,各种报文类型的语法,字段的语义以及进程何时、如何发送报文,以及对报文进行响应的规则;

一、域名系统DNS

域名系统其实就是名字系统,能够把互联网主机的名字转换为IP地址,之所以使用域名而不直接使用IP地址是因为IP地址难以记忆;互联网的域名系统被设计成一个联机分布式数据库系统,并采用客户服务器方式,当某一个应用进程需要把主机名解析为IP地址时,该应用进程就调用解析程序,并成为DNS的一个客户,把待解析的域名放在DNS请求报文中,以UDP用户数据报的方式发送给本地域名服务器,本地域名服务器在查找域名后把对应的IP地址放在应答报文中返回,应用进程获得目的主机IP地址后即可进行通信;若本地域名服务器没有查到IP地址,则此本地域名服务器就成为DNS中的另一个客户,并向其他域名服务器发出查询请求。直到查到为止。

1、互联网的域名结构

互联网采用层次树状结构的命名方法来实现域名系统,每一个域名都由标号序列组成,而各标号之间用点隔开,如mail.cctv.com,最右边的为顶级域名;域名中的标号都由英文和数字组成,每一个标号不超过63个字符,也不区分大小写字母,多个标号组成的完整域名总共不超过255个字符,各级域名由其上一级的域名管理机构管理,而最高的顶级域名则由ICANN进行管理;

2、域名服务器

互联网上的DNS域名服务器也是按照层次安排的,每一个域名服务器都只对域名体系中的一部分进行管辖,根据域名所起的作用,可划分为四种不同类型:

  • 根域名服务器:根域名服务器是最高层次的域名服务器,也是最重要的域名服务器,所有的根域名服务器都知道所有的顶级域名服务器的域名和IP地址,不管哪一个本地域名服务器若对互联网上的任何一个域名不能进行解析就首先要求助于根域名服务器,根域名服务器不直接把待查询的域名转换成IP地址返回,而是高数本地域名服务器下一步该找哪个顶级域名服务器进行查询;
  • 顶级域名服务器:顶级域名服务器负责管理在该顶级域名服务器注册的所有二级域名,当收到DNS查询请求时,就会给出相应的应答,这个应答可能是最后的结果,也可能是下一步应当找的域名服务器的IP地址;
  • 权限域名服务器:权限域名服务器负责一个区的域名解析,当一个权限域名服务器还不能给出最后的查询回答时,就会告诉发出查询请求的DNS客户,下一步应当找哪一个权限域名服务器;
  • 本地域名服务器:当一台主机发出DNS查询请求时,这个查询请求报文就发送给本地域名服务器,每一个ISP或者大学都可以拥有一个本地域名服务器;

3、域名解析过程

主机首先向本地域名服务器发出查询请求,若本地域名服务器不知道被查询的域名的IP地址,本地域名服务器就以DNS客户的身份向其他根域名服务器继续发出查询请求,如果根域名服务器返回下一步查询的IP,则由本地域名服务器继续查询。

二、文件传送协议

文件传送协议FTP是互联网上使用最广泛的文件传送协议,FTP提供交互式的访问,允许用户指明文件的类型和格式,FTP规定若要存取一个文件,就必须先获得一个本地的文件副本,如果要修改文件,只能对文件的副本进行修改,然后再将修改后的副本传回到原节点。

1、FTP的基本工作原理

FTP只提供文件传送的一些基本服务,它使用TCP可靠传输,FTP的主要功能是减少或消除在不同操作系统下处理文件的不兼容性;

在进行文件传输时,FTP的客户和服务器之间要建立两个并行的TCP连接,分别为控制连接和数据连接,控制连接在整个会话期间一直保持打开,FTP客户所发出的传送请求通过控制连接发送给服务器端的控制进程,而数据连接用于传输文件;服务器端的控制进程收到FTP客户发送来的文件传输请求后就创建数据传送进程和数据连接,用来连接客户端和服务器端的数据传送进程;由于FTP使用了一个分离的控制连接,因此FTP的控制信息是外带传送的。

当客户进程发出建立连接请求时,要寻找连接服务器的熟知端口21,同时还要告知服务器进程自己的另一个端口号码,用于建立数据传送连接;

简单文件传送协议TFTP
TFTP是一个很小且易于实现的文件传送协议,它使用UDP数据报,因此TFTP需要有自己的差错改正措施,TFTP只支持文件传输而不支持交互;

三、远程终端协议TELNET

TELNET是一个简单的远程终端协议,用户通过TELNET可在其所在地通过TCP连接到远地的另一台主机上,TELNET能将用户的击键传到远地主机,同时也能将远地主机的输出通过TCP连接返回到用户屏幕上,因此TELNET又称为终端仿真协议。

为了能够适应许多计算机和操作系统的差异,TELNET使用网络虚拟终端NVT,客户软件把用户的击键和命令转换成NVT格式,并上交服务器,服务器软件把收到的数据和命令从NVT格式转换成系统所需的格式。

四、万维网WWW

万维网是一个大规模、联机式的信息储藏所,万维网用链接的方法能非常方便地从互联网上的一个站点访问另一个站点,从而主动地按需获取丰富的信息。

1、统一资源定位符URL

URL实际上是资源在互联网上的地址,包括文件目录、文件、文档、图像、声音等,以及与互联网相连的任何形式的数据。URL的一般形式由四个部分组成:“协议://主机:端口:路径”。

2、超文本传送协议HTTP

HTTP协议定义了浏览器怎样向万维网服务器请求万维网文档,以及服务器怎样把文档传送给浏览器;每个万维网网点都有一个服务器进程,它不断地监听TCP的端口80,以便发现是否有浏览器向它发出浏览某个页面的请求,服务器接着就返回所请求的页面作为响应。

HTTP协议是无状态的,同一个客户第二次访问同一个服务器上的页面时,服务器的响应与第一次被访问时相同。

当打开某一个链接时,HTTP协议首先要和服务器建立TCP连接,这需要使用三次报文握手,当建立TCP连接的三报文握手中的前两部分握手后,浏览器就把HTTP请求报文作为建立TCP连接的三报文握手中的第三个报文的数据发送给服务器,服务器收到HTTP请求后就把所请求的文档作为响应报文返回给客户。

3、代理服务器

代理服务器是一种网络实体,又称为万维网高速缓存,代理服务器把最近的一些请求和响应暂存在本地磁盘中,当新的请求到达时,若代理服务器发现这个请求与暂时存放的请求相同,就返回暂存的响应,而不需要按URL的地址再次去互联网访问该资源,代理服务器可在客户端或服务器端工作,也可以在之间的系统上工作。

4、HTTP的报文结构

HTTP有请求报文和响应报文两类;

HTTP是面向文本的,因此在报文中的每一个字段都是一些ASCII码串,各个字段的长度不确定;

5、万维网信息检索系统

万维网是一个大规模、联机式的信息储藏所,如果已经知道存放该信息的网点,那么只要在浏览器中输入URL即可进入该网点,但是若不知道要找的信息在什么网点,就要使用万维网的搜索工具了;

在万维网中原来进行搜索的工具通常叫做搜索引擎,搜索引擎大致可划分为全文搜索引擎和分类目录搜索引擎;

全文搜索引擎是一种纯技术型的检索工具,它先通过爬虫在互联网上的各网站收集信息,再按照一定的规则建立一个很大的在线索引数据库供用户查询,建立这种索引数据库的网站必须定期对已建立的数据库进行更新维护;

分类目录搜索引擎并不采集网站的任何信息,而是利用各网站向搜索引擎提交网站信息时填写的关键词和网站描述信息,经过人工审核编辑后,如果认为符合网站登记的条件,则输入到分类目录的数据库中,供用户查询。

6、电子邮件

一个电子邮件系统应具有三个主要构成组件:用户代理、邮件服务器、邮件发送协议SMTP和邮件读取协议POP3;

五、动态主机配置协议DHCP

一个IP地址指出了一台计算机连接在哪一个网络上,当计算机还在生产时,无法知道它在出厂后将被连接到哪一个网络上,因此需要连接到互联网的计算机必须对IP地址等项目进行协议配置;用人工进行协议配置很不方便也容易出错,因此应当采用自动协议配置的方法。互联网现在广泛使用的是动态主机配置协议,它提供了一种机制,称为即插即用连网,这种机制允许一台计算机加入新的网络和获取IP地址而不通过手工参与。

DHCP使用客户服务器方式,需要IP地址的主机在启动时就向DHCP服务器广播发送发现报文,这时该主机就成为DHCP客户,在实际设计中,是使每一个网络至少有一个DHCP中继代理,它配置了DHCP服务器的IP地址信息,当DHCP中继代理收到主机以广播形式发送的发现报文后,就以单播方式向DHCP服务器转发此报文,收到DHCP服务器回答的提供报文后,DHCP中继代理再把此报文发回给主机;

DHCP服务器分配给DHCP客户的IP地址是临时的,因此DHCP客户只能在一段有限时间内使用这个分配到的IP地址,具体分配的过程如下:

  1. DHCP服务器不被动打开UDP端口67进行监听,等待客户端发来的报文;
  2. DHCP客户从UDP端口68发送DHCP发现报文;
  3. 凡收到DHCP发现报文的DHCP服务器都发出DHCP提供报文,因此DHCP客户可能收到多个DHCP提供报文;
  4. DHCP客户从几个DHCP服务器中选择其中一个,并向所选择的DHCP服务器发送DHCP请求报文;
  5. 被选择的DHCP服务器发送确认报文DHCPACK,从这时起DHCP客户就可以使用这个IP地址,此时称为已绑定状态,DHCP客户现在要根据服务器提供的租用期T设置两个计时器T1和T2,它们的超时时间分别是0.5T和0.875T,当超时时间到了就要请求更新租用期;
  6. 租用期过一半时发送的请求报文为DHCPREQUEST;
  7. DHCP若同意重新分配租用期则发回确认报文DHCPACK,DHCP得到新的租用期后重新设置计时器;
  8. DHCP服务器若不同意,则发回否认报文DHCPNACK,这时DHCP客户必须立即停止使用原来的IP地址,重新申请IP地址;
  9. DHCP客户可以随时提前终止服务器所提供的租用期,只需向DHCP服务器发送释放报文DHCPRELEASE即可;

六、简单网络管理协议SNMP

网络管理包括对硬件、软件和人力的使用、综合与协调,以便对网络资源进行监视、测试、配置、分析、评价和控制,这样就能以合理的价格满足网络的一些需求,如实时运行性能、服务质量等。

在每一个被管设备中都要运行一个程序以便和管理站中的管理程序进行通信,这些运行着的程序叫做网络管理代理程序,代理程序在管理程序的命令和控制下,在被管设备上采取本地的行动;

简单网络管理协议SNMP中,管理程序运行SNMP客户程序,而代理程序运行SNMP服务器程序,在被管对象上运行的SNMP服务器程序不断的监听来自管理站的SNMP客户程序的请求,一旦发现了就立即返回管理站所需的信息或执行某个动作;

七、应用进程跨越网络的通信

当应用进程需要使用网络进行通信时,必须首先发出socket系统调用,请求操作系统为其创建一个“套接字”,操作系统把网络通信所需要的一些系统资源分配给应用进程,操作系统把这些资源的总和用一个叫做套接字描述符的号码来表示,然后把这个套接字描述符返回给应用进程,此后应用进程所进行的网络操作都必须使用这个套接字描述符;通过套接字描述符,操作系统就可以识别出应该使用哪些资源来完成应用进程所请求的服务;

以上是关于计算机网络 - 应用层的主要内容,如果未能解决你的问题,请参考以下文章

计算机网络学习—应用层的概述

计算机网络-网络应用(上)

计算机网络 —— 应用层

计算机网络入门基础篇——应用层

计算机网络--应用层

计算机网络——应用层