版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机网络技术教程—自顶向下的分析与设计方法吴功宜吴英编著1第4章
应用层协议与应用系统设计方法2主要内容34.1网络应用与应用系统设计方法4.1.1
互联网端系统与核心交换的基本概念面对复杂的互联网结构,研究者必须遵循网络体系结构研究中“分而治之”的分层结构思想,在解决过程中对复杂网络进行简化和抽象。在各种简化和抽象方法中,将互联网系统分为边缘部分与核心交换部分是最有效的方法之一。核心交换部分包括由大量路由器互联的广域网、城域网和局域网。4将互联网抽象为边缘部分与核心交换部分的结构示意图5核心交换部分与边缘部分的关系核心交换部分包括由大量路由器互联的广域网、城域网和局域网;互联网边缘部分主要包括大量接入互联网的主机和用户设备;边缘部分利用核心交换部分所提供的数据传输服务功能,使得接入互联网的主机之间能够相互通信和共享资源。6端系统的概念(1)边缘部分的用户设备也称为端系统(endsystem);端系统是能够运行FTP应用程序、E-mail应用程序、Web应用程序,或P2P文件共享的Napster应用程序、Skype即时通信应用程序的计算机;端系统又被统称为主机(host);7端系统的概念(2)在未来的网络应用中,端系统的主机类型将从计算机扩展到所有能够接入互联网的设备,如手持终端PDA、固定与移动电话、数字相机、电视机、无线传感器网络的传感器结点,以及各种家用电器。8应用程序体系结构的概念网络应用程序运行在端系统,核心交换部分为应用程序进程通信提供服务;应用程序体系结构(applicationarchitecture)的概念使得网络应用系统的设计开发过程变得容易和规范。9应用程序体系结构的基本概念104.1.2应用进程间相互作用模式应用进程间相互作用模式的基本概念在应用程序体系结构的分类中使用的客户/服务器(C/S)的术语对于理解系统结构是有利的,但是与应用进程间相互作用模式容易产生混淆;在TCP/IP协议体系中,进程之间相互作用采用的是客户/服务器模式;在客户/服务器模式中,客户与服务器分别表示相互通信的两个应用程序进程。11进程通信中的客户/服务器模式12C/S工作模式的特点(1)服务器程序在固定的IP地址和熟知的端口号上一直处于打开状态,随时准备接收客户端的服务请求;客户端程序可以根据用户需要,在访问服务器时打开;客户端之间不能够直接通信;13C/S工作模式的特点(2)当同时向服务器发出服务请求的客户数量比较多时,一台服务器不能满足多个客户请求的需要。人们经常使用由多台服务器组成的服务器集群(serverfarm)构成一个虚拟服务器;如果在客户数量比较少,或者客户服务请求不频繁时,也可以将多种服务器应用程序安装在一台计算机中。一台服务器就可以提供多种网络服务功能。14P2P工作模式的特点P2P应用程序体系结构分为:纯P2P模式P2P与C/S混合模式15纯P2P模式的应用程序体系结构特点所有的结点地位是平等的,都可以以对等的方式直接通信;纯P2P应用程序体系结构的典型例子如Gnutella。Gnutella是一个P2P文件共享应用程序;P2P工作模式的最大优点是它的信息共享的灵活性与系统的可扩展性。在一个P2P文件共享应用程序中,可以有数以百万计的对等结点加入,每个结点即可以作为一个客户端,也可以起到服务器的作用。16P2P与C/S的混合模式随着P2P规模的扩大,很多P2P应用实际上采用P2P与C/S的混合模式;典型的软件是Napster;在Napster系统中,共享的MP3文件是直接在两个对等结点之间直接传输,但是提出共享请求的结点需要通过一个查询服务器找到当前打开的对等结点的地址;目前大量使用的P2P即时通信程序也采用P2P与C/S的混合模式。174.1.4网络应用与应用层协议
—应用层协议规定应用程序进程之间通信所遵循的通信规则。
应用层协议的基本内容:交换报文的类型,如请求报文与应答报文;各种报文格式与包含的字段类型;对每个字段意义的描述;进程在什么时间、如何发送报文,以及如何响应。18应用层协议的类型标准的网络应用层协议E-mail、FTP、TELNET、Web等协议以RFC文档的方式公布遵守RFC文档所制定的应用层协议开发的应用系统之间可以实现互联和互操作;专用的应用层协议目前P2P文件共享的应用层协议一般都属于专用协议。194.1.5网络应用对低层提供服务的要求
应用程序的开发者将根据网络应用的实际需求来决定传输层是选择TCP协议还是UDP协议,以及主要的技术参数;20传输层协议是在主机的操作系统控制下,为应用程序提供确定的服务。传输层QoS表现在:可靠性、带宽与延时等方面。21E-mail、FTP、TELNET、Web、IM、IPTV、VoIP,以及金融应用系统、电子政务、电子商务、远程医疗、远程数据存储等应用对数据传输的可靠性、带宽和延时要求不同;金融应用系统、电子政务、电子商务、远程医疗、远程数据存储等应用对数据传输的可靠性要求高;IPTV、VoIP等对带宽和延时要求比较高,而对数据传输的可靠性要求不是很严格,一个分组的丢失一般不会影响语音与图像的收听或观看的效果。224.1.6网络应用系统对传输层协议的选择TCP协议可以提供的服务:支持可靠的面向连接服务支持字节流传输服务支持全双工服务23选择TCP协议时需要注意的问题TCP协议的拥塞控制机制是通过限制每个TCP连接来达到公平使用网络带宽的方法;对于有最低带宽限制的实时视频应用来说,抑制传输速率会造成严重的影响;实时视频应用应该选择UDP协议,而不是TCP协议。24UDP协议能够提供的服务UDP是一种无连接、不可靠的传输层协议;UDP协议没有提供拥塞控制机制;UDP协议不提供最小延时保证。25应用层协议与传输层协议的关系网络应用类型应用层协议传输层协议E-mailSTMPTCPTELNETTELNETTCPWebHTTPTCPFTPFTPTCPDNSDNSUDP或TCP流媒体RealNetworkUDP或TCPVoIPNet2phoneUDP264.2域名系统DNS4.2.1DNS的基本概念DNS的作用是将主机域名转换IP地址,它使得各种互联网应用成为可能,因此它是互联网所有应用层协议的基础。27DNS
与其
他网
络应
用的
关系28域名系统DNS必须具备的基本功能:名字空间定义:系统必须提供一个所有可能出现的结点命名的名字空间;名字注册:系统必须为每台主机分配一个在全网具有唯一性的名字;名字解析:系统要为用户提供一种有效的完成主机名与网络IP地址转换的机制。29域名系统的功能304.2.2DNS的实现域名空间和资源记录DNS名字空间被组织成“域”与“子域”的层次结构,它在结构上像计算机中的树状文件目录结构;域名空间和资源记录是树型命名空间结构和与域名相关数据的技术规范。31域名服务器域名服务器是一组用来保存域名树结构和对应信息的服务器程序;地址解析程序地址解析程序可以从域名服务器中检索客户请求查询的某个域名对应的IP地址;32域名空间和资源记录、域名服务器与地址解析程序的关系
用户通过本地地址解析程序的简单的过程调用或系统调用,对域名系统进行访问;从地址解析程序的角度看,域名系统是由数量未知的域名服务器构成的系统,地址解析程序将每一个域名系统使用的数据库视为基本静态的数据库;域名服务器必须周期性地对本地的区域数据进行刷新,对来自于地址解析程序的请求进行并行处理。33DNS根域名服务器DNS域名服务器的设置遵循了层次结构原则;DNS根域名服务器对于DNS系统的整体运行具有极为重要的作用;任何原因造成根域名服务器停止运转,都会导致整个DNS系统的关闭;出于安全的原因,DNS根域名服务器不可能只有一台,目前存在13个DNS根域名服务器;大多数根域名服务器由多台服务器构成的服务器集群组成。有些根域名服务器由分布在不同地理位置的多台镜像DNS服务器组成。344.2.3域名数据库DNS必须有一个大型的、分布式的域名数据库;域名数据库存储的是按层次管理的域名空间数据;这种层次结构可表示为根在上面的树形结构,结点都是根的子孙;所有结点都是可以萌发新枝叶的点,通常将结点和叶都称为结点。35RFC1034表示的域名空间结构364.2.4域名解析的基本工作原理域名解析方法:递归解析(recursiveresolution)反复解析(iterativeresolution)37主机向本地域名服务器查询过程38递归解析中客户与服务器的交互过程39反复解析中客户与服务器的交互过程404.3主机配置与动态主机配置协议DHCP对于TCP/IP网络来说,要将一台主机接入互联网必须配置以下一些参数:本地网络的默认路由器地址;主机应该使用的网络掩码;为主机提供特定服务的服务器地址,如DNS、E-mail服务器;本地网络的最大传输单元MTU长度值;IP分组的生存时间TTL值。414.3.1主机配置的基本概念对于大规模的网络以及远程主机、移动设备、无盘工作站和地址共享配置,用手工进行主机配置已经不可能实现;动态主机配置协议可以为主机自动分配IP地址及其他一些重要的参数;424.3.2DHCP协议的基本内容
DHCP服务器的主要功能地址储存与管理;配置参数的储存和管理;租用管理;响应客户主机请求;服务管理服务管理。43DHCP客户端的主要功能发起配置;配置参数管理;租用管理;报文重传。44DHCP
客户与
服务器
交互过程45DHCP
中继代
理采用
单播方
式转发
发现报文464.4电子邮件系统4.4.1互联网电子邮件系统设计的基本思路所有邮件都使用标准的地址格式,并且每个邮箱在其命名空间里是惟一的。所有邮件报文都使用统一的报文格式,从而保证不同系统之间邮件可以交换。使用统一的报文传递协议向最终用户传递报文。474.4.2电子邮件体系结构与基本工作原理电子邮件的工作原理48电子邮件协议STMP原理示意图49邮件传输代理MTA与用户代理UA的概念50中继MTA服务器转发邮件的结构51在互联网中邮件报文传输过程524.4.3邮件报文交付的3个阶段534.4.4SMTP协议的基本内容SMTP命令和应答54主要的SMTP命令关键词变量HELO发送端的主机名MAILFROM发信人RCPTTO预期的收信人DATA邮件的主体QUITRSETVRFY需要验证的收信人名字EXPN需要扩展的邮件发送清单HELP命令名55主要的SMTP应答56代码说明220服务就绪221服务关闭传输通道250请求命令完成251用户不是本地的,报文将被转发354开始邮件输入450邮箱不可使用500语法错,不能识别命令502命令未实现552所请求的动作异常终止,存储位置超过553所请求的动作未发生,邮箱名不允许使用邮件报文的封装57邮件报文传送过程—连接建立、报文
传送、连接终止连接建立过程58报文
传送
过程59连接终止过程604.4.5MIME协议的基本内容
MIME与SMTP的关系614.4.6POP3、IMAP4协议与基于Web的
电子邮件POP3协议RFC1939“POP3协议”中提供了一种将存储在目地SMTP服务器中的邮件报文传送到用户的机制;RFC2449“POP3协议扩展机制”对该协议的扩展机制进行了定义。62POP
协议
会话
过程63IMAP4协议IMAP4提供的功能:用户在下载邮件之前可以检查邮件的头部;用户在下载邮件之前可以用特定的字符串搜索电子邮件的内容;用户可以部分地下载电子邮件;用户可以在邮件服务器上创建、删除邮箱,或对邮箱更名;为了存放电子邮件,用户可以在文件夹中创建分层次的邮箱。644.5FTP协议与服务654.5.1
FTP协议工作模型4.5.2FTP主要命令与协议执行过程(1)RFC959定义的FTP控制命令主要有:USER:用于向服务器端发送用户名;PASS:用于向服务器端发送用户口令;LIST:用于向服务器端请求发送当前目录的文件列表;RETR:用于从服务器端当前目录检索文件;STOR:用于将客户主机的一个文件存储到
FTP服务器。66FTP主要命令与协议执行过程(2)RFC959定义的应答主要有:125:数据连接正确,准备传输文件;150:数据连接即将打开;220:服务就绪;221:服务关闭;226:关闭数据连接;230:用户注册完成;331:用户名正确,需要传输用户口令。67客户端从服务器读取文件时的FTP协议执行过程684.6Web服务与HTTP协议4.6.1HTTP协议的发展4.6.2HTTP的非持续连接与持续连接HTTP的非持续连接与持续连接HTTP协议支持:非持续连接(nonpersistentconnection)持续连接(persistentconnection)HTTP1.0版协议定义非持续连接;HTTP/1.1默认状态为持续连接。69非持续连接在非持续连接中,对每次请求/响应都要建立一次TCP连接。如果一个网页包括1个基本的HTLM文件和105个JPEG图像文件,即106个对象(object),并且都位于同一个服务器中。70非持续连接状态访问该对象的工作过程客户进程在80端口发起一次与服务器的TCP连接;客户进程在这个TCP连接上发送一个HTTP请求报文,请求报文中包括对象路径netlab/picture.gif;服务器在这个TCP连接上接收HTTP请求报文,并封装在一个HTTP应答报文,通过这个TCP连接发送到客户进程;服务器进程通知TCP协议断开此次TCP连接;客户程序在接收到应答报文之后,通知TCP协议断开此次TCP连接;客户程序对于每个gif文件的引用重复一次以上过程。71请求一个HTTP文件所需时间72计算示例请求一个HTTP文件所需时间测算示例RTT的平均值为1200ms;传输一个gif文件时间平均为2500ms;如果一个网页中有105个gif文件;估算出采取串行方法读取gif文件,与以每次连接传输10个gif文件所用的时间。73采取每个连接传输一个gif文件所需时间T1=2×1200+(1200+2500)×105=2400+388500
=390900(ms)=390.9(s)采取每个连接传输10个gif文件所需时间T2=2×1200+[2×1200+(2500×10)]×10+[2×1200
+(2500×5)]×1
=2400+252400+7740
=262540(ms)≈262.5(s)比较T1与T2之后可以发现,采用每个TCP连接传输10个gif文件所需时间比每个连接传输一个gif文件所需时间缩短约33%。74持续连接在持续连接时,服务器在发出响应后保持该TCP连接,在相同的客户进程端与服务器端之间的后续报文都通过该连接传送;一个Web服务器中的多个Web页也可以通过一个持续的TCP连接来传送;服务器进程在接收到客户进程的请求或超时才关闭该连接。75持续连接的工作方式非流水线方式流水线方式非流水线方式客户端只有在接收到前一个响应时才能发出新的请求;客户端在每访问一个对象时要花费1个RTT时间;服务器每发送一个对象之后,要等待下一个请求的到来,连接处于空闲状态,浪费了服务器的资源。76流水线方式客户端在没有收到前一个响应时就能够发出新的请求;客户端的请求可以像流水线作业一样,连续地发送到服务器端,服务器端可以连续地发送应答报文;使用流水线方式的客户端访问所有的对象只需花费1个RTT时间,提高下载Web文档的效率;HTTP1.1默认状态是持续连接的流水线工作方式。77HTTP请求与应答的工作过程784.6.3HTTP报文格式请求报文的发送过程与结构79HTTP在请求行可以指定的方法GET方法HEAD方法PUT方法POST方法PATCH方法COPY方法DELETE方法MOVE方法LINK方法UNLINK方法80HTTP应答报文结构81主要
状态
码与
相应
意义代码短语说明100continue请求的开始部分已经被接受,客户可以继续它的请求101switching服务器同意客户的请求,切换到更新报头中定义的协议200ok请求成功201created新的URL被创建202accepted请求被接受,但还没有马上起作用204noaccepted报文中没有内容301multiplechoices所请求的URL指向多个资源302movedpermanently服务器已经不再使用所请求的URL304movedtemporarily所请求的URL已暂时地移走82400badrequest在请求中有语法错误401Unauthorized请求缺乏适当的授权403forbidden服务被拒绝404notfound文档未找到405MethodnotallowedURL不支持406notacceptable所请求的格式不可接受500servererror服务器端出错501notimplemented所请求的动作不能完成503serviceunavailable服务器暂时不可用,但以后可能接受请求83请求报头与响应报头的结构84通用头部通用头部说明Cache-control给出关于高速缓存的信息Connection给出连接是否应该关闭Date给出当前日期MIME-version给出所使用的MIME版本Upgrade给出优先使用的通信协议85请求头部请求头部说明Accept给出客户能够接受的数据格式Accept-charset给出客户能够处理的字符集Accept-encoding给出客户能够处理的编码方案Accept-language给出客户能够接受的语言Authorization给出客户具有何种授权From给出客户的电子邮件地址Hhost给出客户的主机和端口号If-modified-since只在比指定日期更新时才发送这个文档If-match只在与指定的标记匹配时才发送这个文档If-not-match只在与指定的标记不匹配时才发送这个文档If-range只发送缺少的那部分文档If-unmodified-since如果在指定的日期之后还未改变则发送文档Referrer给出被链接文档的URLUser-agent标识客户程序86响应头部头部说明Accept-range给出服务器接受客户请求的范围Age给出文档的使用期限Public给出可以支持的方法清单Retry-after指明的日期之后,服务器才能够使用Server给出服务器名与版本号87正文头部头部说明Allow列出URL可以使用的合法的方法Content-encoding给出编码方案Content-language指明语言Content-length给出文档长度Content-range给出文档的范围Content-type给出数据的类型etag给出正文的标记Expires给出内容可能改变的时间与日期Last-modified给出上次内容改变的时间与日期Location给出被创建和被移走的文档的位置88使用GET方法读取图像89使用HEAD方法读取HTML文档信息90使用POST方法向服务器发送数据91HTTP工作原理与过程
924.6.4超文本标记语言HTML一个HTML标记的例子93常用的HTML标记开始标记结束标记意义<HTML></HTML>定义HTML文档<HEAD></HEAD>定义HTML文档的报头<BODY></BODY>定义HTML文档的正文<TITLE></TITLE>定义HTML文档的标题<B></B>粗体<I></I>斜体<U></U>加下划线<CENTER></CENTER>居中<IMG></IMG>定义图像<A></A>定义地址<APPLET></APPLET>文档是小应用程序94一个Web文档的例子95Web文档类型静态文档96动态文档97活动文档984.6.5Web浏览器994.7即时通信与SIP协议
RFC2778定义的即时通信系统除了要提供实时信息交换、状态跟踪能力之外,还增加了:
音频/视频聊天应用共享文件传输文件共享游戏邀请远程助理白板1004.7.1即时通信工作模型的类型即时通信工作模型可以分为:在线的对等通信方式离线的中转通信方式101典型即时通信系统QQ的通信过程1024.7.2SIP协议的基本内容很多即时通信系统都是采用服务提供商自己制定的即时通信协议,各个公司制定的协议互相不兼容;1999年,IETF提出了会话初始化协议(SIP),RFC3261~3266文档对SIP协议进行了详细地描述;SIP是在应用层实现即时通信的控制信令协议;103在SIP协议中,“会话”是指用户之间的数据传输。传输的数据可以是普通文本数据,可以是音频或视频数据,也可以是E-mail、聊天、游戏等数据;SIP协议用于创建、修改和终止会话;在传输层,SIP协议可以使用TCP协议、UDP协议或流控制传输协议(SCTP)。104SIP协议的的特点协议简洁,效率高;采用客户/服务器工作模式;地址灵活。105采用了客户/服务器工作模式定义了两种构件:用户代理网络服务器定义了两种代理服务器的状态:有状态代理无状态代理106用户代理用户代理包括2个程序:用户代理客户与用户代理服务器;用户代理客户发起呼叫,而用户代理客户则接受呼叫;用户代理客户的表现形式有多种,有些是运行在计算机上的软件,有些是嵌入到移动设备(例如笔记本计算机、PDA或移动电话)的应用软件。107代理服务器的两种状态有状态代理服务器保存接收到的用户代理接入请求、回送的响应,以及转发的请求信息;无状态代理服务器在转发请求信息之后不保留状态信息。108SIP协议要求的地址格式电话号码
sip:wugongyi@8622-23508917IPv4地址
sip:wugongyi@80电子邮件地址
sip:wugongyi@109SIP协议的报文格式SIP请求报文名称及意义110报文名称意义INVITE邀请用户或服务器参加一个会话,启动会话连接的建立ACK用户或服务器同意参加一个会话,确认会话建立的建立CANCEL取消即将发生的会话BYE终止会话INFO传送PSTN电话信令OPTIONS查询一个服务器的能力;如果代理服务器确定能够与用户建立会话连接则应答;如果是注册服务器或重定向服务器则只需要转发该报文SIP应答报文状态码的范围及意义状态码的范围意义100~199临时的200~299成功300~399重定向400~499客户端错误500~599服务器端错误600~699失败111SIP通过代理服务器建立会话连接的过程1124.8网络管理与SNMP协议4.8.1网络管理的基本概念网络管理系统组成部分:管理进程被管对象代理进程管理信息库网络管理协议113网络管理系统结构114网络管理的功能配置管理性能管理记账管理故障管理安全管理115SNMP协议的工作原理1164.8.2SNMP协议的基本内容管理信息结构(SMI)管理信息库(MIB)SNMP协议规则117管理信息结构SMI被管对象如何命名存储的被管对象数据有哪些类型在管理进程与代理进程中传输的数据如何编码118对象命名树的结构119MIB对象组组名完整的组标识符包含的主要内容system/sys.与主机或路由器的操作系统相关的对象interface/int.与网络接口相关的对象ip/ip.与IP协议运行相关的对象icmp/icmp.与ICMP协议运行相关的对象tcp/tcp.与
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论