第3章应用层课件_第1页
第3章应用层课件_第2页
第3章应用层课件_第3页
第3章应用层课件_第4页
第3章应用层课件_第5页
已阅读5页,还剩86页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机网络实用教程

第3章应用层

目录

■3.1应用层概述

-3.2网络应用程序开发基础

-3.3网络协议开发与协议工程简介

■3.4域名系统DNS

目录

■3.5万维网——HTTP协议和Web应用

■3.6文件传输协议FTP

■3.7电子邮件

■3.8其他网络应用

本章重点内容

-网络应用程序开发基础

■域名系统DNS

■文件传输协议FTP

■超文本传输协议HTTP

■邮局协议POP3

-简单邮件传输协议SMTP

3.1应用层概述

本章首先将介绍网络应用层的基础知识和

在Windows操作系统下进行网络应用程序设计

的基础知识,然后介绍一些关于网络协议开发

过程的基础知识,最后介绍在计算机网络应用

层得到广泛应用的域名系统DNS、文件传输协

议FTP、超文本传输协议HTTP、邮局协议

POP3和简单邮件传输协议SMTP,此外还将介

绍网络多媒体实时通信的相关协议以及点对点

P2P应用的相关内容。

操作系统与网络应用程序的关系

■在个人计算机中,一般是由计算机中的网络适配器、

网络适配器的驱动程序、网络操作系统中的网络核心

部分共同提供了从物理层直到传输层的网络服务,同

时操作系统还需提供应用程序与操作系统网络核心部

分交互的应用程序编程接口(API,Application

ProgrammingInterface),而众多的网络应用程序如

网络浏览器、电子邮件收发软件、即时通信软件等则

通过此接口按应用层协议的要求向网络上的其它计算

机发送数据或指令。

■在这个过程中,数据或指令将被以流式或数据包的形

式被不同的网络设备或软件处理,但最终它们将到达

指定计算机,并被指定计算机中的指定应用程序或进

程所接收。

操作系统与网络应用程序的关系

网络应用程序

/1

网络应用程序编程接口API

传输层

<操

网络层作

►--------系--------------

网络适配器驱动程序统

、r

网络适配器

3.1.1网络与网络协议的多样性

在计算机网络的发展过程中,各类研究机构或

公司提出和实现了许多不同类型的计算机网络,

之所以说它们是不同类型的网络,是因为它们

在通信时各使用不同的一组网络协议一协议簇。

在现实情况中,为了使不同类型网络中的计算

机也能够通信,现代计算机操作系统也一般都

支持多种使用不同协议簇的网络,如Windows

操作系统就支持TCP/IP、IPX/SPX、NetBIOS、

AppleTalk协议簇和ATM网络。其中,TCP/IP协

议簇是目前最为流行的网络协议簇,几乎所有

主流的操作系统都提供了对它的支持,同时这

也是本书介绍的重点。

3.1.2通信主体与寻址

谁是计算机网络的通信主体?

从技术的角度看,可以认为计算机网络中的通

信主体是应用程序或者进程。

为了确认作为通信主体的进程,通常需要两种

信息:(1)该主机的地址;(2)用来指定目

的主机上接收进程的标识。对于前者,是用IP

地址来指定的;对于后者,则用端口号或者说

端口地址来指定的。

3.1.3应用层协议的角色

网络协议是为实现计算机通信的一套规则,应

用层协议则是网络应用程序之间进行有效通信

的规则,它定义了运行在不同主机上的应用程

序应该如何相互传递数据与指令。

每一个协议一般以一个RFC的形式定义,由此

所有开发此类应用程序的程序员都应遵循这个

RFC的要求,否则他所开发的程序将无法与其

他应用程序有效通信。

网络应用程序除了要遵循应用层协议的规

则外,至少还需要与下层协议的服务提供者相

互传递信息,因此它还必须遵循与下层协议的

服务提供者通信的“规则”。

网络应用程序与下层协议的服务提供者的

交流方法一般是由操作系统的实现者所定义的,

通过调用由操作系统提供的API来与下层协议

的服务提供者交流,这些API表现为一系列的

函数,

3.1.4网络应用所需要的服务

由于运输层协议一般不只一种,因此当

开发一个应用时,必须选择一种合适的

运输层协议,因而必须考虑这些可用的

运输层协议所提供服务的特性,从而选

