admin管理员组

文章数量:1594582

计算机网络(1)概述
计算机网络(2)物理层
计算机网络(3)数据链路层
计算机网络(4)网络层
计算机网络(5)传输层
传输层为应用进程提供了端到端的通信服务。但不同的网络应用的应用进程之间,还需要有不同的通信规则。因此在传输层协议之上,还需要有 应用层协议 (application layer protocol)。这是因为,每个应用层协议都是为了解决某一类应用问题,而问题的解决又必须通过位于不同主机中的多个应用进程之间的通信和协同工作来完成的。应用进程之间的这种通信必须遵循严格的规则。应用层的具体内容就是精确 定义这些通信规则
● 应用进程交换的报文类型,如请求报文和响应报文。
● 各种报文类型的语法,如报文中的各个字段及其详细描述。
● 字段的语义,即包含在字段中的信息的含义。
● 进程何时、如何发送报文,以及对报文进行响应的规则。

应用层的许多协议都是基于 客户-服务器方式 。即使是对等通信方式,实质上也是一种特殊的客户-服务器方式。
客户 (client)和 服务器 (server)都是指通信中所涉及的两个 应用进程 。客户-服务器方式所描述的是进程之间服务和被服务的关系。这里最主要的特征就是:客户是服务请求方,服务器是服务提供方

域名系统DNS

域名系统概述
域名系统 DNS (Domain Name System)是因特网使用的命名系统,用来把便于人们使用的机器名字转换为IP地址。域名系统其实就是名字系统。
许多应用层软件经常直接使用域名系统DNS。虽然计算机的用户只是 间接 而不是直接使用域名系统,但DNS却为因特网的各种网络应用提供了核心服务。

因特网的域名系统DNS被设计成为一个联机分布式数据库系统,并采用客户-服务器方式。DNS使大多数名字都在本地进行 解析 (resolve),仅少量解析需要在因特网上通信,因此DNS系统的效率很高。由于DNS是分布式系统,即使单个计算机出了故障,也不会妨碍整个DNS系统的正常运行。
域名到IP地址的解析是由分布在因特网上的许多 域名服务器程序(可简称为域名服务器)共同完成的。域名服务器程序在专设的结点上运行,而人们也常把运行域名服务器程序的机器也称为 域名服务器
域名到IP地址的解析过程的要点如下:当某一个应用进程需要把主机名解析为IP地址时,该应用进程就调用 解析程序(resolver),并成为DNS的一个客户,把待解析的域名放在DNS请求报文中,以UDP用户数据报方式发给本地域名服务器(使用UDP是为了减少开销)。本地域名服务器在查找域名后,把对应的IP地址放在回答报文中返回。应用进程获得目的主机的IP地址后即可进行通信。
若本地域名服务器不能回答该请求,则此域名服务器就暂时成为DNS中的另一个客户,并向其他域名服务器发出查询请求。这种过程直至找到能够回答该请求的域名服务器为止。

因特网的域名结构
因特网采用了层次树状结构的命名方法
任何一个连接在因特网上的主机或路由器,都有一个唯一的 层次结构的名字 ,即 域名 (domain name)。这里,“ ”(domain)是名字空间中一个可被管理的划分。域还可以划分为子域,而子域还可继续划分为子域的子域,这样就形成了顶级域、二级域、三级域,等等。
从语法上讲,每一个域名都是由 标号 (label)序列组成,而各标号之间用 隔开。

DNS规定,域名中的标号都由英文字母和数字组成,每一个标号不超过63个字符(但为了记忆方便,最好不要超过12个字符),也不区分大小写字母(例如,CCTV或cctv在域名中是等效的)。标号中除连字符(-)外不能使用其他的标点符号。级别最低的域名写在最左边,而 级别最高的顶级域名则写在最右边 。由多个标号组成的完整域名总共不超过255个字符。

因特网的名字空间是按照机构的组织来划分的,与物理的网络无关,与IP地址中的“子网”也没有关系。

域名服务器

