文档详情

第3讲 网络程序通信模型.ppt

发布:2017-05-01约1.48千字共44页下载文档
文本预览下载声明
Windows网络编程基础;本讲内容;;1.Motivation;1.Motivation;会聚点问题的解决方案 1)要求下层通信协议在请求报文到达后自动创建运行程序 ——底层通讯程序太复杂! 2)要求在任何一对进行通信的应用进程中,有一方必须在启动执行后(无限期)等待对方与其联系。 ——客户-服务器模型的解决方案;2.客户和服务器; 服务器端首先启动,并根据请求提供相应的服务。 ① 向操作系统发送请求,请求其打开某个周知公认的端口,以便在该端口上提供服务; ② 等待客户请求达到该端口; ③ 接收服务请求,处理该请求并发送应答; ④ 重复②,等待其它用户请求; ⑤ 关闭服务器端口,释放资源; ;客户方主动请求服务器的服务: ① 向操作系统发送请求,请求其打开一个端口,利用该端口请求服务器服务; ② 向服务器发服务请求报文,等待并接收应答; ③ 重复②; ④ 请求结束后关闭端口,释放资源。 说明: ① 客户端与服务器的作用是非对称的,编码不同; ② 服务器进程一般是先于客户请求而启动的。只要系统运行,该服务进程一直存在,直到正常终止或强迫终止。 ;Whois服务器访问过程举例;Whois服务器访问过程举例;C/S结构;客户端与服务器间的通讯情形 ;客户端; C/S结构通信细节 客户与服务器之间的通信是通过分层的协议族实现的,信息流在发送端向下通过协议栈交付给具体的传输媒介,并在接收端向上通过协议栈提交给应用程序。 ;4.客户-服务器模型的扩展;5.客户端软件;5.客户端软件;1)服务器的特权和复杂性 特权:访问受操作系统保护的对象(如文件、数据库、设备或协议端口) 考虑:不能将特权传递给使用服务的客户 举例:文件服务器 ;代码复杂性——安全问题: 鉴别——验证客户身份 授权——判断某个客户是否被允许访问服务器所提供的服务 数据安全——确保数据不被无意泄漏或损坏 保密——防止未经授权访问信息 保护——确保网络应用程序不能滥用系统资源 代码的复杂性——效率问题 并发处理能力;2)无连接的和面向连接的服务器;面向连接的服务器 优点:易于编程 缺点:资源消耗问题 ???连接的服务器 优点:无资源消耗问题 缺点:编程复杂 ;选择思路 考虑 客户和服务器间通信的频度 客户和服务器间交换的数据量 UDP 对广播或多播应用程序必须使用UDP; 在可靠的本地环境中运行,不需要额外的可靠性处理; 应用协议指明必须使用UDP;;3)无状态和有状态服务器;举例:无状态文件服务器;举例:有状态文件服务器;使用状态服务器的两个要点;状态信息的维护是一个复杂的问题;UDP(用户数据报协议);TCP(传输控制协议);(1)网络中的并发;(2)系统内的并发;(3)服务器中的并发;基本概念 并发(concurrency):真正的或表面呈现的同时计算 分时(time sharing):使单个处理器在多个计算任务之间足够快地切换,从表面看这些计算是同时进行的。 多处理(multiprocessing):让多个处理器同时执行多个任务。;基本概念(续) 时间分片(timeslicing):描述多个并发线程共享可用CPU的系统时间的系统。 目的:试图在所有线程间平均分配可用的处理器资源。 方法: 进程间平均 优先级;并发服务器的设计代价;举例:并发和异步I/O ;串行设计;;1. B/S模型;2. P2P模型;2.1 一种思想;2.2 一类应用;2.3 P2P评价
显示全部
相似文档