吴功宜 编著计算机网络第 8章 应用层
《计算机网络》第 8章 应用层 3
本章学习要求,
了解,TCP/IP协议栈与应用层协议之间的关系
掌握:域名系统的基本工作原理
掌握:电子邮件的基本工作原理
掌握:文件传输 FTP的基本工作原理
掌握,WWW服务的基本工作原理
掌握:应用层协议的分析方法
《计算机网络》第 8章 应用层 4
8.1 应用层协议与低层协议的关系
8.1.1 主要的应用层协议
网络终端协议 Telnet
文件传输协议 FTP
简单邮件传输协议 SMTP
域名系统 DNS
简单网络管理协议 SNMP
超文本传输协议 HTTP
《计算机网络》第 8章 应用层 5
8.1.2 TCP/IP协议栈及之间的关系应用层传输层互联层主机- 网络层
Telnet FTP SMTP DNS SNMP
TCP UDP
ARP RARP
E t h e r n e t T o k e n R i n g 其它协议
HTTP TFTP
IP
《计算机网络》第 8章 应用层 6
8.2 域名系统 DNS
8.2.1 域名系统的基本概念
1.为什么有了 IP地址,还需要域名?
域 名 — 用字符表示的网络主机名,是一种主机标识符;
IP地址 — 数字型,难于记忆与理解;
域 名 — 字符型,直观,便于记忆与理解;
IP地址 — 用于网络层;
域 名 — 用于应用层;
IP地址与域名都应该是全网唯一的,并且它们之间具有对应关系。
《计算机网络》第 8章 应用层 7
2,Internet域名结构
TCP/IP协议中规定的层次型名字管理机制叫做域名系统;
域名系统将整个 Internet划分为多个顶级域,并为每个顶级域规定了通用的顶级域名;
Internet主机域名的一般格式为:
o? óí
ê óí,? y óí,? t óí,? ¤ óí
《计算机网络》第 8章 应用层 8
Internet域名空间的树状结构
int comedu gov mil net cn uk jp,..org
é?ˉ
ò oí
μ×
¤ óí
com edugov int net bj sh tj,..orgac
ibm hp cisco,..
t óí
nankai pku,..tsinghua
www cs ee,..
y óí
ê óí
·e
《计算机网络》第 8章 应用层 9
8.2.2 域名服务器的层次结构
1.域名服务器的基本工作原理
域名系统的一个主要特点是允许区域自治;
域名系统在设计了层次的域名的同时,提出了与其相对应的域名服务器系统;
整个域名系统是以一个大型的分布式数据库的方式工作的;
大多数具有 Internet连接的组织都有一个域名服务器,
每个服务器包含连向其他域名服务器的信息,这些服务器形成了一个大的协同工作的域名数据库 。
《计算机网络》第 8章 应用层 10
2.域名服务器的层次
DNS服务器的层次是与域名的层次相适应的;
每一个域名服务器都只对域名体系中的一部分进行管辖;
一个根服务器( root server) 在这个层次体系的顶部,
它是顶层域的管辖者;
DNS服务器的层次对应着域名的层次,但是这两者并不是对等的。一个公司网络或校园网可以选择将它所有的域名都放在一个域名服务器上,也可以选择运行几个域名服务器。 nankai.edu
cs.nankai.edu ee.nankai.edu,.....
μù òo óít í
μù?t óít í
《计算机网络》第 8章 应用层 11
8.2.3 域名解析
1.域名解析的基本工作原理
将域名转换为对应的 IP地址的过程称为域名解析 ;
完成该功能的软件叫域名解析器 ;
每个本地域名服务器配置一个域名解析器软件 ;
由于每个服务器都知道根服务器的地址,因此无论经过几步查询,在域名树中最终总会找出正确的解析结果。
《计算机网络》第 8章 应用层 12
2.域名解析算法
递归解析
反复解析
óía íò
¨?a í? ò§¢ ìe
3 ·t í
é?
N
§ é?
éù a?
t íê eó óí
a í é?
′ó éy?Y?a 3- ó¥ μ×
£¨ ′¨ o×a
Y
á òo ·t ía
£? 2¢?¨ ′¨ o×a
μY?é?a í′ ·′?a í?
2? è? òo ··?¨? á òo ·t í?
μ ó¥ £? 2¢ ′¨ o×a
á òo ′ía
《计算机网络》第 8章 应用层 13
递归解析要求名字服务器系统一次性完成全部名字 — 地址变换;
反复解析是每次请求一个服务器,如果不行再请求别的服务器;
递归解析的任务主要是由服务器软件承担;
反复解析的任务主要是由域名解析器软件承担。
《计算机网络》第 8章 应用层 14
域名解析中客户与服务器的交互过程
ì o§
a? μ× óít í
μù 12?
netlab.cs.nankai.edu.cn
·e óít í
nan kai óít í
csó ít í
μù 22?
netlab.cs.nankai.edu.cn
μù 32?
nankai.edu.cn£? 202.113.16.10
μù 42?
netlab.cs.nankai.edu.cn
μù 52?
cs.nankai.edu.cn£? 202.113.27.1
μù 62?
netlab.cs.nankai.edu.cn
μù 72?
netlab.cs.nankai.edu.cn£? 202.113.56.10
μù 82?
202.113.56.10
202.113.16.10
202.113.27.1
《计算机网络》第 8章 应用层 15
8.2.4 域名系统性能优化
复制与 缓存
1.复制
每个根服务器的许多副本存在于世界各地;
当一个新的子网加入 Internet时,它在本地的
DNS服务器中配置一个根服务器表;
本地的 DNS服务器可以为本网用户的域名服务选择响应最快的根服务器;
在实际应用中,地理上最近的域名服务器往往响应最好。
《计算机网络》第 8章 应用层 16
2.缓存
DNS缓存比复制更为重要,使用名字的高速缓存可优化查询的开销;
每个服务器都保留一个域名缓存,每当查找一个新的域名时,服务器将它置于缓存中;
主机在启动时从本地域名服务器下载域名和地址的全部数据库,维护存放自己最近使用的域名的高速缓存,并且只在从缓存中找不到域名时才使用域名服务器。
《计算机网络》第 8章 应用层 17
8.3 电子邮件服务
8.3.1 电子邮件的概念
电子邮件服务是目前 Internet上使用最频繁的服务;
电子邮件系统不但可以传输各种格式的文本信息,而且还可以传输图像、声音、视频等多种信息 ;
邮件服务器系统的核心邮件服务器负责接收用户送来的邮件,并根据收件人地址发送到对方的邮件服务器中,同时负责接收由其他邮件服务器发来的邮件,并根据收件人地址分发到相应的电子邮箱中;
当用户向 ISP申请 Internet账户时,ISP就会在它的邮件服务器上建立该用户的电子邮件账户,它包括用户名
( user name) 与用户密码( password)。
《计算机网络》第 8章 应用层 18
8.3.2 电子邮件服务的工作过程
电子邮件服务基于客户 /服务器结构
《计算机网络》第 8章 应用层 19
电子邮件应用程序基本服务功能,
创建与发送电子邮件;
接收、阅读与管理电子邮件;
账号、邮箱与通信簿管理。
电子邮件协议,
在电子邮件程序向邮件服务器中发送邮件时,使用的是简单邮件传输协议 SMTP;
在电子邮件程序从邮件服务器中读取邮件时,可以使用邮局协议 POP3或交互式邮件存取协议 IMAP,它取决于邮件服务器支持的协议类型。
《计算机网络》第 8章 应用层 20
电子邮件系统协议使用情况
《计算机网络》第 8章 应用层 21
8.3.4 简单邮件传输协议 SMTP
SMTP协议运行在 TCP协议之上,使用公开端口号 25;
SMTP使用简单的命令传输邮件 ;
SMTP规定了 14条命令和 21种响应信息 ;
每条命令都是由 4个字母组成的 ;
每一种响应信息一般只有一行信息 ;
SMTP使用客户 /服务器工作模式,发送邮件的 SMTP
进程是 SMTP客户,接收邮件的 SMTP进程是 SMTP服务器。
《计算机网络》第 8章 应用层 22
8.3.5 邮件读取协议 POP3和 IMAP
POP3
邮局协议 POP是一个简单的邮件读取协议;
POP3协议使用客户 /服务器的工作方式;
接收邮件的用户主机运行 POP客户程序,ISP的邮件服务器则运行 POP服务器程序 ;
POP3协议运行在 TCP协议之上,它使用公开的端口号
110 ;
POP3协议规定了 15条命令和 24种响应信息 。
《计算机网络》第 8章 应用层 23
IMAP
Internet报文存取协议 IMAP与 POP3都是按客户 /服务器方式工作,但它们有很大的差别;
对于 POP3协议,POP3服务器是具有存储转发功能的中间服务器。在邮件交付给用户之后,POP3服务器就不再保存这些邮件;
当客户程序打开 IMAP服务器的邮箱时,用户就可以看到邮件的首部;如果用户需要打开某个邮件,则可以将该邮件传送到用户的计算机;在用户未发出删除邮件的命令前,IMAP服务器邮箱中的邮件一直保存着;
POP3协议是在脱机状态下运行,而 IMAP协议是在联机状态下运行。
《计算机网络》第 8章 应用层 24
8.4 文件传输服务
8.4.1 文件传输的概念
文件传输服务又称为 FTP服务,它是 Internet中最早提供的服务功能之一,目前仍然在广泛使用中 ;
文件传输服务是由 FTP应用程序提供的,而 FTP应用程序遵循的是 TCP/IP协议组中的文件传输协议,它允许用户将文件从一台计算机传输到另一台计算机上,
并且能保证传输的可靠性;
在 Internet中,许多公司、大学的主机上含有数量众多的各种程序与文件,这是 Internet的巨大与宝贵的信息资源。通过使用 FTP服务,用户就可以方便地访问这些信息资源。
《计算机网络》第 8章 应用层 25
8.4.2 文件传输的工作过程
FTP服务工作模式,客户 /服务器
《计算机网络》第 8章 应用层 26
8.4.3 匿名 FTP服务
匿名 FTP服务的实质是:提供服务的机构在它的 FTP服务器上建立一个公开账户(一般为
anonymous),并赋予该账户访问公共目录的权限,以便提供免费服务;
如果用户要访问这些提供匿名服务的 FTP服务器,一般不需要输入用户名与用户密码;
大多数 FTP服务都是匿名服务;
为了保证 FTP服务器的安全,几乎所有的匿名
FTP服务器都只允许用户下载文件,而不允许用户上载文件。
《计算机网络》第 8章 应用层 27
8.5 新闻与公告类服务
8.5.1 网络新闻组
网络新闻组是一种利用网络进行专题讨论的国际论坛 ;
Usenet并不是一个网络系统,只是建立在 Internet上的逻辑组织;
Usenet不同于 Internet上的交互式操作方式,在 Usenet
服务器上存储的各种信息,会周期性地转发给其他
Usenet服务器;
Usenet的基本通信方式是电子邮件,但它不是采用点对点通信方式,而是采用多对多的传递方式。
《计算机网络》第 8章 应用层 28
8.5.2 电子公告牌
电子公告牌 BBS也是 Internet上较常用的服务功能之一;
电子公告牌提供一块公共电子白板,每个用户都可以在上面书写、发布信息或提出看法、聊天,获得帮助、讨论问题及为别人提供信息;
早期的 BBS服务是一种基于远程登录的服务,
想要使用 BBS服务的用户,必须首先利用远程登录功能登录到 BBS服务器上;
目前很多 BBS站点开始提供 WWW访问方式。
《计算机网络》第 8章 应用层 29
8.6 WWW服务
8.6.1 WWW服务的基本概念
WWW又称为万维网,简称为 Web,是 Internet技术发展中的一个重要的里程碑;
WWW系统的结构采用了客户 /服务器模式;
信息资源以 web页的形式存储在 WWW服务器中,用户通过 WWW客户端浏览器程序图、文、声并茂的
Web页内容;
通过 Web页中的链接,用户可以方便地访问位于其他
WWW服务器中的 Web页,或是其他类型的网络信息资源。
《计算机网络》第 8章 应用层 30
WWW服务的基本概念
HTM Lít
HTM Lít
HTT P? a òé
Internet
ê¢?é?′
WWW?t í
WWW?t í
WWW?ì o§
《计算机网络》第 8章 应用层 31
WWW服务具有以下几个主要特点
以超文本方式组织网络多媒体信息,用户可以访问文本、语音、图形和视频信息;
用户可以在 Internet范围内的任意网站之间查询、检索、
浏览及发布信息,并实现对各种信息资源透明的访问;
提供生动、直观、统一的图形用户界面;
WWW服务的核心技术是:
超文本标记语言 HTML
超文本传输协议 HTTP
超链接 hyperlink
《计算机网络》第 8章 应用层 32
8.6.2 超文本、超媒体与超文本标记语言
1.超文本与超媒体的概念
超文本方式的工作方式南开大学学校概况学校概况学校目录南开大学院系设置 信息学院学校历史院系设置学校历史学校概况信息学院计算机系计算机系数学学院数学学院
《计算机网络》第 8章 应用层 33
超媒体工作方式
o¢
íé èü
òò?μ?é èü
éó?μ?é èü
íé èü
éó?μ?é èü òò?μ?é èü
《计算机网络》第 8章 应用层 34
WWW以客户 /服务器方式工作;
浏览器 browser是在用户计算机上运行的 WWW
客户程序;
WWW服务器程序运行在服务器,管理着提供浏览的文档;
WWW在实现过程中必须解决以下几个问题:
如何标识分布在整个 Internet上的 WWW文档?
如何实现 WWW上各种链接的链接?
如何显示不同风格的 WWW文档?
《计算机网络》第 8章 应用层 35
2.主页的概念
信息资源以网页 Web page的形式存储在 WWW服务器中 ;
用户通过浏览器向 WWW服务器发出请求,服务器根据客户请求内容,将保存在 WWW服务器中的某个页面发送给客户;
用户可以通过页面中的链接,方便地访问位于其他 WWW
服务器中的页面,或是其他类型的网络信息资源;
主页 home page是一种特殊的 Web页面,是指包含个人或机构基本信息的页面,用于对个人或机构进行综合性介绍,
是访问个人或机构详细信息的入口点。
《计算机网络》第 8章 应用层 36
主页一般包含以下几种基本元素,
文本( text) 最基本的元素,就是通常所说的文字
图像( image) WWW浏览器一般只识别 GIF与 JPEG
两种图像格式
表格( table) 类似于 Word中的表格,表格单元内容一般为字符类型
超链接( hyperlink) 用于将 HTML与其他主页相连
《计算机网络》第 8章 应用层 37
3.超文本标记语言 HTML
WWW服务器中所存储的页面是一种结构化的文档,
采用超文本标记语言书写而成;
HTML是 WWW上用于创建超文本链接的基本语言,
可以定义 WWW主页格式化的文本、色彩、图像与超文本链接;
HTML文档可以将声音、图像、视频等多媒体信息集成在一起 ;
使用 HTML语言开发的 HTML超文本文件一般具有,htm( 或,html) 后缀。
《计算机网络》第 8章 应用层 38
8.6.3 URL与信息定位
URL是对能从 Internet上得到的资源的位置和访问方法的一种简洁的表示 ;
标准的 URL由 3部分组成:服务器类型、
主机名和路径及文件名
http,//www.nankai.edu.cn/index.html
协议类型 主机名 路径及地址
《计算机网络》第 8章 应用层 39
URL通过指定其他协议类型访问其他类型服务器,
gopher,//gopher.cernet.edu.cn 连接到名为
gopher.cernet.edu.cn的 Gopher服务器
ftp,//ftp.pku.edu.cn/pub/dos/readme.txt 通过 FTP
连接来获得一个名为 readme.txt的文本文件
file,//linux001.nankai.edu.cn/pub/gif/wu.gif 要在所连接的主机上获得并显示一个名为 wu.gif的图形文件
telnet,//cs.nankai.edu.cn 远程登录到名为
cs.nankai.edu.cn的主机
《计算机网络》第 8章 应用层 40
8.6.4 WWW浏览器
WWW浏览器的基本功能
WWW浏览器是用来浏览 Internet上主页的客户软件 ;
浏览器软件应具备以下的基本功能,
查找、启动与终止链接
通过按钮与菜单项来链接
历史( history) 与书签( bookmark) 的使用
自由设定屏幕窗口
选择起始页
改变式样、字体与色彩
查看内嵌图像与外部图像
保存与打印主页
《计算机网络》第 8章 应用层 41
WWW浏览器的结构控制器
H T M L 解释器可选解释器
.
.
.
H T M L 客户 可选客户.,.
网络接口驱动器从鼠标和键盘输入输出到显示器与远程服务器通信
W W W 浏览器缓 存
《计算机网络》第 8章 应用层 42
8.6.5 WWW基本工作过程与协议层次
Internet
WWW?ˉ
Web?t í
HTT P? a òé
TCP?a òé
IP? a òé
óí ì? oí
óí ìa òé
ì o§?ê?a òé
HTT P? a òé
TCP?a òé
IP? a òé
óí ì? oí
óí ìa òé
t íê?a òé
Web?t í
ì?t
WWW?ˉ
ì?t
《计算机网络》第 8章 应用层 43
8.7 典型应用层协议 FTP的分析
8.7.1 FTP模型与测试分析环境
FTP? t í
a òé í
óí ì?
FTP? ì o§
IPμ ×£ 1 201.5.21.1
MACμ ×£ 1 00-00-C0-22-A1-01
IPμ ×£ 1 201.5.21.25
MACμ ×£ 1 02-60-8C-01-24-28
《计算机网络》第 8章 应用层 44
协议分析器
协议分析器的作用就是监视 FTP客户与 FTP服务器的协议交互过程,记录并对协议包进行分析 ;
分析环境的具体参数是,
FTP服务器,MAC地址为 00-00-C0-22-A1-01
IP地址为 201.5.21.1
控制连接端口号为 20
数据连接端口号为 21
FTP客户,MAC地址为 02-60-8C-01-24-28
IP地址为 201.5.21.25
数据连接端口号为 15432
控制连接端口号为 7180
《计算机网络》第 8章 应用层 45
FTP工作模型
《计算机网络》第 8章 应用层 46
协议分析器捕获 FTP交互的协议包
a òé í
02-60-8C-01-24-28
02-60-8C-01-24-28
00-00-C0-22-A1-01
02-60-8C-01-24-28
00-00-C0-22-A1-01
02-60-8C-01-24-28
00-00-C0-22-A1-01
02-60-8C-01-24-28
02-60-8C-01-24-28
00-00-C0-22-A1-01
02-60-8C-01-24-28
02-60-8C-01-24-28
00-00-C0-22-A1-01
02-60-8C-01-24-28
00-00-C0-22-A1-01
02-60-8C-01-24-28
02-60-8C-01-24-28
00-00-C0-22-A1-01
02-60-8C-01-24-28
00-00-C0-22-A1-01
02-60-8C-01-24-28
00-00-C0-22-A1-01
LayerDestinationSourceNo,Summary
Broadcast
Broadcast
02-60-8C-01-24-28
00-00-C0-22-A1-01
02-60-8C-01-24-28
00-00-C0-22-A1-01
02-60-8C-01-24-28
00-00-C0-22-A1-01
00-00-C0-22-A1-01
02-60-8C-01-24-28
00-00-C0-22-A1-01
00-00-C0-22-A1-01
02-60-8C-01-24-28
00-00-C0-22-A1-01
02-60-8C-01-24-28
00-00-C0-22-A1-01
00-00-C0-22-A1-01
02-60-8C-01-24-28
00-00-C0-22-A1-01
02-60-8C-01-24-28
00-00-C0-22-A1-01
02-60-8C-01-24-28
arp
arp
arp
tcp
tcp
tcp
ftp
tcp
ftp
ftp
tcp
ftp
tcp
tcp
ftp
tcp
ftp
ftp
ftp
tcp
tcp
tcp
201.5.21.25 201.5.21.1
201.5.21.25 201.5.21.1
201.5.21.1=00-00-C0-22-A1-01
Port£ 1 15432 FTP SYN
Port£ 1 FTP 15432 ACK SYN
Port£ 1 15432 FTP ACK
Reply£ 1 Service ready for new user
Port£ 1 15432 FTP ACK
Command=USER£ ¨User Name£ |
Reply£ 1 User name ok£? need password
Port£ 1 15432 FTP ACK PUSH
Command=PASS£ ¨Password£ |
Port£ 1 FTP 15432 ACK
Port£ 1 15432 FTP ACK PUSH
Reply£ 1 User logged in£? proceed
Port£ 1 15432 FTP ACK PUSH
Command=PORT£ ¨Data Port£ |
Reply£ 1 Command ok
Command=RETR£ ¨Retrieve File£ |
Port£ 1 FTP-DATA 7180 SYN
Port£ 1 7180 FTP-DATA ACK SYN
Port£ 1 FTP-DATA 7180 ACK
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Packet£ 1 43 Unfiltered£ 1 43
£¨ a £|
《计算机网络》第 8章 应用层 47
a òé í
00-00-C0-22-A1-01
02-60-8C-01-24-28
00-00-C0-22-A1-01
00-00-C0-22-A1-01
02-60-8C-01-24-28
02-60-8C-01-24-28
00-00-C0-22-A1-01
02-60-8C-01-24-28
00-00-C0-22-A1-01
02-60-8C-01-24-28
00-00-C0-22-A1-01
02-60-8C-01-24-28
00-00-C0-22-A1-01
02-60-8C-01-24-28
00-00-C0-22-A1-01
00-00-C0-22-A1-01
02-60-8C-01-24-28
02-60-8C-01-24-28
00-00-C0-22-A1-01
00-00-C0-22-A1-01
02-60-8C-01-24-28
LayerDestinationSourceNo,Summary
02-60-8C-01-24-28
00-00-C0-22-A1-01
02-60-8C-01-24-28
02-60-8C-01-24-28
00-00-C0-22-A1-01
00-00-C0-22-A1-01
02-60-8C-01-24-28
00-00-C0-22-A1-01
02-60-8C-01-24-28
00-00-C0-22-A1-01
02-60-8C-01-24-28
00-00-C0-22-A1-01
02-60-8C-01-24-28
00-00-C0-22-A1-01
02-60-8C-01-24-28
02-60-8C-01-24-28
00-00-C0-22-A1-01
00-00-C0-22-A1-01
02-60-8C-01-24-28
02-60-8C-01-24-28
00-00-C0-22-A1-01
ftp
tcp
tcp
ftp
tcp
tcp
tcp
tcp
tcp
tcp
tcp
tcp
tcp
ftp
ftp
tcp
tcp
tcp
tcp
tcp
tcp
Reply£ 1 File status ok£? about to
Port£ 1 15432 FTP ACK PUSH
Port£ 1 FTP-DATA 7180 ACK
Reply£ 1 Close data connect
Port£ 1 15432 FTP ACK PUSH
Port£ 1 7180 FTP-DATA ACK
Port£ 1 FTP-DATA 7180 ACK
Port£ 1 7180 FTP-DATA ACK
Port£ 1 FTP-DATA 7180 ACK
Port£ 1 7180 FTP-DATA ACK
Port£ 1 FTP-DATA 7180 ACK PUSH FIN
Port£ 1 7180 FTP-DATA ACK FIN
Port£ 1 FTP-DATA 7180 ACK
Command=QUIT£ ¨Logout£ |
Reply£ 1 Service closing control
Port£ 1 FTP 15432 ACK FIN
Port£ 1 15432 FTP ACK FIN
Port£ 1 15432 FTP ACK PUSH
Port£ 1 FTP 15432 ACK FIN
Port£ 1 FTP 15432 ACK FIN
Port£ 1 15432 FTP ACK PUSH
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
Packet£ 1 43 Unfiltered£ 1 43
£¨ b £|
《计算机网络》第 8章 应用层 48
8.7.2 FTP控制连接建立过程的协议分析
1.地址解析 ARP协议执行过程
ó? o§? £?é
F T P?ì o§
×£?é
F T P?t í
×£?é
a òé?ò 1£ 1 FTP?ì o§ó 2¤?ò ì¨? § a μ?
μ? IPμ ×ó? MACμ ×
a òé?ò 2£ 1 FTP?ì o§ó 2¤?ò?¢ 3? μ×
a í
F T P?ì o§
F T P?t í
IPμ ×
201.5.21.1
IPμ ×
201.5.21.25
a òé?ò 3£ 1 FTP?t í í?ì o§? ¢ 3? μ×
a í μ? ó¥ ′e?ò
《计算机网络》第 8章 应用层 49
2.FTP控制连接建立过程
协议包 4~ 6 是 FTP 控制连接建立的协议执行过程
协议包 4,FTP客户请求建立与 FTP服务器控制连接包
a òé í
ip£ 1 --- --- --- --- --- --- -In ter net Pr oto col --- --- --- --- --- ---
Station£ 1 201.5.21.25 201.5.21.1
Protocol£ 1 TCP
Version£ 1 4
Prendence£ 1 Routine
Normal Delay£? Normal Throughput£? Normal Reliability
t cp£ 1 --- --- --- --- -Tr ans mis sio n C ont rol Pr oto col --- --- --- ---
Source Port£ 1 15432
Distination Port£ 1 21
Control Bits£ 1 Synchronize Sequence Numbers£ ¨SYN£ |
Pac ket £1 4 Unf ilt ere d£ 1 43
《计算机网络》第 8章 应用层 50
FTP控制连接建立的协议包交互过程
ó? o§? £?é
F T P?ì o§
×£?é
F T P?t í
×£?é
a òé?ò 4£ 1 FTP?ì o§? í FTP?t í ¢ 3? μ?
× àó?¨à ¢
a òé?ò 5£ 1 FTP?t íì? òa?¨à ¢?× àó
¨à ¢
F T P?ì o§
F T P?t í
ê?ù 1?
21
FTP?ò à? /ó ¥ ′eTCP ì?IPì?éy?Y à′ á ì? éy?Y à′ á í2 ·? é?
ê?ù 1?
15432
a òé?ò 6£ 1 FTP?ì o§? í FTP?t í ¢ 3? ó¥
′ e μò
a òé?ò 7£ 1 FTP?t íS erv ice re ady
for new user? a? ò
a òé?ò 8£ 1 FTP?ì o§F TP ACK?aó ¥ ′e?ò
《计算机网络》第 8章 应用层 51
8.7.2 FTP用户登录身份验证过程的协议分析
协议包 9~ 16是用户身份的协议执行过程
协议包 9,FTP客户发送给 FTP服务器的 User命令协议包
a òé í
ether£ 1 ---------------Ethernet Datalink Layer--------------
Station£ 1 02-60-8C-01-24-28 00-00-C0-22-A1-01
Type£ 1 0¢ § 0800(IP)
ip£ 1 ------------------Internet Protocol-----------------
Station£ 1 201.5.21.25 201.5.21.1
Protocol£ 1 TCP
Version£ 1 4
Prendence£ 1 Routine
Normal Delay£? Normal Throughput£? Normal Reliability
tcp£ 1 ------------Transmission Control Protocol-----------
Source Port£ 1 15432
Distination Port£ 1 21
Control Bits£ 1 Acknowledgement Field is Valid£ ¨ACK£ |
Push Function Request£ ¨PSH£ |
ftp£ 1 ----------------File Transfer Protocol--------------
Command£ 1 User£ ¨User Name£ |
User Name£ 1 wuy
Pac ket £1 9 Unf ilt ere d£ 1 43
《计算机网络》第 8章 应用层 52
协议包 10,FTP服务器发送给 FTP客户对 User命令的应答包
a òé í
ether£ 1 ---------------Ethernet Datalink Layer---------------
Station£ 1 00-00-C0-22-A1-01 02-60-8C-01-24-28
Type£ 1 0¢ § 0800£ ¨IP£ |
ip£ 1 ------------------Internet Protocol------------------
Station£ 1 201.5.21,1 201.5.21.25
Protocol£ 1 TCP
Version£ 1 4
Prendence£ 1 Routine
Normal Delay£? Normal Throughput£? Normal Reliability
tcp£ 1 ------------Transmission Control Protocol------------
Source Port£ 1 15432
Distination Port£ 1 21
Control Bits£ 1 Acknowledgement Field is Valid£ ¨ACK£ |
Push Function Request£ ¨PSH£ |
ftp£ 1 ---------------File Transfer Protocol----------------
Reply£ 1 331£ ¨User name okay£? need password.£ |
Text£ 1 Password required for wuy.
Pac ket £1 10 Un fil ter ed£ 1 43
《计算机网络》第 8章 应用层 53
协议包 12,FTP客户发送给 FTP服务器的带有用户名与密码的应答包
a òé í
ether£ 1 ---------------Ethernet Datalink Layer---------------
Station£ 1 02-60-8C-01-24-28 00-00-C0-22-A1-01
Type£ 1 0¢ § 0800£ ¨IP£ |
ip£ 1 ------------------Internet Protocol------------------
Station£ 1 201.5.21.25 201.5.21.1
Protocol£ 1 TCP
Version£ 1 4
Prendence£ 1 Routine
Normal Delay£? Normal Throughput£? Normal Reliability
tcp£ 1 ------------Transmission Control Protocol------------
Source Port£ 1 15432
Distination Port£ 1 21
Control Bits£ 1 Acknowledgement Field is Valid£ ¨ACK£ |
Push Function Request£ ¨PSH£ |
ftp£ 1 ---------------File Transfer Protocol----------------
Command£ 1 Pass£ ¨Password£ |
Password£ 1 ******
Pac ket £1 12 Un fil ter ed£ 1 43
《计算机网络》第 8章 应用层 54
FTP用户登录身份验证的协议包交互过程
ó? o§? £?é
F T P?ì o§
×£?é
F T P?t í
×£?é
a òé?ò 9£ 1 FTP? ì o§? ¢ êì ·? FTP? t íμ?
User? ò à? £¨user name£ |
F T P?ì o§
F T P?t í
ê?ù 1?,
21
ê?ù 1? £1
15432
a òé?ò 10£ 1 FTP? t í User? ò à? μ? ó¥
′ e £ ó? o§ 1? £? ò§
¢ êì password
a òé?ò 12£ 1 FTP? ì o§? í FTP? t í ¢ êì
password
a òé?ò 13£ 1 FTP? t í 2é password1?
¨£í FTP? ì o§? ¢ êì ó¥ ′e?ò
a òé?ò 14£ 1 FTP? ì o§? ó é? μ? FTP? t íμ?
ó ¥ ′e?ò £ ′í?í FTP? t í
¢ êìò
a òé?ò 15£ 1 FTP? t íì ¨? § FTP? ì o§£? ·?
ó? o§? ù FTP? t íμ? á? 3è?¥
a òé?ò 11£ 1 FTP? ì o§? í FTP? t í ¢ êì
a òé?ò 10μ? ó¥ ′e?ò
《计算机网络》第 8章 应用层 55
8.7.4 FTP数据连接建立过程的协议分析
1.FTP数据连接建立分为:连接建立准备、连接建立阶段
协议包 17,18完成数据连接建立准备工作
协议包 17,FTP客户发送给 FTP服务器的 Port命令包
协议包 18,FTP服务器发送给 FTP客户的 Port命令应答包
根据 FTP协议的规定,FTP客户可以动态地选择一个大于
1024的本地端口号
FTP协议表示方法:在 Port命令中客户 IP地址后面加上两个十进制的数 P1,P2,表示 16位的本地端口号,计算公式是本地端口号 = P1× 256+ P2
《计算机网络》第 8章 应用层 56
协议包 19,FTP客户发送给 FTP服务器的 RETR命令包
a òé í
ip £1 --- --- --- --- --- --- Int ern et Pro toc ol- --- --- --- --- --- --
Station£ 1 201.5.21.25 201.5.21,1
Protocol£ 1 TCP
Version£ 1 4
Prendence£ 1 Routine
Normal Delay£? Normal Throughput£? Normal Reliability
tcp £1 --- --- --- --- Tra nsm iss ion Co ntr ol Pro toc ol- --- --- --- --
Source Port£ 1 15432
Distination Port£ 1 21
Control Bits£ 1 Acknowledgement Field is Valid£ ¨ACK£ |
Push Function Request£ ¨PSH£ |
ftp £1 --- --- --- --- --- Fil e T ran sfe r P rot oco l-- --- --- --- --- --
Command£ 1 RETR£ ¨Retrieve File£ |
Pathname£ 1 Netstart
Pac ket £1 19 Un fil ter ed£ 1 43
《计算机网络》第 8章 应用层 57
FTP数据连接建立准备工作的协议包交互过程
ó? o§? £?é
F T P?ì o§
×£?é
F T P?t í
×£?é
a òé?ò 17£ 1 FTP?ì o§? ¢ êì ·? FTP?t íμ?
FTP? ò à? Port? ò
F T P?ì o§
F T P?t í
ê?ù 1? £1
21
a òé?ò 18£ 1 FTP?t í ¢ êì ·? FTP?ì o§μ?
Port? ò àò
ê?ù 1? £1
15432
a òé?ò 19£ 1 FTP?ì o§? ¢ êì ·? FTP?t íμ?
RETR? ò àò
《计算机网络》第 8章 应用层 58
数据连接建立过程
协议包 20~ 22完成数据连接建立工作
ó? o§? £?é
FTP?ì o§o?
×£?é
FTP?t í
×£?é
a òé?ò 20£ 1 FTP?t í ê?ù 1? 20μê?ù
ó? FTP? ì o§? ê?ù 1? 7180μê
ù?¨à ¢ éy?Y àó μò
a òé?ò 21£ 1 FTP?ì o§ì? òa?¨à ¢ éy?Y àó
μ? ó¥ ′e?ò
F T P?ì o§
F T P?t í
ê?ù 1? £1 21
F T P?ì o§
éy?Y?£?é
F T P?t í
éy?Y?£?é
× àó
FTP?ì o§
′?¨é y?Y 3?
FTP?t í
′?¨é y?Y 3?
ê?ù 1? £1 154 32
ê?ù 1? £1
20
ê?ù 1? £1
7180
a òé?ò 22£ 1 FTP?t í ¨à ¢ éy?Y àó
ó ¥ ′e?ò μ
《计算机网络》第 8章 应用层 59
8.7.5 FTP数据传输过程的协议分析
a òé í
ip £1 --- --- --- --- --- --- Int ern et Pro toc ol- --- --- --- --- --- --
Station£ 1 201.5.21,1 201.5.21.25
Protocol£ 1 TCP
Version£ 1 4
Prendence£ 1 Routine
Normal Delay£? Normal Throughput£? Normal Reliability
tcp £1 --- --- --- --- Tra nsm iss ion Co ntr ol Pro toc ol- --- --- --- --
Source Port£ 1 21
Distination Port£ 1 15432
Control Bits£ 1 Acknowledgement Field is Valid£ ¨ACK£ |
Push Function Request£ ¨PSH£ |
ftp £1 --- --- --- --- --- Fil e T ran sfe r P rot oco l-- --- --- --- --- --
Reply£ 1 150£ ¨File status okay£? about to open data
connection.£ |
Text£ 1 opening ASCII mode data connection for
netstart£ ¨1920bytes.£ |
Pac ket £1 23 Un fil ter ed£ 1 43
协议包 23~ 25完成数据传输工作协议包 23,FTP服务器向 FTP客户发回文件 netstart的状态信息
《计算机网络》第 8章 应用层 60
协议包 25,FTP服务器向 FTP客户发送的检索文件的数据包
a òé í
ip £1 --- --- --- --- --- --- Int ern et Pro toc ol- --- --- --- --- --- --
Station£ 1 201.5.21,1 201.5.21.25
Protocol£ 1 TCP
Version£ 1 4
Prendence£ 1 Routine
Normal Delay£? Normal Throughput£? Normal Reliability
tcp £1 --- --- --- --- Tra nsm iss ion Co ntr ol Pro toc ol- --- --- --- --
Source Port£ 1 20£ ¨FTP-DATA£ |
Distination Port£ 1 7180
Control Bits£ 1 Acknowledgement Field is Valid£ ¨ACK£ |
ftp £1 --- --- --- --- --- Fil e T ran sfe r P rot oco l-- --- --- --- --- --
Data£ 1
0£ 1 23 21 2F 62 69 6E 73 68 0D 2D AD 00 0A AF 12 32
10£ 1 22 3A 22 A3 12 22 86 C2 AA 21 32 56 88 A2 1A 55
20£ 1 11 13 56 09 55 76 0A 90 00 78 08 88 56 66 2B 00
Pac ket £1 25 Un fil ter ed£ 1 43
《计算机网络》第 8章 应用层 61
协议包 26,FTP服务器在传输数据的同时,向 FTP客户发送在文件传输结束时断开数据连接的通知协议包
a òé í
ether£ 1 ---------------Ethernet Datalink Layer---------------
Station£ 1 00-00-C0-22-A1-01 02-60-8C-01-24-28
Type£ 1 0¢ § 0800£ ¨IP£ |
ip£ 1 ------------------Internet Protocol------------------
Station£ 1 201.5.21,1 201.5.21.25
Protocol£ 1 TCP
Version£ 1 4
Prendence£ 1 Routine
Normal Delay£? Normal Throughput£? Normal Reliability
tcp£ 1 ------------Transmission Control Protocol------------
Source Port£ 1 21
Distination Port£ 1 15432
Control Bits£ 1 Acknowledgement Field is Valid£ ¨ACK£ |
Push Function Request£ ¨PSH£ |
ftp£ 1 ---------------File Transfer Protocol----------------
Reply£ 1 226£ ¨Closing data connection£ o Requested file action
successful.£ |
Pac ket £1 26 Un fil ter ed£ 1 44
《计算机网络》第 8章 应用层 62
FTP数据传输中最后一个数据包的结构
a òé í
t cp£ 1 --- --- --- --- --T ran smi ssi on Con tro l P rot oco l-- --- --- --- --
Source Port£ 1 20
Distination Port£ 1 7180
Control Bits£ 1 Acknowledgement Field is Valid£ ¨ACK£ |
Push Function Request£ ¨PSH£ |
No more data from Sender£ ¨FIN£ |
Data£ 1 0£ 1 23 21 2F 62 69 6E 73 68 0D 2D AD 00 0A AF 12 32
10£ 1 22 3A 22 A3 12 22 86 C2 AA 21 32 56 88 A2 1A 55
20£ 1 11 13 56 09 55 76 0A 90 00 78 08 88 56 66 2B 00
30£ 1 23 21 2F 78 08 88 56 66 2B 00 AD 00 0A AF 12 32
40£ 1 22 3A 22 A3 12 22 86 C2 AA 21 32 56 88 A2 1A 55
50£ 1 78 08 88 56 66 2B 00 00 00 78 08 88 56 66 2B 00
Pac ket £1 33 Un fil ter ed£ 1 44
《计算机网络》第 8章 应用层 63
FTP数据传输和确认的协议包交换过程
ó? o§? £?é
FTP?ì o§o?
×£?é
FTP?t í
×£?é
a òé?ò 23£ 1 FTP?t í í FTP?ì o§? ¢ o×?¨ ò§
ê?ít μ′
F T P?ì o§
F T P?t í
F T P?ì o§
éy?Y?£?é
F T P?t í
éy?Y?£?é
ê?ù 1? £1
20
ê?ù 1? £1
7180
a òé?ò 24£ 1 FTP?ì o§ ê?ít μ′
a òé?ò 25£ 1 FTP?t í í FTP?ì o§? ¢ êì éy?Y
a òé?ò 26£ 1 FTP?t í í FTP?ì o§? ¢ êì éy?Y £?
ì? éaì ¨? §é y?Y?¢ êì é? 1× a?
é y?Y àó?a
a òé?ò 30£ 1 FTP?ì o§ ′¨ é? éy?Y μ
a òé?ò 32£ 1 FTP?ì o§ ′¨ é? éy?Y μ
a òé?ò 29£ 1 FTP?t í í FTP?ì o§? ¢ êì éy?Y
a òé?ò 27£ 1 FTP?ì o§ò 26ì ¨? § μ
a òé?ò 31£ 1 FTP?t í í FTP?ì o§? ¢ êì éy?Y
a òé?ò 28£ 1 FTP?ì o§ò 25′ ¨ é? éy?Y μ
a òé?ò 33£ 1 FTP?t í í FTP?ì o§? ¢ êì éy?Y £?
2 ¢ FINa ê
ê?ù 1? £1 21
× àó
ê?ù 1? £1 154 32
《计算机网络》第 8章 应用层 64
8.7.6 FTP连接释放过程的分析
一个完美的传输连接的释放机制应该是任何一方都可以提出,但是必须双方都同意,才可以释放连接;
FTP连接建立分为控制连接建立与数据连接建立两个阶段,因此连接释放也应包括释放控制连接与释放数据连接两个阶段;
首先应该释放数据连接,然后再释放控制连接。
《计算机网络》第 8章 应用层 65
FTP客户做 FIN置位的应答包
a òé í
ip £1 --- --- --- --- --- --- -In ter net Pr oto col --- --- --- --- --- --- -
Station£ 1 201.5.21.25 201.5.21.1
Protocol£ 1 TCP
Version£ 1 4
Prendence£ 1 Routine
Normal Delay£? Normal Throughput£? Normal Reliability
tcp £1 --- --- --- --- --T ran smi ssi on Con tro l P rot oco l-- --- --- --- -
Source Port£ 1 15432
Distination Port£ 1 21
Control Bits£ 1 Acknowledgement Field is Valid£ ¨ACK£ |
No More Data from Sender£ ¨FIN£ |
Pac ket £1 34 Un fil ter ed£ 1 43
《计算机网络》第 8章 应用层 66
FTP客户的 QUIT命令包结构
a òé í
ip £1 --- --- --- --- --- --- -In ter net Pr oto col --- --- --- --- --- --- -
Station£ 1 201.5.21.25 201.5.21.1
Protocol£ 1 TCP
Version£ 1 4
Prendence£ 1 Routine
Normal Delay£? Normal Throughput£? Normal Reliability
tcp £1 --- --- --- --- --T ran smi ssi on Con tro l P rot oco l-- --- --- --- -
Source Port£ 1 15432
Distination Port£ 1 21
Control Bits£ 1 Acknowledgement Field is Valid£ ¨ACK£ |
Push Function Request£ ¨PSH£ |
ftp £1 --- --- --- --- --- --F ile Tr ans fer Pr oto col --- --- --- --- --- -
Command£ 1 QUIT£ ¨Logout£ |
Pac ket £1 36 Un fil ter ed£ 1 43
《计算机网络》第 8章 应用层 67
FTP服务器对 QUIT命令的响应包的结构
a òé í
ip £1 --- --- --- --- --- --- -In ter net Pr oto col --- --- --- --- --- --- -
Station£ 1 201.5.21.1 201.5.21.25
Protocol£ 1 TCP
Version£ 1 4
Prendence£ 1 Routine
Normal Delay£? Normal Throughput£? Normal Reliability
tcp £1 --- --- --- --- --T ran smi ssi on Con tro l P rot oco l-- --- --- --- -
Source Port£ 1 21
Distination Port£ 1 15432
Control Bits£ 1 Acknowledgement Field is Valid£ ¨ACK£ |
Push Function Request£ ¨PSH£ |
ftp £1 --- --- --- --- --- --F ile Tr ans fer Pr oto col --- --- --- --- --- -
Reply£ 1 221£ ¨Service closing control connection.£ |
Text£ 1 Goodby.
Pac ket £1 37 Un fil ter ed£ 1 43
《计算机网络》第 8章 应用层 68
FTP数据连接释放过程
ó? o§? £?é
FTP? ì o§
×£?é
FTP? t í
×£?é
a òé?ò 33£ 1 FTP? t í ¢ êì 1? òo ·? éy?Y
ò £ 3? éì éy?Y àó
a òé?ò 34£ 1 FTP? ì o§ì? òa éì éy?Y àó μ?
ó ¥ ′e?ò
F T P?ì o§
F T P?t í
ê?ù 1? £1 21
F T P?ì o§
éy?Y?£?é
F T P?t í
éy?Y?£?é
× àó
FTP? ì o§
éy?Y àó
FTP? t í
éy?Y àó
ê?ù 1? £1 15432
ê?ù 1? £1
21
ê?ù 1? £1
7180
a òé?ò 35£ 1 FTP? t í ó¥ ′e?ò μ
a òé?ò 36£ 1 FTP? ì o§? í FTP? t í ¢ êì ìê 3?
μ? á? μ? Quit? ò à?
a òé?ò 37£ 1 FTP? t í Quit? ò à? μ
《计算机网络》第 8章 应用层 69
FTP控制连接的释放过程用户模块
FTP
客户控制模块
FTP
服务器控制模块协议包3 8,F T P 服务器向F T P 客户发出释放控制连接请求包
F T P 客户
F T P 服务器端口号
21
端口号
1 5 4 3 2
协议包3 9,F T P 客户发出释放控制连接的应答包(A C K F I N )
协议包4 0,F T P 客户发出释放控制连接的应答包(A C K P U S H )
协议包4 1,F T P 服务器向F T P 客户发出释放控制连接请求包协议包4 2,F T P 客户发出释放控制连接的应答包(A C K F I N )
协议包4 3,F T P 客户发出释放控制连接的应答包(A C K P U S H )
《计算机网络》第 8章 应用层 70
小结
应用层服务主要有:电子邮件 E-mail,文件传输协议
FTP,网络终端协议 Telnet与 WWW等;
应用层协议可以分为 3种类型:一类依赖于面向连接的
TCP协议,一类依赖于面向连接的 UDP协议,另一类则既依赖于 TCP协议,也可以依赖于 UDP协议;
Internet域名系统采用的是层次结构,DNS服务器的层次是与域名的层次相适应的;
WWW服务在 Internet技术发展中有着重要的影响,它的核心技术是超文本标记语言 HTML,超文本传输协议 HTTP与超链接 hyperlink。