首页 网络工程师教程10

网络工程师教程10

举报
开通vip

网络工程师教程10网络工程师教程10 第10 章 应用层 1 第10 章 应用层 基本要求:掌握TCP/IP 的应用层的主要应用及工作原理,包括DNS 服务、 HTTP 服 务、 FTP 服务和E-mail 服务;理解OSI 应用层的功能与作用。 本章难点:应用实体的组成及服务,DNS 域名服务的体系结构及工作过程,电子邮件服 务的工作过程,FTP 服务的工作原理。 教学时数和实验:5-6 学时,建议另外开设各2 学时的“DNS 的配置”、 “FTP 的配置 与使用”和“ 服务的配置与使用”实验。 在前面各章中,...

网络工程师教程10
网络 工程 路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理 师教程10 第10 章 应用层 1 第10 章 应用层 基本要求:掌握TCP/IP 的应用层的主要应用及工作原理,包括DNS 服务、 HTTP 服 务、 FTP 服务和E-mail 服务;理解OSI 应用层的功能与作用。 本章难点:应用实体的组成及服务,DNS 域名服务的体系结构及工作过程,电子邮件服 务的工作过程,FTP 服务的工作原理。 教学时数和实验:5-6 学时,建议另外开设各2 学时的“DNS 的配置”、 “FTP 的配置 与使用”和“ 服务的配置与使用”实验。 在前面各章中,我们对 OSI 参考模型下面六层的功能进行了讨论,并介绍了工作在物 理层和数据链路层的各种局域网技术和广域网技术。OSI 参考模型下面六层所实现的最终目 的就是为应用层服务的。应用层为网络用户提供了多种多样的网络应用服务,是用户使用 网络应用的接口,如果没有应用层,那么下面各层的存在就失去了意义。本章我们先简单 回顾OSI 应用层的功能,然后着重就TCP/IP 应用层展开讨论。 10.1 应用层功能概述 应用层位于 OSI 参考模型的最高层,其通过使用下面各层所提供的服务,直接向用户 提供服务,是计算机网络与用户之间的界面或接口。应用层由若干面向用户提供服务的应 用程序和支持应用程序的通信组件组成。 为了向用户提供有效的网络应用服务,应用层需要确立相互通信的应用程序或进程的 有效性并提供同步,需要提供应用程序或进程所需要的信息交换和远程操作,需要建立错 误恢复的机制以保证应用层数据的一致性。应用层为各种实际的应用所提供这些通信支持 服务统称为应用服务组件 application service element,简称ASE 。 不同的 ASE 使得各种实际的应用能够方便地与下层进行通信。其中,最重要的三个 ASE 分别是关联控制服务组件 association control service element,简称ACSE 、远端操作业 务组件 remote operation service element,简称ROSE 和传输服务组件 reliable transfer service element,简称 RTSE 。ACSE 可以将两个应用程序名关联起来,用于在两个应用程序之间 建立、维护和终止连接;ROSE 采用类似远端过程调用的请求-应答机制实现远程操作;RTSE 则通过优化会话层来提供可靠的传输。 在应用服务组件外,OSI 的应用层提供了五种不同的应用协议来解决不同的应用类型要 求。它们是报文处理系统(Message Handling System,简称MHS );文件传送、存取和管理 (File Transfer ,Access and Management ,简称 FTAM );虚拟终端协议(Virtual Terminal 2 《计算机网络技术》 Protocol ,简称 VTP );目录服务(Directory Service ,简称 DS );事物处理(Transaction Processing ,简称TP );远程数据库访问(Remote Database Access ,简称RDA )等。 但是,由于目前 OSI 七层模型只是起到参考模型的作用,所以并没有实际的网络应用 是按照上述协议实现的。而TCP/IP 的应用层却相反,拥有许多主流的应用层协议和基于这 些协议实现的TCP/IP 应用。 10.2 TCP/IP 的应用层 概述 TCP/IP 的应用层解决TCP/IP 应用所存在的共性问题,包括与应用相关的支撑协议和应 用协议两大部分。TCP/IP 应用层的支撑协议包括域名服务系统(DNS )、简 单网络管理协议 (SNMP)等;典型应用包括WEB 浏览、电子邮件、文件传输访问、远程登录等,与应用 相关的协议包括超文本传输协议(HTTP )、简单邮件传输协议(SMTP)、文件传输协议(FTP )、 简单文件传输协议(TFTP )和虚拟终端协议(Telnet )等。下面我们就一些典型的应用层协 议的功能和作用作一下简介。 DNS :实现域名和IP 地址之间的相互转换。 SNMP:由于因特网结构复杂,拥有众多的操作者,因此需要好的工具进行网络管 理,而 SNMP 提供了一种监控和管理计算机网络的有效方法。目前其已成为计算 机网络管理的事实 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 。 HTTP :用来在浏览器和 服务器之间传送超文本的协议。 SMTP:一个用于实现电子邮件传输的应用协议。 FTP :建立在TCP 协议上,用于实现文件传输的协议。通过FTP 用户可以方便地 连接到远程服务器上,可以进行查看、删除、移动、复制、更名远程服务器上的 文件内容的操作,并能进行上传文件和下载文件等操作。 TFTP :建立在UDP 协议之上用于提供小而简单的文件传输服务,从某个意义上来 说是对FTP 的一种补充,特别是在文件特别小并且只有传输需求的时候该协议显 得更加有效率。 Telnet :实现虚拟或仿真终端的服务,允许用户把自己的计算机当作 远程主机上的 一个终端,使用基于文本界面的命令连接并控制远程计算机。通过该协议用户可 以登录到远程主机上并在远程主机上执行操作命令,来控制和管理远程主机上的 文件及其他资源。 下面若干小节,我们将选择上面这些协议中的一些重要或典型的例子进行较详细的讨 论。 第10 章 应用层 3 DNS 服务 任何TCP/IP 应用在网络层都是基于IP 协议实现的,因此必然要涉及到IP 地址。但是 32 位二进制长度的IP 地址难以记忆,即使采用打点十进制 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 示也不具备太大的可记忆性。 所以应用程序很少直接使用IP 地址来访问主机。一般采用更容易记忆的ASCII 串符号来指 代IP 地址,这种特殊用途的ASCII 串被称为域名。例如,人们很容易记住代表新浪网的域 名“ ”,但是恐怕极少有人知道或者记得新浪网站的IP 地址。使用域名访问主 机虽然方便,但却带来了一个新的问题,即所有的应用程序在使用这种方式访问网络时, 首先需要将这种以ASCII 串表示的域名转换为IP 地址,因为网络本身只认识IP 地址。哪么 如何解决域名和IP 地址之间的映射问题呢, 域名与IP 地址的映射在上个世纪70 年代由网络信息中心(NIC )负 责完成,NIC 记录 所有的域名地址和IP 地址的映射关系,并负责将记录的地址映射信息分发给接入因特网的 所有最低级域名服务器(仅管辖域内的主机和用户)。每台服务器上维护一个称之为 “hosts.txt ’的文件,记录其他各域的域名服务器及其对应的IP 地址。NIC 负责所有域名服 务器上"hosts.txt"文件的一致性。主机之间的通信直接查阅域名服务器上的 hosts.txt 文件。 但是,随着网络规模的扩大,接入网络的主机也不断增加,从而要求每台域名服务器都可 以容纳所有的域名地址信息就变得极不现实,同时对不断增大的hosts.txt 文件一致性的维护 也浪费了大量的网络系统资源。 为了解决这些问题,提出了域名系统DNS (domain name system ),它通过分级的域名 服务和管理功能提供了高效的域名解释服务。DNS 包括域及域名、主机、域名服务器三大 要素。 1(域、域名和域名空间 域(Domain )指由地理位置或业务类型而联系在一起的一组计算机构成的一种集合, 一个域内可以容纳多台主机。在域中,所有主机由域名 Domain name 来标识,而域名由字 符和(或)数字组成,用于替代主机的数字化地址。当因特网的规模不断增大时,域和域 中所拥有的主机数目也随之增多,管理一个大而经常变化的域名集合就变得非常复杂,为 此提出了一种分级的基于域的命名机制,从而得到了分级结构的域名空间。 域名空间的分级结构有点类似于邮政系统中的分级地址结构,如“中国 浙江省 温州 大学 信息学院 某某某”。如图 10.1 所示,在域名空间的根域之下,被分为几百个顶级 (top-level )域,其中每个域可以包括许多主机。还可以被划分为子域,而子域下还可以有 更小的子域划分。域名空间的整个形状如一棵倒立的树,根不代表任何具体的域,树叶则 代表没有子域的域,但这种叶子域可以包含一台主机或者成千上万台的主机。 顶级域名由一般域名和国家域名两大类组成。其中,一般域名最初只有六个域,即COM (商业机构)、EDU (教育单位)、GOV (政府部门)、MIL (军事单位)、NET (提供网络 服务的系统)和ORG (非COM 类的组织),后来又增加了一个为国际组织所使用的顶级域 名INT ;国家级域名是指代表不同国家的顶级域名,如CN 表示中国、UK 表示英国、FR 表示法国、JP 表示日本等等。几乎所有美国组织都处于一般域中,而几乎所有非美国的组 织都列在其所在国的域下。 采用分级结构的域名空间后,每个域就采用从节点往上到根的路径命名,一个完整的 名字就是将节点所在的层到最高层的域名串起来,成员间由点分隔。例如在图10.1 中关于 4 《计算机网络技术》 温州大学的域名就应表达 。域名对大小写不敏感,所以edu 和EDU 是一样的。 成员名最多长达63 个字符,路径全名不能超过255 个字符。 每个域都对分配其下面的域存在控制权。要创建一个新的域,必须征得其所属域的同 意。如果温州大学希望自己的域名 ,则需要向edu 的域管理者提出申请并 获得批准。采取这种方式,就可以避免同一域中的名字冲突,并且每个域都记录自己的所 有子域。一旦一个新的子域被创建和登记,则这个子域还可以创建自己的子域而无须再征 得它的上一级的同意,即采用分级管理的方式。例如,若温州大学想再为它的信息学院创 建一个子域,这时就不需要再征得edu 的同意了。 注意,域的命名遵循的是组织界限,而不是物理网络。位于同一物理网络内的主机可 以有不同的域,而位于同一域内的主机也可属于不同的物理网络。 通用的 国家 的 int com edu gov mil org net us jp cn sun yale edu eng cs eng wzu a inda robot 图10.1 域名空间示意图 2 (域名系统与域名解析 在因特网中向主机提供域名解析服务的机器被称为域名服务器或名字服务器。从理论 上,一台名字服务器就可以包括整个DNS 数据库,并响应所有的查询。但实际上这样DNS 服务器就会由于负载过重而不能运行。于是,与分级结构的域名空间相对应,用于域名解 析的域名系统DNS 在实现上也采用了层次化模式,类似于分布式数据库查询系统。 域名解析使用UDP 协议,其UDP 端口号为53,域名服务器又叫名字服务器。提出DNS 解析请求的主机与域名服务器之间采用客户机-服务器(C-S )模式工作。当某个应用程序需 要将一个名字映射为一个IP 地址时,应用程序调用一种名为解析器(resolver ,参数为要解 析的域名地址)的库过程,由解析器将UDP 分组传送给本地DNS 服务器上, 由本地DNS 服务器负责查找名字并将IP 地址返回给解析器。解析器再把它返回给调用程序。本地DNS 服务器以数据库查询方式完成域名解析过程,并且采用了递归查询。递归查询的具体过程 如下: 第10 章 应用层 5 当解析器查询域名时,它把查询传递给本地的一台名字服务器。 首先,名字服务器在本地的内存缓冲区中搜索最近时间里解析的名称地址。如果 本地缓冲区中找到了要解析的名称。则这台名字服务器可以提供客户机要求的 IP 地址。 否则,名字服务器在本地静态表中搜寻,看是否在管理员录入的项中有主机名称 对应的IP 地址。如果要解析的名称存在于静态表中,名字服务器也向客户机发送 相应的IP 地址。 如果上两项都未解析出其对应的IP 地址,则要求解析的域名为一远程域名。这台 名字服务器会向根名称服务器查询。 根名称服务器向主机名称中指定的顶层域名称服务器搜寻,顶层域名服务器再向 主机名称中指定的二层域名服务器搜寻,依次下去,一直到要解析的名称全部解 析完毕。 能完全解析主机名称的第一台服务器将解析出的IP 地址报告给客户机。 下面我们以一个具体的实例域名解析为IP 地址的过程说明域名解析过程。假设因特网 上的一台主机H 通过URL 地址 要解析温州大学Web 主机的IP 地址, 则主机H 将查询本地的DNS 服务器DS1 ,由于DS1 中没有关 的有效信 息,因此DS1 将根据本地根域服务器列表文件cache.dns 中的根域服务器地址查询根域服务 器DS2 ;DS2 将具有cn 顶级域授权的名称服务器DS3 的地址返回给DS1 ;接着DS1 将域 名wzu. 的查询包发给DS3 ,DS3 返回cn 次级域edu 的名称服务器地址,然后DS1 再与该名 称服务器联系,这样直至得到目标主机的IP 地址。为了优化DNS 的性能,每个DNS 查询 结果都有一个生存时间(time-to-live TTL ),表示查询结果在本地高速缓存中保留的时间, 这样重复的域名就能在高速缓存中找到,这就是为什么我们有时候用浏览器中的刷新按钮 能很快看到网页的原因,因为这时候用的是缓存的IP 地址。 除了将域名解析为IP 地址外,有时系统还可能需要将IP 地址解析为域名,这时就需要 名为in-addr.arpa 的逆向域(reverse domains )。该域内的条目是按IP 地址组织的,用于IP 到域名的反向解析。 从上面的的讨论可以看出,DNS 服务实际上是一个递归的数据库查询过程,所以每一 台DNS 服务器都要维持一个关于域名和IP 地址映射关系的数据库,这个数据库又被称为 DNS 的资源记录(resource record )。 资源记录的数据格式形如“Domain_name Time_to_live Type Class Value ”。即每 一条资源记录共有5 个字段,其中: Domain_name (域名):指出这条记录所指向的域。通常,每个域有许多记录。 Time_to_live (生存时间):指出记录的稳定性。高度稳定的信息被赋予一个很大的 值,变化很大的信息被赋予一个较小的值。 Type (类型):指出记录的类型。 Class (类别):对于Internet 信息,它总是IN 。对于非Internet 信息,则使用其他 代码。 Value (值):这个字段可以是数字、域名或ASCII 串。其语义基 于记录类型。 在DNS 数据库里存在的资源记录有哪些类型呢,如表10-1 所示,我们 列出了最重要的 资源记录的类型。 6 《计算机网络技术》 表10-1 DNS 资源记录类型 类型 意义 值 SOA 认证开始记录。提供了关于名字服务器区域(Zone ) 该区域的参数 的主要信息资源的名字。定义了DNS 区域的一般参数, 包括哪个服务器是该区域的认证服务器 A 主机记录或地址记录,用于把一个主机名与该主机的 32 比特整数 IP 地址静态的关联起来 NS 名字服务器记录,给出一个域的名称服务器,使得其 本域的服务器名 他名称服务器可以查找这个域中的名称。 CNAME 别名记录,其使得用户可以使用指向单个主机地址的 域名 多个名称 MX 邮件交换记录,用以告诉用户哪个服务器可以接受传 优先 权和接收电子邮件的 入这个域的邮件。 域名 PTR 指针记录。其使得“反向解析”得以实现,即DNS 服 IP 地址的域名 务器可以给出与一个特定IP 地址关联的“完全限定域 名” TXT 文本 未解 释的ASCII 文本 ;Authoritative data for . 86400 IN SOA starboss 952771,7200,7200,2419200,86400 . 86400 IN TXT "Faculteit Wiskunde en lnformatica" . 86400 IN MX "Vrije Universiteit Amsterm". f.nl. 86400 IN HINFO Sun Unix f.nl. 86400 IN A .112 .nl. 86400 IN CNAME .nl .nl. 86400 IN CNAME ze.nl rowboat IN A .201 IN MX 1 rowboat IN MX 2 zephyr IN HINFO Sun Unix little-sister IN A .23 IN HINFO Mac MacOS 图10.2 的可能DNS 数据库的一部分 Web 服务 万维网 World Wide Web 是因特网上发展最快同时又使用最多的一项服 务,它可 以提供包括文本、图形、声音和视频等在内的多媒体信息的浏览。 第10 章 应用层 7 万维网起源于1989 年欧州粒子物理研究室CERN 。其目的是收集时刻变化的报告、蓝 图、绘制图、照片和其他文献。链接文档的万维网Web 的最初 计划 项目进度计划表范例计划下载计划下载计划下载课程教学计划下载 是由CERN 的物理学家 Tim Berners-Lee 于1989 年3 月提出的,第一个原型(基于文本的)于18 个月后运行。1991 年12 月在德克萨斯州的San Antonio 91 超文本会议上进行了一次公开演示,次年继续发展, 并于1993 年2 月,在第一个图形界面Mosaic 的发布时达到了其发展的高峰。到今天 已经成为因特网上不可缺少的技术。 1(Web 的基本概念 由遍布在因特网中的被称为 服务器(又称为Web 服务器)的计算机组成。 Web 是一个容纳各种类型信息的集合,从用户的角度看,万维网由庞大的、世界范围的文 档集合而成,简称为页面(page )。页面具有严格的格式,页面是用超文本标识语言6>HTML (Hyper Text Markup Language )写成的,存放在Web 服务器上。每一页面可以包含到世界 上任何地方的其他相关页面的超链接(Hyperlink ),这种能够指向其他页面的页被称为超文 本(Hypertext )。用户可以跟随一个超链接到其所指向的其他页面,并且这一过程可以被无 限制的重复。通过这种方法可浏览无数的互相链接的信息。 用户使用浏览器总是从访问某个主页(Homepage )开始的。由于页中包含了超链接, 因此可以指向另外的页,这样就可以查看大量的信息。下面我们来看一下 中常用的 一些术语及其意义。 1 超文本标记语言(HTML ) HTML 是 ISO 标准 8879-标准通用标识语言 SGML (Standard Generalized Markup Language )在万维网上的应用。所谓标识语言就是格式化的语言,存在于 服务上的 页,就是由HTML 描述的。它使用一些约定的标记对,,,上各种信息(包括文字、声音、 图形、图像、视频等)、格式以及超级链接进行描述。当用户浏览,,,上的信息时,浏览 器会自动解释这些标记的含义,并将其显示为用户在屏幕上所看到的网页。 一个HTML 文本包括文件头 Head 、文件 Body 主体两部分。其结构如下所示: 其中, 表示页的开始, 表示页结束;它们是成对使用的。 表示头开始, 表示头结束; 表示主体开始, 表示主体结束,它 们之间的内容才会在浏览器的正文中显示出来。HMTL 的标识符有很多,有兴趣的同学可 以查看有关网页制作方法的书籍。 8 《计算机网络技术》 2 超文本传输协议(HTTP ) 超文本传输协议HTTP (Hypertext Transfer protocol )是用来在浏览器和 服务器 之间传送超文本的协议。HTTP 协议由两个相当明显的项组成:从浏览器到服务器的请求集 和从服务器到浏览器的应答集。HTTP 协议是一种面向对象的协议,为了保证 客户 机与 服务器之间通信不会产生二义性,HTTP 精确定义了请求报文和响应报文的格 式。HTTP 会话过程包括以下四个步骤:连接、请求、应答、关闭。如图 10-3 所示。 服务器 客户端 HTTP请求 HTTP服务器 浏览器 HTTP应答 网际网 TCP连接 图10-3 HTTP 会话过程 3 统一资源定位器URL 我们已经知道 是以页面的形式来组织信息的。那么我们怎样来识别不同的页面, 怎样才能知道页面在哪个位置,以及如何访问页面呢,为了解决这个问题, 采用了 统一资源定位器URL (Uniform Resource Locator )的方法。 URL 是在因特网上唯一确定资源位置的方法,其基本格式为: 协议://主机域名/资源文件名 其中,协议(protocol )用来指明资源类型,除了 用的HTTP 协议之外,还可以 是FTP 、TELNET 等;主机域名表示资源所在机器的DNS 名字;资源文件名用以提出资源 在所在机器上的位置,包含路径和文件名,通常“目录名/ 目录名/文件名”, 也可以不含有 路径。例如,温州大学的 主页的URL 就表示为:http :///index.htm 。 在输入URL 时,资源类型和服务器地址不分字母的大小写,但目录和文件名则可能区 分字母的大小写。这是因为大多数服务器安装了UNIX 操作系统,而UNIX 的文件系统是 区分文件名的大小写的。 2 ( 服务的实现过程 以客户机/服务器(Client/server )的模式进行工作。运行 服务器程序并 提供 服务的机器被称为 服务器;在客户端,用户通过一个被称为浏览器 (browser )的交互式程序来获得 信息服务。常用到的浏览器有Mosaic 、Netscape 和 微软的IE (Internet explorer )。 对于每个 服务器站点都有一个服务器监听TCP 的80 端口 注:80 为HTTP 缺省 第10 章 应用层 9 的TCP 端口 ,看是否有从客户端(通常是浏览器)过来的连接。当客户端的浏览器在其地 址栏里输入一个URL 或者单击WEB 页上的一个超链接时,WEB 浏览器就要检查相应的协 议以决定是否需要重新打开一个应用程序,同时对域名进行解析以获得相应的IP 地址。然 后,以该 IP 地址并根据相应的应用层协议即 HTTP 所对应的 TCP 端口与服务器建立一个 TCP 连接。连接建立之后,客户端的浏览器使用HTTP 协议中的“GET ”功能向 服 务器发出指定的 页面请求,服务器收到该请求后将根据客户端所要求的路径和文件 名使用HTTP 协议中的“PUT ”功能将相应HTML 文档回送到客户端,如果客户端没有指 明相应的文件名,则由服务器返回一个缺省的HTML 页面。页面传送完毕则中止相应的会 话连接。 下面我们以一个具体的例子来Web 服务的实现过程。假设有用户要访问浙江工商学院 主页 /home/web2.htm ,则浏览器与服务器的信息交互过程如下: 1 浏览器确定URL 。 2 浏览器向DNS 获取web 服务 的IP 地址。 3 浏览器以相应的IP .3 应答。 4 浏览器和IP 地.3 的80 端口建立一条TCP 连接。; 5 浏览器执行HTTP 协议,发送GET /home/web2.htm 命令,请求读取该文件。 6 服务器返回/home/web2.htm 文件到客户端。 7 释放TCP 连接。 8 浏览器显示/home/web2.htm 中的所有正文和图像。 自 服务问世以来,其已取代电子邮件服务成为因特网上最为广泛的服务。除了 普通的页面浏览外, 服务中的浏览器/服务器(brower/server ,简称B/S )模式还取代 了传统的C/S 模式网络数据库工作模式,被广泛用于网络数据库应用开发中。 E-mail 服务 电子邮件(Electronic Mail,简称E-mail )是因特网上最受欢迎也最为广泛的应用之一。 电子邮件服务Email 是一种通过计算机网络与其它用户进行联系的快速、简便、高效、廉价 的现代化通信手段。电子邮件之所以受到广大用户的喜爱,是因为与传统通信方式相比, 其具有以下明显的优点: 成本低。与传统的邮件系统相比,电子邮件费用很低。传统的国内特快递需20 元 人民币,国际快递则更贵,而通过电子邮件将信件发送外国外,可能只需付几分 钱的上网费。 速度快。电子邮件一般只需几秒钟就可以到达目的地,远比人工邮件传递速度要 迅速。而且比较可靠; 安全与可靠性高。使用电子邮件不必担心损坏,传统的邮件在投递过程中,有可 能信件被损坏,而使用电子邮件则不必担心这一点; 可达到范围广。电子邮件可以到达因特网可达的任何地方;并且可以实现一对多 的邮件传送,即可以一次同时向多人发出多个内容相同的邮件。 内容表达形式多样。电子邮件可以将文字,图像,语音等多种类型的信息集成在 10 《计算机网络技术》 一个邮件中传送,因此它成为多媒体信息传送的重要手段。 那么电子邮件是如何通过网络被发送和接收出去的呢,首先电子邮件要有自己规范的 格式,就好象我们使用普通的邮政系统要遵循标准的邮件格式一样。 电子邮件的格式由信封和内容两大部分,即邮件头(header )和邮件主体(body )两部 分。邮件头包括收信人E-mail 地址、发信人E-mail 地址、发送日期、标题和发送优先级等, 其中,前两项是必选的。邮件主体才是发件人和收件人要处理的内容,早期的电子邮件系 统只能传递文本信息,而通过使用多用途因特网邮件扩展协议 MIME Multipurpose Internet Mail Extensions ,现在还可以发送语音,图像和视频等信息。对于 E-mail 主 体不存在格式上的统一要求,但对信封即邮件头有严格的格式要求,尤其是E-mail 地址。 E-mail 地址的标准格式为: @主机域名。其中,收信人信箱名指用户在 某个邮件服务器上注册的用户标识,相当于是他的一个私人邮箱,收信人信箱名通常用收 信人姓名的缩写来表示;@为分隔符,我们一般把它读为英文的at;主机域 名是指信箱所在 的邮件服务器的域名。例如zcr@,表示在温州大学的邮件服务器上的名为 ZCR 的用户信箱。 有了标准的电子邮件格式外,电子邮件的发送与接收还要依托由用户代理、邮件服务 器和邮件协议组成的电子邮件系统。图10.4 给出了电子邮件系统的简单示意图。其中,用 户代理运行在客房机上的一个本地程序,它提供命令行方式、菜单方式或图形方式的界面 来与电子邮件系统交互,允许人们读取和发送电子邮件,如 outlook express 或 hotmail 等。邮件服务器包括邮件发送服务器和邮件接收服务器。顾名思义,所谓邮件发送服务器 是指为用户提供邮件发送功能的邮件服务器,如图中的SMTP 服务器;而邮 件接收服务器是 指为用户提供邮件接收功能的邮件服务器,如图中的POP3 服务器。用户在发送邮件时,要 使用邮件发送协议,常见的邮件发送协议有简单邮件传输协议SMTP (simple mail transter protocol)和MIME 协议,前者只能传输文本信息,后者则可以传输包括文本、声音、图象 等在内的多媒体信息。当用户代理向电子邮件发送服务器发送电子邮件时或邮件发送服务 器向邮件接收服务器发送电子邮件时都要使用邮件发送协议。用户从邮件接收服务器接收 邮件时,要使用邮件接收协议,通常使用邮局协议POP3 (post office protocol),该协 议由RFC 1225 中定义,具有用户登录、退出、读取消息、删除消息的命令。POP3 的关键之 处在于其能从远程邮箱中读取电子邮件,并将它存在用户本地的机器上以便 以后读取。通 常,SMTP 使用TCP 的25 号端口,而POP3 则使用TCP 的110 号端口。 SMTP 用 SMTP POP3 用 户 户 代 因特网 代 理 理 图10-4 电子邮件系统的组成 图 10.6 给出了一个电子邮件发送和接收的具体实例。假定用户 XXX 使用 “XXX@sina”作为发信人地址向用户 YYY 发送一个文本格式的电子邮件,该发信人地 第10 章 应用层 11 址所指向的邮件发送服务器为,收信人的E-mail 地址为“YYY@163.net”。 服务器 因特网 服务器 发送E-mail 接收E-mail 的客户端 的客户端 图10-5 电子邮件发送和接收实例 首先,用户 XXX 在自己的机器上使用独立式的文本编辑器,字处理程序或是用户代理 内部的文本编辑器来撰写邮件正文,然后,使用电子邮件用户代理程序如outlook express 完成标准邮件格式的创建,即选择创建新邮件图标,填写收件人地址、主题、邮件的正文、 邮件的附件等。 一旦用户邮件发送图标之后,则“用户代理程序”将用户的邮件传给负责邮件传输的 程序,由其在 XXX 所用的主机和名为 的发送服务器之间建立一个关于 SMTP 的连接,并通过该连接将邮件发送至服务器。 发送方服务器 在获得用户XXX 所发送的邮件后,根据邮件接收者的 地址,在发送服务器与YYY 的接收邮件服务器之间建立一个SMTP 的连接,并通过该连接将 邮件送至YYY 的接收服务器。 接收方邮件服务器 接收到邮件后,根据邮件接收者的用户名将邮件放到 用户的邮箱中。在电子邮件系统中,为每个用户分配一个邮箱(用户邮箱)。例如在基于 Unix 的邮件服务系统中,用户邮箱位于/usr/spool/mail/ 目录下,邮箱标识一般与用户标 识相同。 当邮件到达邮件接收服务器后,用户随时都可以接收邮件。当用户 YYY 需要查看自己 的邮箱并接收邮件时,其首先要在自己的机器与邮件接收服务器 之间建立一 条关于POP3 的连接,该连接也是通过系统提供的“用户代理程序”进行。连接建立之后, 用户就可以从自己的邮箱中“取出”邮件进行阅读、处理、转发、或回复邮件等操作。 从上面的例子可以看出,电子邮件的“发送--传递--接收”是异步的,邮件的发送时 并不要求接收者“在场”--正在使用邮件系统,邮件可存放在接收用户的邮箱中,接收者 随时可以接收。 FTP 服务 在网络上常常需要将一台计算机上的文件复制到另一台计算机上,这就是文件传输服 务。文件传输协议FTP 是用于在TCP/IP 网络上两台计算机间进行文件传输的协议,其位于 12 《计算机网络技术》 TCP/IP 协议堆栈的应用层,也是最早用于因特网上的协议之一。FTP 允许在两个异构体系 之间进行ASCII 码或EBCDIC 码(扩充的二进制码十进制转换)字符集的传输,这里的异 构体系是指采用不同操作系统的两台计算机。 与大多数的因特网服务一样,FTP 使用客户机-服务器模式,即由一台计算机作为FTP 服务器提供文件传输服务,而由另一台计算机作为FTP 客户端提出文件服务请求并得到授 权的服务。FTP 服务器与客户机之间使用TCP 作为实现数据通信与交换的协议。然而与其 他客户/服务器模型不同的是,FTP 客户与服务器之间建立的是双重连接,一个是“控制连 接(Control Connection )”,另―个是“数据传送连接(Data Transfer Connection )”。控制连 接传送命令,告诉服务器将传送哪个文件。数据传送连接也使用TCP 作为传输协议,传送 所有数据。 图10-6 FTP 客户-服务器模型 在FTP 的服务器上,只要启动了FTP 服务,则总是有一个FTP 的守护进程在后台运行 以随时准备对客户端的请求做出响应。当客户端需要文件传输服务时,其将首先设法打开 一个与FTP 服务器之间的控制连接相连,在连接建立过程中服务器会要求客户端提供合法 的登录名和密码,在许多情况下,我们使用匿名登录,即采用"anonymous" 为用户名,自 己的E-mail 地址作为密码。一旦该连接被允许建立,其相当于在客户机与FTP 服务器之间 打开了一个命令传输的通信连接,所有与文件管理有关的命令将通过该连接被发送至服务 器端执行。该连接在服务器端使用TCP 端口号的缺省值为21 ,并且该连接在整个FTP 会话 期间一直存在。每当请求文件传输即要求从服务器复制文件到客户机时,服务器将再形成 另一个独立的通信连接,该连接与控制连接使用不同的协议端口号,缺省情况下在服务器 端使用20 号TCP 端口,所有文件可以以ASCII 模式或二进制模式通过该数据通道传输。 一旦客户请求的一次文件传输完毕则该连接就要被拆除,新一次的文件传输需要重新建立 一条数据连接。但前面所建立的控制连接则被保留,直至全部的文件传输完 毕客户端请求 退出时才会被关闭。 用户可以使用FTP 命令来进行文件传输,这种称为交互模式。当用户交互使用FTP 时, FTP 发出一个提示,用户输入一条命令,FTP 执行该命令并发出下一提示。FTP 允许文件沿 任意方向传输,即文件可以上传与下载,在交互方式下,也提供了相应的文件上传与下载 第10 章 应用层 13 的命令。前面介绍过,FTP 有文本方式与二进制方式两种文件传输类型,所以用户在进行 文件传输之前,还要选择相应的传输类型:根据远程计算机文本文件所使用的字符集是 ASCII 或EBCDIC ,用户可以用ASCII 或EBCDIC 命令来指定文本方式传输;所有非文本 文件,例如,声音剪辑或者图像等都必须用二进制方式传输,用户输入binary 命令可将FTP 置成二进制模式。如我们在windows 2000 操作系统下可使用如下形式的FTP 命令。 FTP [-d-g-i-n-t-v] [host] 其中,host 代表主机名或者主机对应的IP 地址;参数d 表示允许调试;g 表示不允许 在文件名中出现“*”和“?”等通配符;i 表示多文件传输时,不显示交互信息;n 表示不利用 $HOME/netrc 文件进行自动登录t 允许分组跟踪;v 显示所有从远程服务器上返回的信息。 “[]”表示其中的内容为命令的可选参数。 用户输入FTP 命令如“ftp .3 ”后,屏幕就会显示“FTP ” 提示符,表示用户进 入FTP 的工作模式,在该模式下用户可输入FTP 操作的子命令。常见的FTP 子命令及其功 能如下: ASCII 进入ASCII 方式,传送文本文件; BINARY 传送二进制文件;进入二进制方式; BYE 或QUIT ; 结束本次文件传输,退出FTP 程序; CD dir 改变远地当前目录; LCD dir 改变本地当前目录; DIR 或 LS [remote-dir] [local-file] 列表远地目录 ; GET remote-file [local-file] 获取远地文件; MGET remote-files 获取多个远地文件,可以使用通配符; PUT local-file [remote-file] 将一个本地文件传递到远地主机上; MPUT local-files 将多个本地文件传到远地主机上;可用通配符; DELETE remote-file 删除远地文件 ; MDELETE remote-files 删除远地多个文件; MKDIR dir-name 在远地主机上创建目录; RMDIR dir-name 删除远地目录; OPEN host 与指定主机的FTP 服务器建立连接 ; CLOSE 关闭与远地FTP 程序的连接; PWD 显示远地当前目录; STATUS 显示FTP 程序的状态; USER user-name [password] [account] 向FTP 服务器表示用户身份; 另外有许多工具软件被开发出来用于实现 FTP 的客户端功能,如NetAnts 、Cute FTP 等,另外Internet Explorer 和Netscape Navigator 也提供发FTP 客户软件的功能。这些 软件的共同特点是采用直观的图形界面,通常还实现了文件传输过程中的断点再续和多路 传输功能。 14 《计算机网络技术》 习题与思考题: 1. 在TCP/IP 体系结构中,应用层的主要协议有哪些, 2. 试简要说明DNS 的解析过程。 3. 试述HTTP 与FTP 的不同。 4. 在电子邮件发送与接收过程中,SMTP 与POP3 分别起了什么作用,试 简单说明两者 的工作过程。 5. 简要说明FTP 的工作原理。
本文档为【网络工程师教程10】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_721103
暂无简介~
格式:doc
大小:55KB
软件:Word
页数:30
分类:企业经营
上传时间:2017-09-25
浏览量:14