Upload
erich-francis
View
101
Download
2
Embed Size (px)
DESCRIPTION
计算机网络 (第 2 版). 饶国政 主讲. 第 8 章 应用层. 本章学习要求 : 理解: TCP/IP 协议栈与应用层协议之间的关系 掌握:域名系统的基本工作原理 掌握:电子邮件的基本工作原理 掌握:文件传输 FTP 的基本工作原理 掌握: WWW 服务的基本工作原理 了解:播客、博客、网络即时通信与网络电视等 新的 Internet 服务的特点 掌握:应用层协议的分析方法. 8.1 应用层协议与低层协议的关系. 8.1.1 主要的应用层协议 网络终端协议 Telnet 文件传输协议 FTP - PowerPoint PPT Presentation
Citation preview
饶国政 主讲
计算机网络计算机网络(第(第 22 版)版)
第第 88 章 应用层章 应用层
《计算机网络》第 8 章 应用层3
本章学习要求:
• 理解: TCP/IP 协议栈与应用层协议之间的关系• 掌握:域名系统的基本工作原理• 掌握:电子邮件的基本工作原理• 掌握:文件传输 FTP 的基本工作原理• 掌握: WWW 服务的基本工作原理• 了解:播客、博客、网络即时通信与网络电视等 新的 Internet 服务的特点• 掌握:应用层协议的分析方法
《计算机网络》第 8 章 应用层4
8.1 应用层协议与低层协议的关系
8.1.1 主要的应用层协议
• 网络终端协议 Telnet
• 文件传输协议 FTP
• 简单邮件传输协议 SMTP
• 域名系统 DNS
• 简单网络管理协议 SNMP
• 超文本传输协议 HTTP
《计算机网络》第 8 章 应用层5
8.1.2 TCP/IP 协议栈及之间的关系
应用层
传输层
互联层
主机-网络层
Tel net FTP SMTP DNS SNMP
TCP UDP
ARP RARP
Ethernet Token Ri ng 其他协议
HTTP TFTP
IP
《计算机网络》第 8 章 应用层6
8.2 域名系统 DNS
8.2.1 域名系统的基本概念
1.为什么有了 IP 地址,还需要域名 ?
• 域名 — 用字符表示的网络主机名,是一种主机标识符;• IP 地址 — 数字型,难于记忆与理解; 域名 — 字符型,直观,便于记忆与理解;• IP 地址 — 用于网络层; 域 名 — 用于应用层;• IP 地址与域名都应该是全网唯一的,并且它们之间具有
对应关系。
《计算机网络》第 8 章 应用层7
2. Internet 域名结构
• TCP/IP 协议中规定的层次型名字管理机制叫做域名系统;
• 域名系统将整个 Internet 划分为多个顶级域,并为每个顶级域规定了通用的顶级域名;
• Internet 主机域名的一般格式为:
主机域名
. . .四级域名 三级域名 二级域名 顶级域名
《计算机网络》第 8 章 应用层8
• Internet 域名空间的树状结构
i nt comedu gov mi l net cn uk j p ……org
组织 国家或地区
顶级域名
com edugov i nt net bj sh tjorgac
i bm hp ci sco二级域名
nankai pkutsi nghua
www cs ee
三级域名
四级域名
根
……
……
……
……
《计算机网络》第 8 章 应用层9
8.2.2 域名服务器的层次结构 1. 域名服务器的基本工作原理
• 域名系统的一个主要特点是允许区域自治;
• 域名系统在设计了层次的域名的同时,提出了与其相对应的域名服务器系统;
• 整个域名系统是以一个大型的分布式数据库的方式工作的;
• 大多数具有 Internet连接的组织都有一个域名服务器,每个服务器包含连向其他域名服务器的信息,这些服务器形成了一个大的协同工作的域名数据库 。
《计算机网络》第 8 章 应用层10
2. 域名服务器的层次 • DNS 服务器的层次是与域名的层次相适应的;• 每一个域名服务器都只对域名体系中的一部分进行管辖;• 一个根服务器( root server )在这个层次体系的顶部,
它是顶层域的管辖者;• DNS 服务器的层次对应着域名的层次,但是这两者并不
是对等的。一个公司网络或校园网可以选择将它所有的域名都放在一个域名服务器上,也可以选择运行几个域名服务器。
nankai . edu
cs. nankai . edu ee. nankai . edu ……
第一级域名服务器
第二级域名服务器
《计算机网络》第 8 章 应用层11
8.2.3 域名解析 1. 域名解析的基本工作原理 • 将域名转换为对应的 IP地址的过程称为域名解析 ;
• 完成该功能的软件叫域名解析器 ;• 每个本地域名服务器配置一个域名解析器软件 ;
• 由于每个服务器都知道根服务器的地址,因此无论经过几步查询,在域名树中最终总会找出正确的解析结果。
《计算机网络》第 8 章 应用层12
2. 域名解析算法 • 递归解析 • 反复解析 构造域名
解析请求包
将解析要求发往某个服务器
结束
N
开始
名字是否在本服务器所辖子域?
哪种解析方式?
从数据库中取出相应地址,将结果返回请求方
Y
请求下一个服务器求解名字,并将结果返回请求方
递归解析
反复解析
产生指定下一个服务器的响应,并返回请求方
下一次求解
《计算机网络》第 8 章 应用层13
• 递归解析要求名字服务器系统一次性完成全部名字—地址变换;
• 反复解析是每次请求一个服务器,如果不行再请求别的服务器;
• 递归解析的任务主要是由服务器软件承担;• 反复解析的任务主要是由域名解析器软件承担。
《计算机网络》第 8 章 应用层14
• 域名解析中客户与服务器的交互过程
客户 本地域名服务器
第1步netl ab. cs. nankai . edu. cn
根域名服务器
nankai域名服务器202. 113. 16. 10
cs域名服务器202. 113. 27. 1
第2步netl ab. cs. nankai . edu. cn
第3步nankai . edu. cn202. 113. 16. 10
第4步netl ab. cs. nankai . edu. cn
第5步cs. nankai . edu. cn202. 113. 27. 1
第6步netl ab. cs. nankai . edu. cn
第7步netl ab. cs. nankai . edu. cn202. 113. 56. 10
第8步202. 113. 56. 10
《计算机网络》第 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 电子邮件服务的工作过程 • 电子邮件服务基于客户 /服务器结构
I nternet
电子邮件客户机
发送方 接收方
电子邮件客户机
电子邮件服务器
电子邮件服务器
发送邮件
转发邮件
接收邮件
《计算机网络》第 8 章 应用层19
电子邮件应用程序基本服务功能:• 创建与发送电子邮件; • 接收、阅读与管理电子邮件; • 账号、邮箱与通信簿管理。
电子邮件协议:
• 在电子邮件程序向邮件服务器中发送邮件时,使用的是简单邮件传输协议 SMTP ;
• 在电子邮件程序从邮件服务器中读取邮件时,可以使用邮局协议 POP3 或交互式邮件存取协议 IMAP ,它取决于邮件服务器支持的协议类型。
《计算机网络》第 8 章 应用层20
电子邮件系统协议使用情况
Internet
SMTP代理
发送方
邮件缓存
电子邮件服务器
发送(SMTP)
发送(SMTP)
接收(POP3)用户邮箱
电子邮件服务器
POP3代理
接收方
《计算机网络》第 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 服务工作模式 :客户 / 服务器
Internet
上载
FTP客户机 FTP服务器
文件
文件
下载
《计算机网络》第 8 章 应用层26
8.4.3 匿名 FTP 服务
• 匿名 FTP 服务的实质是:提供服务的机构在它的 FTP 服务器上建立一个公开账户(一般为anonymous ),并赋予该账户访问公共目录的权限,以便提供免费服务;
• 如果用户要访问这些提供匿名服务的 FTP 服务器,一般不需要输入用户名与用户密码;
• 大多数 FTP 服务都是匿名服务;• 为了保证 FTP 服务器的安全,几乎所有的匿名
FTP 服务器都只允许用户下载文件,而不允许用户上载文件。
《计算机网络》第 8 章 应用层27
8.5 WWW 服务 8.5.1 WWW 服务的基本概念 • WWW又称为万维网,简称为 Web, 是 Internet技术发展中的一个重要的里程碑;
• WWW 系统的结构采用了客户 / 服务器模式;• 信息资源以 web页的形式存储在 WWW 服务器中,
用户通过 WWW 客户端浏览器程序图、文、声并茂的Web页内容;
• 通过 Web页中的链接,用户可以方便地访问位于其他WWW 服务器中的 Web页,或是其他类型的网络信息资源。
《计算机网络》第 8 章 应用层28
• WWW 服务的基本概念
html文件
html文件
HTTP协议
透明访问所链接的信息
Internet
WWW服务器
数据库服务器
WWW服务器
WWW客户机
《计算机网络》第 8 章 应用层29
WWW 服务具有以下几个主要特点
• 以超文本方式组织网络多媒体信息,用户可以访问文本、语音、图形和视频信息;
• 用户可以在 Internet范围内的任意网站之间查询、检索、浏览及发布信息,并实现对各种信息资源透明的访问;
• 提供生动、直观、统一的图形用户界面;
• WWW 服务的核心技术是: 超文本标记语言 HTML
超文本传输协议 HTTP
超链接 hyperlink
《计算机网络》第 8 章 应用层30
8.5.2 超文本、超媒体与超文本标记语言 1. 超文本与超媒体的概念 • 超文本方式的工作方式
计算机系
数学学院
信息学院
计算机系
院系设置
信息学院
数学学院
学校历史
学校概况
学校概况
学校历史
南开大学
学校概况
院系设置
学校目录
南开大学
《计算机网络》第 8 章 应用层31
• 超媒体工作方式
视频介绍 音频介绍
南开大学
文字介绍
视频介绍
音频介绍
文字介绍
《计算机网络》第 8 章 应用层32
• WWW 以客户 / 服务器方式工作;• 浏览器 browser 是在用户计算机上运行的 WWW客户程序;
• WWW 服务器程序运行在服务器,管理着提供浏览的文档;
• WWW 在实现过程中必须解决以下几个问题: 如何标识分布在整个 Internet 上的 WWW 文档?
如何实现WWW 上各种链接的链接? 如何显示不同风格的 WWW 文档?
《计算机网络》第 8 章 应用层33
2. 主页的概念
• 信息资源以网页Web page 的形式存储在 WWW 服务器中 ;
• 用户通过浏览器向 WWW 服务器发出请求,服务器根据客户请求内容,将保存在 WWW 服务器中的某个页面发送给客户;
• 用户可以通过页面中的链接,方便地访问位于其他 WWW服务器中的页面,或是其他类型的网络信息资源;
• 主页 home page 是一种特殊的 Web页面,是指包含个人或机构基本信息的页面,用于对个人或机构进行综合性介绍,是访问个人或机构详细信息的入口点。
《计算机网络》第 8 章 应用层34
主页一般包含以下几种基本元素: • 文本( text ) 最基本的元素,就是通常所说的文字
• 图像( image ) WWW浏览器一般只识别 GIF 与JPEG
两种图像格式
• 表格( table ) 类似于 Word 中的表格,表格单元内容
一般为字符类型
• 超链接( hyperlink ) 用于将 HTML 与其他主页相连
《计算机网络》第 8 章 应用层35
3. 超文本标记语言 HTML • WWW 服务器中所存储的页面是一种结构化的文档,采用超文本标记语言书写而成;
• HTML 是 WWW 上用于创建超文本链接的基本语言,可以定义WWW 主页格式化的文本、色彩、图像与超文本链接;
• HTML 文档可以将声音、图像、视频等多媒体信息集成在一起 ;
• 使用 HTML语言开发的 HTML 超文本文件一般具有 .htm (或 .html )后缀。
《计算机网络》第 8 章 应用层36
8.5.3 URL 与信息定位 • URL 是对能从 Internet 上得到的资源的位置和访问方法的一种简洁的表示 ;
• 标准的 URL 由 3 部分组成:服务器类型、主机名和路径及文件名
http: / / www. nankai . edu. cn/ i ndex. html
协议类型 主机名 路径及文件名
《计算机网络》第 8 章 应用层37
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 章 应用层38
8.5.4 WWW浏览器 WWW浏览器的基本功能 • WWW浏览器是用来浏览 Internet 上主页的客户软件 ;• 浏览器软件应具备以下的基本功能 : • 查找、启动与终止链接 • 通过按钮与菜单项来链接 • 历史( history )与书签( bookmark )的使用 • 自由设定屏幕窗口 • 选择起始页 • 改变式样、字体与色彩 • 查看内嵌图像与外部图像 • 保存与打印主页
《计算机网络》第 8 章 应用层39
搜索引擎• 搜索引擎是 Internet 上的一种 WWW 服务器;
• 它的主要任务是在 Internet 中主动搜索其他 WWW 服务器中的信息并对其自动索引,将索引内容存储在可供查询的大型数据库中;
• 用户可以利用搜索引擎所提供的分类目录和查询功能查找所需要的信息。
《计算机网络》第 8 章 应用层40
WWW浏览器的结构
网络
控制器 HTML解释器
可选解释器HTML
客户可选客户……
网络接口
驱动器
从鼠标和键盘输入
输出到显示器
WWW浏览器
缓存
……
《计算机网络》第 8 章 应用层41
8.5.5 WWW 基本工作过程与协议层次
Internet
WWW客户机 WWW服务器HTTP协议
TCP协议
I P协议
局域网或广域网协议
客户端协议
WWW浏览器软件
HTTP协议
TCP协议
I P协议
局域网或广域网协议
服务器端协议
WWW浏览器软件
《计算机网络》第 8 章 应用层42
8.6 播客、博客、网络即时通信与网络电视服务 8.6.1 网络新闻组 • 网络新闻组是一种利用网络进行专题讨论的国际论坛 ;• Usenet 并不是一个网络系统,只是建立在 Internet 上的逻辑组织;
• Usenet 不同于 Internet 上的交互式操作方式,在 Usenet服务器上存储的各种信息,会周期性地转发给其他Usenet 服务器;
• Usenet 的基本通信方式是电子邮件,但它不是采用点对点通信方式,而是采用多对多的传递方式。
《计算机网络》第 8 章 应用层43
电子公告牌 • 电子公告牌 BBS 也是 Internet 上较常用的服务功能之一;
• 电子公告牌提供一块公共电子白板,每个用户都可以在上面书写、发布信息或提出看法、聊天,获得帮助、讨论问题及为别人提供信息;
• 早期的 BBS 服务是一种基于远程登录的服务,想要使用 BBS 服务的用户,必须首先利用远程登录功能登录到 BBS 服务器上;
• 目前很多 BBS站点开始提供WWW访问方式。
《计算机网络》第 8 章 应用层44
8.6.2 播客服务
播客的基本概念• 播客( podcast )是基于 Internet 的数字广播技术之一;
• 初期它是将 iPodder 软件与一些便携播放器结合起来形成的一种新的服务;
• 播客录制的是网络广播或类似的网络声讯节目,网络用户可以将网上的广播节目下载到自己的iPod 、 MP3 播放器中随身收听;
• 同时,用户自己也可以制作节目,并传输到网上共享。
《计算机网络》第 8 章 应用层45
播客技术的分类• 传统广播节目的播客 NBC 与 ABC 是两家著名的广播公司,它们目前都开辟了新闻频道的播客节目;
播客节目的内容是经过编辑后的电视节目的播客版本,同时增加一些符合播客格式的特制内容。
• 专业播客提供商 作为信息服务业的新的业态,出现了专业播客提供商。
它将包括业余作者制作的节目、著名节目主持人的节目片断集中起来,供用户免费下载。
• 个人播客 个人播客使用麦克风、视频头、计算机将自己的生活感悟记录下来,作为个人音频版的日记传输到播客共享空间与网友共享。
《计算机网络》第 8 章 应用层46
播客服务的特点
• 播客技术使得传统的广播从单纯的语音向语音、视频结合的方式变化,增加了制作者的表现手段与互动性;
• 播客技术改变了传统的广播节目听众的被动收听状态,使得听众可以成为主动的参与者;
• 播客技术改变了传统的广播定时播出的方式,听众可以在任何时间,通过网络选定任何自己感兴趣的节目;
• 播客技术使得传统的广播从广播电台单一的模式,变成有兴趣的个人也可以参与节目的制作。
《计算机网络》第 8 章 应用层47
8.6.3 博客服务博客的基本概念• 博客是 blog 的音译, blog 是 weblog (网络日志)的缩写;• 博客以文章的形式在 Internet 上发表和共享信息;• 在技术上属于共享Web 个人主页,在形式上属于个人
Internet 出版的一类应用;• 个人网站需要在某个 Web 服务器上申请一个空间,然后使用 HTML语言编写网页,用图形软件处理图片,还要学会使用 Flash动画、 GIF动画软件。个人网站主页的制作、维护需要的技术和成本都比较高;
• 博客用户只需要向博客服务提供商申请注册一个账户,只要具备输入文字的能力就可以方便地建立个人的博客网页。
《计算机网络》第 8 章 应用层48
博客的分类• 记录个人真实生活的日记和对某一类问题的认识、感悟,以个人的记事、表达、交流为目的的个人博客;
• 由共同关心某一类问题的人或团体形成的博客社区;
• 以学术专题讨论为目的的博客社区;• 以新闻时事发表、转载与评论为目的的博客社区;
• 伴随着移动 IP技术的发展,利用笔记本计算机、手机与 PDA 的移动博客 Moblog 也已经出现。
《计算机网络》第 8 章 应用层49
8.6.4 网络即时通信服务
• 即时通信 IM 是在计算机网络环境中一对用户实时在计算机屏幕上发送和接收文本或图形、视频信息的通信方式;
• 典型的网络即时通信就是人们所说的“ QQ” 服务;• 即时通信服务与电子邮件服务是不同之处在于:即时
通信服务是点 - 点之间的实时数据传输,电子邮件服务传输不是实时的;
• 目前,即时通信与电子邮件、网络新闻组、网络公告牌服务构成 Internet 最有用的服务。同时,它与播客、博客一起创造了一种网络环境中人与人交流的新方式。
《计算机网络》第 8 章 应用层50
8.6.5 网络电视服务 • 传统数字电视是通过闭路的有线电视网传输的,只提供广播方式服务,不提供点播业务;
• 网络电视 IPTV 是通过宽带 IP 网络传输,可以实现用户的互动点播;
• 可以方便地将传统的电视服务与 WWW浏览、E-Mail ,以及其他的 Internet 服务结合起来;
• 预测全球网络电视 IPTV市场的大规模启动在2006年,用户达到 800万,收入可以达到 80亿美元; 2008年将达到 2000万用户。
《计算机网络》第 8 章 应用层51
8.7 典型应用层协议 FTP 的分析8.7.1 FTP模型与测试分析环境
局域网
FTP服务器协议分析器
FTP客户
I P地址:201. 5. 21. 1
MAC地址:00-00-C0-22-A1-01
I P地址:201. 5. 21. 25
MAC地址:02-60-8C-01-24-28
《计算机网络》第 8 章 应用层52
协议分析器• 协议分析器的作用就是监视 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 章 应用层53
FTP 工作模型
网络
数据传输模块
控制模块
TCP
I P
端口 15432端口 7180
FTP Cl ient
数据传输模块
控制模块
TCP
I P
端口 20端口 21
FTP Server
控制连接
数据连接
熟知的端口号:Port21=FTP
Port20=FTP-DATA
《计算机网络》第 8 章 应用层54
协议分析器捕获 FTP 交互的协议包协议分析器
02-60-8C-01-24-2802-60-8C-01-24-2800-00-C0-22-A1-0102-60-8C-01-24-2800-00-C0-22-A1-0102-60-8C-01-24-2800-00-C0-22-A1-0102-60-8C-01-24-2802-60-8C-01-24-2800-00-C0-22-A1-0102-60-8C-01-24-2802-60-8C-01-24-2800-00-C0-22-A1-0102-60-8C-01-24-2800-00-C0-22-A1-0102-60-8C-01-24-2802-60-8C-01-24-2800-00-C0-22-A1-0102-60-8C-01-24-2800-00-C0-22-A1-0102-60-8C-01-24-2800-00-C0-22-A1-01
LayerDesti nati onSourceNo. Summary
BroadcastBroadcast02-60-8C-01-24-2800-00-C0-22-A1-0102-60-8C-01-24-2800-00-C0-22-A1-0102-60-8C-01-24-2800-00-C0-22-A1-0100-00-C0-22-A1-0102-60-8C-01-24-2800-00-C0-22-A1-0100-00-C0-22-A1-0102-60-8C-01-24-2800-00-C0-22-A1-0102-60-8C-01-24-2800-00-C0-22-A1-0100-00-C0-22-A1-0102-60-8C-01-24-2800-00-C0-22-A1-0102-60-8C-01-24-2800-00-C0-22-A1-0102-60-8C-01-24-28
arparparptcptcptcpf tptcpf tpf tptcpf tptcptcpf tptcpf tpf tpf tptcptcptcp
201. 5. 21. 25→ 201. 5. 21. 1201. 5. 21. 25→ 201. 5. 21. 1201. 5. 21. 1=00-00-C0-22-A1-01Port 15432→ FTP SYN:Port FTP→15432 ACK SYN:Port 15432→ FTP ACK:Repl y Servi ce ready for new user:Port 15432→ FTP ACK:Command=USER User Name( )Repl y User name ok need password: ,Port 15432→ FTP ACK PUSH:Command=PASS Password( )Port FTP→15432 ACK:Port 15432→ FTP ACK PUSH:Repl y User l ogged i n proceed: ,Port 15432→ FTP ACK PUSH:Command=PORT Data Port( )Repl y Command ok:Command=RETR Retri eve Fi l e( )Port FTP-DATA→7180 SYN:Port 7180→FTP-DATA ACK SYN:Port FTP-DATA→7180 ACK:
12345678910111213141516171819202122
Packet 43 Unfi l tered 43: :
a( )
《计算机网络》第 8 章 应用层55
协议分析器
00-00-C0-22-A1-0102-60-8C-01-24-2800-00-C0-22-A1-0100-00-C0-22-A1-0102-60-8C-01-24-2802-60-8C-01-24-2800-00-C0-22-A1-0102-60-8C-01-24-2800-00-C0-22-A1-0102-60-8C-01-24-2800-00-C0-22-A1-0102-60-8C-01-24-2800-00-C0-22-A1-0102-60-8C-01-24-2800-00-C0-22-A1-0100-00-C0-22-A1-0102-60-8C-01-24-2802-60-8C-01-24-2800-00-C0-22-A1-0100-00-C0-22-A1-0102-60-8C-01-24-28
LayerDesti nati onSourceNo. Summary
02-60-8C-01-24-2800-00-C0-22-A1-0102-60-8C-01-24-2802-60-8C-01-24-2800-00-C0-22-A1-0100-00-C0-22-A1-0102-60-8C-01-24-2800-00-C0-22-A1-0102-60-8C-01-24-2800-00-C0-22-A1-0102-60-8C-01-24-2800-00-C0-22-A1-0102-60-8C-01-24-2800-00-C0-22-A1-0102-60-8C-01-24-2802-60-8C-01-24-2800-00-C0-22-A1-0100-00-C0-22-A1-0102-60-8C-01-24-2802-60-8C-01-24-2800-00-C0-22-A1-01
f tptcptcpf tptcptcptcptcptcptcptcptcptcpf tpf tptcptcptcptcptcptcp
Repl y Fi l e status ok about to: ,Port 15432→ FTP ACK PUSH:Port FTP-DATA→7180 ACK:Repl y Cl ose data connect:Port 15432→ FTP ACK PUSH:Port 7180→FTP-DATA ACK:Port FTP-DATA→7180 ACK:Port 7180→FTP-DATA ACK:Port FTP-DATA→7180 ACK:Port 7180→FTP-DATA ACK:Port FTP-DATA→7180 ACK PUSH FI N:Port 7180→FTP-DATA ACK FI N:Port FTP-DATA→7180 ACK:Command=QUI T Logout( )Repl y Servi ce cl osi ng control:Port FTP→15432 ACK FI N:Port 15432→ FTP ACK FI N:Port 15432→ FTP ACK PUSH:Port FTP→15432 ACK FI N:Port FTP→15432 ACK FI N:Port 15432→ FTP ACK PUSH:
232425262728293031323334353637383940414243
Packet 43 Unfi l tered 43: :
b( )
《计算机网络》第 8 章 应用层56
8.7.2 FTP控制连接建立过程的协议分析 1. 地址解析 ARP 协议执行过程
用户模块
FTP Cl i ent控制模块
FTP Server控制模块
协议包1:FTP Cl i ent用广播包通知本 结点的I P地址与MAC地址
协议包2:FTP Cl i ent用广播包发送地 址解析请求
FTP Cl ient
FTP Server
I P地址201. 5. 21. 1
I P地址201. 5. 21. 25
协议包3:FTP Server向客户发送地址 解析请求的应答包
《计算机网络》第 8 章 应用层57
2.FTP控制连接建立过程• 协议包 4~ 6 是 FTP 控制连接建立的协议执行过程• 协议包 4 : FTP 客户请求建立与 FTP 服务器控制连接
包协议分析器
i p - - - - - - - - - - - - - - - - - - - I nternet Protocol - - - - - - - - - - - - - - - - - -: Stati on 201. 5. 21. 25→ 201. 5. 21. 1: Protocol TCP: Versi on 4: Prendence Routi ne: Normal Del ay Normal Throughput Normal Rel i abi l i ty, , tcp - - - - - - - - - - - - -Transmi ssi on Control Protocol - - - - - - - - - - - -: Source Port 15432: Di sti nati on Port 21: Control Bi ts Synchroni ze Sequence Numbers SYN: ( )
Packet 4 Unfi l tered 43: :
《计算机网络》第 8 章 应用层58
FTP控制连接建立的协议包交互过程
FTP Cl i ent控制模块
FTP Server控制模块
协议包4:FTP Cl i ent向FTP Server发 送控制连接建立请求
协议包5:FTP Server同意建立控制连 接建立请求
FTP Server
端口号21
FTP命令/应答TCP头I P头数据链路帧头 数据链路帧尾帧格式
端口号15432
协议包6:FTP Cl i ent向FTP Server发 送应答的确认包
协议包7:FTP Server向FTP Cl i ent发 送“ Servi ce ready for new user” 包
协议包8:FTP Cl i ent向FTP Server发 送“ FTP ACK” 应答包
用户模块
FTP Cl ient
《计算机网络》第 8 章 应用层59
8.7.2 FTP 用户登录身份验证过程的协议分析 • 协议包 9~ 16 是用户身份的协议执行过程 • 协议包 9 : FTP 客户发送给 FTP 服务器的 User命令协
议包 协议分析器
ether - - - - - - - - - - - - - - -Ethernet Datal i nk Layer- - - - - - - - - - - - - -: Stati on 02-60-8C-01-24-28→ 00-00-C0-22-A1-01: Type 0ⅹ 0800(I P): i p - - - - - - - - - - - - - - - - - - I nternet Protocol - - - - - - - - - - - - - - - - -: Stati on 201. 5. 21. 25→ 201. 5. 21. 1: Protocol TCP: Versi on 4: Prendence Routi ne: Normal Del ay Normal Throughput Normal Rel i abi l i ty, , tcp - - - - - - - - - - - -Transmi ssi on Control Protocol - - - - - - - - - - -: Source Port 15432: Di st i nati on Port 21: Control Bi ts Acknowl edgement Fi el d i s Val i d ACK: ( ) Push Functi on Request PSH( ) f tp - - - - - - - - - - - - - - - -Fi l e Transfer Protocol - - - - - - - - - - - - - -: Command User User Name: ( ) User Name wuy:
Packet 9 Unfi l tered 43: :
《计算机网络》第 8 章 应用层60
• 协议包 10 : FTP 服务器发送给 FTP 客户对 User命令的应答包
协议分析器
ether - - - - - - - - - - - - - - -Ethernet Datal i nk Layer- - - - - - - - - - - - - - -: Stati on 00-00-C0-22-A1-01→ 02-60-8C-01-24-28: Type 0ⅹ 0800 I P: ( ) i p - - - - - - - - - - - - - - - - - - I nternet Protocol - - - - - - - - - - - - - - - - - -: Stati on 201. 5. 21. 1→ 201. 5. 21. 25: Protocol TCP: Versi on 4: Prendence Routi ne: Normal Del ay Normal Throughput Normal Rel i abi l i ty, , tcp - - - - - - - - - - - -Transmi ssi on Control Protocol - - - - - - - - - - - -: Source Port 15432: Di st i nati on Port 21: Control Bi ts Acknowl edgement Fi el d i s Val i d ACK: ( ) Push Functi on Request PSH( ) f tp - - - - - - - - - - - - - - -Fi l e Transfer Protocol - - - - - - - - - - - - - - - -: Repl y 331 User name okay need password.: ( , ) Text Password requi red for wuy.:
Packet 10 Unfi l tered 43: :
《计算机网络》第 8 章 应用层61
• 协议包 12 : FTP 客户发送给 FTP 服务器的带有用户名与密码的应答包
协议分析器
ether - - - - - - - - - - - - - - -Ethernet Datal i nk Layer- - - - - - - - - - - - - - -: Stati on 02-60-8C-01-24-28→ 00-00-C0-22-A1-01: Type 0ⅹ 0800 I P: ( ) i p - - - - - - - - - - - - - - - - - - I nternet Protocol - - - - - - - - - - - - - - - - - -: Stati on 201. 5. 21. 25→ 201. 5. 21. 1: Protocol TCP: Versi on 4: Prendence Routi ne: Normal Del ay Normal Throughput Normal Rel i abi l i ty, , tcp - - - - - - - - - - - -Transmi ssi on Control Protocol - - - - - - - - - - - -: Source Port 15432: Di st i nati on Port 21: Control Bi ts Acknowl edgement Fi el d i s Val i d ACK: ( ) Push Functi on Request PSH( ) f tp - - - - - - - - - - - - - - -Fi l e Transfer Protocol - - - - - - - - - - - - - - - -: Command Pass Password: ( ) Password ******:
Packet 12 Unfi l tered 43: :
《计算机网络》第 8 章 应用层62
• FTP 用户登录身份验证的协议包交互过程
FTP Cl i ent控制模块
FTP Server控制模块
协议包 9:FTP Cl i ent向FTP Server发 送User命令(user name)
FTP Server
端口号:21
端口号:15432
协议包10:FTP Server对User命令的应 答,确认user name后,要 求FTP Cl i ent发送password
协议包12:FTP Cl i ent向FTP Server发 送password
协议包13:FTP Server检查password合 法,并向FTP Cl i ent发送应 答包
协议包14:FTP Cl i ent向FTP Server发 送对协议包13的应答包
协议包15:FTP Server通知FTP Cl i ent 用户登录成功
协议包11:FTP Cl i ent向FTP Server发 送对协议包10的应答包
用户模块
FTP Cl ient
《计算机网络》第 8 章 应用层63
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 章 应用层64
• 协议包 19 : FTP 客户发送给 FTP 服务器的 RETR命令包
协议分析器
i p - - - - - - - - - - - - - - - - - - I nternet Protocol - - - - - - - - - - - - - - - - - -: Stati on 201. 5. 21. 25→ 201. 5. 21. 1: Protocol TCP: Versi on 4: Prendence Routi ne: Normal Del ay Normal Throughput Normal Rel i abi l i ty, , tcp - - - - - - - - - - - -Transmi ssi on Control Protocol - - - - - - - - - - - -: Source Port 15432: Di st i nati on Port 21: Control Bi ts Acknowl edgement Fi el d i s Val i d ACK: ( ) Push Functi on Request PSH( ) f tp - - - - - - - - - - - - - - - Fi l e Transfer Protocol - - - - - - - - - - - - - - - -: Command RETR Retri eve Fi l e: ( ) Pathname Netstart:
Packet 19 Unfi l tered 43: :
《计算机网络》第 8 章 应用层65
• FTP 数据连接建立准备工作的协议包交互过程
FTP Cl i ent控制模块
FTP Server控制模块
协议包17:FTP Cl i ent向FTP Server 发送Port命令 端口号:
21协议包18:FTP Server向FTP Cl i ent 发送Port命令的确认包
端口号:15432
协议包19:FTP Cl i ent向FTP Server 发送RETR命令
用户模块
FTP Cl ient
FTP Server
《计算机网络》第 8 章 应用层66
数据连接建立过程• 协议包 20~ 22 完成数据连接建立工作
FTP Cl i ent控制模块
FTP Server控制模块
协议包20:FTP Server端口20向FTP Cl i ent端口7180发送建立 数据连接的请求包
协议包21:FTP Cl i ent向FTP Server 发送同意建立数据连接的 应答包
端口号:21
FTP Cl i ent数据模块
FTP Server数据模块
控制连接
FTP Cl i ent创建数据连接
FTP Server创建数据连接
端口号:15432
端口号:20
端口号:7180
协议包22:FTP Cl i ent向FTP Server 发送对建立数据连接应答 包的确认
用户模块
FTP Cl ient
FTP Server
《计算机网络》第 8 章 应用层67
8.7.5 FTP 数据传输过程的协议分析
协议分析器
i p - - - - - - - - - - - - - - - - - - I nternet Protocol - - - - - - - - - - - - - - - - - -: Stati on 201. 5. 21. 1→ 201. 5. 21. 25: Protocol TCP: Versi on 4: Prendence Routi ne: Normal Del ay Normal Throughput Normal Rel i abi l i ty, , tcp - - - - - - - - - - - -Transmi ssi on Control Protocol - - - - - - - - - - - -: Source Port 21: Di sti nati on Port 15432: Control Bi ts Acknowl edgement Fi el d i s Val i d ACK: ( ) Push Functi on Request PSH( ) f tp - - - - - - - - - - - - - - -Fi l e Transfer Protocol - - - - - - - - - - - - - - - -: Repl y 150 Fi l e status okay about to open data: ( , connecti on.) Text openi ng ASCI I mode data connecti on for: netstart 1920bytes.( )
Packet 23 Unfi l tered 43: :
协议包 23~ 25 完成数据传输工作 协议包 23 : FTP 服务器向 FTP 客户发回文件 netstart
的 状态信息
《计算机网络》第 8 章 应用层68
• 协议包 25 : FTP 服务器向 FTP 客户发送的检索文件的数据包
协议分析器
i p - - - - - - - - - - - - - - - - - - I nternet Protocol - - - - - - - - - - - - - - - - - -: Stati on 201. 5. 21. 1→ 201. 5. 21. 25: Protocol TCP: Versi on 4: Prendence Routi ne: Normal Del ay Normal Throughput Normal Rel i abi l i ty, , tcp - - - - - - - - - - - -Transmi ssi on Control Protocol - - - - - - - - - - - -: Source Port 20 FTP-DATA: ( ) Di st i nati on Port 7180: Control Bi ts Acknowl edgement Fi el d i s Val i d ACK: ( ) f tp - - - - - - - - - - - - - - - Fi l e Transfer Protocol - - - - - - - - - - - - - - - -: Data: 0 23 21 2F 62 69 6E 73 68 0D 2D AD 00 0A AF 12 32: 10 22 3A 22 A3 12 22 86 C2 AA 21 32 56 88 A2 1A 55: 20 11 13 56 09 55 76 0A 90 00 78 08 88 56 66 2B 00:
Packet 25 Unfi l tered 43: :
《计算机网络》第 8 章 应用层69
• 协议包 26 : FTP 服务器在传输数据的同时,向 FTP客户发送在文件传输结束时断开数据连接的通知协议包
协议分析器
ether - - - - - - - - - - - - - - -Ethernet Datal i nk Layer- - - - - - - - - - - - - - -: Stati on 00-00-C0-22-A1-01→ 02-60-8C-01-24-28: Type 0ⅹ 0800 I P: ( ) i p - - - - - - - - - - - - - - - - - - I nternet Protocol - - - - - - - - - - - - - - - - - -: Stati on 201. 5. 21. 1→ 201. 5. 21. 25: Protocol TCP: Versi on 4: Prendence Routi ne: Normal Del ay Normal Throughput Normal Rel i abi l i ty, , tcp - - - - - - - - - - - -Transmi ssi on Control Protocol - - - - - - - - - - - -: Source Port 21: Di st i nati on Port 15432: Control Bi ts Acknowl edgement Fi el d i s Val i d ACK: ( ) Push Functi on Request PSH( ) f tp - - - - - - - - - - - - - - -Fi l e Transfer Protocol - - - - - - - - - - - - - - - -: Repl y 226 Cl osi ng data connecti on Requested fi l e acti on: ( ; successful .)
Packet 26 Unfi l tered 44: :
《计算机网络》第 8 章 应用层70
• FTP 数据传输中最后一个数据包的结构
协议分析器
tcp - - - - - - - - - - - - - -Transmi ssi on Control Protocol - - - - - - - - - - - - -: Source Port 20: Di sti nati on Port 7180: Control Bi ts Acknowl edgement Fi el d i s Val i d ACK: ( ) Push Functi on Request PSH( ) No more data f rom Sender FI N( ) Data 0 23 21 2F 62 69 6E 73 68 0D 2D AD 00 0A AF 12 32: : 10 22 3A 22 A3 12 22 86 C2 AA 21 32 56 88 A2 1A 55: 20 11 13 56 09 55 76 0A 90 00 78 08 88 56 66 2B 00: 30 23 21 2F 78 08 88 56 66 2B 00 AD 00 0A AF 12 32: 40 22 3A 22 A3 12 22 86 C2 AA 21 32 56 88 A2 1A 55: 50 78 08 88 56 66 2B 00 00 00 78 08 88 56 66 2B 00:
Packet 33 Unfi l tered 44: :
《计算机网络》第 8 章 应用层71
FTP 数据传输和确认的协议包交换过程
协议包23:FTP Server向FTP Cl i ent 发送要检索文件的状态
FTP Cl i ent数据模块
FTP Server数据模块
端口号:20
端口号:7180 协议包24:FTP Cl i ent对检索文件状
态的确认
协议包25:FTP Server向FTP Cl i ent 发送数据
协议包26:FTP Server向FTP Cl i ent 发送数据,通知“ 数据发 送结束后关闭数据连接”
协议包30:FTP Cl i ent对包29传输数 据的确认
协议包32:FTP Cl i ent对包31传输数 据的确认
协议包29:FTP Server向FTP Cl i ent 发送数据
协议包27:FTP Cl i ent对包26通知的 确认
协议包31:FTP Server向FTP Cl i ent 发送数据
协议包28:FTP Cl i ent对包25传输数 据的确认
协议包33:FTP Server向FTP Cl i ent 发送数据,并置FI N标记
FTP Cl i ent控制模块
FTP Server控制模块
端口号:21控制连接
端口号:15432
用户模块
FTP Cl ient
FTP Server
《计算机网络》第 8 章 应用层72
8.7.6 FTP 连接释放过程的分析 • 一个完美的传输连接的释放机制应该是任何一方都可以提出,但是必须双方都同意,才可以释放连接;
• FTP 连接建立分为控制连接建立与数据连接建立两个阶段,因此连接释放也应包括释放控制连接与释放数据连接两个阶段;
• 首先应该释放数据连接,然后再释放控制连接。
《计算机网络》第 8 章 应用层73
• FTP 客户做 FIN 置位的应答包
协议分析器
i p - - - - - - - - - - - - - - - - - - - I nternet Protocol - - - - - - - - - - - - - - - - - - -: Stati on 201. 5. 21. 25→ 201. 5. 21. 1: Protocol TCP: Versi on 4: Prendence Routi ne: Normal Del ay Normal Throughput Normal Rel i abi l i ty, , tcp - - - - - - - - - - - - - -Transmi ssi on Control Protocol - - - - - - - - - - - -: Source Port 15432: Di sti nati on Port 21: Control Bi ts Acknowl edgement Fi el d i s Val i d ACK: ( ) No More Data f rom Sender FI N( )
Packet 34 Unfi l tered 43: :
《计算机网络》第 8 章 应用层74
• FTP 客户的 QUIT命令包结构
协议分析器
i p - - - - - - - - - - - - - - - - - - - I nternet Protocol - - - - - - - - - - - - - - - - - - -: Stati on 201. 5. 21. 25→201. 5. 21. 1: Protocol TCP: Versi on 4: Prendence Routi ne: Normal Del ay Normal Throughput Normal Rel i abi l i ty, , tcp - - - - - - - - - - - - - -Transmi ssi on Control Protocol - - - - - - - - - - - -: Source Port 15432: Di sti nati on Port 21: Control Bi ts Acknowl edgement Fi el d i s Val i d ACK: ( ) Push Functi on Request PSH( ) f tp - - - - - - - - - - - - - - - - -Fi l e Transfer Protocol - - - - - - - - - - - - - - - -: Command QUI T Logout: ( )
Packet 36 Unfi l tered 43: :
《计算机网络》第 8 章 应用层75
• FTP 服务器对 QUIT命令的响应包的结构 协议分析器
i p - - - - - - - - - - - - - - - - - - - I nternet Protocol - - - - - - - - - - - - - - - - - - -: Stati on 201. 5. 21. 1→ 201. 5. 21. 25: Protocol TCP: Versi on 4: Prendence Routi ne: Normal Del ay Normal Throughput Normal Rel i abi l i ty, , tcp - - - - - - - - - - - - - -Transmi ssi on Control Protocol - - - - - - - - - - - -: Source Port 21: Di st i nati on Port 15432: Control Bi ts Acknowl edgement Fi el d i s Val i d ACK: ( ) Push Functi on Request PSH( ) f tp - - - - - - - - - - - - - - - - -Fi l e Transfer Protocol - - - - - - - - - - - - - - - -: Repl y 221 Servi ce cl osi ng control connecti on.: ( ) Text Goodby.:
Packet 37 Unfi l tered 43: :
《计算机网络》第 8 章 应用层76
• FTP 数据连接释放过程
协议包33:FTP Server发送最后一个 数据包,并提出释放数据 连接请求
协议包34:FTP Cl i ent同意释放数据 连接的应答包
FTP Cl i ent数据模块
FTP Server数据模块
端口号:21
端口号:7180
协议包35:FTP Server对同意释放数 据连接应答包的确认
协议包36:FTP Cl i ent向FTP Server 发送退出登录的Qui t命令
协议包37:FTP Server对Qui t命令的 确认
FTP Cl i ent控制模块
FTP Server控制模块
端口号:21控制连接
FTP Cl i ent终止数据连接
FTP Server终止数据连接
端口号:15432
用户模块
FTP Cl ient
FTP Server
《计算机网络》第 8 章 应用层77
• FTP控制连接的释放过程
FTP Cl i ent控制模块
FTP Server控制模块
协议包38:FTP Server向FTP Cl i ent 发送释放控制连接请求包
端口号21
端口号15432 协议包39:FTP Cl i ent发送释放控制
连接的应答包(ACK FI N)
协议包40:FTP Cl i ent发送释放控制 连接的应答包(ACK PUSH)
协议包41:FTP Server向FTP Cl i ent 发送释放控制连接请求包
协议包42:FTP Cl i ent发送释放控制 连接的应答包(ACK FI N)
协议包43:FTP Cl i ent发送释放控制 连接的应答包(ACK PUSH)
FTP Server
用户模块
FTP Cl ient
《计算机网络》第 8 章 应用层78
小结 • 应用层服务主要有:电子邮件 E-mail 、文件传输协议
FTP 、网络终端协议 Telnet 与 WWW 等;
• 应用层协议可以分为 3 种类型:一类依赖于面向连接的 TCP 协议,一类依赖于面向连接的 UDP 协议,另一类则既依赖于 TCP 协议,也可以依赖于 UDP 协议;
• Internet 域名系统采用的是层次结构, DNS 服务器的层次是与域名的层次相适应的;
• WWW 服务在 Internet技术发展中有着重要的影响,它的核心技术是超文本标记语言 HTML 、超文本传输协议 HTTP 与超链接 hyperlink 。