网络程序设计入门.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章 网络程序设计入门 第7章 网络程序设计入门 人民邮电出版社 第1页 7.1 有关网络程序设计的一些概念 7.1 有关网络程序设计的一些概念 • 7.1.1 什么是网络应用软件? • 人们常将应用软件分为单机版的和网络版,单机版应用软件就是一 般程序设计语言教科书重点讲述的,在单机环境下使用的软件,这 种软件的特点是结构简单,易于学习与设计。另一种应用软件是需 要安装在网络环境中使用的,网络中不同主机上安装的软件需要进 行相互通信才能完成其功能,这就是网络应用软件,这种软件的特 点是结构较为复杂,软件设计者不但要掌握程序设计的一般知识, 还要掌握网络系统的有关知识与理解网络通信协议。由于计算机网 络的广泛应用,目前软件开发的主流是设计这类网络环境下的应用 软件。 第2页 7.1 有关网络程序设计的一些概念 7.1 有关网络程序设计的一些概念 • 7.1.2 网络中两个通信程序如何相互识别对方 • 在操作系统中我们知道,同一个系统中不同的两个进程间进行通信 时,通过系统分配的进程号(process ID)就可以惟一标识一个进 程,也就是说两个相互通信的进程,只要知道知识对方的进程号就可 以进行通信。而网络情况下进程间的通信问题,就要复杂得多,不能 只简单的用进程号来标识不同的进程。首先要解决如何识别网络中不 同的主机问题,其次因为各个主机系统中都独立地进行进程号分配, 并且不同系统中进程号的产生与分配策略也不同,所以在网络环境中 不能再通过进程号来简单的识别两个相互通信的进程了。 • 那么,在网络环境中,两个相互通信的进程,如何识别对方呢? 第3页 7.1 有关网络程序设计的一些概念 7.1 有关网络程序设计的一些概念 • 7.1.2 网络中两个通信程序如何相互识别对方 • 在网络中为了标识通信的进程,首先要标识网络中进程所在的主机, 其次要标识主机上不同的进程。关于网络环境下不同主机的识别问 题,在讲传输层协议时,我们知道为了完成端到端进程之间的通信, 在互联网中使用IP地址来标识不同的主机。关于主机上不同的进程问 题,在前面讲端口号时已经说明过,在网络协议中使用端口号来标识 主机上的不同进程。还有一个问题,就是前面我们讨论的都是在 TCP/IP协议下,端到端进程的标识问题,其实网络应用程序由于不同 的主机可能使用不同的网络协议,其工作方式不同,地址的表示格式 也不同,因此,网络中进程的通信还要解决多种协议的识别问题。这 样为了惟一的标识网络中通信的一个进程(即通信的某一方)就要使 用一个如下的三元组: • (本地协议,本地IP地址,本地端口号) 第4页 7.1 有关网络程序设计的一些概念 7.1 有关网络程序设计的一些概念 • 7.1.2 网络中两个通信程序如何相互识别对方 • 这样一个三元组由于它只指定了通信时一条连接的半个部分,即通信 的一方,所以叫一个半相关(half-association)。如果要完整的表示 网络中进行通信的两个进程,那么就要使用一个如下结构的六元组: • (本地协议,本地地址,本地端口号,远地协议,远地地址,远地端 口号) 第5页 7.1 有关网络程序设计的一些概念 7.1 有关网络程序设计的一些概念 • 7.1.2 网络中两个通信程序如何相互识别对方 • 下面我们仔细分析一下这样一个六元组,在互联网中通信的两台主机 在网络层都只能使用IP协议,但在网络层之上可以选择使用TCP协议 或UDP协议。这样就可能得到以下四种类型的相关六元组: •   (本地TCP协议,本地IP地址,本地端口号,远程TCP协议,远 程I

文档评论(0)

xingyuxiaxiang + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档