择其中最为恰当的、最符合应用需求的

协议。考虑的方面大体可以有三个:对

数据丢失率的要求、对带宽的要求和对

时间的要求。

对数据丢失率的要求

网络应用中,有一些应用是要求数据绝对不能

丢失的,如电子邮件、文件传输、Web文档传输以及

很多重要数据如金融应用中的数据的传输等。在这

些应用中,数据哪怕只丢失一个bit也将使得其他数

据无效或者还可能带来灾难性的后果。而有一些网

络应用则可以容忍一定程度的数据丢失率,如实时

的音频及视频应用,因为在这些应用中丢失部分数

据只会影响应用的品质,而不会造成其他数据的失

效或其他严重后果。

对带宽的要求

在网络中有不少应用对带宽是有最低的要求的,

如果不能保证满足要求的最低带宽,则这种应

用将因为无法提供令人能够忍受的服务而不能

进行。如IP电话一般需要32kb/s的带宽,若低

于这个值的话,则语音将变得断断续续或不清

晰。与之相反,则另一部分网络应用对网络所

能提供的带宽的要求是弹性的,如电子邮件、

文件传输或者Web服务,因为这些应用可以利

用网络空闲时再继续传送数据,只要最后数据

全部送达即可,所花费时间的长短并不是重要

的因素。

对时间的要求

有不少网络应用是要求实时的,这些应

用出于有效性的原因,对于数据传输有

严格的时间限制,许多应用要求端到端

的时延在几百毫秒或更低。如IP电话中

如时延太长会导致通话不连续,而在多

人的网络游戏中,则会因为各方数据的

不同步带来更多的问题。

应用对数据丢失率的要求对带宽的要求对时延的敏感程度

电子邮件不允许丢失弹性不敏感

Web服务不允许丢失建拄不敏感

文件传输不允许丢失弹性不敏感

多人网络游戏可以容忍少量丢失(JLkb/s〜10b/s)敏感,100ms

首频(儿kb/s〜Mb/s)

视频(10kb/s〜

5Mb/s)

实时音频/视频可以容忍少量丢失敏感,100ms

视频(1Okb/s-5Mb/s

)

3.1.5运输层所提供的服务

TCP/IP网络有两个运输层协议,即UDP协议和

TCP协议。其中,TCP协议提供面向连接的、可

靠的数据传输。面向连接即指客户端程序在通

信之前要与服务器端程序互相交换控制信息,

首先建立起与服务器端的连接,在通信完成之

后则将发送结束报文以结束连接。可靠的数据

据传输指数据是无差错且按发送次序到达接收

方的。UDP协议则提供无连接的、不可靠的数

据传输,无连接即指在通信之前无须先建立连

接,不可靠指其无法保证报文能够被接收方接

收到,也不保证数据按发送次序到达接收方。

3.2网络应用程序开发基础

应用程序编程接口(API)是操作系统提供给

程序设计人员的一整套可供调用的系统函数,

在这些API之间并非全是独立无关的,它们是

可以按用途分成许多相关的种类的,例如用于

访问和控制内存分配的、用于磁盘操作的、用

于网络访问等,人们往往把这些用途相同的

API归之为一个类别,并称之为一套。网络应

用程序需要调用操作系统提供的网络应用程序

接口API才能与运输层协议进程通信。

作为世界上第一个网络操作系统的伯克

利UNIX操作系统首先定义和实现了这样

一套API——套接字编程接口(Socket

API)o后来微软公司决定使其在

Windows中的Winsock编程接口保持与

Socket编程接口基本一致。

Winsock已成为能够访问多种底层网络协议的、

最为流行的网络编程接口,网络程序设计人员

在所有的Win32平台(Windows9x、Windows

NT/2000、WindowsXP)上都能应用它。值得

注意的是,Winsock是一套网络编程接口而不

是一个协议。至UWinsock2则已经进化成为了

一套真正的协议无关的编程接口,更确切的说,

是一个提供给程序员的、使其能与网络运输层

通信的、与协议无关的编程接口。

3网络协议开发与协议工程简介

一个完整的协议定义,事实上也与一个语

言的定义很相似,它必须定义严格的信

息传递格式(如同语言的语法)和信息

传递次序(如同语言的文法),同时还

应定义通信时所使用的指令(如同语言

中的词汇)和这些指令所要求的操作

