计算机网络基础网络应用主要内容•客户/服务器模式•域名系统•电子邮件•万维网•多媒体应用•主机配置1.应用软件提供高层服务•互连网系统提供了一个通用的通信结构框架,但没有指定哪些高层服务将被提供、哪些计算机运行这些服务、如何知道这些服务、以及如何使用这些服务等,这些问题留给了应用软件和用户。•应用软件为用户提供各种高层服务,比如发送和接收电子邮件、浏览信息文档、在两台计算机之间传输文件等。应用的网络交互方式•客户/服务器模式–一个应用程序被动地等待来自另一个应用程序的初始化通信–积极初始化连接的应用称为客户,被动等待连接的应用称为服务器•客户软件运行在用户的PC机上,主动访问服务器,不需要特殊硬件或复杂的操作系统。•服务器软件是有特殊用途的、具有特权的程序,用于提供一种服务,可同时处理多个远程客户,需要功能强大的硬件和复杂的操作系统。•服务器级计算机:运行服务器软件的功能强大的计算机,可以同时运行多个服务器软件,提供多种服务。服务标识方法•客户和服务器使用传输协议直接进行交互。•传输协议提供了标识服务的机制–每种服务被分配一个唯一的标识符–服务器开始运行时,向本地协议软件注册它使用的服务标识符–客户联系远程服务器时,需要指定它请求的服务的标识符–客户机上的传输协议在生成请求包时,向服务器计算机发送这一标识符–服务器计算机上的传输协议使用这一标识符决定处理这一请求的服务器程序。•TCP使用16位整数值(端口号)来标识服务。2.域名系统(DNS)•计算机使用二进制形式的IP地址标识主机,而用户习惯使用符号名称来记忆主机的名字,因此需要一种机制将计算机的符号名称转换成对应的IP地址。•集中式维护名字,IP地址绑定表的方法可扩展性差:表规模很大,更新周期长,名字冲突。•20世纪80年代中期,DNS投入使用。DNS使用层次命名方案和分布式数据库实现解决了可扩展性问题:–层次命名:避免名字冲突–分布式实现:减小表的规模,减小表的维护和传播开销。•域名系统通常由其它应用使用,将用户提供的主机名字或电子邮件地址转换成IP地址。DNS的名字空间•DNS在概念上将因特网分成了200多个顶级域,每个顶级域被进一步划分成若干个二级子域,每个二级子域还可以再分子域,依次类推。所有这些域被组织到一棵树中。•一个指定的域是指树中一个特定的节点以及该节点以下所有的节点。•某个域的域名用从该域开始向上直到树根(为空)的标号序列表示,标号之间用句点隔开,如ustc.edu.cn。•域名的任一后缀也是一个域。•顶级域分为组织域和国家域两类。域名树的一部分DNS的组织域域分配给com商业组织edu教育机构gov美国政府组织mil美国军事组织net主要网络提供商org非赢利组织arpa临时ARPA域(仍在使用)int国际组织DNS的工作过程•应用程序调用一个称为解析器的库例程,将名字作为参数传递进去。•解析器的内部配置了本地DNS服务器的地址,解析器将需要查询的信息封装成一个DNS请求报文,发送给本地域名服务器。•若本地数据库中有所需的信息,本地域名服务器将查到的信息封装成DNS响应报文,发回给解析器。•解析器从DNS响应报文取出查询结果,返回给调用者。DNS服务器的组织方式•三种类型的DNS服务器,按照层次结构从上到下依次为:–根DNS服务器:知道所有顶级域服务器的IP地址,因特网上共有13个根DNS服务器。–顶级域(TLD)服务器:每个顶级域至少有一个顶级域服务器,每个TLD服务器知道本域下所有二级子域的权威DNS服务器的IP地址。–权威DNS服务器:存放各组织机构公共可访问DNS记录的服务器。•分层解析:–本地DNS服务器,根DNS服务器,TLD服务器,二级子域权威服务器,三级子域权威服务器,……•通常使用DNS缓存提高查找效率;另外,本地DNS服务器通常缓存TLD服务器的IP地址,以绕过查询链中的根服务器。•物理域名服务器的层次结构往往比域名的层次结构少得多,因而查询链不会太长。3.电子邮件系统•两个概念:–电子邮箱:由计算机上的一个存储区域(如磁盘上的一个文件)组成,每个邮箱均被分配了唯一的电子邮件地址。–电子邮件地址:由两个部分组成,形如:mailbox@computer,前者为用户邮箱的字符串,后者为邮箱所在的计算机的名字,@符号分隔这两部分。•因特网电子邮件系统由三个部分组成:–用户代理:一个本地程序(或称邮件阅读器),为用户提供读邮件、编辑邮件、发送邮件及管理信箱等功能。–消息传输代理:运行在邮件服务器后台的一个系统守护程序,负责传递邮件及将收到的邮件放入用户邮箱。–简单邮件传输协议SMTP:在两个计算机之间传递邮件。一个邮件传输的例子•Alice向Bob发送一个邮件,假设Alice与Bob的邮箱不在同一个邮件服务器上:–Alice调用用户代理编辑邮件,提供Bob的电子邮件地址,然后通过用户代理发送邮件。–Alice的用户代理把信件发送给Alice的邮件服务器,该邮件被放到邮件服务器的发送队列中。–Alice的邮件服务器在发送队列中发现这封邮件,与Bob的邮件服务器进行交互,然后将邮件发送给Bob的邮件服务器。–Bob的邮件服务器接收邮件,将其放入Bob的邮箱中。–Bob在方便的时候,调用用户代理阅读该邮件。邮件传输协议SMTP•使用SMTP的邮件传输过程:–客户机上的消息传输代理与服务器上的SMTP守护进程(在端口25上监听)建立TCP连接。–服务器发送准备好报文,若服务器未准备好,客户机释放连接。–客户机向服务器通报信件的发送方和接收方。–若接收方信箱在服务器上,服务器通知客户机继续。客户机将信件发给服务器,服务器将信件放入相应的信箱后进行响应。–重复以上过程,将信件全部发完。–服务器交换发送方和接收方的身份,邮件反向流动。–当两个方向的信件均交换完后,释放连接。邮件的两阶段交付•含有邮箱的计算机必须运行一个邮件守候进程,并且需要连续不断地运行。因此,邮箱一般放在功能强大的运行邮件服务器的计算机系统上,用户代理通过远程访问邮箱来获取邮件。•邮件的交付被分成两个阶段:–在具有永久因特网连接的计算机上为每个用户分配一个邮箱,这台计算机上运行一个常规SMTP服务器,一直准备接收邮件。–用户与邮件服务器建立一个连接,运行一个从永久邮箱检索邮件的协议,将邮件传输到本地计算机上阅读或者在线阅读。两阶段交付的示意图邮件访问•邮局协议POP3–用户激活一个POP3客户,该客户与带有永久邮箱的计算机的端口110(POP3守护进程)建立一个TCP连接。–用户发送用户名和口令进行身份鉴别。–身份鉴别成功,用户发送POP3命令,将邮件接收到本地,并可将邮件标记为删除。–当客户发出退出命令时,服务器删除所有标记的邮件,回应客户。–释放连接。邮件访问(续)•Internet邮件访问协议IMAP–IMAP允许用户将所有邮件无限期地保留在服务器中,在线地阅读邮件,并允许用户动态地在服务器上创建、删除和管理多个信箱,将阅读过的信件放到相应的信箱中保存。–IMAP除了为用户接收邮件以外,还可以为用户发送邮件。•Webmail–用户代理为普通浏览器,浏览器和远程邮箱之间的通信使用HTTP协议,但邮件服务器之间仍是SMTP协议。–和IMAP一样,用户可以在远程服务器上用文件夹来组织他们的信件。4.万维网(WorldWideWeb)•从用户的角度来看,Web是由数量巨大且遍布全球的文档组成,这些文档称为Web页(Webpage)。•每个页除了含有基本的信息之外,还包含格式命令和指向其它页的链接:–格式命令:用于指示如何显示文档中的数据;–链接:用于指示如何获取另一个文件。•包含链接信息的文本串或图形称为超级链接(hyperlink),当用户点击一个超级链接时,该超级链接指向的页会被取回,并显示在用户屏幕上。•包含超级链接的页称为超文本(hypertext)页或超媒体(hypermedia)页,它们的区别在于文档内容。•页需要用称为浏览器的程序阅读,浏览器负责取回指定的页,并按照指定的格式显示在屏幕上。一个Web页的例子网页获取•Web采用客户/服务器模式工作,客户为浏览器软件,服务器是运行在Web服务器上的一个软件程序。•服务器平时总在端口80上监听客户的连接请求,当用户点击了一个超级链接后:(图例)–浏览器找到该链接所指的网页的名字–与网页所在的服务器建立一个TCP连接–向服务器发送取网页的请求–服务器将请求的网页发送给浏览器–释放TCP连接•两个问题需要解决:–如何命名一个网页–定义客户和服务器之间的传输协议Web工作模型统一资源定位器URL•为在全网范围内确定一个页,页名必须包括:页的存放地址,页在宿主机中的全路径名,页的访问方法。符合这三个条件的名字称为统一资源定位器URL(UniformResourceLocator)。•URL的一般格式为:schemename://host/path–Schemename:方法名,指出访问网页的协议名称,如http。–Host:网页所在宿主机的域名–Path:网页在宿主机上的全路径名•浏览器从host域得到网页所在服务器的域名,通过DNS获得服务器的IP地址,与服务器的相应端口建立TCP连接,使用schemename域指定的协议同服务器对话,并请求传送path域指定的页。Web的客户方•当用户点击了某个超级链接后,浏览器按以下步骤工作:–浏览器确定URL(从页及点击位置获取)。–请求DNS解析域名,DNS返回地址156.106.192.32。–浏览器与156.106.192.32的端口80建立一个TCP连接。–浏览器发送一个请求,要求取文件/home/index.html。–服务器发送文件/home/index.html,释放TCP连接。–浏览器显示文件/home/index.html的所有文本内容。–浏览器取回该文件中的所有图像并显示(一次取一个图像显示)。Web的服务器方•Web服务器的典型工作过程:–服务器在端口80监听,与请求的客户建立TCP连接,接收服务请求。–确定请求的Web页(名字扩展)。–(若需要)认证客户;对客户进行访问控制;对请求的页进行访问控制。–检查请求的页是否在高速缓存中,有直接读取。–若不在高速缓存中,从本地磁盘读取文件。–将文件返回给客户,进行日志记录,释放连接。状态信息和cookie•Web本质上是无状态的,当服务器将浏览器请求的文件发回后,服务器上不保留有关用户的任何信息。•在两次调用之间程序保存的信息称为状态信息,状态信息可以保存在浏览器或服务器上。•服务器传递给浏览器保存的状态信息称为cookie:–服务器完成服务请求时将需要保存的信息存于本地,同时将少量信息(cookie)返回给浏览器,cookie通常被作为这些信息的索引。–Cookie是一个小文件,通常保存在浏览器的cookie目录下。–当浏览器要向某个服务器发送请求时,先检查cookie目录,看是否有从那个服务器发来的cookie,如果有就把所有的cookie都包含在请求消息中,发送给服务器。Web文档•按照文档内容产生的时间,Web文档分为三类:–静态文档:静态文档以文件方式保存在Web服务器上,由文档的作者决定文档的内容,对静态文档的每次请求均产生相同的响应。–动态文档:动态文档是由Web服务器动态创建的。当请求到达时,Web服务器运行一个应用程序创建动态文档,并返回给浏览器,因此每次请求产生的动态文档是不同的。–主动(active)文档:主动文档由一个计算机程序组成,当游览器请求一个主动文档时,服务器返回一个必须在浏览器本地运行的程序的拷贝,程序运行时可以与用户进行交互,并不断访问服务器取回新的信息,因此主动文档的内容是在不断更新的。超文本标记语言HTML•HTML是一种标记语言,用于描述文档的显示格式。•使用HTML书写的文件是一种ASCII文件,它只规定了显示文档所需的大纲信息,允许浏览器确定文档的显示细节