- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
华北电力大学 网络编程 1--绪论
1.1 网络协议分层
1.2 网络编程基础
1.3 基本网络协议
1.4 客户机/服务器模型
1.5 网络编程分类;1.1 网络协议分层;;网络协议分层的原因;OSI七层模型;OSI七层模型与TCP/IP四层模型;1.2 网络编程基础;;回忆单机进程通信
每个进程都有自己独立的地址空间。
OS提供了管道(Pipe)、软中断信号(Signal)、消息(Message)、共享存储区(Shared Memory)以及信号量(Semaphore)等形式多样的手段,从而确保单机进程间的通信既不互相干扰,又能协调一致。
网间进程通信:是指网络不同主机上的应用进程之间的相互通信。;;网间进程的标识问题
网间进程可能拥有相同的进程号。
与网络协议栈连接的问题
需要一种简单的方法,使用户不用考虑底层网络协议栈的工作过程,只要处理好上层应用程序所涉及到的相关问题即可。
例如,基于套接字的网络编程方法。
多重协议的识别问题
操作系统所支持的网络协议种类繁多。TCP/IP、IPX/SPX等
不同的通信服务的问题
不同的应用对象关于网间进程之间的通信服务会有不同的需求。;网络应用程序在网络体系结构中的位置;传输层是计算机网络中,通信主机内部进行独立操作的第一层,是支持端到端的进程通信的关键的一层。
TCP/IP协议提出了传输层协议端口(protocol port,简称端口)的概念。
端口是TCP/IP协议簇中应用层进程与传输层协议实体间的通信接口。
应用进程在通信时,必须用到一个端口,它们之间有着一一对应的关系,所以可以用端口来标识通信的网络应用进程。
端口标识符是一个16位的整数,TCP和UDP都可以提供65535个端口供应用层的进程使用。
;端口是操作系统可分配的一种资源,从实现的角度讲,是一种抽象的软件机制,包括一些数据结构和I/O缓冲区。;进行端口分配时,TCP/IP采用的是全局分配(静态分配)和本地分配(动态分配)相结合的方法,将TCP和UDP的所有端口分为保留端口和自由端口两部分。
保留端口(周知端口(Well-known Port) )
范围是0~1023,由一个权威机构统一分配,静态地分配给Internet上著名的服务器进程。
例如: WWW( 80),FTP( 21),SMTP(25)等
自由端口
范围是1024~65535,本地OS动态自由分配。;端口0:不使用,或者作为特殊的用途。
端口1~255:保留给特定的服务,如众所周知的服务。
端口256~1023:保留给其他的服务,如路由。
端口1024~4999:可以用做任意客户的端口。
端口5000~65535:可以用做用户的服务器端口。;;;思考题;1.3 基本网络协议;在网络分层体系结构中,各层之间是严格单向依赖的, “服务”是描述相邻层之间关系的抽象概念。
在OSI的术语中,网络层及其以下各层又称为通信子网,只提供“点到点”的通信,没有程序或进程的概念;而传输层实现的是“端到端”的通信,引进了网间进程通信的概念,同时也要解决差错控制、流量控制、报文排序和连接管理等问题。
网络编程时,要根据应用的需求,选择适当的协议,对于要求大量的可靠的数据传输,应当选择TCP协议,否则选择UDP协议。;UDP是一种面向消息的协议,以消息为单位在网上传送数据。消息之间存在着边界。;UDP协议提供无连接的数据报传输服务( 即议在通信前不需要建立连接),是对邮政系统服务模式的抽象,是一种尽力传送的传输服务。、
省去了建立连接和撤销连接开销。
适用于高可靠性、低延迟的网络。
例如,TFTP,SNMP,DNS等应用程序都使用UDP所提供的通信服务。
;TCP是一种基于字节流的协议,不保护消息边界,将数据当作字节流连续地传输。;TCP提供面向连接的字节流传输服务,是对电话系统服务模式的抽象,每一次完整的数据传输都要经过建立连接、使用连接和终止连接的过程。
TCP使用三次握手和四次挥手的方式来分别建立连接和终止连接。所有数据都会被无差错、无丢失、无重复、有序地传递。;TCP为应用层进程提供一个面向连接的、端到端的、完全可靠的全双工的流传输服务。
该协议适用于对可靠性要求较高、对执行效率要求不太苛刻的应用程序。
例如,FTP,HTTP,Telnet等应用程序都使用TCP所提供的通信服务。
;1.4 客户机/服务器模型;Internet仅提供了一个通用的通信构架,只负责传送信息,至于信息的处理、都要由应用软件和用户自己来解决。
在网络上,拥有众多资源的主机提供服务,资源较少的客户请求服务,是一种非对等关系;
网间进程通信完全是异步的,相互通信的进程间既不存在父子关系又不共享内存缓冲区,因此,需要一种机制为希望通信的进程间建立联系,为二者的数据交换提供同步。
客户机/服务器模型(Cli
文档评论(0)