第8章应用层课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第8章应用层课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 应用 课件
- 资源描述:
-
1、1第八章第八章 应用层应用层2主要内容主要内容8.1应用层概述应用层概述8.2客户客户/服务器模型服务器模型8.3 域名服务域名服务8.4 统一资源定位符统一资源定位符8.5 WWW服务服务8.6 简单网络管理协议简单网络管理协议SNMP8.7 电子邮件电子邮件8.8文件传输协议文件传输协议FTP38.1 8.1 应用层概述(应用层概述(1 1)应用程序:互相通信的分布应用程序:互相通信的分布的进程的进程 在网络主机上的用户空间在网络主机上的用户空间运行运行 互相交换消息互相交换消息 比如比如email、ftp和和web 应用层协议应用层协议 应用程序的一部分应用程序的一部分 定义应用程序直接
2、交换的定义应用程序直接交换的信息以及相应的动作信息以及相应的动作 利用底层协议提供的服务利用底层协议提供的服务 applicationtransportnetworkdata linkphysicalapplicationtransportnetworkdata linkphysicalapplicationtransportnetworkdata linkphysical48.1 8.1 应用层概述(应用层概述(2 2)应用层术语应用层术语 一个一个进程是运行于主机上的一个程序。是运行于主机上的一个程序。在同一主机上的进程利用操作系统提供的在同一主机上的进程利用操作系统提供的IPC(inte
3、rprocess communication)进)进行通信。行通信。在不同主机上运行的进程利用应用层协议进在不同主机上运行的进程利用应用层协议进行通信行通信 用户代理(user agent)是指用户和网络应)是指用户和网络应用程序间的接口。比如用程序间的接口。比如web浏览器,流媒体浏览器,流媒体播放器等播放器等58.1 8.1 应用层概述(应用层概述(3 3)应用程序编程接口应用程序编程接口API(application programming interface)定义应用程序和传输层之间的接口定义应用程序和传输层之间的接口 socket:Internet API 两个进程通过向两个进程通过
4、向socket写数据和读数据来通信写数据和读数据来通信 Q:进程如何指明它要与之通信的另一个进程进程如何指明它要与之通信的另一个进程 IP地址指明该进程所在的主机地址指明该进程所在的主机 端口号指明该主机应该把收到的数据交给哪个当地进程端口号指明该主机应该把收到的数据交给哪个当地进程 68.1 8.1 应用层概述(应用层概述(4 4)应用程序需要什么样的传输服务应用程序需要什么样的传输服务 数据丢失数据丢失 有的应用程序有的应用程序(比如音频比如音频)可以容忍一定程可以容忍一定程度的数据丢失度的数据丢失 有的应用程序有的应用程序(如文件传输如文件传输)要求要求100的的可靠传输可靠传输 带宽带
5、宽 有的程序有的程序(如多媒体如多媒体)需要一定的带宽才能需要一定的带宽才能工作工作 有的程序则使用它所能得到的全部带宽有的程序则使用它所能得到的全部带宽 延迟延迟 有的程序要求低延迟,比如有的程序要求低延迟,比如IP电话和交互电话和交互游戏游戏.7应用程序所需的传输服务应用程序所需的传输服务应用应用file transfere-mailWeb documentsreal-time audio/videostored audio/videointeractive gamesfinancial apps数据丢失数据丢失no lossno lossno lossloss-tolerantloss-
6、tolerantloss-tolerantno loss带宽带宽elasticelasticelasticaudio:5Kb-1Mbvideo:10Kb-5Mbsame as above few Kbps upelastic时间敏感时间敏感nononoyes,100s msecyes,few secsyes,100s msecyes and no8Internet传输协议提供的服务传输协议提供的服务TCP服务:面向连接:用户端和服务器需要建立连接 接收和发送进程间的可靠传输 流量控制:发送方不会淹没接收方 拥塞控制:网络负载过高时限制发送方发送 不提供:延迟保证,最小带宽保证 UDP服务:接收
7、和发送进程间的不可靠传输 不提供:连接建立,可靠性、流量控制、拥塞控制和带宽保证9Internet应用和使用的相应协议应用和使用的相应协议 应用应用e-mailremote terminal accessWeb file transferstreaming multimediaremote file serverInternet telephony应用层协议应用层协议smtp RFC 821telnet RFC 854http RFC 2068ftp RFC 959proprietary(e.g.RealNetworks)NSFproprietary(e.g.,Vocaltec)底层传输层协议
8、底层传输层协议TCPTCPTCPTCPTCP or UDPTCP or UDPtypically UDP108.2 8.2 客户客户/服务器模型(服务器模型(1 1)基本概念基本概念 客户客户/服务器模型是服务器模型是所有网络应用的基础。所有网络应用的基础。客户客户/服务器分别指服务器分别指参与一次通信的两个参与一次通信的两个应用实体,客户方主应用实体,客户方主动地发起通信请求,动地发起通信请求,服务器方被动地等待服务器方被动地等待通信的建立。通信的建立。applicationtransportnetworkdata linkphysicalapplicationtransportnetwor
9、kdata linkphysicalrequestreply118.2 8.2 客户客户/服务器模型(服务器模型(2 2)客户软件客户软件 任何一个应用程序当需要进行远程访问时成为客户,任何一个应用程序当需要进行远程访问时成为客户,这个应用程序也要完成一些本地的计算;这个应用程序也要完成一些本地的计算;一般运行于用户的个人计算机上;一般运行于用户的个人计算机上;向服务器主动发起通信请求;向服务器主动发起通信请求;可以访问多个服务器,但一次只能访问一个;可以访问多个服务器,但一次只能访问一个;不需要特殊的硬件和复杂的操作系统。不需要特殊的硬件和复杂的操作系统。服务器软件服务器软件 是专用的提供某
10、种服务的特权程序,可以同时处理是专用的提供某种服务的特权程序,可以同时处理多个远程客户;多个远程客户;一般在系统启动时被执行,并连续运行以处理多次一般在系统启动时被执行,并连续运行以处理多次会话;会话;被动的等待远程客户发起通信;被动的等待远程客户发起通信;需要特殊的硬件和复杂的操作系统。需要特殊的硬件和复杂的操作系统。128.2 8.2 客户客户/服务器模型(服务器模型(3 3)数据在客户和服务器之间是双向流动的,一般是客户数据在客户和服务器之间是双向流动的,一般是客户发出请求,服务器给出响应。发出请求,服务器给出响应。服务器软件的并发性服务器软件的并发性 由于服务器软件要支持多个客户的同时
11、访问,它必由于服务器软件要支持多个客户的同时访问,它必须具备并发性。服务器软件为每个新到的客户创建须具备并发性。服务器软件为每个新到的客户创建一个进程或线程来处理和这个客户的通信。服务器一个进程或线程来处理和这个客户的通信。服务器方传送层实体使用客户的源端口号和服务的端口号方传送层实体使用客户的源端口号和服务的端口号来确定正确的服务器软件进程(线程)来确定正确的服务器软件进程(线程)服务器软件的组成服务器软件的组成 服务器软件一般分为两部分:一部分用于接受请求服务器软件一般分为两部分:一部分用于接受请求并创建新的进程或线程,另一部分用于处理实际的并创建新的进程或线程,另一部分用于处理实际的通信
12、过程。通信过程。138.2 8.2 客户客户/服务器模型(服务器模型(4 4)客户客户/服务器之间使用的传送层协议服务器之间使用的传送层协议 可以是基于连接的可以是基于连接的TCP协议,要求建立和释协议,要求建立和释放连接,适用于可靠的交互过程;放连接,适用于可靠的交互过程;也可以是无连接的也可以是无连接的UDP协议,适用于可靠性协议,适用于可靠性要求不高的或实时的交互过程;要求不高的或实时的交互过程;同时使用同时使用TCP和和UDP的服务,有两种服务器的服务,有两种服务器软件的实现或服务器软件同时和软件的实现或服务器软件同时和TCP、UDP协议交互,不对客户做限制。协议交互,不对客户做限制。
13、148.2 8.2 客户客户/服务器模型(服务器模型(5 5)客户和服务器的交互客户和服务器的交互 支持协议:在支持协议:在INTERNET中,客户和服务器的交互中,客户和服务器的交互通过使用通过使用TCP/IP协议栈来完成。因此,客户和服务协议栈来完成。因此,客户和服务器所在的机器要求支持完全的协议栈。客户器所在的机器要求支持完全的协议栈。客户/服务器服务器通过套接字访问传送层服务通过套接字访问传送层服务 多种服务:一台计算机上可以运行多个服务器软件,多种服务:一台计算机上可以运行多个服务器软件,但是要求计算机有强大的硬件资源但是要求计算机有强大的硬件资源(服务器级别的计服务器级别的计算机算
14、机)和多任务操作系统和多任务操作系统(UNIX和和WIN95/98/2000/NT)。服务的标识:客户是通过服务的标识来访问某种服服务的标识:客户是通过服务的标识来访问某种服务的,比如在务的,比如在INTERNET中,服务是用端口号来标中,服务是用端口号来标识,识,UNIX在在/etc/services文件中定义。服务器软件文件中定义。服务器软件启动时将其标识通知传送层实体。启动时将其标识通知传送层实体。158.3 8.3 域名服务(域名服务(1 1)产生原因产生原因 DNS最早于最早于1983年由保罗年由保罗莫卡派乔斯(莫卡派乔斯(Paul Mockapetris)发明)发明 32比特的比特
15、的IP地址难于记忆,应该使用符号地址,但是网地址难于记忆,应该使用符号地址,但是网络本身是使用络本身是使用IP地址的,因此需要一个完成二者之间相互地址的,因此需要一个完成二者之间相互转换的机制。比如用转换的机制。比如用表示表示211.119.24.12。当网络规模比较小时,例如当网络规模比较小时,例如ARPANET,每台主机只需查,每台主机只需查找一个文件(找一个文件(UNIX的的host),该文件中列出了主机与),该文件中列出了主机与IP地址的对应关系。地址的对应关系。当网络规模很大时,上述方法就不适用了,因此产生了当网络规模很大时,上述方法就不适用了,因此产生了域名系统域名系统DNS(Do
16、main Name System)168.3 8.3 域名服务(域名服务(2 2)DNS概述概述 域名系统是一个典型的客户域名系统是一个典型的客户/服务器交互系统;服务器交互系统;域名系统是一个多层次的、基于域的命名系统,并使用域名系统是一个多层次的、基于域的命名系统,并使用分布式数据库实现这种命名机制;分布式数据库实现这种命名机制;当应用程序需要进行域名解析时当应用程序需要进行域名解析时(从符号名到从符号名到IP地址地址),它,它成为域名系统的一个客户。它向本地域名服务器发出请成为域名系统的一个客户。它向本地域名服务器发出请求求(调用调用resolver),请求以,请求以UDP包格式发出,域
17、名服务器包格式发出,域名服务器找到对应的找到对应的IP地址后,给出响应。当本地域名服务器无地址后,给出响应。当本地域名服务器无法完成域名解析,它临时变成其上级域名服务器的客户,法完成域名解析,它临时变成其上级域名服务器的客户,递归解析,直到该域名解析完成。递归解析,直到该域名解析完成。178.3 8.3 域名服务(域名服务(3 3)域名的结构域名的结构-INTERNET的顶级域名分为组织结构和地理结构两种。每个域对它下的顶级域名分为组织结构和地理结构两种。每个域对它下面的子域和机器进行管理。面的子域和机器进行管理。-DNS中,每台计算机的名字是由中,每台计算机的名字是由“.”所分开的字符、数字
18、串所组成的。所分开的字符、数字串所组成的。例如例如-域名是大小写无关的,域名是大小写无关的,“com”和和“COM”相同。域名最长相同。域名最长255个字个字符,每部分最长符,每部分最长63个字符(不包括个字符(不包括www.和和.com或者其他的扩展名)。或者其他的扩展名)。-域名同时也仅限于域名同时也仅限于ASCII字符的一个子集,这使得很多其他语言无法字符的一个子集,这使得很多其他语言无法正确表示他们的名字和单词。基于正确表示他们的名字和单词。基于Punycode码的码的IDNA系统,可以将系统,可以将Unicode字符串映射为有效的字符串映射为有效的DNS字符集,这已经通过了验证并被一
19、字符集,这已经通过了验证并被一些注册机构作为一种变通的方法所采纳。些注册机构作为一种变通的方法所采纳。Punycode是一个根据RFC 3492标准而制定的编码系统,主要用於把域名从地方语言所采用的Unicode编码转换成为可用於DNS系统的编码。Punycode可以防止所谓的IDN欺骗。Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。国际化域名IDNs(Internationalized Domain Names)也称多语种域名,是指非英语国家为推广本国语言的域名系统的一个总称,例如含有日文的为日文域名,含有中文的域名为中文域名。18198.3 8.3 域名服务(域名
20、服务(4 4)资源记录资源记录在在DNS的数据库中用资源记录来表示的数据库中用资源记录来表示主机和子域的信息,当应用程序进行主机和子域的信息,当应用程序进行域名解析时,得到的便是域名所对应域名解析时,得到的便是域名所对应的资源记录。的资源记录。资源记录是一个五元式:资源记录是一个五元式:域名域名 生存期生存期 类别类别 类型类型 值值Domain_name Time_to_live Class Type Value2021一个针对cs.vu.nl域的DNS数据库的可能部分检查检查MX记录是否存在的方法记录是否存在的方法 进行DNS查询的一个非常有用的工具是nslookup,可以使用它来查询DN
21、S中的各种数据。可以在Windows的命令行下直接运行nslookup进入一个交互模式,在这里能查询各种类型的DNS数据。在查询过程中可以使用 set type命令设置相应的查询类型。如:C:nslookupDefault Server:208.106.184.166Address:208.106.184.166 set type=mx Default Server:208.106.184.166Address:208.106.184.166 228.3 8.3 域名服务(域名服务(5 5)域名服务器域名服务器 区域划分区域划分 DNS将域名空间划分为许多无重叠的区将域名空间划分为许多无重叠的
22、区域域(zone),每个区域覆盖了域名空间的,每个区域覆盖了域名空间的一部分并设有域名服务器对这个区域的域一部分并设有域名服务器对这个区域的域名进行管理。名进行管理。每个区域有一个主域名服务器和若干个备每个区域有一个主域名服务器和若干个备份域名服务器,区域的边界划分是人工设份域名服务器,区域的边界划分是人工设置的,比如:置的,比如: 是三个不同的区域,分是三个不同的区域,分别有各自的域名服务器。别有各自的域名服务器。238.3 8.3 域名服务(域名服务(6 6)域名解析域名解析 一个区域内机器上的应用程序进行域名解析一个区域内机器上的应用程序进行域名解析时,首先向该区域的域名服务器发出解析请
23、时,首先向该区域的域名服务器发出解析请求,若查找到,则返回域名对应的资源记录。求,若查找到,则返回域名对应的资源记录。若找不到,该域名服务器向所查找域名的顶若找不到,该域名服务器向所查找域名的顶级域的域名服务器发出解析请求,级域的域名服务器发出解析请求,顶级域的域名服务器通过向下的层次查询得顶级域的域名服务器通过向下的层次查询得到对应的资源记录,返回给该域名服务器,到对应的资源记录,返回给该域名服务器,最后资源记录被返回给发起域名解析的机器,最后资源记录被返回给发起域名解析的机器,并在该区域的域名服务器中做缓存,超时后并在该区域的域名服务器中做缓存,超时后删除。删除。24域名注册域名注册 目前
24、国际域名的目前国际域名的DNS必须在国际域名注册商处注册,国内域名的必须在国际域名注册商处注册,国内域名的DNS必须在必须在CNNIC注册,注册支持解析英文域名和中文域名的注册,注册支持解析英文域名和中文域名的dns要分别注册:要分别注册:(1)步骤:选择作为)步骤:选择作为DNS后缀的域名后缀的域名-创建创建dns服务器服务器-选择是在国际选择是在国际注册还是国内注册申请注册还是国内注册申请-交付费用交付费用;(2)费用:约)费用:约75元元/个(一次性)个(一次性);(3)条件:如果注册国际)条件:如果注册国际DNS服务器的,服务器的,dns服务器的名称必须是在具服务器的名称必须是在具有条
25、件的公司注册的国际英文域名才能注册,有独立有条件的公司注册的国际英文域名才能注册,有独立IP地址,地址,DNS服务器域服务器域名前的前缀最好是名前的前缀最好是dns.、ns.等等。DNS服务器服务器:现在只要在域名注册商或服务商注册域名,现在只要在域名注册商或服务商注册域名,DNS都是免都是免费。国际英文域名、国内英文域名可以修改费。国际英文域名、国内英文域名可以修改DNS,这项服务是免费的。,这项服务是免费的。使用免费的使用免费的DNS:国内外有不少提供免费国内外有不少提供免费DNS服务的提供商,其中国内服务的提供商,其中国内著名的有著名的有IIDNS,DNSPod和和OpenDns等等。解
展开阅读全文