(1) 根域名服务器 (root name server):根域名服务器是最高层次的域名服务器,也是最重要的域名服务器。所有的根域名服务器都知道所有的顶级域名服务器的域名和IP地址。根域名服务器是最重要的域名服务器,因为不管是哪一个本地域名服务器,若要对因特网上任何一个域名进行解析(即转换为IP地址),只要自己无法解析,就首先要求助于根域名服务器。假定所有的根域名服务器都瘫痪了,那么整个的DNS系统就无法工作。
在许多情况下,根域名服务器并不直接把待查询的域名直接转换成IP地址(根域名服务器也没有存放这种信息),而是告诉本地域名服务器下一步应当找哪一个顶级域名服务器进行查询。
(2) 顶级域名服务器(即TLD 服务器):这些域名服务器负责管理在该顶级域名服务器注册的所有二级域名。当收到DNS查询请求时,就给出相应的回答(可能是最后的结果,也可能是下一步应当找的域名服务器的IP地址)。
(3) 权限域名服务器 :当一个权限域名服务器还不能给出最后的查询回答时,就会告诉发出查询请求的DNS客户,下一步应当找哪一个权限域名服务器。
(4) 本地域名服务器 (local name server):一个主机发出DNS查询请求时,这个查询请求报文就发送给本地域名服务器。由此可看出本地域名服务器的重要性。每一个因特网服务提供者ISP,或一个大学,甚至一个大学里的系,都可以拥有一个本地域名服务器,这种域名服务器有时也称为默认域名服务器。当PC使用Windows XP操作系统时,打开“控制面板”,选择“网络连接”,再用鼠标右键点击任何一种网络连接,选择“属性”、“网络”,然后选择“Internet协议(TCP/IP)”,再选择“属性”,就可看见有关DNS地址的选项(自动获取或指定地址)。这里的DNS服务器指的就是本地域名服务器。本地域名服务器离用户较近,一般不超过几个路由器的距离。当所要查询的主机也属于同一个本地ISP时,该本地域名服务器立即就能将所查询的主机名转换为它的IP地址,而不需要再去询问其他的域名服务器。

域名的解析过程。
第一,主机向本地域名服务器的查询一般都是采用 递归查询 (recursive query)。所谓递归查询就是:如果主机所询问的本地域名服务器不知道被查询域名的IP地址,那么本地域名服务器就以DNS客户的身份,向其他根域名服务器继续发出查询请求报文(即替该主机继续查询),而不是让该主机自己进行下一步的查询。因此,递归查询返回的查询结果或者是所要查询的IP地址,或者是报错,表示无法查询到所需的IP地址。
第二,本地域名服务器向根域名服务器的查询通常是采用 迭代查询 (iterativequery)。迭代查询的特点是这样的:当根域名服务器收到本地域名服务器发出的迭代查询请求报文时,要么给出所要查询的IP地址,要么告诉本地域名服务器:“你下一步应当向哪一个域名服务器进行查询”。然后让本地域名服务器进行后续的查询(而不是替本地域名服务器进行后续的查询)。根域名服务器通常是把自己知道的顶级域名服务器的IP地址告诉本地域名服务器,让本地域名服务器再向顶级域名服务器查询。顶级域名服务器在收到本地域名服务器的查询请求后,要么给出所要查询的IP地址,要么告诉本地域名服务器下一步应当向哪一个权限域名服务器进行查询,本地域名服务器就这样进行迭代查询。最后,知道了所要解析的域名的IP地址,然后把这个结果返回给发起查询的主机。当然,本地域名服务器也可以采用递归查询,这取决于最初的查询请求报文的设置是要求使用哪一种查询方式。

文件传送协议

文件传送协议 FTP (File Transfer Protocol) 是因特网上使用得最广泛的文件传送协议。
FTP提供交互式的访问,允许客户指明文件的类型与格式(如指明是否使用ASCII码),并允许文件具有存取权限(如访问文件的用户必须经过授权,并输入有效的口令)。FTP屏蔽了各计算机系统的细节,因而适合于在异构网络中任意计算机之间传送文件。

基于TCP的FTP和基于UDP的简单文件传送协议TFTP,它们都是文件共享协议中的一大类,即 复制整个文件,其特点是:若要存取一个文件,就必须先获得一个本地的文件副本。如果要修改文件,只能对文件的副本进行修改,然后再将修改后的文件副本传回到原节点。
文件共享协议中的另一大类是 联机访问 (on-line access)。联机访问意味着允许多个程序同时对一个文件进行存取。和数据库系统不同之处是用户不需要调用一个特殊的客户进程,而是由操作系统提供对远地共享文件进行访问的服务,就如同对本地文件的访问一样。这就使用户可以用远地文件作为输入和输出来运行任何应用程序,而操作系统中的文件系统则提供对共享文件的 透明存取 。透明存取的优点是:将原来用于处理本地文件的应用程序用来处理远地文件时,不需要对该应用程序作明显的改动。

FTP的基本工作原理
文件传送协议FTP只提供文件传送的一些基本的服务,它使用TCP可靠的运输服务。FTP的主要功能是减少或消除在不同操作系统下处理文件的不兼容性。
FTP使用客户服务器方式。一个FTP服务器进程可同时为多个客户进程提供服务。FTP的服务器进程由两大部分组成:一个 主进程

本文标签: 计算机网络应用层