(如同语义)。

3.3.1网络协议工程简介

从20世纪70年代起,随着计算机网络的发展,

国际上许多组织投入了大量的人力和物力进行

协议与标准的制定,以期达到计算机网络的开

放性、安全性和健壮性。

目前Internet协会已制定了4000多个RFC标准、

草案、提案和实验标准等,其内容涵盖了从物

理层的传输介质到应用层的各种网络应用。

网络协议工程是一门研究如何设计和构

造协议、如何将设计和构造的协议快速、

准确同时低成本地转换为可执行代码的

科学。它为协议的设计和开发提供了一

套综合、规范和自动的方法与过程。一

般来讲,协议工程包含两个方面的内容,

一是协议规则与标准(包括语法、文法

和语义)制定,二是如何按照制定的协

议开发出高性能代码的过程。

以规范的形式与过程来研究和开发协议,其目

的在于提高协议软件的可靠性和可维护性,最

大程度地减少开发成本,同时使计算机网络具

备更好的开放性。为了保证协议的一致性、安

全性和完整性,具有严格定义的数学模型的协

议形式描述技术就成了协议工程的基础,较为

常用的数学模型包括有限状态自动机、Petri网、

时序逻辑、抽象数据类型和多元代数等。

网络协议工程可分为上流工程和下流

工程。上流工程包括需求分析、功能与

服务的描述、协议结构设计等过程,下

流工程则指由形式描述语言到软件代码

的转换与验证过程。

3.3.2网络协议的开发过程

由于计算机网络必须具有高度的可靠性、稳定

性、开放性和经济性,因此网络协议的设计与

开发就成为一个需要在多种性能要求之间求得

平衡的复杂过程,一般来说,计算机网络的协

议设计包括功能设计、协议机制设计、协议格

式设计和所提供的服务设计等,而具体从过程

上看,协议设计又可分为概要设计、结构和模

块设计、实现环境设计和详细设计等。

协议设计所涉及的内容包括两个主要方

面,一是创建或抽取出协议所必须完成

的功能、分组交互顺序和所提供的服务,

并对其进行分析验证,以保证它们不包

含逻辑错误并具有良好的性能。这个方

面又可分为服务描述、功能创建与综合、

验证和性能分析等多个子部分。二是分

析实现协议和实现环境,并规定协议中

与实现环境有关的详细部分。

协议建模与描述

协议建模与描述就是要用形式描述语言描述协

议实体的信息交互规则、格式和相关定义,包

括以下几项内容:

■分组通信的时间顺序;

■分组参数的取值范围;

■解释和选取参数的规则;

■传输分组的编码;

■对分组传输或处理过程中的性能要求。

协议验证

协议验证技术就是用数学方法证实用形

式描述语言描述的协议形式描述中不存

在逻辑错误,如死锁、不完全性、不稳

定性、活锁以及信道溢出等,从而确认

协议的形式描述具有安全性和灵活性,

使得计算机网络系统更加健壮。

Y

协议数学

标准模他

文木表验证

:小

图3-3协议形式描述与协议验证的关系

协议实现

协议实现即把协议标准或协议形式描述

变换成计算机可执行代码的过程,这是

一个从形式描述到软件代码的逐步求精

的过程。在这个过程中,首先应根据与

实现相关的具体情况将协议标准向面向

实现的描述转换,然后再采用手工编程

和半自动工具辅助手工编程来实现协议。

协议软件的手工实现过程协议软件的半门动实现过程

图3-4协议软件的手工实现过程与协议软件的半自动实现过程

协议测试

协议测试不同于软件测试,其目的是验

证协议软件所提供的功能与协议设计人

员设计的协议功能的一致性。

协议的测试涉及三个重要问题,其一是

被测协议软件与网络环境通信引起的问

题。其二是被测协议的层次引起的问题。

其三则是协议软件与功能要求的一致性

问题引起的问题。

、.3.4DNS域名系统

JI

■DNS既指DNS协议,同时也指提供域名解析服务的系

统。作为协议,DNS的报文只有两种:请求报文和响

应报文,作为系统,DNS被设计成一个联机分布式的

数据库系统,采用客户服务器方式,人们将提供域

名解析服务的服务器称为域名服务器,而所有需要

域名解析的计算机都可以成为域名服务的客户。

