- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
通信协议开发及应用
通信协议开发及应用 授课教师: 佘 丽 电话Email:shelim@163.com 所需背景知识 Windows操作系统基础知识 基础的网络背景知识(TCP/IP) C语言 教学目标 【教学目标】以Windows操作系统为平台,主要讲述如何开发基于TCP/IP网络通信协议的应用程序。 【教学重点】基于客户-服务器模型的分布式软件设计。 【教学要求】强调基本概念,循序渐进,以实例来讲解每个设计实际上是如何操作的。 教学内容 第一章 概述 第二章 客户—服务器模型 第三章 软件的并发处理 第四章 协议的程序接口 第五章 客户软件设计中的算法和问题 第六章 服务器软件设计的算法和问题 第七章 服务器软件设计实例分析 教学参考书 (美)Douglas E.Comer等,《TCP/IP网络互联技术(卷3):客户-服务器编程与应用(Windows套接字版)》,清华大学出版社。 (美)Douglas E.Comer等,《用TCP/IP进行网际互联第一卷:原理、协议与结构》,电子工业出版社。 曹衍龙等,《Visual C++网络通信编程实用案例精选》,人民邮电出版社。 第一章 概述 一、网络通信 二、TCP/IP协议 三、应用程序设计 一、网络通信1、网络通信协议概念 2、协议要素 语义:控制信息的内容,需要做出的动作及响应,即“讲什么”。 语法:数据与控制信息的格式、数据编码等,即“怎么讲”。 同步:事件先后顺序和速度匹配,即“序速度控制”。 3、协议分层 对于复杂的网络通信协议,其结构应采用层次划分。 采用分层结构有许多优点: (1)各层之间相互独立。 (2)灵活性好。 (3)结构上可分割开。 (4)易于实现和维护。 (5)能促进标准化工作。 各层协议互相协作,构成一个整体,常称协议集或协议族。 同层实体叫做对等实体,完成对等实体间的通信必须遵守同层协议。 二、TCP/IP协议 TCP/IP协议族包括4个功能层:应用层、传输层、互联网络层及网络接口层。 TCP/IP协议族: TCP/IP可以为各式各样的应用提供服务; 同时也可以连接到各式各样的网络上。 三、应用程序设计1、分布式环境下应用程序的设计 为分布式计算环境设计应用程序的程序员遵循一条准则:尽可能使分布式程序运行得像非分布式程序一样。 客户—服务器模型 2、标准和非标准的应用协议 标准应用协议:已经以RFC形式写成了文档,并成为TCP/IP协议族一部分。 非标准应用协议:由程序员自定义的供私人使用的应用协议。 例:标准应用协议Telnet 3、并发访问 为了快速响应和处理多个请求,提供服务的计算机必须使用并发处理。 第二章 客户—服务器模型 一、通信的会合问题 二、客户和服务器 三、客户端的参数化 四、交互方式选择 五、无状态与有状态的服务器 一、会合问题的提出 TCP/IP中如何解决会合问题? 通信双方有一方在启动执行后必须等待(无限期地)对方与其联系。 二、客户和服务器 在TCP/IP的应用层协议使用的是客户—服务器方式。 客户和服务器都是指通信中所涉及的两个应用进程。 客户(client):服务请求方。 服务器(server):服务提供方。 1、客户软件: (1)在进行通信时临时成为客户,但它也可在本地进行其他的计算。 (2)被用户调用并在用户的计算机上运行,在打算通信时主动向远地服务器发起通知。 (3)可与多个服务器进行通信。 (4)不需要特殊的硬件和很复杂的操作系统。 2、服务器软件: (1)是一种专门用来提供某种服务的程序,可同时处理多个远地或本地客户的请求。 (2)在共享计算机上运行。当系统启动时即自动调用并一直不断地运行着。 (3)被动地等待并接受来自多个客户的通信请求。 (4)一般需要强大的硬件和高级的操作系统支持。 客户进程和服务器进程使用TCP/IP协议进行通信 3、服务器的特权和复杂性 服务器软件的设计和实现比客户端软件复杂。 (1)并发处理。 (2)一定的系统特权。 服务器必须含有处理以下问题的代码: 鉴别—验证客户的身份。 授权—判断是否允许某个客户端访问服务器提供的服务。 数据安全—确保数据不被不经意地泄露和受损。 隐私—防止未经授权对个人信息访问。 保护—确保网络应用程序不滥用系统资源。 三、客户端的参数化 有些客户软件允许用户指定运行服务器软件的远程机器以及服务器侦听的协议端口。 允许用户指定协议端口号的软件有更多的参数,我们称之为完全参数化的客户软件。 四、交互方式
文档评论(0)