




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第五部分应用层协议第五部分应用层协议1应用的体系结构客户/服务器体系结构有一个总是打开的服务器,在固定的众所周知的地址上为客户机提供服务,客户机之间不直接通信,如:电子邮件、文件传输、WWW…P2P体系结构:没有一个总是打开的服务器,任意一对主机(对等方)之间直接通信,如P2P文件共享;混合体系结构同时使用客户/服务器结构和P2P结构,如具有联系人列表的即时讯息。应用的体系结构客户/服务器体系结构2应用层协议应用层协议定义了运行在不同端系统上的应用程序如何进行通信,包括:相互交换的报文类型、各种报文类型的语法、各个字段的语义、各种报文的处理等。应用层协议只是网络应用的一部分,如Web应用包括:文档格式标准Web浏览、Web服务器应用层协议HTTP应用层协议应用层协议定义了运行在不同端系统上的应用程序如何进3客户-服务器模型建立互联网的目的是向用户提供服务,Internet主要采用客户-服务器模式向用户提供服务:一台计算机运行一个提供服务的程序(称服务器),另一台计算机运行一个请求服务的程序(称客户)。客户向服务器请求服务,而服务器完成所请求的服务。因而一个应用程序总是成对出现。一个服务器可以向任何客户提供服务。客户-服务器模型建立互联网的目的是向用户提供服务,Inter4客户和服务器客户:运行在本地计算机上向服务器请求服务的程序。客户程序是有限的,它由用户或另一个应用程序启动,服务完成时终止。客户使用远程计算机的IP地址以及在该远程计算机上提供该服务的端口号建立通信通道(称主动打开),发送请求和接收响应,服务结束后主动关闭通信通道。服务器:运行在远程计算机上向客户提供服务的程序。服务器程序是无限的,启动后就一直运行,除非出问题或被关闭。服务器一直在指定的端口上等待服务请求,当服务请求到来时建立通信通道(被动打开),处理请求并发回响应。客户和服务器客户:5第17章BOOTP和DHCP连接到TCP/IP网络的每一台计算机需要知道以下配置信息:自己的IP地址,自己的子网掩码,路由器的IP地址,名字服务器的IP地址。配置信息的获取:配置信息通常存储在一个配置文件中,计算机在引导过程中读取该文件。对于无盘工作站或第一次启动的计算机,需要使用配置协议获取配置信息。两个这样的协议:BOOTP和DHCP第17章BOOTP和DHCP连接到TCP/IP网络的每一台617.1引导协议BOOTPBOOTP协议用于将上述四种信息提供给无盘计算机或第一次启动的计算机。BOOTP使用客户-服务器模式,客户请求配置信息,服务器响应配置信息。BOOTP是一种静态配置协议,客户信息必须预先保存在配置信息表中。BOOTP包括了RARP的功能17.1引导协议BOOTPBOOTP协议用于将上述四种信息7BOOTP的分组格式BOOTP的分组格式8选项格式选项只在回答报文中出现,用于携带附加信息或某些特定厂商的信息。选项格式选项只在回答报文中出现,用于携带附加信息或某些特定厂9BOOTP的选项BOOTP的选项10BOOTP的操作BOOTP使用UDP协议,服务器和客户分别使用熟知端口号67和68。客户发送BOOTP请求报文,报文先被封装成UDP用户数据报,然后再封装成IP数据报(源地址为全0,目的地址为全1),IP数据报再封装在广播帧中发送。服务器查找相应的配置信息,构造BOOTP响应报文。封装响应报文的IP数据报的目的地址仍为全1地址,但可使用广播帧或单播帧发送。使用单播帧发送时,目的地址为服务器从携带BOOTP请求报文的帧中获取的源MAC地址。若客户需要引导程序,服务器在BOOTP响应报文中只是给出了文件的路径名。客户需要使用TFTP协议从相应的文件服务器获取所需要的引导程序。BOOTP的操作BOOTP使用UDP协议,服务器和客户分别使11BOOTP报文的封装BOOTP报文的封装12中继代理若使用一个BOOTP服务器为好几个局域网提供服务,则必须在每个局域网中安装一个中继代理。中继代理是一个路由器,负责在本地计算机和远程服务器之间转发请求和响应。收到客户请求的中继代理在网关IP地址字段中填入自己的地址,用单播方式发送给BOOTP服务器;BOOTP服务器将响应报文发送给中继代理;中继代理再转发给请求计算机。中继代理若使用一个BOOTP服务器为好几个局域网提供服务,则13差错控制BOOTP使用以下差错控制策略:BOOTP要求UDP使用检验和BOOTP使用超时重传机制进行差错恢复。差错控制BOOTP使用以下差错控制策略:1417.2动态主机配置协议DHCPDHCP扩充了BOOTP协议,支持动态配置,特别是可提供临时IP地址。永久地址和临时地址:永久地址一般分配给服务器。临时(租用)地址一般分配给普通客户。当临时地址将到期时,客户必须与DHCP服务器协商延长租期,否则不能再使用该IP地址。DHCP服务器使用两个数据库:静态配置数据库:类似于BOOTP服务器中的配置数据库。动态配置数据库:拥有一个可用IP地址池。当收到客户请求时,DHCP服务器先查找静态数据库;若存在请求的表项,返回这个客户的永久IP地址;否则,从可用IP地址池中选择一个分配给客户,并添加表项到动态数据库中。17.2动态主机配置协议DHCPDHCP扩充了BOOTP协15DHCP分组格式DHCP分组格式16DHCP新增的选项这些新增的选项用来定义在客户和服务器之间交互的类型。DHCP新增的选项这些新增的选项用来定义在客户和服务器之间交17DHCP的操作DHCP客户启动时发送DHCPDISCOVER报文。提供DHCP服务的服务器发送DHCPOFFER报文,向客户提供一个临时IP地址,并锁定该IP地址。DHCP客户从收到的响应中选择一个IP地址,向提供该IP地址的服务器发送DHCPREQUEST报文。DHCP服务器发送DHCPACK报文进行响应,并绑定客户的物理地址与IP地址。在租期经过一半后,客户发送一个DHCPREQUEST报文请求更新。若收到DHCPACK,续约完成;若收到DHCPNACK或租期超过,重新申请一个IP地址。DHCP的操作DHCP客户启动时发送DHCPDISCOVER18应用层协议课件19DHCP状态转换图DHCP状态转换图20练习28,29,30练习28,29,3021第18章域名系统DNS网络内部使用IP地址来引用资源,而人们往往倾向于使用便于记忆的ASCII名字,这就需要在资源的ASCII名字和它的IP地址之间建立起一种映射关系。早期的Internet使用主机文件来实现映射:名字冲突更新慢域名系统是一种分级结构的基于域的命名方案和实现这种命名方案的分布式数据库:层次命名解决了大规模网络中名字冲突的问题;分布式数据库解决了表的维护与传播问题。第18章域名系统DNS网络内部使用IP地址来引用资源,而人22命名空间DNS在概念上将因特网分成了200多个顶级域,每个顶级域被进一步划分成若干个二级子域,每个二级子域还可以再分子域,依次类推。命名空间DNS在概念上将因特网分成了200多个顶级域,每个顶23域名和标号一个指定的域是指树中一个特定的节点以及该节点以下所有的节点。树上每一个节点都有一个标号(最多63个字符),根标号是空字符串。某个域的域名用从该域开始向上直到树根(为空)的标号序列表示,标号之间用句点隔开。域名的任一后缀也是一个域。域名和标号一个指定的域是指树中一个特定的节点以及该节点以下所24顶级域顶级域分为组织域、国家域和反向域三种。组织域:由美国国内机构及一些国际组织使用。国家域:使用二字符的国家代码,每个国家对应一个。反向域:域名为arpa,用来把一个地址映射为名字。顶级域顶级域分为组织域、国家域和反向域三种。25组织域组织域26国家域国家域27反向域反向域28DNS解析过程DNS的一般工作过程:应用程序调用一个称为解析器的库例程,将名字作为参数传递进去。解析器的内部配置了本地DNS服务器的地址。解析器将需要查询的信息封装成一个DNS请求报文,发送给本地域名服务器。若本地数据库中有所需的信息,本地域名服务器将查到的信息封装成DNS响应报文,发回给解析器。解析器从DNS响应报文取出查询结果,返回给调用者。DNS解析过程DNS的一般工作过程:29DNS服务器的组织方式三种类型的DNS服务器:根服务器:知道所有顶级域服务器的IP地址,因特网上共有13个根服务器。顶级域(TLD)服务器:每个顶级域至少有一个顶级域服务器,每个TLD服务器知道本域下所有二级子域的权威DNS服务器的IP地址。权威DNS服务器:存放各组织机构公共可访问DNS记录的服务器。DNS服务器的组织方式三种类型的DNS服务器:30本地数据库中没有找到所需的信息递归解析:由域名服务器逐层向上查询,并将最终解答返回给解析程序。迭代解析:域名服务器将需要进一步查询的域名服务器的IP地址返回给解析器,由解析器向推荐的服务器发送查询请求。使用DNS缓存:当服务器收到不在它域中的名字-IP地址映射关系时,将收到的映射关系保存在其高速缓存中,以备下一个客户查询。本地数据库中没有找到所需的信息递归解析:由域名服务器逐层向上31递归解析示意递归解析示意32迭代解析示意迭代解析示意33域名服务器的概念层次域名服务器的概念层次34物理服务器的层次一个物理服务器保存的信息可能涉及域名空间的若干层,它也可以把它的域划分成若干子域,把其中的一些子域委托给其它服务器。因此,实际的物理服务器的层次与域名空间的逻辑层次不同。物理服务器的层次一个物理服务器保存的信息可能涉及域名空间的若35资源记录DNS数据库的每一个表项称为一个资源记录。每个域都有一组与之相关联的资源记录,解析器从DNS得到的其实是和域名相关联的资源记录。因此可以说,DNS的主要功能是将域名映射到资源记录上。一条资源记录是一个六元组,包括:域名:该资源记录适用的域;生存期:表示资源记录的稳定性;信息类型:对于因特网信息,该字段总为1;资源记录类型:共有20多种资源记录资源数据长度资源数据资源记录DNS数据库的每一个表项称为一个资源记录。36资源记录格式资源记录格式37重要的资源记录类型重要的资源记录类型38DNS数据库内容示例DNS数据库内容示例39DNS报文的封装DNS可以使用UDP,也可以使用TCP,服务器的熟知端口都是53。当响应报文的长度小于512字节时,使用UDP。当响应报文的长度超过512字节时,使用TCP。当解析程序事先不知道响应报文的长度时,先使用UDP;若响应报文的长度超过512字节,服务器截断这个报文,置DNS报文首部的TC标志为1;解析程序打开TCP连接,并重复这个请求,以便得到完整的响应。DNS报文的封装DNS可以使用UDP,也可以使用TCP,服务40第19章Telnet我们需要一种通用的客户-服务器程序,允许用户注册到远程计算机上,然后使用远程计算机提供的服务,并把结果返回到本地计算机上。Telnet是提供虚拟终端服务的TCP/IP协议,使用户能够建立一条到远程系统的连接,好像本地终端就连接在远程系统上一样。第19章Telnet我们需要一种通用的客户-服务器程序,允4119.1注册在分时环境中,大型计算机支持许多个用户,用户通过终端与计算机交互。当用户在键盘上输入字符时,字符被发送到计算机,同时回送到显示器上,让用户有使用专用计算机的感觉。用户可以运行程序,使用系统资源。在分时环境中,用户是系统的一部分,并具有使用资源的某些权利。每一个授权用户都有一个标识和一个口令,当用户需要使用计算机时必须注册,提供用户标识和口令,供计算机进行鉴权。19.1注册在分时环境中,大型计算机支持许多个用户,用户通42本地注册用户注册到本地分时系统时,称为本地注册。用户在终端上的击键被终端驱动程序接受,操作系统解释字符的组合,并调用所需的程序。本地注册用户注册到本地分时系统时,称为本地注册。43远程注册用户注册到远程计算机上,称为远程注册。用户的击键输入不在本地解释,而是通过Internet发送到远程计算机上,由远程操作系统交付给应用程序。用户输入的字符被送到telnet客户,telnet客户将字符转换成网络虚拟终端(NVT)字符,经因特网传输到远程机器,telnet服务器将NVT字符转换成本机可理解的字符,再通过伪终端驱动程序交给适当的应用程序。远程注册用户注册到远程计算机上,称为远程注册。4419.2网络虚拟终端NVT每一个计算机及其操作系统接受特殊的字符组合作为一些记号。NVT是Telnet为异构系统之间通信而定义的通用接口。Telnet客户将来自本地终端的字符转换成NVT形式,交付给网络;Telnet服务器把来自NVT形式的字符转换成远程计算机可接受的形式。VNT使用两个字符集,每一个字符都为8位:数据字符:最高位为0,低7位与USASCII相同。远程控制字符:最高位为1。19.2网络虚拟终端NVT每一个计算机及其操作系统接受特殊4519.3Telnet传输Telnet仅使用一个TCP连接,服务器使用熟知端口23。NVT的远程控制字符嵌入在数据流中一起传输,控制字符前加上IAC以区别于数据。19.3Telnet传输Telnet仅使用一个TCP连接,4619.4选项协商Telnet允许客户与服务器之间协商选项,如终端类型、终端速率、回显、行模式等。Telnet使用四种控制字符进行选项协商。19.4选项协商Telnet允许客户与服务器之间协商选项,47选项协商示例客户希望服务器把发送给服务器的每一个字符回显。回显选项仅能被服务器启动,因而客户使用DO来请求启动这个选项,服务器用WILL表示接受这个请求。选项协商示例客户希望服务器把发送给服务器的每一个字符回显。4819.5对服务器进行控制需要一些控制字符来控制在远程计算机上运行的程序。19.5对服务器进行控制需要一些控制字符来控制在远程计算机49带外信令为使控制字符在特殊情况下有效,Telnet使用带外方式将控制字符发送给远程操作系统,方法是使用TCP的紧急报文段。在控制字符序列后面插入特殊字符DM(数据标记),TCP报文段紧急指针指向DM。接收端TCP根据DM找到控制字符,交给上层,丢弃DM之前的数据,从DM开始的数据按正常数据处理。带外信令为使控制字符在特殊情况下有效,Telnet使用带外方5019.6Telnet的操作模式默认模式:字符回显由客户完成,整个一行输完后再发送给服务器,但必须收到来自服务器的GA命令后才能接受用户的下一行输入(半双工方式)。这种模式已很少使用。字符模式:每一个键入的字符都发送给服务器,并被回显到客户的屏幕上。这种方式开销很大。行模式:行编辑由客户完成,然后把整行发送给服务器。行模式是全双工模式,客户可以一行接着一行地发送,不需要等待服务器的GA命令。19.6Telnet的操作模式默认模式:字符回显由客户完成51Telnet交互示例(默认方式)Telnet交互示例(默认方式)52切换到字符模式切换到字符模式5319.7用户接口用户不使用以上Telnet命令,通常操作系统会定义一个用户友好的命令接口,用于将用户友好的命令转换为Telnet命令。19.7用户接口用户不使用以上Telnet命令,通常操作系54第20章文件传送协议FTPFTP是TCP/IP提供的标准机制,用来从一个主机把文件复制到另一个主机。FTP使用两个TCP连接,一条连接用于传送数据,另一条连接用于传送控制信息(命令和响应)。控制连接在整个FTP会话期间一直保持,数据连接在每一次文件传送时打开,在一个文件传送结束后关闭。FTP使用关闭连接来表示一个文件传送结束。若传送多个文件,则数据连接打开和关闭多次。第20章文件传送协议FTPFTP是TCP/IP提供的标准机55FTP模型两端的控制进程间建立控制连接,数据传送进程间建立数据连接。FTP模型两端的控制进程间建立控制连接,数据传送进程间建立数56建立控制连接服务器在熟知端口21等待客户,客户使用临时端口号建立连接。建立控制连接服务器在熟知端口21等待客户,客户使用临时端口号57建立数据连接客户选择一个临时端口号,在该端口上等待服务器的连接请求。客户在控制连接上用PORT命令将临时端口号发送给服务器。服务器使用端口20与客户机给出的端口建立连接。建立数据连接客户选择一个临时端口号,在该端口上等待服务器的连58将控制连接和数据连接分开的优点:简化协议的设计和实现控制连接在文件传输过程中一直可用使用数据连接的关闭通知文件传输结束,允许动态创建文件。将控制连接和数据连接分开的优点:59解决异构系统之间的通信问题控制连接上的通信:使用NVTASCII编码的FTP命令和响应在控制连接上定义要传送的文件类型、数据结构及传输模式。数据连接上的通信:按照在控制连接上定义的文件类型、数据结构及传输模式进行数据转换、传输及交付。解决异构系统之间的通信问题控制连接上的通信:60文件类型ASCII文件:传送文本文件的默认格式,每一个字符使用NVTASCII进行编码。EBCDIC文件:若连接的一端或两端使用EBCDIC编码,则可使用EBCDIC编码传送文件。图像文件:传送二进制文件的默认格式,文件作为连续的位流而没有任何解释或编码。文件类型ASCII文件:传送文本文件的默认格式,每一个字符使61数据结构文件结构(默认):这种文件没有结构,是连续的字节流。记录结构:文件被划分为一些记录,只能用于文本文件。页面结构:文件被划分为一些页面,每一个页面有页号和页首部,页面可以被随机或顺序存取。数据结构文件结构(默认):这种文件没有结构,是连续的字节流。62传输模式流模式:默认模式。数据作为连续的字节流从FTP交付给TCP,TCP将数据划分成适当大小的报文段。块模式:数据可以按块从FTP交付给TCP。每一个块有3个字节的首部,包括一个字节的块描述符、和两个字节定义的块长度。压缩模式:当文件很大时,可对数据进行压缩,通常使用的压缩方法是游程长编码。传输模式流模式:默认模式。数据作为连续的字节流从FTP交付给63FTP命令FTP命令包括六类命令:接入命令:使用户能够接入远程系统,如要求用户标识、口令、注销等。文件管理命令:使用户接入到远程计算机的文件系统,包括对目录及文件的操作。数据格式化命令:让用户定义数据结构、文件类型及传输模式。端口定义命令:定义客户端数据连接使用的端口号。文件传送命令:让用户传送文件。杂项命令:用于将信息交付给客户端的FTP用户。FTP命令FTP命令包括六类命令:64FTP响应每一个FTP命令产生至少一个响应。响应包括两部分:一个3比特的数字:定义代码正文:定义所需的参数或额外的解释FTP响应每一个FTP命令产生至少一个响应。65FTP交互FTP交互66用户接口大多数操作系统提供用户友好接口来接入FTP服务。接口提示用户作适当的输入,将其转换为相应的FTP命令。用户接口大多数操作系统提供用户友好接口来接入FTP服务。67第21章简单文件传送协议TFTPTFTP协议为仅需要复制一个文件的应用而设计,如无盘工作站在被引导时下载引导和配置文件。TFTP使用UDP协议,以使软件包可被放入无盘工作站的ROM中。UDP不提供连接建立/终止、差错控制和流量控制的功能,这些功能需要TFTP来提供。第21章简单文件传送协议TFTPTFTP协议为仅需要复制一68TFTP的传输控制机制TFTP将文件划分成若干数据块并编号,除最后一块外,每块为512字节,最后一块必须在0~511字节之间。TFTP用发送小于512字节的块表示发送结束。TFTP采用停-等协议传送数据,发送端每次发送一个块,收到接收方的确认后再发送下一个块。TFTP依靠UDP检测数据错误并丢弃出错的包,发送端使用超时重传机制解决分组丢失问题。TFTP的传输控制机制TFTP将文件划分成若干数据块并编号,69TFTP报文读请求RRQ:客户向服务器请求读一个文件,报文中包含文件名和文件模式(netascii或octet)。写请求WRQ:客户请求向服务器写一个文件,报文中包含文件名和文件模式。TFTP报文读请求RRQ:客户向服务器请求读一个文件,报文中70TFTP报文(续)数据DATA:客户或服务器用来传送数据块,报文中包含块号和数据块。确认ACK:客户或服务器用来确认收到数据块,报文中包含收到的数据块的块号。TFTP报文(续)数据DATA:客户或服务器用来传送数据块,71TFTP报文(续)差错报告ERROR:由客户或服务器用来报告出现差错,报文中包含差错类型及差错信息。TFTP报文(续)差错报告ERROR:由客户或服务器用来报告72建立连接TFTP使用RRQ、WRQ、ACK和ERROR报文来建立连接,并使用小于512字节的数据块来终止连接。建立连接TFTP使用RRQ、WRQ、ACK和ERROR报文来73UDP端口TFTP使用UDP熟知端口69。为使TFTP服务器能够服务于多个客户,TFTP只使用端口69建立读文件或写文件的初始连接,此后使用短暂端口进行数据传输。服务器在端口69上等待客户请求。客户在选择的临时端口上向服务器端口69发送RRQ或WRQ报文。服务器选择一个临时端口作为源端口,向客户端口发送ACK或ERROR报文,自己仍回到端口69上等待。服务器中的UDP模块根据目的端口号区分不同的客户。客户使用自己的临时端口与服务器的临时端口进行通信。UDP端口TFTP使用UDP熟知端口69。74应用层协议课件75TFTP交互举例TFTP交互举例76TFTP与BOOTP一起使用TFTP与BOOTP一起使用77TFTP的安全性TFTP不提供安全性,没有用户标识或口令。为防止黑客利用TFTP进行非法文件存取,管理员一般限定TFTP只能访问某个存放引导和配置文件的文件夹。TFTP的安全性TFTP不提供安全性,没有用户标识或口令。78练习18,20,21,23练习18,20,21,2379第22章电子邮件系统电子邮件系统支持:把邮件发送给一个或多个收信人发送包括文本、图形、声音、视频等媒体形式的报文两个概念:电子邮箱:由计算机上的一个存储区域(如磁盘上的一个文件)组成,每个邮箱均被分配了唯一的电子邮件地址。电子邮件地址:由两个部分组成,形如:mailbox@computer,前者为用户邮箱的字符串,后者为邮箱所在的计算机的名字。第22章电子邮件系统电子邮件系统支持:8022.1因特网电子邮件系统的组成用户代理UA:一个本地程序(或称邮件阅读器),为用户提供读邮件、编辑邮件、发送邮件及管理信箱等功能。消息传输代理MTA:运行在邮件服务器后台的一个系统守护程序(daemon),负责传递邮件及将收到的邮件放入用户邮箱。简单邮件传输协议SMTP(由RFC821定义):定义在两个计算机之间传递邮件的过程。邮件访问协议:访问邮箱中的邮件。22.1因特网电子邮件系统的组成用户代理UA:一个本地程序81电子邮件系统的结构(1)情形一:发信人和收信人在同一个系统上只需要两个用户代理(UA)电子邮件系统的结构(1)情形一:82电子邮件系统的结构(2)情形二:发信人和收信人在不同的系统上需要两个用户代理(UA)和一对消息传输代理(MTA)电子邮件系统的结构(2)情形二:83电子邮件系统的结构(3)情形三:发信人通过一个网络连接到邮件服务器上,而收信人仍然直接连接到邮件服务器需要两个UA和两对MTA电子邮件系统的结构(3)情形三:84电子邮件系统的结构(4)情形四:发信人和收信人均通过网络连接到邮件服务器需要两个UA、两对MTA和一对MAA(邮件访问代理)这是目前最常见的情形。电子邮件系统的结构(4)情形四:85推和拉SMTP是一种消息推送(push)协议访问邮件需要一种“拉”(pull)协议推和拉SMTP是一种消息推送(push)协议86延迟交付发送端可以延迟发送报文。UA创建报文后,先将报文交付到发送端的临时存储系统。MTA客户定期检查临时存储系统是否有邮件要发送,当能够与邮件服务器建立连接时发送邮件,否则邮件继续留在临时存储系统中,直到超时。接收端收到邮件后,先放到收信人的信箱中,收信人在适当的时候从信箱中取信件。中间MTA也可以在它的邮箱和临时存储系统中保存邮件,并在适当的时候发送。延迟交付发送端可以延迟发送报文。UA创建报文后,先将报文交付8722.2用户代理用户代理提供编辑、阅读、回复、转发邮件的功能,以及管理邮箱的功能。邮件格式(由RFC822定义):信封:包含与信件传输有关的信息,仅供消息传输代理使用。信头:包括发信人地址及信体格式说明,供用户代理使用。信体:收信人真正感兴趣的部分。22.2用户代理用户代理提供编辑、阅读、回复、转发邮件的功88电子邮件的格式电子邮件的格式89多用途因特网邮件扩展MIMESMTP只支持纯文本(NVTASCII)格式的报文传输,不支持其它语言及二进制文件传输。MIME是对RFC822的扩展,它允许信体具有一定的数据结构,并规定了非ASCII文本信息在传输时的统一编码形式。MIME在信头中增加了5个域(现在可能有扩展)。多用途因特网邮件扩展MIMESMTP只支持纯文本(NVTA90MIME头MIME版本内容类型:定义信体使用的数据类型,共定义了七大类及若干子类(有扩展)。内容传输编码:定义信体使用的传输编码格式,共定义了基本ASCII编码集、扩展ASCII编码集、二进制编码、基64编码、引用可打印编码五种传输编码形式。内容标识:消息ID。内容描述:对于非文本信体的文字描述。MIME头MIME版本91MIME中的内容类型与子类型Multipart:信体包含多个独立的部分,多部分首部中应定义每一个部分的边界。Multipart/mixed:信体是不同数据类型的组合,如包含文本、声音、附件等内容,必须按顺序呈现。Multipart/parallel:信体是不同数据类型的组合,各部分之间的顺序不重要。Multipart/digest:类似于mixed,但缺省的type/subtype是message/RFC822。Multipart/alternative:信体包含同一个消息的不同版本,如有text和html两种格式的文本。MIME中的内容类型与子类型Multipart:信体包含多个92MIME中的内容类型与子类型MIME中的内容类型与子类型93传输编码类型Shortlines:行的长度不能超过1000字符。Unlimited-lengthlines:不限制行的长度不推荐使用扩展ASCII字符集和二进制编码进行传输。MIME定义了Base64和Quoted-printable两种编码形式。传输编码类型Shortlines:行的长度不能超过100094Base64编码每24比特数据被分成4个6比特的单元,每个单元编码成一个合法的ASCII字符,其对应关系为:0~25编码成‘A’~‘Z’,26~51编码成‘a’~‘z’,52~61编码成‘0’~‘9’,62和63分别编码成‘+’和‘/’,‘==’和‘=’分别表示最后一组只有8比特和16比特,回车和换行忽略。Base64编码每24比特数据被分成4个6比特的单元,每个单95引用可打印编码若数据的绝大部分为ASCII字符,只有一小部分是非ASCII码字符,则只对非ASCII字符进行转换。将该字符的十六进制表示用两个ASCII字符标记,前面冠以特殊字符“=”。(更正:图中“5”应为“=”)引用可打印编码若数据的绝大部分为ASCII字符,只有一小部分9622.3SMTP邮件的真正传送由MTA完成,SMTP定义了MTA客户和MTA服务器之间的交互方式。SMTP使用命令和响应在MTA客户和MTA服务器之间传送报文。SMTP定义了14种命令,有5个是每一种实现都必须支持的,有3种是高度推荐的,还有6种很少使用。22.3SMTP邮件的真正传送由MTA完成,SMTP定义了97SMTP命令Helo:客户用来标识自己Mailfrom:客户用来标识发信人Rcptto:客户用来标识收信人Data:用来发送真正的报文Quit:结束报文。SMTP命令Helo:客户用来标识自己98邮件传送阶段建立连接MTA客户与MTA服务器在熟知端口25建立TCP连接。服务器发送服务就绪报文客户发送HELO报文,用域名标识自己服务器响应邮件传送阶段建立连接99报文传送客户发送MIALFROM报文,通报信件的发送方,服务器响应。客户发送RCPT报文,通报收信人的邮件地址。若接收人信箱在服务器上,服务器通知客户继续。客户发送DATA报文,服务器响应。客户用连续的行发送报文内容。服务器将信件放入相应的信箱后进行响应。重复以上过程,将信件全部发完。报文传送客户发送MIALFROM报文,通报信件的发送方,服100应用层协议课件101连接终止客户发送QUIT报文服务器响应。释放TCP连接。连接终止客户发送QUIT报文10222.4邮件交付第一阶段:电子邮件从用户代理传送到本地服务器,用户使用SMTP客户软件,本地服务器使用SMTP服务器软件。第二阶段:本地服务器将电子邮件转发给收信人的邮件服务器,本地服务器使用SMTP客户软件,远程服务器使用SMTP服务器软件。远程服务器将收到的邮件放入收信人的邮箱。第三阶段:远程用户代理使用邮件访问协议,访问邮箱并获取邮件。22.4邮件交付第一阶段:电子邮件从用户代理传送到本地服务103邮件交付示意邮件交付示意10422.5邮局协议POP3邮局协议POP3:POP3客户软件安装在收信人的计算机上,POP3服务器软件安装在收信人的邮件服务器上。用户激活一个POP3客户,该客户与邮件服务器的端口110建立一个TCP连接。用户发送用户名和口令进行身份鉴别。若身份鉴别成功,用户发送POP3命令,将邮件接收到本地。客户发出退出命令,服务器进行响应。释放TCP连接。POP3的模式:删除模式:每次读取邮件后就把邮箱中的这个邮件删除。保存模式:邮件读取后仍然保留在邮箱中。22.5邮局协议POP3邮局协议POP3:105使用POP3读取邮件使用POP3读取邮件10622.6Internet邮件访问协议IMAPIMAP允许用户动态地在服务器上创建、删除和管理多个信箱,可以在文件夹中创建分层次的信箱。IMAP允许用户在服务器上整理邮件,将阅读过的信件放到相应的信箱中保存。允许用户在下载邮件之前可以检查邮件的头部,用特定的字符串搜索邮件内容,部分地下载电子邮件。IMAP除了为用户接收邮件外,还可以为用户发送邮件。IMAP服务器在端口143上监听。22.6Internet邮件访问协议IMAPIMAP允许用107Webmail一些网站(如Hotmail、Yahoo等)向访问网站的用户提供电子邮件服务。用户代理为普通浏览器,浏览器和远程邮箱之间的通信使用HTTP协议,但邮件服务器之间仍是SMTP协议。和IMAP一样,用户可以在远程服务器上用文件夹来组织他们的信件。Webmail一些网站(如Hotmail、Yahoo等)向访108练习36,37,38,45,47,48练习36,37,38,45,47,48109第23章简单网络管理协议SNMP不作要求第23章简单网络管理协议SNMP不作要求110第25章万维网从用户的角度来看,Web是由数量巨大且遍布全球的文档组成,这些文档称为Web页。每个页除了含有基本的信息之外,还包含格式命令和指向其它页的链接:格式命令:用于指示如何显示文档中的数据链接:用于指示如何获取另一个文件包含链接信息的文本串或图形称为超级链接,当用户点击一个超级链接时,该超级链接指向的页会被取回,并显示在用户屏幕上。包含超级链接的页称为超文本页或超媒体页,它们的区别在于文档内容。第25章万维网从用户的角度来看,Web是由数量巨大且遍布全111浏览器页需要用称为浏览器的程序阅读,浏览器负责取回指定的页,并按照指定的格式显示在屏幕上。浏览器由三个部分组成:控制程序:接收来自键盘或鼠标的输入,调用某个客户程序访问文档;获取文件档后,使用某个解释程序将文档显示在屏幕上。客户程序:可以是HTTP、FTP、Telnet等的一种。解释程序:取决于文档的类型。浏览器页需要用称为浏览器的程序阅读,浏览器负责取回指定的页,11225.1网页获取Web采用客户-服务器模式工作,客户为浏览器软件,服务器是运行在Web服务器上的一个软件程序。服务器平时总在端口80上监听客户的连接请求,当用户点击了一个超级链接后:浏览器找到该链接所指的网页的名字与网页所在的服务器建立一个TCP连接向服务器发送取网页的请求服务器将请求的网页发送给浏览器释放TCP连接两个问题需要解决:如何命名一个网页定义客户和服务器之间的传输协议25.1网页获取Web采用客户-服务器模式工作,客户为浏览113统一资源定位符URL为在全网范围内确定一个页,页名必须包括:页的存放地址,页在宿主机中的全路径名,页的访问方法。符合这三个条件的名字称为URL。UniformResourceLocator(URL)的一般格式为method://host/pathmethod:方法名,指出访问网页的协议名称,常见的方法有http、ftp、telnet、Gopher和news。Host:网页所在宿主机的域名Path:网页在宿主机上的全路径名可选地,URL可以包含服务器的端口号,如:method://host:port/path统一资源定位符URL为在全网范围内确定一个页,页名必须包括:114Web的客户方(1)当用户点击了超级链接/home/index.html后,浏览器按以下步骤工作:浏览器确定URL(从页及点击位置获取)请求DNS解析域名,DNS返回IP地址2浏览器与2的端口80建立一个TCP连接浏览器发送一个请求,要求取文件/home/index.html服务器发送文件/home/index.html,释放TCP连接浏览器显示文件/home/index.html的所有文本内容浏览器取回该文件中的所有图像并显示(一次取一个图像显示)Web的客户方(1)当用户点击了超级链接http://www115Web的客户方(2)为使浏览器能够正确解释和显示每一个Web页,Web页应当使用称为HTML(超文本标记语言)的标准语言书写。如果一个页不是HTML格式的,怎么显示?当服务器返回一个页的时候,同时要返回关于这个页的一些额外信息,特别是页的MIME类型。当页的MIME类型是text/html(浏览器的内置类型)时,浏览器直接显示。当页的MIME类型不是浏览器本身所支持的,浏览器查找MIME类型表,该表将每个MIME类型关联到一个阅读器上,浏览器调用相应的阅读器进行显示。阅读器可以是和浏览器运行在同一个程序空间的插件程序,也可以是一个独立的助手程序。对于本地文件,浏览器通过文件的扩展名得知文件类型。Web的客户方(2)为使浏览器能够正确解释和显示每一个Web116Web的服务器方Web服务器的典型工作过程:服务器在端口80监听,与请求的客户建立TCP连接,接收服务请求。确定请求的Web页(名字扩展)。(若需要)认证客户;对客户进行访问控制;对请求的页进行访问控制。检查请求的页是否在高速缓存中,有则直接读取,否则从本地磁盘读取文件。确定要包含在响应中的MIME类型。其它处理。将文件返回给客户,进行日志记录,释放连接。Web的服务器方Web服务器的典型工作过程:11725.2Web文档Web文档类型:静态文档:静态文档以文件方式保存在Web服务器上,由文档的作者决定文档的内容,对静态文档的每次请求均产生相同的响应。动态文档:动态文档由Web服务器动态创建。当请求到达时,Web服务器运行一个应用程序创建动态文档,并返回给浏览器,因此每次请求产生的动态文档是不同的。主动(active)文档:主动文档由一个计算机程序组成,当游览器请求一个主动文档时,服务器返回一个必须在浏览器本地运行的程序的拷贝,程序运行时可以与用户进行交互,并不断访问服务器取回新的信息,因此主动文档的内容是不断更新的。25.2Web文档Web文档类型:118静态文档和超文本标记语言HTMLHTML是一种标记语言,用于描述文档的显示格式。使用ASCII字符表示的格式命令可被任何浏览器识别和理解。HTML中的格式命令称为标签。标签一般成对出现,包含在一对标签中的文档内容,显示格式由该标签指定。有些标签可以有属性,如:<IMG>标签在Web页中嵌入图像:
<IMGSRC=“/images/logo.gif”ALIGN=middle><A>标签在Web页中加入超级链接:<AHREF="">NASA'shomepage</A>也可以为图像设置超级链接:<AHREF=""><IMGSRC="shuttle.gif"ALT="NASA"></A>静态文档和超文本标记语言HTMLHTML是一种标记语言,用于119标签的使用示例标签的使用示例120表单HTML使用表单收集用户的输入信息,表单中包含需要用户提供信息的条目,每个条目都有一个唯一的名字。当用户点击提交按钮时,浏览器将所有条目及条目的值汇总,发送给服务器。表单HTML使用表单收集用户的输入信息,表单中包含需要用户提121表单的处理表单的处理122动态文档和公共网关接口CGI处理动态文档的传统方法是公共网关接口CGI:CGI是一个标准接口,它允许Web服务器与一个能够处理动态文档的后台程序或脚本进行交互。CGI只规定了服务器与后台程序交互的通用规则,而允许程序员选择大多数的实现细节,如编程语言的选择。每个CGI程序被赋予一个URL,位于cgi-bin目录下,表单的ACTION参数指出了处理表单数据的CGI程序的URL。当表单数据被提交后,Web服务器调用相应的CGI程序,表单中的数据作为输入。CGI程序通过输出的头部与服务器进行通信,指出输出数据的长度、类型、有效时间等,也可以指出文档放在另一个URL(重定向)。服务器取得CGI生成的文档,返回给浏览器。动态文档和公共网关接口CGI处理动态文档的传统方法是公共网关123主动文档和Java大多数情况下,Java用来创建小应用程序applet。Javaapplet必须先被编译成字节码并存储在Web服务器上。游览器需要运行HTML解释器和Java解释器。当用户向浏览器提供一个Applet的URL,或浏览器在HTML文档中遇到一个指向Applet的标记<applet>时,浏览器与服务器联系获得该Applet的一个拷贝,下载到本地执行。Applet使用浏览器的HTTP客户检索文档,使用浏览器的HTML解释器显示网页信息。主动文档和Java大多数情况下,Java用来创建小应用程序a124第24章超文本传输协议HTTPHTTP是浏览器与Web服务器之间通信使用的协议,规定了客户与服务器通信所使用的命令及响应。HTTP通常运行在TCP连接之上,使用端口80。第24章超文本传输协议HTTPHTTP是浏览器与Web服务12524.1HTTP请求和响应消息HTTP使用两种类型的报文:请求报文:包含请求行、首部及可能的主体。响应报文:包括状态行、首部及可能的主体。24.1HTTP请求和响应消息HTTP使用两种类型的报文:126HTTP请求和响应消息HTTP请求和响应消息127请求行和状态行请求行包括请求类型(方法)、URL和HTTP版本状态行定义响应报文的状态,包括HTTP版本、状态码和状态短语请求行和状态行请求行包括请求类型(方法)、URL和HTTP版128请求类型(方法)请求类型(方法)129HTTP报文的首部首部用于在客户和服务器之间交换附加的信息。特别地,HTTP允许浏览器和服务器通过首部交换元信息和协商各种能力。定义了四种类型的首部:通用首部,请求首部,响应首部和实体首部。首部的一般格式:HTTP报文的首部首部用于在客户和服务器之间交换附加的信息。130通用首部给出关于报文的通用信息,可以出现在请求和响应报文中。通用首部给出关于报文的通用信息,可以出现在请求和响应报文中。131请求首部指明浏览器配置和优先使用的文档格式,只能出现在请求报文中。请求首部指明浏览器配置和优先使用的文档格式,只能出现在请求报132响应首部指明服务器配置和关于请求的特殊信息,只能出现在响应报文中。响应首部指明服务器配置和关于请求的特殊信息,只能出现在响应报133实体首部给出文档主体的信息,可以出现在请求和响应报文中。实体首部给出文档主体的信息,可以出现在请求和响应报文中。134HTTP报文交互示例(1)使用get方法获取路径为/usr/bin/image1的图像HTTP报文交互示例(1)使用get方法获取路径为/usr/135HTTP报文交互示例(2)使用post方法向服务器发送CGI文档HTTP报文交互示例(2)使用post方法向服务器发送CGI13625.2HTTP的工作模式基本工作模式:浏览器与服务器建立TCP连接,发送HTTP请求;服务器返回响应,关闭连接。服务器不保留以前的请求或会话的历史记录,因而是无状态的。优点:服务器设计简单,不需要保存状态,扩展性好。缺点:如果Web页包含图片,则每传送一张图片就要打开和关闭连接一次,开销大。25.2HTTP的工作模式基本工作模式:137持久连接方式从HTTP/1.1开始使用持久连接方式(默认):一旦客户建立了和服务器的TCP连接,该连接就在多个请求和响应过程中一直存在,直到某一方关闭连接。非流水线方式:客户只能在收到前一个请求的响应后才能发送下一个请求。流水线方式:客户可以连续发送多个请求而不需要等待响应,服务器也可以进行连续响应。使用持久连接需要标识发送的每一个数据项的开头和结尾HTTP常用的方法是先发送数据项的长度,然后再发送数据项。若不知道数据项的长度,则先通知客户,然后在发送数据后关闭连接。持久连接方式从HTTP/1.1开始使用持久连接方式(默认):13825.3Web性能优化服务器端:缓存:将经常访问的文件保存在高速缓存中,减少文件访问时间。提高服务器的并行性:将服务器设计为多线程的,并将文档分布到多个磁盘上。建立服务器集群系统,并使用负载均衡器进一步提高网站服务能力。建立服务器镜像:在多个相距较远的位置建立镜像服务器,复制内容。客户端:Web缓存技术25.3Web性能优化服务器端:139Web缓存Web缓存是将请求到的页放到缓存中,以备将来使用。通常使用一个代理程序来维护缓存:浏览器被配置为向代理请求网页当缓存中没有所请求的页时,代理从服务器取回分级缓存方案:本地PC、局域网及ISP均运行代理,协同工作。Web缓存Web缓存是将请求到的页放到缓存中,以备将来使用。140Web分级缓存方案Web分级缓存方案141确定页的缓存时间启发式方法:根据网页的最近修改时间(响应头中的Last-Modified行)确定缓存时间。如果最近修改时间距当前时间(取网页的时间)的间隔为Δ,则这个页可被缓存Δ时间。使用条件请求:代理将客户请求的URL及缓存中该页的最后修改时间放入请求头中的If-Modified-Since行发送给服务器。若该页自给出的时间后未被修改过,服务器发回一个NotModified消息;否则返回新的页。该方法可与启发式方法结合起来使用,在Δ时间内直接使用缓存的页,该时间后用使用条件请求。由服务器指示如何进行缓存。确定页的缓存时间启发式方法:142第五部分应用层协议第五部分应用层协议143应用的体系结构客户/服务器体系结构有一个总是打开的服务器,在固定的众所周知的地址上为客户机提供服务,客户机之间不直接通信,如:电子邮件、文件传输、WWW…P2P体系结构:没有一个总是打开的服务器,任意一对主机(对等方)之间直接通信,如P2P文件共享;混合体系结构同时使用客户/服务器结构和P2P结构,如具有联系人列表的即时讯息。应用的体系结构客户/服务器体系结构144应用层协议应用层协议定义了运行在不同端系统上的应用程序如何进行通信,包括:相互交换的报文类型、各种报文类型的语法、各个字段的语义、各种报文的处理等。应用层协议只是网络应用的一部分,如Web应用包括:文档格式标准Web浏览、Web服务器应用层协议HTTP应用层协议应用层协议定义了运行在不同端系统上的应用程序如何进145客户-服务器模型建立互联网的目的是向用户提供服务,Internet主要采用客户-服务器模式向用户提供服务:一台计算机运行一个提供服务的程序(称服务器),另一台计算机运行一个请求服务的程序(称客户)。客户向服务器请求服务,而服务器完成所请求的服务。因而一个应用程序总是成对出现。一个服务器可以向任何客户提供服务。客户-服务器模型建立互联网的目的是向用户提供服务,Inter146客户和服务器客户:运行在本地计算机上向服务器请求服务的程序。客户程序是有限的,它由用户或另一个应用程序启动,服务完成时终止。客户使用远程计算机的IP地址以及在该远程计算机上提供该服务的端口号建立通信通道(称主动打开),发送请求和接收响应,服务结束后主动关闭通信通道。服务器:运行在远程计算机上向客户提供服务的程序。服务器程序是无限的,启动后就一直运行,除非出问题或被关闭。服务器一直在指定的端口上等待服务请求,当服务请求到来时建立通信通道(被动打开),处理请求并发回响应。客户和服务器客户:147第17章BOOTP和DHCP连接到TCP/IP网络的每一台计算机需要知道以下配置信息:自己的IP地址,自己的子网掩码,路由器的IP地址,名字服务器的IP地址。配置信息的获取:配置信息通常存储在一个配置文件中,计算机在引导过程中读取该文件。对于无盘工作站或第一次启动的计算机,需要使用配置协议获取配置信息。两个这样的协议:BOOTP和DHCP第17章BOOTP和DHCP连接到TCP/IP网络的每一台14817.1引导协议BOOTPBOOTP协议用于将上述四种信息提供给无盘计算机或第一次启动的计算机。BOOTP使用客户-服务器模式,客户请求配置信息,服务器响应配置信息。BOOTP是一种静态配置协议,客户信息必须预先保存在配置信息表中。BOOTP包括了RARP的功能17.1引导协议BOOTPBOOTP协议用于将上述四种信息149BOOTP的分组格式BOOTP的分组格式150选项格式选项只在回答报文中出现,用于携带附加信息或某些特定厂商的信息。选项格式选项只在回答报文中出现,用于携带附加信息或某些特定厂151BOOTP的选项BOOTP的选项152BOOTP的操作BOOTP使用UDP协议,服务器和客户分别使用熟知端口号67和68。客户发送BOOTP请求报文,报文先被封装成UDP用户数据报,然后再封装成IP数据报(源地址为全0,目的地址为全1),IP数据报再封装在广播帧中发送。服务器查找相应的配置信息,构造BOOTP响应报文。封装响应报文的IP数据报的目的地址仍为全1地址,但可使用广播帧或单播帧发送。使用单播帧发送时,目的地址为服务器从携带BOOTP请求报文的帧中获取的源MAC地址。若客户需要引导程序,服务器在BOOTP响应报文中只是给出了文件的路径名。客户需要使用TFTP协议从相应的文件服务器获取所需要的引导程序。BOOTP的操作BOOTP使用UDP协议,服务器和客户分别使153BOOTP报文的封装BOOTP报文的封装154中继代理若使用一个BOOTP服务器为好几个局域网提供服务,则必须在每个局域网中安装一个中继代理。中继代理是一个路由器,负责在本地计算机和远程服务器之间转发请求和响应。收到客户请求的中继代理在网关IP地址字段中填入自己的地址,用单播方式发送给BOOTP服务器;BOOTP服务器将响应报文发送给中继代理;中继代理再转发给请求计算机。中继代理若使用一个BOOTP服务器为好几个局域网提供服务,则155差错控制BOOTP使用以下差错控制策略:BOOTP要求UDP使用检验和BOOTP使用超时重传机制进行差错恢复。差错控制BOOTP使用以下差错控制策略:15617.2动态主机配置协议DHCPDHCP扩充了BOOTP协议,支持动态配置,特别是可提供临时IP地址。永久地址和临时地址:永久地址一般分配给服务器。临时(租用)地址一般分配给普通客户。当临时地址将到期时,客户必须与DHCP服务器协商延长租期,否则不能再使用该IP地址。DHCP服务器使用两个数据库:静态配置数据库:类似于BOOTP服务器中的配置数据库。动态配置数据库:拥有一个可用IP地址池。当收到客户请求时,DHCP服务器先查找静态数据库;若存在请求的表项,返回这个客户的永久IP地址;否则,从可用IP地址池中选择一个分配给客户,并添加表项到动态数据库中。17.2动态主机配置协议DHCPDHCP扩充了BOOTP协157DHCP分组格式DHCP分组格式158DHCP新增的选项这些新增的选项用来定义在客户和服务器之间交互的类型。DHCP新增的选项这些新增的选项用来定义在客户和服务器之间交159DHCP的操作DHCP客户启动时发送DHCPDISCOVER报文。提供DHCP服务的服务器发送DHCPOFFER报文,向客户提供一个临时IP地址,并锁定该IP地址。DHCP客户从收到的响应中选择一个IP地址,向提供该IP地址的服务器发送DHCPREQUEST报文。DHCP服务器发送DHCPACK报文进行响应,并绑定客户的物理地址与IP地址。在租期经过一半后,客户发送一个DHCPREQUEST报文请求更新。若收到DHCPACK,续约完成;若收到DHCPNACK或租期超过,重新申请一个IP地址。DHCP的操作DHCP客户启动时发送DHCPDISCOVER160应用层协议课件161DHCP状态转换图DHCP状态转换图162练习28,29,30练习28,29,30163第18章域名系统DNS网络内部使用IP地址来引用资源,而人们往往倾向于使用便于记忆的ASCII名字,这就需要在资源的ASCII名字和它的IP地址之间建立起一种映射关系。早期的Internet使用主机文件来实现映射:名字冲突更新慢域名系统是一种分级结构的基于域的命名方案和实现这种命名方案的分布式数据库:层次命名解决了大规模网络中名字冲突的问题;分布式数据库解决了表的维护与传播问题。第18章域名系统DNS网络内部使用IP地址来引用资源,而人164命名空间DNS在概念上将因特网分成了200多个顶级域,每个顶级域被进一步划分成若干个二级子域,每个二级子域还可以再分子域,依次类推。命名空间DNS在概念上将因特网分成了200多个顶级域,每个顶165域名和标号一个指定的域是指树中一个特定的节点以及该节点以下所有的节点。树上每一个节点都有一个标号(最多63个字符),根标号是空字符串。某个域的域名用从该域开始向上直到树根(为空)的标号序列表示,标号之间用句点隔开。域名的任一后缀也是一个域。域名和标号一个指定的域是指树中一个特定的节点以及该节点以下所166顶级域顶级域分为组织域、国家域和反向域三种。组织域:由美国国内机构及一些国际组织使用。国家域:使用二字符的国家代码,每个国家对应一个。反向域:域名为arpa,用来把一个地址映射为名字。顶级域顶级域分为组织域、国家域和反向域三种。167组织域组织域168国家域国家域169反向域反向域170DNS解析过程DNS的一般工作过程:应用程序调用一个称为解析器的库例程,将名字作为参数传递进去。解析器的内部配置了本地DNS服务器的地址。解析器将需要查询的信息封装成一个DNS请求报文,发送给本地域名服务器。若本地数据库中有所需的信息,本地域名服务器将查到的信息封装成DNS响应报文,发回给解析器。解析器从DNS响应报文取出查询结果,返回给调用者。DNS解析过程DNS的一般工作过程:171DNS服务器的组织方式三种类型的DNS服务器:根服务器:知道所有顶级域服务器的IP地址,因特网上共有13个根服务器。顶级域(TLD)服务器:每个顶级域至少有一个顶级域服务器,每个TLD服务器知道本域下所有二级子域的权威DNS服务器的IP地址。权威DNS服务器:存放各组织机构公共可访问DNS记录的服务器。DNS服务器的组织方式三种类型的DNS服务器:172本地数据库中没有找到所需的信息递归解析:由域名服务器逐层向上查询,并将最终解答返回给解析程序。迭代解析:域名服务器将需要进一步查询的域名服务器的IP地址返回给解析器,由解析器向推荐的服务器发送查询请求。使用DNS缓存:当服务器收到不在它域中的名字-IP地址映射关系时,将收到的映射关系保存在其高速缓存中,以备下一个客户查询。本地数据库中没有找到所需的信息递归解析:由域名服务器逐层向上173递归解析示意递归解析示意174迭代解析示意迭代解析示意175域名服务器的概念层次域名服务器的概念层次176物理服务器的层次一个物理服务器保存的信息可能涉及域名空间的若干层,它也可以把它的域划分成若干子域,把其中的一些子域委托给其它服务器。因此,实际的物理服务器的层次与域名空间的逻辑层次不同。物理服务器的层次一个物理服务器保存的信息可能涉及域名空间的若177资源记录DNS数据库的每一个表项称为一个资源记录。每个域都有一组与之相关联的资源记录,解析器从DNS得到的其实是和域名相关联的资源记录。因此可以说,DNS的主要功能是将域名映射到资源记录上。一条资源记录是一个六元组,包括:域名:该资源记录适用的域;生存期:表示资源记录的稳定性;信息类型:对于因特网信息,该字段总为1;资源记录类型:共有20多种资源记录资源数据长度资源数据资源记录DNS数据库的每一个表项称为一个资源记录。178资源记录格式资源记录格式179重要的资源记录类型重要的资源记录类型180DNS数据库内容示例DNS数据库内容示例181DNS报文的封装DNS可以使用UDP,也可以使用TCP,服务器的熟知端口都是53。当响应报文的长度小于512字节时,使用UDP。当响应报文的长度超过512字节时,使用TCP。当解析程序事先不知道响应报文的长度时,先使用UDP;若响应报文的长度超过512字节,服务器截断这个报文,置DNS报文首部的TC标志为1;解析程序打开TCP连接,并重复这个请求,以便得到完整的响应。DNS报文的封装DNS可以使用UDP,也可以使用TCP,服务182第19章Telnet我们需要一种通用的客户-服务器程序,允许用户注册到远程计算机上,然后使用远程计算机提供的服务,并把结果返回到本地计算机上。Telnet是提供虚拟终端服务的TCP/IP协议,使用户能够建立一条到远程系统的连接,好像本地终端就连接在远程系统上一样。第19章Telnet我们需要一种通用的客户-服务器程序,允18319.1注册在分时环境中,大型计算机支持许多个用户,用户通过终端与计算机交互。当用户在键盘上输入字符时,字符被发送到计算机,同时回送到显示器上,让用户有使用专用计算机的感觉。用户可以运行程序,使用系统资源。在分时环境中,用户是系统的一部分,并具有使用资源的某些权利。每一个授权用户都有一个标识和一个口令,当用户需要使用计算机时必须注册,提供用户标识和口令,供计算机进行鉴权。19.1注册在分时环境中,大型计算机支持许多个用户,用户通184本地注册用户注册到本地分时系统时,称为本地注册。用户在终端上的击键被终端驱动程序接受,操作系统解释字符的组合,并调用所需的程序。本地注册用户注册到本地分时系统时,称为本地注册。185远程注册用户注册到远程计算机上,称为远程注册。用户的击键输入不在本地解释,而是通过Internet发送到远程计算机上,由远程操作系统交付给应用程序。用户输入的字符被送到telnet客户,telnet客户将字符转换成网络虚拟终端(NVT)字符,经因特网传输到远程机器,telnet服务器将NVT字符转换成本机可理解的字符,再通过伪终端驱动程序交给适当的应用程序。远程注册用户注册到远程计算机上,称为远程注册。18619.2网络虚拟终端NVT每一个计算机及其操作系统接受特殊的字符组合作为一些记号。NVT是Telnet为异构系统之间通信而定义的通用接口。Telnet客户将来自本地终端的字符转换成NVT形式,交付给网络;Telnet服务器把来自NVT形式的字符转换成远程计算机可接受的形式。VNT使用两个字符集,每一个字符都为8位:数据字符:最高位为0,低7位与USASCII相同。远程控制字符:最高位为1。19.2网络虚拟终端NVT每一个计算机及其操作系统接受特殊18719.3Telnet传输Telnet仅使用一个TCP连接,服务器使用熟知端口23。NVT的远程控制字符嵌入在数据流中一起传输,控制字符前加上IAC以区别于数据。19.3Telnet传输Telnet仅使用一个TCP连接,18819.4选项协商Telnet允许客户与服务器之间协商选项,如终端类型、终端速率、回显、行模式等。Telnet使用四种控制字符进行选项协商。19.4选项协商Telnet允许客户与服务器之间协商选项,189选项协商示例客户希望服务器把发送给服务器的每一个字符回显。回显选项仅能被服务器启动,因而客户使用DO来请求启动这个选项,服务器用WILL表示接受这个请求。选项协商示例客户希望服务器把发送给服务器的每一个字符回显。19019.5对服务器进行控制需要一些控制字符来控制在远程计算机上运行的程序。19.5对服务器进行控制需要一些控制字符来控制在远程计算机191带外信令为使控制字符在特殊情况下有效,Telnet使用带外方式将控制字符发送给远程操作系统,方法是使用TCP的紧急报文段。在控制字符序列后面插入特殊字符DM(数据标记),TCP报文段紧急指针指向DM。接收端TCP根据DM找到控制字符,交给上层,丢弃DM之前的数据,从DM开始的数据按正常数据处理。带外信令为使控制字符在特殊情况下有效,Telnet使用带外方19219.6Telnet的操作模式默认模式:字符回显由客户完成,整个一行输完后再发送给服务器,但必须收到来自服务器的GA命令后才能接受用户的下一行输入(半双工方式)。这种模式已很少使用。字符模式:每一个键入的字符都发送给服务器,并被回显到客户的屏幕上。这种方式开销很大。行模式:行编辑由客户完成,然后把整行发送给服务器。行模式是全双工模式,客户可以一行接着一行地发送,不需要等待服务器的GA命令。19.6Telnet的操作模式默认模式:字符回显由客户完成193Telnet交互示例(默认方式)Telnet交互示例(默认方式)194切换到字符模式切换到字符模式19519.7用户接口用户不使用以上Telnet命令,通常操作系统会定义一个用户友好的命令接口,用于将用户友好的命令转换为Telnet命令。19.7用户接口用户不使用以上Telnet命令,通常操作系196第20章文件传送协议FTPFTP是TCP/IP提供的标准机制,用来从一个主机把文件复制到另一个主机。FTP使用两个TCP连接,一条连接用于传送数据,另一条连接用于传送控制信息(命令和响应)。控制连接在整个FTP会话期间一直保持,数据连接在每一次文件传送时打开,在一个文件传送结束后关闭。FTP使用关闭连接来表示一个文件传送结束。若传送多个文件,则数据连接打开和关闭多次。第20章文件传送协议FTPFTP是TCP/IP提供的标准机197FTP模型两端的控制进程间建立控制连接,数据传送进程间建立数据连接。FTP模型两端的控制进程间建立控制连接,数据传送进程间建立数198建立控制连接服务器在熟知端口21等待客户,客户使用临时端口号建立连接。建立控制连接服务器在熟知端口21等待客户,客户使用临时端口号199建立数据连接客户选择一个临时端口号,在该端口上等待服务器的连接请求。客户在控制连接上用PORT命令将临时端口号发送给服务器。服务器使用端口20与客户机给出的端口建立连接。建立数据连接客户选择一个临时端口号,在该端口上等待服务器的连200将控制连接和数据连接分开的优点:简化协议的设计和实现控制连接在文件传输过程中一直可用使用数据连接的关闭通知文件传输结束,允许动态创建文件。将控制连接和数据连接分开的优点:201解决异构系统之间的通信问题控制连接上的通信:使用NVTASCII编码的FTP命令和响应在控制连接上定义要传送的文件类型、数据结构及传输模式。数据连接上的通信:按照在控制连接上定义的文件类型、数据结构及传输模式进行数据转换、传输及交付。解决异构系统之间的通信问题控制连接上的通信:202文件类型ASCII文件:传送文本文件的默认格式,每一个字符使用NVTASCII进行编码。EBCDIC文件:若连接的一端或两端使用EBCDIC编码,则可使用EBCDIC编码传送文件。图像文件:传送二进制文件的默认格式,文件作为连续的位流而没有任何解释或编码。文件类型ASCII文件:传送文本文件的默认格式,每一个字符使203数据结构文件结构(默认):这种文件没有结构,是连续的字节流。记录结构:文件被划分为一些记录,只能用于文本文件。页面结构:文件被划分为一些页面,每一个页面有页号和页首部,页面可以被随机或顺序存取。数据结构文件结构(默认):这种文件没有结构,是连续的字节流。204传输模式流模式:默认模式。数据作为连续的字节流从FTP交付给TCP,TCP将数据划分成适当大小的报文段。块模式:数据可以按块从FTP交付给TCP。每一个块有3个字节的首部,包括一个字节的块描述符、和两个字节定义的块长度。压缩模式:当文件很大时,可对数据进行压缩,通常使用的压缩方法是游程长编码。传输模式流模式:默认模式。数据作为连续的字节流从FTP交付给205FTP命令FTP命令包括六类命令:接入命令:使用户能够接入远程系统,如要求用户标识、口令、注销等。文件管理命令:使用户接入到远程计算机的文件系统,包括对目录及文件的操作。数据格式化命令:让用户定义数据结构、文件类型及传输模式。端口定义命令:定义客户端数据连接使用的端口号。文件传送命令:让用户传送文件。杂项命令:用于将信息交付给客户端的FTP用户。FTP命令FTP命令包括六类命令:206FTP响应每
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年护士年度个人方案
- 企业数字化转型规划
- 我的教育故事
- 2025年餐厅工作方案
- 清新风毕业论文答辩模板
- 酒场白酒知识培训课件
- 2025年感恩父亲节活动方案父爱以宽厚的胸膛为我们挡风遮雨演讲稿
- 机械助理工程师下半年工作方案演讲稿2025年
- 高职校内生产性实习实训基地建设运行模式研究中国职业技术
- 湖南省湘西州2025年高三下学期实战考试数学试题含解析
- 荷斯坦战略校准分析模式
- 建设项目水资源论证报告书
- 电力系统负荷预测研究综述与发展方向的探讨
- 高三励志班会主题高考冲刺主题班会
- 4D厨房区域区间管理责任卡
- 全球卫生合作国际援助与医疗外交的重要性培训课件
- 医院“无陪护”病房试点工作方案
- JGJT411-2017 冲击回波法检测混凝土缺陷技术规程
- 2023研发费用加计扣除课件
- 【课件】探究影响感应电流方向的因素(课件)
- 《红军长征与遵义会议》开辟新的发展道路课件
评论
0/150
提交评论