■每台域名服务器上都存放着host文件的一部分,这

些部分之间的内容也有部分是重复的,由于DNS是这

样一个分布式系统,因此即使某一台域名服务器故

障也不会影响到整个网络的正常工作。

DNS域名解析的过程

当某个应用程序需要域名解析时,就将待解析的

域名放在DNS请求报文中,以UDP数据报方式发给

本地的域名服务器。

本地域名服务器在自己的域名数据库中查找后将

对应的IP地址放在响应报文中回传给这个应用程

序。

若本地域名服务器不能找到对应的IP地址,则此

域名服务器就会向其他域名服务器发出查询请求,

这个过程将持续直至找到相应的IP地址为止。

《域名与域名空间

■因特网协会规定了域名的管理机构及申请的方法

来规范域名的分配,最终在因特网上形成了层次

树状结构的命名方法。

■在这种命名方法下,整个因特网的域名空间很像

一个倒过来的树,任何一台连接在因特网上的主

机,都将有一个全球唯一的层次结构名——域名

(domainname)。其中,“域”是网络域名空间

中一个可被管理的划分区域,它还可以继续划分

为子域,如二级域、三级域等。域名最终由若干

个不同级别的子域名构成,各子域名之间用点号

分开,如・・・.三级域名.二级域名.顶级域名。

《域名服务器与域名解析

■域名服务系统中的域名服务器分为四种类型——本

地域名服务器、根域名服务器、顶级域名服务器和

授权域名服务器。

■这四类服务器在域名解析过程中各担负不同的任务,

主要是它们所管辖的范围不同。其中,本地域名服

务器有时也称为默认域名服务器,是网络中主机首

先向之发出域名解析请求的服务器,因此一般情况

下每台联网的主机都保存有本地域名服务器的IP地

址,以便发出域名解析请求。

4域名服务器与域名解析

■当一个本地域名服务器不能解析某个域名时,该服

务器就以DNS客户的身份向某一根域名服务器提出请

求。根域名服务器则负责将相应的顶级域名服务器

的IP地址返回给本地域名服务器。

■目前全球共有13个根域名服务器,1个为主根服务器,

放置在美国,其余12个均为辅根服务器,其中9个放

置在美国、欧洲2个(英国和瑞典各1个)、亚洲1个

(日本)。

■所有的根服务器均由ICANN统一管理。本地域名服务

器在得到相应的顶级域名服务器的IP地址后则向之

发出域名解析请求。

域名解析过程

・根域名服务器

顶级域名服务器

W

被查询主机的授权域名服务器

被查询主机

发送请求的主机

域名解析过程

■从上图可以看出,要进行一次域名解析一般要发送8

份DNS报文,其中4份查询报文,4份回答报文。

■首先由发出请求的主机向本地域名服务器发送出请

求报文,本地域名服务器将该报文转发到根域名服

务器,根域名报务器则用被查询主机的顶级域名服

务器IP地址响应,随后本地域名服务器则将请求发

送到此顶级域名服务器,顶级域名服务器则以被查

询主机的授权域名服务器的IP地址响应,最后本地

域名服务器向相应的授权服务器发出请求,此授权

服务器则用被查询主机的IP地址响应从而完成整个

解析过程。

域名解析过程

■进行一次域名解析的过程是复杂的,不过在实际中

人们采用了DNS缓存的方式来减少查询的次数和减

小时延。

■每一个域名服务器一般都维护一个域名高速缓存,

存放最近解析过的域名以及从何处获得名字映射信

息的记录,当客户请求域名服务器时,服务器首先

按标准过程检查自己是否被授权管理该域名,若未

被授权,则查看自己的高速缓存。若在其中有待解

析的域名信息,则以此信息响应。

■为了保证响应的正确性,域名服务器高速缓存中的

每一项内容都有一个生存期,过期的项目将被删除。

、.3.5万维网

■万维网WWW(WorldWideWeb)又称为Web,它并

不是指一种特殊的计算机网络,而是一个由海量

的、分布于全球范围的HTML(HyperTextMarkup

Language)文档最者说Web页面组成的文档集合。

■这些文档分布在因特网中数量众多的Web服务器上,

计算机应用程序(通常是浏览器软件如Internet

Explorer)可以通过HTTP协议从这些服务器获取

指定的HTML文档。这些文档也不是孤立存在的,

