来源于网络应用层本章讨论的问题是各种应用进程通过什么样的应用层协议来使用网络所提供的通信服务应用层的许多协议都是基于客户-服务器方式的,客户和服务器都是主机之中的应用进程。一、域名系统DNS1、域名系统DNS是因特网使用的命名系统,用来把人们便于使用的机器名字转换为IP地址。2、为什么机器在处理IP数据报时不使用域名,而要使用IP地址呢?因为IP地址的长度固定为32位,域名长度不固定,机器处理起来比较困难。3、整个因特网为什么不只使用一个域名服务器?因为整个因特网规模很大,一台服务器会因为负载太大无法正常工作,一旦出错,整个因特网就瘫痪了。4、域名服务器:名字到IP地址的解析是由若干个域名服务器程序完成的。运行域名服务器程序的专设结点的机器称为域名服务器。5、DNS请求报文是UDP数据报6、域名:任何一个连接在因特网上的主机或路由器,都有的一个唯一的层次结构名字7、域名的结构由标号序列组成,各标号之间用点隔开:….三级域名.二级域名.顶级域名8、域名只是个逻辑概念,并不代表计算机所在的物理地点。9、域名的语法:由标号序列组成,用.分开,每一个标号不超过63字符,完整域名不超过255个字符,标号中除了-不能有其他标点符号10、域名只是个逻辑概念,并不代表计算机所在的物理地点。11、顶级域名TLD(1)国家顶级域名nTLD:如:.cn表示中国,.us表示美国,.uk表示英国,等等。(2)通用顶级域名gTLD:最早的顶级域名是:.com(公司和企业).net(网络服务机构).org(非赢利性组织).edu(美国专用的教育机构().gov(美国专用的政府部门).mil(美国专用的军事部门).int(国际组织)(3)基础结构域名(infrastructuredomain):这种顶级域名只有一个,即arpa,用于反向域名解析,因此又称为反向域名。12、之前我国把二级域名划分为类别域名和行政区域名,现在可以直接注册13、域名服务器:一个服务器所负责管辖的(或有权限的)范围叫做区(zone)。每一个区设置相应的权限域名服务器,用来保存该区中的所有主机的域名到IP地址的映射,DNS服务器的管辖范围不是以“域”为单位,而是以“区”为单位。区小于等于域。14、域名服务器有以下四种类型(1)根域名服务器:根域名服务器是最重要的域名服务器。所有的根域名服务器都知道所有的顶级域名服务器的域名和IP地址,在因特网上共有13个不同IP地址的根域名服务器,是13套装置(不是13个机器)(2)顶级域名服务器:这些域名服务器负责管理在该顶级域名服务器注册的所有二级域名。(3)权限域名服务器:负责一个区的域名服务器。来源于网络(4)本地域名服务器:当一个主机发出DNS查询请求时,这个查询请求报文就发送给本地域名服务器,也称为默认域名服务器。15、提高域名服务器的可靠性:DNS域名服务器都把数据复制到几个域名服务器来保存,其中的一个是主域名服务器,其他的是辅助域名服务器。主域名服务器定期把数据复制到辅助域名服务器中,而更改数据只能在主域名服务器中进行。这样就保证了数据的一致性。16、主机向本地域名服务器的查询一般都是采用递归查询17、本地域名服务器向根域名服务器的查询通常是采用迭代查询。18、每个域名服务器都维护一个高速缓存,存放最近用过的名字以及从何处获得名字映射信息的记录。为保持高速缓存中的内容正确,域名服务器应为每项内容设置计时器,并处理超过合理时间的项二、文件传送协议FTP1、FTP提供交互式的访问,允许客户指明文件的类型与格式,并允许文件具有存取权限。2、FTP的服务器进程由两大部分组成:一个主进程,负责接受新的请求;另外有若干个从属进程,负责处理单个请求。3、主进程的工作步骤如下打开熟知端口(端口号为21),使客户进程能够连接上。等待客户进程发出连接请求。启动从属进程来处理客户进程发来的请求。从属进程对客户进程的请求处理完毕后即终止,但从属进程在运行期间根据需要还可能创建其他一些子进程。回到等待状态,继续接受其他客户进程发来的请求。主进程与从属进程的处理是并发地进行。4、FTP使用的两个TCP连接:TCP控制连接,TCP数据连接5、两个不同的端口号:熟知端口(21)用于建立TCP控制连接,20号端口用于建立TCP数据连接6、网络文件系统NFS允许应用进程打开一个远地文件,并能在该文件的某一个特定的位置上开始读写数据。在网络上传送的只是少量的修改数据。简单文件传送协议TFTP三、TFTP是一个很小且易于实现的文件传送协议。1、TFTP使用客户服务器方式和使用UDP数据报,因此TFTP需要有自己的差错改正措施。2、TFTP只支持文件传输而不支持交互。3、TFTP的主要特点:(1)每次传送的数据PDU中有512字节的数据,但最后一次可不足512字节。(2)数据PDU也称为文件块(block),每个块按序编号,从1开始。(3)支持ASCII码或二进制传送。(4)可对文件进行读或写。(5)使用很简单的首部。4、在一开始工作时。TFTP客户进程发送一个读请求PDU或写请求PDU给TFTP服务器进程,其熟知端口号码为69。5、若文件长度恰好为512字节的整数倍,则在文件传送完毕后,还必须在最后发送一个只含首部而无数据的数据PDU。四、远程终端协议TELNET也称终端仿真协议1、用户用TELNET就可在其所在地通过TCP连接注册(即登录)到远地的另一个主机上(使用主机名或IP地址)2、远程终端协议TELNET是基于TCP协议、端口23号。3、和FTP的情况相似,服务器中的主进程等待新的请求,并产生从属进程来处理每一个连接。来源于网络4、为了适应不同格式的网络要使用网络虚拟终端NVT:客户软件把用户的击键和命令转换成NVT格式,并送交服务器。服务器软件把收到的数据和命令,从NVT格式转换成远地系统所需的格式。五、万维网(WorldWideWeb)1、万维网并非某种特殊的计算机网络。万维网是一个大规模的、联机式的信息储藏所,采用链接访问方式,提供分布式服务。以客户服务器方式工作。2、超文本是包含指向其他文档的链接的文本,是万维网的基础,3、超媒体与超文本的区别是文档内容不同,超文本文档仅包含文本信息,而超媒体文档还包含其他表示方式的信息,如图形、图像、声音、动画,甚至活动视频图像。4、万维网是分布式超媒体(hypermedia)系统,它是超文本(hypertext)系统的扩充。5、万维网必须解决的问题(1)怎样标志分布在整个因特网上的万维网文档?使用统一资源定位符URL(UniformResourceLocator)来标志万维网上的各种文档。使每一个文档在整个因特网的范围内具有唯一的标识符URL。(2)用何协议实现万维网上各种超链的链接?在万维网客户程序与万维网服务器程序之间进行交互所使用的协议,是超文本传送协议HTTP(HyperTextTransferProtocol)。HTTP是一个应用层协议,它使用TCP连接进行可靠的传送。(3)怎样使各种万维网文档都能在因特网上的各种计算机上显示出来,同时使用户清楚地知道在什么地方存在着超链?超文本标记语言HTML(HyperTextMarkupLanguage)使得万维网页面的设计者可以很方便地用一个超链从本页面的某处链接到因特网上的任何一个万维网页面,并且能够在自己的计算机屏幕上将这些页面显示出来。(4)怎样使用户能够很方便地找到所需的信息?用户可使用各种的搜索工具(即搜索引擎)在万维网上方便地查找信息。6、统一资源定位符URL是对可以从因特网上得到的资源的位置和访问方法的一种简洁的表示,是一个指针7、URL的一般形式是:协议://主机:端口/路径是存放资源的主机在因特网中的域名,端口有时可省略,若再省略文件的路径项,则URL就指到因特网上的某个主页Eg:但是对于万维网的http协议一般默认端口是80,可以省略8、超文本传送协议HTTP:定义了浏览器怎样向万维网服务器请求万维网文档,以及服务器怎样把文档传送给服务器。9、用户浏览网页有两种方法:在浏览器的地址栏输入URL,或者点击超链接10、用户点击鼠标后所发生的事件(1)浏览器分析超链指向页面的URL。(2)浏览器向DNS请求解析的IP地址。(3)域名系统DNS解析出清华大学服务器的IP地址。(4)浏览器与服务器建立TCP连接(5)浏览器发出取文件命令:GET/chn/yxsz/index.htm。(6)服务器给出响应,把文件index.htm发给浏览器。(7)TCP连接释放。(8)浏览器显示“清华大学院系设置”文件index.htm中的所有文本。11、HTTP的主要特点来源于网络HTTP是面向事务的客户服务器协议。HTTP1.0协议是无状态的(stateless)。,不具记忆性HTTP协议本身也是无连接的,虽然它使用了面向连接的TCP向上提供的服务12、浏览器请求一个万维网文档到收到所需的时间传输文档的时间+2RTT13、HTTP/1.1协议是1.0的加强版,使用持续连接。即万维网服务器在发送响应后仍然在一段时间内保持这条连接,使同一个客户(浏览器)和该服务器可以继续在这条连接上传送后续的HTTP请求报文和响应报文。14、HTTP1.1的特点在一个TCP连接上可以传送多个HTTP请求和响应多个请求和响应过程可以重叠进行增加了更多的请求头和响应头15、持续连接的两种工作方式:非流水线方式:客户在收到前一个响应后才能发出下一个请求。减少了一个RTT流水线方式:客户在收到HTTP的响应报文之前就能够接着发送新的请求报文。减少1.5个RTT16、代理服务器:又称为万维网高速缓存(Webcache),它代表浏览器发出HTTP请求。万维网高速缓存把最近的一些请求和响应暂存在本地磁盘中。当与暂时存放的请求相同的新请求到达时,万维网高速缓存就把暂存的响应发送出去,而不需要按URL的地址再去因特网访问该资源。减少访问因特网服务器的时延,减少网络链路通信量。17、使用高速缓存的情况(1)浏览器访问因特网的服务器时,要先与校园网的高速缓存建立TCP连接,并向高速缓存发出HTTP请求报文(2)若高速缓存已经存放了所请求的对象,则将此对象放入HTTP响应报文中返回给浏览器。(3)否则,高速缓存就代表发出请求的用户浏览器,与因特网上的源点服务器建立TCP连接,并发送HTTP请求报文。(4)源点服务器将所请求的对象放在HTTP响应报文中返回给校园网的高速缓存。(5)高速缓存收到此对象后,先复制在其本地存储器中(为今后使用),然后再将该对象放在HTTP响应报文中,通过已建立的TCP连接,返回给请求该对象的浏览器。18、HTTP有两类报文:请求报文和响应报文19、HTTP的报文结构:由三个部分组成,即开始行、首部行和实体主体。20、请求报文中,开始行就是请求行,组成:“方法“:即命令eg:GET“URL”是所请求的资源的URL。“版本”是HTTP的版本。21、响应报文的开始行是状态行。组成:HTTP的版本,状态码,以及解释状态码的简单短语。状态码解释:1xx表示通知信息的,如请求收到了或正在进行处理。2xx表示成功,如接受或知道了。3xx表示重定向,表示要完成请求还必须采取进一步的行动。4xx表示客户的差错,如请求中有错误的语法或不能完成。5xx表示服务器的差错,如服务器失效无法完成请求。22、Cookie表示在HTTP服务器和客户之间传递的状态信息。万维网站点使用Cookie来跟踪用户。23、万维网的文档:超文本标记语言HTMLHTML把各种标签(用于排版的命令)嵌入到万维网的页面中。这样就构成了所谓的HTML文档。HTML文档是一种可以用任何文本编辑器创建的ASCII码文件。标签一般成对出现,一个表示开始,一个表示结束,由尖括号包围来源于网络24、万维网文档可以分为动态万维网文档和静态万维网文档。动态文档和静态文档之间的主要差别体现在服务器一端。25、在万维网中用来进行搜索的程序叫做搜索引擎,可以分为全文检