




已阅读5页,还剩56页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第9章网络应用 9 1域名系统DNS 直接使用IP地址的缺点 IP地址是一个32比特的二进制数 其记忆和使用都非常不便 域名系统 DomainNameService System用于记录IP地址 主机名对应关系 域名系统概述 分布式 分层结构的信息数据库以Client Server原理来工作整个域名系统由解析器和域名服务器组成域名服务程序在专设的结点上运行 运行该程序的机器称为域名服务器 中北大学的域名服务器 202 207 177 4 3 工作方式 域名地址 一台主机一个域名地址对应一个IP地址 域名地址一般由3 5个部分组成 每一部分成为域 域名地址信息存放在域名服务器 DNS DomainNameServer 内 其完成域名与IP地址的转换工作 9 1 1Internet域名结构 Internet采用了层次树状结构的命名方法 域名的结构组成 三级域名 二级域名 顶级域名 域 domain 是名字空间中一个可被管理的划分 域名由几部分组成 每个部分称为子域 Subdomain 每个域名都是由英文字母和数字组成 不能超过63个字符 并且不区分大小写 总的域名不能超过255个字符 顶层域名的代码及意义 新增的顶层域名 Internet的名字空间示例 netmilorgedugovcomintfirmshopwebartsreginfomoncnuk mailimuncmarblelandlab cctv ibmhpcisco 树根 顶级域名 三级域名 mail 二级域名 gdshbjnmorgnetgoveducomac tsinghuapkubuptnucfudan 四级域名 9 1 2域名服务器 域名服务器 DNS 运行域名服务进程的机器 DNS采用分布式管理 InterNIC负责维护所有顶级域 而将各顶级域下的二级域的管理权指派给其它实体 每个被授权的实体可以进一步将其管理的域划分成更小的区域 zone 并指派其它的实体来管理 域名服务器系统也是按照域名的层次来安排的 所有域名服务器连接在一起形成一个统一的系统 每个服务器知道如何找到根服务器 以及怎样找到那些低一级域名管理者的服务器 而且每个域名服务器都只对体系中的一部分进行管辖 资源记录 存放在DNS服务器中的资源记录结构 每当区域中增加一个新的主机 区域管理者为其分配一个域名和一个IP地址 并将这些信息输入域名服务器的数据库 续表 常用的资源类型 域名解析 域名解析 域名翻译为对应的IP地址的过程 每个域名服务器不但能够进行一些域名到IP地址的转换 而且还必须具有连向其它域名服务器的信息 当自己不能进行域名到IP地址的转换时 就能够知道到什么地方去找到别的域名服务器去完成转换 在实际使用中 并不要求每个域名服务器都知道如何同其它域名服务器进行联系 但每个主域名服务器都必须知道如何同顶级域名服务器进行通信 主域名服务器的配置文件中必须包含每个顶级域名服务器的IP地址 而顶级域名服务器知道所有授权的二级域名服务器的域名和IP地址 本地域名服务器获得映射信息后 一般将其缓存起来 以备近期内被再次查询 13 域名的解析过程域名服务器的分类 本地域名服务器根域名服务器授权域名服务器 14 9 2文件传输协议 FTP 15 1 文件传输协议概述 FTP FileTransferProtocol 文件传输协议 是一个被广泛应用的协议之一 FTP的目的是实现文件的共享 通过程序对远程计算机间接的使用 使用户不必考虑各个主机上不同文件存储系统的细节 实现可靠有效地数据传输 FTP的一个突出优点 就是可在不同类型的计算机和操作系统之间传送文件 无论是PC机 服务器 大型机 还是DOS平台 Windows平台 Unix平台 只要双方都支持TCP IP协议族中FTP协议 就可以很方便地交换文件 文件传送协议FTP只提供文件传送的一些基本的服务 它使用TCP可靠的运输服务 在FTP的工作模式中 文件传输分为 上传 Upload 和 下载 Download 两种 上传 是指用户将本地文件上传到FTP服务器上 下载 则是指用户将远程FTP服务器上的文件下载到本地计算机上 16 FTP的使用模型 用户接口 提供了一个用户接口 并利用用户协议解释器的服务 用户协议接口 UserPI 用户协议解释器 向远程服务器发送命令并且驱动客户数据传输过程 服务器协议接口 ServerPI 服务器协议解释器 响应UserPI发出的命令并驱动服务器端数据传输过程 用户数据传输进程 UserDTP 负责完成和服务器数据传输进程及客户端本地文件系统的通信 服务器数据传输进程 ServerDTP 负责完成和客户数据传输进程及服务器端文件系统的通信 17 文件存储和传输选择 主机可能运行在不同的操作系统下 使用不同的文件结构 并可能使用不同字符集 FTP协议规范提供了控制文件存储与传送的多种选择 文件类型 a ASCII码文件类型 默认选择 b EBCDIC文件类型 该文本文件传输方式要求两端都是EBCDIC系统 c 图像文件类型 也称为二进制文件类型 通常用于传输二进制文件 d 本地文件类型 该方式在具有不同字符大小的主机间传输二进制文件 每一字符的比特数由发方规定 格式控制 该选项只对ASCII和EBCDIC文件类型有效 用来指明垂直格式控制的类型 a 非打印 默认选择 文件中不含有垂直格式信息 b 远程登录格式 控制文件含有向打印机解释的远程登录垂直格式控制 c Fortran回车控制 每行首字符是Fortran格式控制符 数据结构 a 文件结构 默认选择 文件被认为是一个连续的字节流 不存在内部的文件结构 b 记录结构 该结构只用于文本文件 ASCII或EBCDIC 文件由顺序的记录组成 c 页结构 每页都带有页号发送 以便收方能随机地存储各页 传输方式 它规定文件在数据连接中如何传输 a 流方式 默认选择 文件以字节流的形式传输 对于文件结构 发方在文件尾提示关闭数据连接 对于记录结构 有专用的两字节序列码 EOR EOF 标志记录结束和文件结束 b 块方式 文件以一系列块来传输 每块前面都带有一个或多个首部字节 首部由描述字段和指示块长的计数字段组成 c 压缩方式 使用一个简单的全长编码压缩方法 压缩连续出现的相同字节 在文本文件中常用来压缩空格串 在二进制文件中常用来压缩数值为0的字节 18 FTP的数据连接 FTP使用两个TCP连接 控制连接 从开始一直持续到客户进程与服务器进程之间的会话完成为止 数据连接 只在需要时建立 数据连接的用途 从客户向服务器发送一个文件 从服务器向客户发送一个文件 从服务器向客户发送文件或目录列表 19 数据连接的建立过程 由于是客户发出命令要求建立数据连接 所以数据连接是在客户的控制下建立 2 客户通常在客户端主机上为所在数据连接端选择一个临时端口号 然后在此端口等待对方的连接 被动打开 3 客户使用PORT命令从控制连接上把端口号发向服务器 4 服务器在控制连接上接收端口号 并向客户端主机上的端口执行一个主动的打开 IP 202 207 146 15FTP客户 Port 5000 已连接 Port 5001 Listen IP 202 207 0 20FTP服务器 Port 21 控制 Port 20 数据 PORT202 207 145 15 19 137 CRLF 200PORTcommandsuccessfulCRLF SYN到202 207 146 15的端口5001 一个数据连接打开的过程 20 2 简单文件传输协议TFTP TFTP 用于在客户机与服务器之间进行简单文件传输的协议 提供不复杂 开销不大的文件传输服务 与FTP不同 TFTP建立在UDP上 提供不可靠的数据流传输服务 不提供存取授权与认证机制 使用超时重传方式来保证数据的到达 与FTP相比 TFTP的大小要小的多 TFTP的代码都适合存放在只读存储器中 所以它可以用于无盘系统的系统引导 结合BOOTP协议 或无盘系统的程序升级等 TFTP协议没有提供安全特性 大多数执行是通过TFTP服务器的系统管理员来限制客户的访问 只允许它们访问必须的文件工作过程类似于停等协议 21 1 读请求 Readrequest RRQ 请求从服务器读取一个文件 2 写请求 Writerequest WRQ 请求向服务器中写入一个文件 3 数据 DATA 一个长度最大为512字节的块 它是传输文件的一部分 从1开始编号 4 确认 Acknowledgment ACK 确认数据块的接收 5 差错 ERROR 传递一个差错信息 TFTP报文类型与格式 9 3电子邮件 电子邮件 ElectronicMail E mail 是一种用电子手段提供信息交换的通信方式 电子邮件系统是一种 存储转发式 的服务 属异步通信方式 电子邮件系统将运行邮件服务器的硬盘作为信箱的存储介质 每位在该服务器上有信箱账号的用户都被分配一定的存储空间作为其 信箱 电子邮件系统基于C S模式 整个系统由客户软件 邮件服务器和通信协议三部分组成 9 3 1电子邮件系统的结构 POP SMTP SMTP SMTP POP Internet 本地MTA 本地MTA UA UA UA 电子邮件系统由用户代理MTA 邮件传输代理SMTP 简单邮件传输协议POP 邮局协议 24 电子邮件系统 9 3 2电子邮件传输协议 SMTP规定了在两个相互通信的SMTP进程之间应如何交换信息 SMTP使用客户 服务器模式 负责发送邮件的SMTP进程作为SMTP客户 负责接收邮件的SMTP进程就是SMTP服务器 1 简单邮件传送协议 SMTP SMTP通信实例 发送方接收方建立连接 220OKHELO 250OKMAILFROM zhang 250OKRCPTTO lee 250OKDATA 354 EmailDataLinebyLine CRLF CRLF 250OKQUIT 221 27 主要功能 发送 MAIL RCPT DATA确认和扩展提交打开和关闭转发 28 电子邮件的信息格式 Fromliu To webmaster Cc zhang Subject 测试邮件Date 星期三 10 10 0300 26 10 正文 29 邮件头部关键字 30 邮件分发 邮件网关及邮局协议 邮件分发器与邮件列表 邮件分发器 能转发信息副本的程序 它根据邮件列表的内容对邮件进行分发 例如 邮件网关 邮件网关 专门运行分发器 转发邮件的计算机 也称为电子邮件中继 emailrelay 在邮件网关内部 分发器程序接收发给邮件列表的信息 并将副本转发给列表中的每个接收地址 问题 将电子邮件信息转发给一个很大的邮件列表中的所有地址需要很长的处理时间 2 多用途Internet邮件扩展 MIME MIME是SMTP的一个扩展 允许通过SMTP发送非ASCII码数据 1 SMTP不能传送可执行文件或其它的二进制对象 2 SMTP仅限于传送7位的ASCII码 3 SMTP会拒绝超过一定长度的邮件 4 SMTP的某些实现并没有完全按照RFC821的SMTP标准 问题 SMTP及其相关的RFC822的限制 MIME的特性 1 增加了5个新的邮件头部字段 这些字段提供了有关邮件主题的信息 2 定义了许多邮件内容的格式 对多媒体电子邮件的表示方法进行了标准化 3 定义了传送编码 可对任何内容格式进行转换 而不会被邮件系统改变 可以实现透明传输 MIME的概念 用户 MIME增加的邮件头部 MIME标准规定的内容类型 36 3 邮局协议 POP协议 提供对电子邮件信箱进行远程存取 允许用户的邮箱放置在某个运行邮件服务器程序的邮件服务器上 用户从其个人计算机对邮箱的内容进行访问 工作机制 在收信人邮箱所在的服务器上运行两个服务器程序 一个是SMTP邮件服务器程序 它用SMTP协议将信件接收到邮件服务器上 另一个是POP服务器程序 它与收信人计算机中的POP客户程序通过POP协议进行通信 POP服务器只有在用户输入鉴别信息 如密码 后才允许对邮箱进行访问 见下图 37 POP协议的工作机制 POP SMTP Internet 接收方邮件服务器 SMTP服务器 POP3服务器 发信人计算机 邮件传输客户程序 邮件缓冲区方邮箱 用户接口 收信人计算机 POP3客户 用户接口 38 4 IMAP InternetMessageAccessProtocol Internet消息访问协议 用于从本地服务器上访问电子邮件的标准协议 客户 服务器模式 用户的电子邮件由服务器负责接收并保存 下载具有选择性 9 4万维网WWW www是WordWideWeb的英文缩写 是Internet上应用最为广泛的服务形式 www服务的基础是Web页面 每个服务站点都包括若干个相互关联的页面 每个Web页即可展示文本 图形图像和声音等多媒体信息 又可提供一种特殊的链接点 这种链接点指向一种资源 可以是另一个Web页面 另一个文件 另一个Web站点 这样可使全球范围的www服务连成一体 这就是所谓的超文本和超链接技术 Web浏览器与Web服务器 www的核心是Web服务器 由它提供各种形式的信息用户采用Web浏览器软件来使用这些服务 浏览器的组成 统一资源定位器 URL 格式 协议 站点地址 端口号 路径文件名例 中北大学网络中心主页的URL 通过Web访问每个网页需要三部分信息 访问网页所需的协议 网页所在服务器 网页的唯一名称 这三项共同定义了网页的统一资源定位器 超文本传输协议HTTP 超文本传输协议HTTP HyperTextTransferProtocol 它可以简单地被看成是浏览器和Web服务器之间的会话 HTTP的一般工作过程 HTTP客户向所在的服务器初始化一个TCP连接 HTTP客户发送一个HTTP请求 请求消息包含一个路径文件名nc nchome htm HTTP服务器接到请求后 从它的存储器中 RAM或硬盘 找到对象 nc nchome htm 把它封装在一个HTTP响应中 返回客户端 服务器关闭连接 通常在客户端完整的收到响应消息后 TCP才真的关闭连接 客户收到响应消息 TCP连接终止 消息指出封装的对象是一个HTML网页文件 客户从消息中取出网页文件 由浏览器分析文件 并找到图像的对应位置 为每个图像重复前四步的操作 例如 以访问中北大学网络中心主页 超文本标记语言HTML 网页通常是用超文本标记语言 HypertextMarkupLanguage HTML 制作的 HTML是ISO标准8879 标准通用型标记语言 StandardGeneralizedMarkupLanguage SGML 的一个应用 它很适合超文本和万维网 既描述网页的内容又描述如何显示它 HTML是Web诞生与发展的要素之一 它旨在使Web页面能显示在任何理解HTML的浏览器中 而与连网的机器平台无关 HTML并不是一个程序设计语言 而是一个标记语言 它所提供的标记是由SGML定义的 XML XML的特点 XML是针对网络应用的一项新技术 与HTML一样 XML也是SGML的一个应用 二者都是网络上的通用标记语言 但XML允许定制自己的标记 通过标记来精确地表现信息的各种含义 通过一些 自我解释 型的标识文本 XML能够让不同的应用系统理解相同的含义 与XML相比 HTML简单实用但不精确 而且HTML还有一个致命的缺点就是只适合于人与计算机的交流 不适合计算机与计算机的交流 XML的应用 支持个性化输出 现在已经有一些以XML规范为主创建的标记语言 如 chemicalmarkuplanguage cml 定义了怎样描述化学分子式的结构 并将它显示在网页上 简化基于网络的B2B事务 XML简化了基于网络的B2B BusinessToBusiness 事务 使B2B通信更为简单 智能代理 当编写代理程序时 要考虑如何处理接收到的数据 如果发送给代理的数据是用XML组织的数据 那么代理能更容易地理解数据的含义 以及与已知数据间的联系 智能搜索 当前网络的一个问题是搜索引擎无法智能地处理HTML 例如 想要寻找一个叫 红旗 的人 你输入了 红旗 你可能找到的是 北京大学红旗在线 红旗Lnucx服务器版本1 0 中国第一汽车集团公司 和一个叫 红旗 的人的信息 但是如果有一个为人名制订的DTD 查找一个叫 红旗 的人就能得到更为精确的结果了 XML的应用 续 XML在网上的应用可以总结为以下四类 网络客户必须在不同的数据库之间传递信息 需要把大部分从网络服务器下载的数据在用户端处理 相同的数据对于不同的用户需要有不同的界面 网络情报供货商要把发现的信息精心裁减 并发送给不同的用户 XML的组成部分 文档类型定义 DocumentTypeDefinitions DTD 或XMLSchema XML模式 可扩展样式语言 eXtensibleStylesheetLanguage XSL 可扩展链接语言 eXtensibleLinkLanguage XLL 交互式动态页面 问题的提出 用户只能被动的浏览信息 不能与服务器进行交互 为了使浏览器与服务器能够进行交互 同时使用户在浏览页面时还能得到动态画面 需要开发交互式动态页面 交互式动态技术可以分为两大类 在服务器端运行 如CGI ASP等 也就是说文档的内容是在浏览器访问万维网时才由服务器应用程序产生 也称为动态文档 dynamicdocument 在客户端运行 可以提供屏幕连续更新的技术 也称为活动文档 activedocument 如Javaapplet Javascript VBscript等 其特点是在文档中嵌入程序 每当浏览器请求到一个活动文档时 浏览器就执行或解释程序 所有的动态工作都由浏览器在本地完成 9 5远程登录Telnet 远程登录 RemoteLogin 是Internet上最广泛的应用之一 我们可以从一台主机通过网络远程登录到任何其它一台网络主机上去 当然必须有登录账号 而不需要为每一台网络主机连接一个终端或坐在该主机的终端前操作它 在TCP IP网络上 有两种应用提供远程登录功能 1 Telnet是标准的提供远程登录功能的应用 几乎每个TCP IP的实现都提供这个功能 它能够运行在不同操作系统的主机之间 Telnet通过客户进程和服务器进程之间的选项协商机制 从而确定通信双方可以提供的功能特性 2 Rlogin起源于伯克利Unix 开始它只能工作在Unix系统之间 现在已经可以在其它操作系统上运行 Telnet工作原理 Telnet基于客户 服务模式 它使用面向连接的TCP协议 服务器端缺省TCP端口为23 RFC854定义了Telnet协议的规范 其中还定义了一种通用字符终端NVT 网络虚拟终端 NVT是虚拟设备 连接的客户机和服务器双方 都必须把它们的物理终端和NVT进行相互转换 NVT是应用软件或本地终端维护的一个数据结构 它的内容描述了终端的状态 例如 它们可能包含当前光标位置 反显指示符 光标形状 行和列的数目以及颜色 用户和应用都可以参考此结构 应用向NVT写而不必关心具体终端特性 NVT进行所要求的翻译 然后将数据显示出来 当用户输入数据时 使用相反的过程 Telnet命令结构 Telnet命令至少由2字节序列组成 IAC InterpretasCommand 转义字符和命令代码 每个命令都作为一个8比特数来编码和发送 为了区别命令和具有相同8比特值的数据 每个命令都以8比特IAC代码 11111111 开头 接收到这个代码就告诉Telnet将下一字节视为命令 在有些情况下Telnet可能发送一系列命令 此时IAC后跟SB代码 然后是编码命令列表 最后是SE代码 SB和SE定义了一个流中传输的命令列表的界限 选项协商 虽然我们可以认为Telnet连接的双方都是NVT 但是实际上Telnet连接双方首先进行交互的信息是选项协商数据 选项协商是对称的 也就是说任何一方都可以主动发送选项协商请求给对方 下表是Telnet规定的激活选项请求和禁止选项请求 Telnet的操作方式 对于大多数Telnet的服务器进程和客户进程 有4种操作方式 半双工 NVT默认是一个半双工设备 在接收用户输入之前 它必须从服务器进程获得GOAHEAD GA 命令 用户的输入在本地回显 客户进程到服务器进程只能发送整行的数据 该方式适用于所有类型的终端设备 但是它不能发挥支持全双工通信的终端功能 一次一个字符方式 键入的每个字符都单独发送到服务器进程 服务器进程回显大多数的字符 除非服务器进程端的应用程序去掉了回显功能 目前大多数Telnet实现都把这种方式作为工作方式 当网络速度很慢 而且网络流量比较大的时候 那么回显的速度也会很慢 一次一行方式 通常叫做准行方式 它的实现遵循RFC858 该RFC规定 如果要实现带远程回显的一次一个字符方式 ECHO选项和SUPPRESSGOAHEAD选项必须同时有效 当两个选项的其中之一无效时 Telnet就是工作在一次一行方式 行方式 这是在RFC1184中定义的 这个选项也是通过客户进程和服务器进程进行协商而确定的 它纠正了准行方式的所有缺陷 目前比较新的Telnet实现支持这种方式 Telnet客户程序 通常 用户是通过客户程序来使用Telnet功能的 客户程序开始运行时首先与服务器程序建立TCP连接并进行选项的协商 这对用户来说是不可见的 然后要求用户输入用户名及口令 通过验证的用户就 登录 到了服务器 通过NVT可对服务器进行各种操作 就像在服务器自己的硬件终端前一样 用户也可以利用转义字符 同Telnet客户进程进行交互 而不把这些交互操作发送到服务器进程 Telnet的其它用途 用Telnet访问BBS可以连接到服务器的其它服务的端口 例如端口21是FTP 端口25是SMTP 端口80是HTTP等 只要我们了解FTP SMTP HTTP这些协议 就可以用Telnet访问它们 Telnet的安全问题 Telnet面临下列安全问题 使用者认证 没有强力认证过程 只是验证连接者的账户和密码 数据传送保密 传送的数据 包括帐号和密码 都没有加密 很容易被截获 针对Telnet的攻击 没有完整性检查 无法知道传送的数据是否完整而没有被篡改过 SSH 一种由IETF的SecureShell工作组制定草案和标准 它可以提供安全的远程登录和文件传输 是一个很好的远程登录安全协议 SSH建立在TCP的基础上 采用客户 服务器方式 缺省的服务器端口是22 57 9 6Gopher信息检索 Gopher是Internet提供的一种由菜单式驱动的信息查询工具 采用客户机 服务器模式 Internet上有上千个Gopher服务器 它们将Internet的信息资源组织成单一形式的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广东省廉江市实验学校高中政治 1.1 神奇的货币 揭开货币的神秘面纱2说课稿(必修1)
- 6.1.1 尝试对生物进行分类 说课稿-2023-2024学年人教版生物八年级上册
- 13猫 教学设计-2023-2024学年四年级下册语文统编版
- 2025年初中教师(生物学科)教材教法考试测试卷及答案(共三套)
- 2025年四级按摩师考试试卷【附答案】
- 2025年全国危险化学品经营单位安全管理人员考试练习题库【附答案】
- 初中科学考试真题试卷
- 《听一听》活动探究(教案)一年级上册科学青岛版
- 2025-2026年北京高考英语综合模拟强化练习4【含详细答案】
- 2025年酿酒师职业技能资格知识考试题与答案
- GB/T 2423.18-2021环境试验第2部分:试验方法试验Kb:盐雾,交变(氯化钠溶液)
- GB/T 16927.1-2011高电压试验技术第1部分:一般定义及试验要求
- 2020年上海市中考英语试卷(含答案)
- 村级卫生室院感管理要求
- 员工自愿不交社保协议书模板(5篇)
- OECD税收协定范本中英对照文本
- 浙教版九上科学前三章难题易错题精选题(含答案)
- Unit 1 Reading and Thinking 教学设计-高中英语人教版(2019)必修第三册
- 仪表安装规范以及验收
- 《观潮》课件.ppt2
- 人教版(PEP)小学英语_3~6年级_单词表(带有音标)
评论
0/150
提交评论