在大部分文档中存在着指向其他文档的链接,根

据这些链接用户可以轻松访问到相关的其他Web文

档。

43.5.1统一资源定位符(URL)

■统一资源定位符URL(llniformResourceLocator)

是对因特网上各种资源的位置和访问方法的一种描

述,在RFC1738和RFC1808中定义。通常,为了准确

地定位一个Web文档以便访问,我们必须提供——这

个文档的文件名、它所在的主机以及我们将以何种

方式访问它——这样三个信息,每个URL中则都包含

了这样三个信息,URL的一般形式如下:

■<访问方式>://<用户名〉:〈口令〉叙主机域名或IP地

址>:<端口号》/〈文件路径名〉

统一资源定位符(URL)

■例如:http://www.gov.cn:80/index.htm,这里的

http指应用http方式,www.gov.cn则是指定要访问

主机的域名,80则指示打开80号端口(如果指定一

种方式且打开的是默认端口时,端口号可以省略,

故这里也可省略:80)后面的index.htm则是文件的

路径名,事实上这个URL和http:〃www.gov.cn/是

完全相等的,因为当指定一个主机域名并以http方

式访问时,默认总是访问index.htm文档。

统一资源定位符(URL)

■URL中常用的访问方式主要有http、ftp和telnet,

不过ftp和telnet方式下由于某些服务器要求用户

提供用户名和口令,因此还需要在主机域名或IP地

址前加上用户名和口令,如

ftp://anonymous:yes@ftp.cdut.edu.cn:21/pub/

即指以用户名为anonymous,口令为yes的身份访

问域名为ftp.cdut.edu.cn的主机,访问所打开的

端口号为21,访问的目录为其pub目录。

3.5.2HTTP协议

~T^

■HTTP协议其采用的是客户/服务器模式,是web客户

访问web服务器上的万维网数据时所应用的协议,

它保证着万维网上数据的可靠传递。

■在每个web服务器上都运行着一个服务器进程,它

不断监听80端口,web客户首先则向此端口发送连

接建立请求,在服务器进程收到请求并与之建立连

接后,web客户就可以向服务器发出对文档的操作

请求,服务器则按请求对文档进行相应操作。

HTTP的两种报文

■web客户与web服务器之间的请求与响应消息,必须

按照约定的格式和遵守交互的规则,而这些格式和

规则则由HTTP协议所规定。为HTTP协议提供传输层

服务的是TCP协议,因此每次在文档的操作完毕后,

建立的连接将被释放。

■HTTP协议中只有两种报文——请求报文和响应报文

HTTP请求报文

请求行请求类型URLHTTP版本号回车换行

首部行首部字段名冒号首部字段值回车换行

(可多行)

空行回车换行

报文实体报文实体

HTTP响应报文

HTTP版本号空格状态码空格状态短语回车换行

首部行

首部字段名空格首部字段值回车换行

(可多行)

空行回车换行

报文实体报文实体

HTTP请求报文的常用方法

■I________________

'方法描述

GET向Web服务器请求一个文件

POST向Web服务器发送数据让Web服务器进行处理

PUT向Web服务器发送数据并存储在Web服务器中

HEAD请求读取由URL所标志的信息的首部

DELETE从Web服务器上删除一个文件

COPY从Web服务器上复制一个文件到另一个位置,其中源文件由请求行中的URL指定,目的位置则在实体首部行中指定

MOVE从Web服务器上移动到一个文件另一个位置,其中源文件由请求行中的URL指定,目的位置则在实体首部行中指定

TRACE跟踪到服务器的路径

OPTIONS查询Web服务器的性能

43.5.3浏览器与Web服务器

■Web服务器可以用来指提供Web服务的那台计算机,

也可以用来指提供Web服务的程序。最常用的Web服

务器程序是Apache和IIS。

■前者是由Apache软件基金会负责维护的开放源代码

的软件,由于它的稳定性、高效性、可移植性、安

全性和紧凑性,它成为了目前最流行的Web服务器

程序。后者则是Windows操作系统自带的一个Web服

务器,因而可以方便地在安装了Windows操作系统

的计算机上运行它。

■这两个流行的Web服务器软件,它们除了提供Web服

务之外,还可作为FTP服务器和电子邮件服务器。

、.3.6文件传输协议

■文件传输协议FTP(FiIeTransferProtocoI)是

