客户服务器模式与套接子课件.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《客户服务器模式与套接子课件.pptx》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 客户 服务器 模式 套接 课件
- 资源描述:
-
1、第第3章:章:互联网应用模式和互联网应用模式和API第第3.1节、客户节、客户服务器工作模式服务器工作模式第第3.2节、应用程序接口节、应用程序接口API1第第3.1节、客户节、客户服务器工作模式服务器工作模式3.1.1 C/S3.1.1 C/S的基本概念的基本概念3.1.2 C/S3.1.2 C/S关系与软件特点关系与软件特点3.1.3 C/S3.1.3 C/S工作过程与并发工作过程与并发3.1.4 3.1.4 协议端口号协议端口号谢希仁教材谢希仁教材1.6 节节2C/S模式部分的重点与难点模式部分的重点与难点1 1、C/SC/S模式的基本概念模式的基本概念2 2、C/SC/S的工作过程,以
2、及的工作过程,以及C/SC/S软件的各自特点软件的各自特点3 3、*协议端口号及应用协议端口号及应用4 4、插口地址概念、插口地址概念重点理解:重点理解:主要了解:主要了解:1 1、熟知的协议端口号与使用、熟知的协议端口号与使用2 2、互联网、互联网C/SC/S工作模式与工作模式与TCP/IPTCP/IP的关系的关系3 3、服务器并发处理、服务器并发处理3相互作用的客户相互作用的客户-服务器服务器(模型模型 在在TCP/IP互联网中,进程间相互访问的模式主要是互联网中,进程间相互访问的模式主要是客客户户服务器交互模式服务器交互模式客户和服务器分别是两个应用程序(客户和服务器分别是两个应用程序(
3、进程进程)。客户向服)。客户向服务器发出服务请求,服务器做出响应。务器发出服务请求,服务器做出响应。服务器服务器客户客户互联网互联网进程(进程(Process)就是运行中的程序。解决具体应用问题的逻辑处就是运行中的程序。解决具体应用问题的逻辑处理和通信进程总称为理和通信进程总称为“应用进程应用进程”。4为什么选择客户为什么选择客户-服务器模式服务器模式第一个原因:第一个原因:互联网中资源、运算能力和信息不均等的现实互联网中资源、运算能力和信息不均等的现实。资源、运算能力不均资源、运算能力不均:小到一个物理网络,往往是某些主机拥:小到一个物理网络,往往是某些主机拥有大容量的外存,某些主机只有很少
4、外存或没有外存,有有大容量的外存,某些主机只有很少外存或没有外存,有些主机拥有打印机,有些主机没有;大到整个互联网,少些主机拥有打印机,有些主机没有;大到整个互联网,少数网点拥有超速运算能力,而大量网点由数网点拥有超速运算能力,而大量网点由PC机构成机构成.信息分布不均信息分布不均:比如名字信息、地址信息等。这些信息往往以:比如名字信息、地址信息等。这些信息往往以数据库形式存在于少数特权主机当中,供局部或全局访问。数据库形式存在于少数特权主机当中,供局部或全局访问。这些信息一般具有公用性,为了节约整个网络的资源,没这些信息一般具有公用性,为了节约整个网络的资源,没有必要在每一台机器上都维持一个
5、拷贝。有必要在每一台机器上都维持一个拷贝。不均等现象不可避免,而客户不均等现象不可避免,而客户-服务器模式体现了这种现象并很服务器模式体现了这种现象并很好地适应了这种现象。好地适应了这种现象。5 第二个原因:是技术性的第二个原因:是技术性的。互联网进程通信与单机进程通信不同:互联网通互联网进程通信与单机进程通信不同:互联网通信完全是异步的,无法知道哪个主机会在何时发信完全是异步的,无法知道哪个主机会在何时发起通信。起通信。因此,需要一种机制,为准备通信的进程之间建因此,需要一种机制,为准备通信的进程之间建立联系,为两者的数据交换提供同步。立联系,为两者的数据交换提供同步。C/S模式是客观现实与
6、技术实现相结合的产物!模式是客观现实与技术实现相结合的产物!首先,什么是早期单机应用软件的工作方式首先,什么是早期单机应用软件的工作方式和早期单机应用软件一般只和本机资源交互,包括通信串和早期单机应用软件一般只和本机资源交互,包括通信串/并口。当并口。当出现网络应用后,应用软件需要通过网络访问资源、交互信息,寻出现网络应用后,应用软件需要通过网络访问资源、交互信息,寻找一种基于网络的信息找一种基于网络的信息交互交互/计算分布模式计算分布模式。6振铃机制振铃机制收收/发协发协调调 电话通信的呼叫模式:主叫发起通信、被叫电话通信的呼叫模式:主叫发起通信、被叫振铃和提机、开始通信振铃和提机、开始通信
7、。振铃机制实现依赖振铃机制实现依赖信令系统控制处理,协调双方通信(收信令系统控制处理,协调双方通信(收/发)发)矛盾。矛盾。在网络环境下,许多问题的解决往往是通过位于在网络环境下,许多问题的解决往往是通过位于不同不同主机中的多个进程之间的通信和协同工作主机中的多个进程之间的通信和协同工作来完成的。来完成的。7会话(呼叫)系统会话(呼叫)系统会话会话模式。模式。传统传统TCP/IP网络应用程序使用客户网络应用程序使用客户/服务器模服务器模式,式,会话模式,如会话模式,如IP电话、视频会议、多方游戏等。电话、视频会议、多方游戏等。在客户在客户-服务器模式中,服务器模式中,每次通信均由客户进程发起,
8、每次通信均由客户进程发起,服务器进程从开机起就处于等待状态。服务器进程从开机起就处于等待状态。这可保证服务这可保证服务器随时对客户请求做出响应器随时对客户请求做出响应8 C/S模式是约定客户请求(发起)通信、服务模式是约定客户请求(发起)通信、服务器响应通信(提供特定的服务),基本可以理器响应通信(提供特定的服务),基本可以理解为请求解为请求/应答的分布计算(会话)模式应答的分布计算(会话)模式。互联网将网络软件分为客户互联网将网络软件分为客户、服务器、服务器,9客户软件的特点客户软件的特点 在进行通信时临时成为客户,但它也可在本地在进行通信时临时成为客户,但它也可在本地进行其他的计算,提供用
9、户端基本应用功能框进行其他的计算,提供用户端基本应用功能框架。架。被用户调用,在用户本地计算机上运行,在需被用户调用,在用户本地计算机上运行,在需要时主动向远地服务器发起通信。要时主动向远地服务器发起通信。可与多个服务器进行通信。可与多个服务器进行通信。通常不需要特殊的硬件和很复杂的操作系统。通常不需要特殊的硬件和很复杂的操作系统。10服务器软件的特点服务器软件的特点 专门用来提供某种服务的程序,可同时处理多个远地专门用来提供某种服务的程序,可同时处理多个远地或本地客户的请求。或本地客户的请求。在共享计算机上运行。当系统启动时即自动调用并一在共享计算机上运行。当系统启动时即自动调用并一直不断地
10、运行着。直不断地运行着。被动等待并接受来自多个客户的通信请求。被动等待并接受来自多个客户的通信请求。一般需要强大的硬件和高级的操作系统支持。一般需要强大的硬件和高级的操作系统支持。11两个术语两个术语在在C/S模式中:模式中:服务器服务器:被动等待通信的:被动等待通信的程序程序。不是计算机不是计算机。服务器级计算机服务器级计算机:运行服务器软件的功能强大的:运行服务器软件的功能强大的计计算机算机。硬件厂商把具有高速硬件厂商把具有高速CPU、大容量存储器、功能强大的操作系统的计算机、大容量存储器、功能强大的操作系统的计算机称为服务器,其实应该称为服务器级计算机。称为服务器,其实应该称为服务器级计
11、算机。12数据链路层数据链路层物理层物理层运输层运输层网络层网络层数据链路层数据链路层物理层物理层运输层运输层网络层网络层 发起连接建立请求发起连接建立请求应用层应用层应用层应用层客客户户服务器服务器因特网因特网 接受连接接受请求接受连接接受请求计算机计算机A计算机计算机B1 C/S 工作建立过程工作建立过程请求、应答、数据交互请求、应答、数据交互,TCP/IP系统支持。系统支持。C/SC/S都需要都需要TCP/IPTCP/IP系统支持系统支持C/S 工作过程和并发工作过程和并发13C/S模式的传输机制模式的传输机制 面向连接传输面向连接传输:使用面向连接的传输协议时,两个应用:使用面向连接的
12、传输协议时,两个应用必须首先建立一个连接,然后在该连接上发送数据。必须首先建立一个连接,然后在该连接上发送数据。无连接传输无连接传输:应用可以利用无连接接口在任何时间向任:应用可以利用无连接接口在任何时间向任何目的发送消息。何目的发送消息。客户和服务器在通信时,既可以使用面向连接传输协议,客户和服务器在通信时,既可以使用面向连接传输协议,又可以使用无连接传输协议又可以使用无连接传输协议。当使用面向连接传输时,。当使用面向连接传输时,客户需要首先形成一个到特定服务器的连接,该连接在客户需要首先形成一个到特定服务器的连接,该连接在客户发送请求和接收响应的过程中保持不变。当客户完客户发送请求和接收响
13、应的过程中保持不变。当客户完成对服务的使用时,必须关闭这一连接。成对服务的使用时,必须关闭这一连接。14一台计算机上可以运行多种服务器:一台计算机上可以运行多种服务器:1.充分利用硬件资源充分利用硬件资源。硬件可以被多种服务所共享。硬件可以被多种服务所共享。2.减少系统管理负载减少系统管理负载。因为这种情况可以减少被管理。因为这种情况可以减少被管理3.的计算机系统的数量。的计算机系统的数量。3.如果对服务的需求比较低,那么把服务器合并到一台如果对服务的需求比较低,那么把服务器合并到一台4.计算机上计算机上能够显著地减少开销能够显著地减少开销,而且,而且并不会明显地并不会明显地降低性能降低性能。
14、152 服务器多重服务服务器多重服务:数据链路层物理层运输层网络层数据链路层物理层运输层网络层数据链路层物理层运输层网络层应用层应用层应用层计算机A计算机B计算机C客户1服务器1服务器2客户2因特网16并发性并发性 客户客户-服务器交互模型的基础服务器交互模型的基础 并发服务器可以同时为多个客户提供服务,并不需要每个并发服务器可以同时为多个客户提供服务,并不需要每个客户等待前一个客户的请求完成客户等待前一个客户的请求完成 大多数并发服务器都是动态操作的。即只有当请求到达时,大多数并发服务器都是动态操作的。即只有当请求到达时,服务器才会动态地为到来的请求创建一个新的线程。服务器才会动态地为到来的
15、请求创建一个新的线程。服务器程序由两部分组成:服务器程序由两部分组成:主线程和服务线程。主线程和服务线程。主线程主线程:负责接收请求并为请求创建一个服务线程来处理请求。并使:负责接收请求并为请求创建一个服务线程来处理请求。并使服务器保持活跃状态,主线程在创建处理请求的服务线程之后,会等服务器保持活跃状态,主线程在创建处理请求的服务线程之后,会等待另一个请求的到来。待另一个请求的到来。服务线程服务线程:负责处理每个请求,然后终止。:负责处理每个请求,然后终止。如果如果N个客户同时请求一台计算机上的给定服务,则会有个客户同时请求一台计算机上的给定服务,则会有N+1个线程个线程提供服务。主线程等待额
16、外的请求,提供服务。主线程等待额外的请求,N个服务线程与每个客户进行交个服务线程与每个客户进行交互互在互联网中,客户发起请求完全是随机的,很有可能出现多个请求同时到达服务器的情况。17数据链路层物理层运输层网络层数据链路层物理层运输层网络层数据链路层物理层运输层网络层应用层应用层应用层计算机A计算机B计算机C客户1因特网因特网客户23 服务器并发:服务器并发:服务器服务器1*副本副本一个服务器同时响应多个请求,即服务器并发执行是基本一个服务器同时响应多个请求,即服务器并发执行是基本的,而不是逐个响应。一个服务器软件包括:接收请求、的,而不是逐个响应。一个服务器软件包括:接收请求、处理单个请求和
17、生成新线程三部分;当请求到达时,服务处理单个请求和生成新线程三部分;当请求到达时,服务器将它交给一个控制线程(副本),和已有线程并发。器将它交给一个控制线程(副本),和已有线程并发。服务器服务器118复杂的复杂的C/S交互:交互:实际大型网络应用实际大型网络应用S软件系统中,软件系统中,C/S的交互可能是复的交互可能是复杂的过程。杂的过程。1、客户应用不限制访问一个服务器,客户一个应用可、客户应用不限制访问一个服务器,客户一个应用可以成为多个不同服务器(可能不同计算机上)的客户,以成为多个不同服务器(可能不同计算机上)的客户,要处理多个服务器通信。要处理多个服务器通信。2、提供某种服务的服务器
18、同时能成为另一个服务的客、提供某种服务的服务器同时能成为另一个服务的客户,如文件服务器在进行文件服务处理时需要记录时间,户,如文件服务器在进行文件服务处理时需要记录时间,可能又要访问时间服务器。可能又要访问时间服务器。3、可能发生服务器的循环依懒,在两个服务器间,或、可能发生服务器的循环依懒,在两个服务器间,或多服务器之间的依懒环。多服务器之间的依懒环。19数据链路层数据链路层物理层物理层运输层运输层网络层网络层数据链路层数据链路层物理层物理层运输层运输层网络层网络层N N个服务器个服务器因特网因特网计算机计算机A计算机计算机BN N个客个客户户协议协议端口号端口号C与与S之间怎样准确之间怎样
19、准确识别特定服务?识别特定服务?20一台运行多种服务器的计算机上,每种服务一台运行多种服务器的计算机上,每种服务器如何识别发给自己的请求?器如何识别发给自己的请求?解决方法解决方法:传输协议为每种服务分配一个惟一的传输协议为每种服务分配一个惟一的标识符标识符,服务器和,服务器和客户必须使用这一标识符客户必须使用这一标识符。服务器服务器开始运行时,它向开始运行时,它向本地协议软件注册本地协议软件注册它使用的服务标识它使用的服务标识符。客户访问远程服务器时,需要符。客户访问远程服务器时,需要指定指定对应的服务标识符。对应的服务标识符。客户计算机客户计算机上的传输协议软件在发送请求时,向服务器计算机
20、上的传输协议软件在发送请求时,向服务器计算机发送发送这一标识符,服务器计算机上的传输协议软件使用这一标这一标识符,服务器计算机上的传输协议软件使用这一标识符决定处理这一请求的服务器程序。识符决定处理这一请求的服务器程序。21端口端口 端口就是运输层服务访问点端口就是运输层服务访问点 TSAP 端口的端口的作用作用就是让应用层的各种应用进程都能将就是让应用层的各种应用进程都能将其数据通过端口向下交付给运输层,以及让运输其数据通过端口向下交付给运输层,以及让运输层知道应当将其报文段中的数据向上通过端口交层知道应当将其报文段中的数据向上通过端口交付给应用层相应的进程。付给应用层相应的进程。从这个意义
21、上讲,从这个意义上讲,端口是用来标志应用层的进程端口是用来标志应用层的进程。服务器通过它明确所提供的服务服务器通过它明确所提供的服务22FTPTELNETSMTPDNSTFTPSNMP TCP UDP2123255369161应用层传输层端口层23102823.源端口目的端口TELNETB目的端口号=23把包发送到我的TELNET应用中AB24端口端口 端口用一个端口用一个 16 bit 端口号进行标志。端口号进行标志。端口号只具有本地意义,即端口号只是端口号只具有本地意义,即端口号只是为了标志本计算机应用层中的各进程为了标志本计算机应用层中的各进程。在因特网中不同计算机的相同端口号是在因特网
22、中不同计算机的相同端口号是没有联系的。没有联系的。25两类端口两类端口 一类是一类是熟知端口熟知端口,其数值一般为,其数值一般为 01023。当一种新的应用程序出现时,必须为它指派当一种新的应用程序出现时,必须为它指派一个熟知端口。一个熟知端口。另一类则是另一类则是一般端口一般端口,用来随时分配给请求,用来随时分配给请求通信的客户进程。通信的客户进程。26TCP/IP定义的应用程序熟知端口:定义的应用程序熟知端口:FTP:21,Telnet:23,SMTP:25,DNS:53,TFTP:69,HTTP:80,SNMP:161,协议协议端口号定义端口号定义而一般端口,是可以由系统开发人员随时定而
23、一般端口,是可以由系统开发人员随时定义分配的。义分配的。27名称名称TCP端口号端口号TCP端口号端口号描述描述EchoDiscardDaytimeChargenTime7913193779131937服务器返回客户发送的所有内容服务器返回客户发送的所有内容服务器丢弃客户发送的所有内容服务器丢弃客户发送的所有内容服务器以可读形式返回日期与时间服务器以可读形式返回日期与时间当客户发一个数据报时,服务器发送一连续字符流,当客户发一个数据报时,服务器发送一连续字符流,直至客户中断连接;直至客户中断连接;UDP发一随机长度的数据报发一随机长度的数据报从服务器返回一个从服务器返回一个32bit数,表示数
24、,表示UTC时间时间1900.1.1午夜至今的秒数午夜至今的秒数通常通常TCP/IP的主要端口号:的主要端口号:1225之间,之间,端口号端口号2561023由由Unix系统占用,系统占用,端口号端口号10245000作为临时端口分配,作为临时端口分配,5000以上(作为其他服务器)不常出现。以上(作为其他服务器)不常出现。标准简单服务标准简单服务端口号端口号28为什么服务器端口号一定是唯一定义的,而客户端的为什么服务器端口号一定是唯一定义的,而客户端的端口号可以是按定义的,也可以临时自指定的,只具端口号可以是按定义的,也可以临时自指定的,只具有本地意义?有本地意义?一计算机可以有多个应用进程
25、,通过不同的端口号一计算机可以有多个应用进程,通过不同的端口号(源不同(源不同/目的相同,源同目的相同,源同/目的不同,均不同),同目的不同,均不同),同时进行多任务处理,此时时进行多任务处理,此时TCP/UDP、IP完成复用与完成复用与分用。分用。协议端口号解决是协议端口号解决是C/S交互过程中服务器定交互过程中服务器定位问题,使所有客户都能正确找到需要的服位问题,使所有客户都能正确找到需要的服务,所以服务器端口一定唯一确定的,而客务,所以服务器端口一定唯一确定的,而客户源端口号只对客户自己有效。户源端口号只对客户自己有效。29实际通过实际通过TCP应用,除端口外,还必须有应用,除端口外,还
展开阅读全文