为实现网络计算机之间的高效文件传输而提出的一

种网络协议。虽然FTP协议也采取客户/服务器模式,

但它与其他基于客户/服务器模式的协议有一个很

重要的不同之处,因为它会在两台网络计算机之间

建立两个连接,其中一个连接用于数据的传输,而

另一个则用于控制指令的传输。

■FTP协议是基于TCP连接的,它将占用两个固定的

TCP端口,其中端口21用于控制连接,端口20用于

数据连接。

FTP基本原理

■打开默认端口21,开始等待客户请求。

■当收到一个请求后启动一个从属进程来处理客户请

求,从属进程处理完毕后即终止。

■客户程序的运行过程则更简单,首先与服务器程序

通过21号端口建立连接,同时还通知服务器程序自

己的另一个用于数据传送连接的端口号码,接着服

务器程序将用20号端口与客户程序提供的端口号建

立数据传送连接并开始数据传送,传送完毕后关闭

两个连接。

FTP连接建立过程

1.请求建立连接

TCP

2.建立ICP连接并回复

___________220表示“Ready”

3.收到“Ready〃回十一一一220

复则发送用户名—-一

用户名--------.4.收到用户名则回复

□_____—331表“Needpassword"

5.收到"Needpassord”

回复则发送口令*

口令---------6.收到口令则回复230

表示“Greeting”

7.收到“Greeting〃回230

、复则连接建立完毕

《简单文件传送协议TFTP

■FTP协议与FTP协议一样也是基于客户/服务器模式的,

但它使用UDP作为传输协议(其默认端口是UDP的68

号端口),只支持文件的传输而不支持交互,命令

集也远小于FTP协议的命令集。

■TFTP协议的工作过程很简单,它将待发送的文件分

为多个512字节的数据块依次发送,在发送完一个文

件块后就等待对方的确认,确认时同时指明所确认

的块编号。如在规定的时间内没有收到确认就重发

数据,接收方若在规定时间内收不到下一个文件块,

也重发一个没有收到的确认消息。这样就可保证文

件的传送不会因某一个数据报丢失而告失败。

、3.7电子邮件

■电子邮件的发送与接收过程可分为三个部分,第一

步是邮件的发送者通过计算机中的邮件用户代理程

序(如outlook、千oxmaiI等电子邮件软件)应用

SMTP协议(SimpleMaiITransferProtocol)向

自己的邮件服务器发送电子邮件,邮件服务器在接

收到邮件后将其暂时存放在邮件缓存队列中等待发

接。

~.电子邮件

■第二步是发送方的邮件服务器将邮件缓存队列中的

邮件应用SMTP协议向接收方的邮件服务器发送,接

收方的邮件服务器在收到邮件后将其放入收信人的

用户邮箱中。

■第三步是收信人通过邮件用户代理程序应用POP3协

议(PostOfficeProtocol)将自己的邮件从接收

方邮件服务器中取回。

简单邮件传输协议SMTP

■简单邮件传输协议SMTP应用TCP协议作为其传输层

协议,使用常用端口25号,采取的是客户/服务器

模式。

■SMTP协议对发信人应如何将邮件提交给SMTP协议,

以及SMTP本身应如何将邮件传递给收信人没有规定。

■此外,对邮件内部的格式,邮件的存储形式,以及

邮件系统应以怎样的速度发送邮件,SMTP协议也都

没有作出规定。

■SMTP主要规定了两个使用SMTP协议进行邮件传递的

客户进程与服务器进程之间应如何交换信息。

简单邮件传输协议SMTP

■SMTP协议邮件传输有三种传输状态,即连接建立、

邮件传输和连接终止状态。

■1、当SMTP客户与服务器通过25号端口建立连接后

进入连接建立状态,服务器端将发送“220”表示

“准备就绪”或“421”表示“服务不可用”,客户

端在收到“220”响应后发出HEL0指令,一则通知客

户端域名,二则表示客户端“准备就绪”,最后,

服务器端若可以接收邮件则响应“2500K”表示已

准备好接收邮件。

简单邮件传输协议SMTP

■2、邮件的传输从MAIL指令开始,若服务器端已准

备好则响应“2500K”,随后客户端将发出RCPT指

令指明接收邮箱地址,此时服务端将根据情况作出

响应。最后客户端将发送DATA指令表示将开始传输

邮件,服务器端则可响应“354”表示可以继续。

■3、邮件发送完毕后,客户端发出QUIT指令,服务

器端响应“221”表示同意释放连接并关闭会话,至

此邮件传输结束。

、.邮局协议POP3

T-、

■邮局协议POP3(PostOfficeProtocoIVersion3,

RFC1939)是当前最为流行的TCP/1P协议簇中的电

子邮件访问与接收协议,它允许用户以离线方式从

他们的SMTP服务器上接收邮件。

■离线方式指当他人向用户发送邮件时用户无需在网

络上,邮件将存放在SMTP服务器中,仅当用户空闲

或需要时才用邮件代理软件与SMTP服务器通信以收

取邮件。

■POP3协议被设计成一个非常简单且只有少数指令的

协议,现在的版本号是3,因此人们简称其为POP3

协议。

、邮局协议POP3

■POP3协议应用TCP协议,其默认端口号为110,它与

SMTP协议一样采用客户/服务器模式。

■POP3协议的指令简单地由三到四个ASCII字符构成,

其后为一回车换行符,如表3-9所示。其响应方式

更为简单,只有两种:+0K和-ERR,分别表示操作

成功与出现错误。

、POP3在通信过程中的状态

-POP3在通信过程中按顺序进入的三种状态:

■授权状态。

■传输状态。

■更新状态。

POP3在通信过程中的状态

■当POP3客户与服务器建立TCP连接后即进入授权状

态(实际上是请求授权状态),此时服务器将响应

客户表示已准备就绪,客户端可以开始提供认证信

息以便访问自己的邮箱了。

■当服务器审查完客户端提供的认证信息后即进入传

输状态,此时客户端即可以对邮箱作诸如列邮件、

接收、标记已接收(以便从邮箱中删除)等操作了。

■当客户完成所有操作并发出QUIT指令后即进入更新

状态,此时服务器将删除那些标记为已接收完毕的

邮件,当客户与服务器的连接中止后,此状态也相

应结束了。

无连接

建立TCP连接

.

删除已成功接

收的邮件:授权状态

释放资源:授权成功

+

中止连接:

传输状态

*传输完毕发出QUIT指令

更新状态

,.3.8其他网络应用

■随着计算机网络应用的发展,越来越多的网络应用

协议已成为因特网的正式标准,如本章上面介绍的

FTP协议和HTTP协议,但也有不少的协议虽然已在计

算机网络得到应用,但尚未成为正式的标准,如本

节中将介绍的动态主机配置协议DHCP(Dynamic

HostConfigurationProtocoI),它们到目前为止

还只是因特网的草案标准。

■本节将对网络中的另外一些常用协议以及一些代表

新的网络应用的协议与技术(如P2P应用)作简要介

绍。

53.8.1远程终端协议TELNET

■Telnet(TErminaLNETwork,RFC854)就是为满足

从低性能的计算机访问功能强大的计算机而开发的

网络协议,它已成为因特网的正式标准。

■Telnet使得用户可以通过建立TCP连接远程登录到

网络上的另一台主机上,从而将用户的击键传到远

程主机,同时也将远程主机的输出通过TCP连接返

回到用户屏幕上,这样用户就感觉到本地计算机就

好像是远程主机的一个终端。

TeInet信息交换的过程

■TeInet定义了名为NVT(NetworkVirtuaI

Terminal)的虚拟终端,使得不同体系结构、不同

操作系统的计算机都能通信。一个Telnet客户软件

将用户的输入从本地的格式翻译成NVT格式,再发

送给远程主机(Telnet服务器);远程主机则将收

到的内容从NAT格式翻译成它所使用的格式。在向

客户端返回信息时,则按相反的过程进行。

Telnet消息交换的过程

TeInet服务器使用服务器端格式

TeInet客户软件使用客户端格式

Telnet定义的格式

■Telnet所定义的格式非常简单——所有的通信(不

论指令还是数据)都占用8bit(1个字节),若为

数据则与ASCII码基本相同,不同之处在于其控制

字符只是ASCII码中控制字符的一部分。

■Telnet将十进制为255的代码定义为IAC

(InterpretAsCommand),表示其后紧随的是一

个指令,如果要发送的数据中恰好出现IAC,则在

它的前面要增加一个IAC,因此在收到的数据中出

现一连两个IAC时则去掉一个,而剩下的一个是数

据。

■Telnet的指令有15条,其编码对应于十进制的

240—254o

动态的主机配置协议DHCP

■DHCP解决了分配IP地址的问题。

■DHCP使得一台计算机加入一个新网络和获取IP地址

的过程自动进行而不需人的手工参与。

■DHCP使用客户服务器模式,其客户端使用UDP端口

68号,趣务器端使用UDP端口67号。

动态的主机配置协议DHCP

■当需要一个IP地址的客户端启动时会向整个网络以

广播的方式发送一个DHCP发现报文其源IP地址此时

也全置为0。

■这样,在本地网络上的所有主机都将收到这个DHCP

发现报文,但只有DHCP服务器会对它做出响应。

■DHCP服务器将根据发现报文中的网络适配器的MAC地

址先到其DHCP数据库中查找相应的配置信息,若找

到则返回找到的信息,若找不到,则从服务器的IP

地址池中取一个IP地址通过返回的提供报文分配给

该主机。

DHCP分配IP的三种方式

■手动分配:网络管理员可通过对DHCP服务器的设置,

实现将一个特定的IP地址固定地分配给一台主机

(根据主机的网络适配器的MAC地址)。

■自动分配:为一台主机永久地分配一个IP地址。

■动态分配:为一台主机在一段时间内分配一个IP地

址,这段时间称为租用期。

动态主机配置的过程

■LDHCP服务器打开UDP端口67号开始侦听。

■2.DHCP客户从UDP端口68号发送发现报文

(DHCPDISCOVER)。

■3.收到DHCP发现报文的DHCP服务器将发出DHCP提

供报文(DHCPOFFER),由于可能有多个DHCP服

务器,因此客户端将可能收到多个DHCP提供报文。

■4.客户端从收到的提供报文中选择一个做出响应,

响应的方式为向所有的服务器发出同一个DHCP请

求报文(DHCPREQUEST)。

动态主机配置的过程

■5.被选择的DHCP服务器在收到请求报文后发送确

认报文(DHCPACK),这样DHCP客户端就可以使用

分配的IP地址了,此时客户端就进入了已绑定状

态,客户端将根据服务器提供的租用期T启动两个

计时器T1和T2,其中T1为0.5个租用期,T2为

0.875个租用期。

■6.当T1时间到时,客户端需发出请求报文要求更

新租用期,若没有收到响应,则在T2时间到时再

发送请求报文。若仍未收到响应则重新开始申请

新的IP地址(回到步骤2)o

动态主机配置的过程

■7.服务器在收到请求更新租用期的请求报文时,

若同意则响应确认报文,客户端则将重新设置计

时器T1和T2;若不同意则响应否认报文

(DHCPNACK),客户端则必须立即停止原IP地址

的使用并重新开始申请新的IP地址(回到步骤

2)。

■8.客户端可随时提前终止IP地址的分配,只需向

服务器端发送释放报文(DHCPRELEASE)即可。

3.8.3简单网络管理协议SNMP

■随着网络规模的扩大,人们渐渐发现要对网络进行

管理变得越来越困难。网络管理员们迫切希望能够

在一台主机前通过操纵计算机来管理整个网络,而

不是到处跑来跑去反复不停地调整和测试各种网络

设备。在这种情况下,由IETF制订的简单网络管理

协议SNMP(SimpleNetworkManagement

Protocol,)在1990年成为了因特网的正式标准。

由于以后又提出了新的网络管理协议版本SNMPv2

(RFC1901-1908)和SNMPv3(RFC2271-2275),最

初制订的网络管理协议现在则被称为SNMPvl。

网络管理的功能

■SNMP协议则是网络管理程序与其代理程序之间交互

信息的规则,其基本功能包括监视网络性能、检测

分析网络差错和配置网络设备等。当网络正常工作

时,SNMP可实现网络数据的统计、设备的配置及网

络测试等;当网络出现不正常情况时,SNMP可实现

各种差错的检测及故障恢复。

SNMP协议管理三个基本观点

■管理站通过查询影响代理程序行为的数据变

量来检视代理程序;

■管理站通过重新设置代理程序所控制的网络

数据库中某些数据变量来强制代理程序执行

某些任务;

■代理程序通过向管理站预警网络的不正

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论