您的位置:首页 > 理论基础 > 计算机网络

网络编程之路---3

2014-02-02 21:38 204 查看
网络编程基础:

1,进程基本概念:

进程是处于运行过程中度过程序实例,是操作系统调度和分配资源的基本单位。一个进程实体由程序代码,数据和进程控制3部分构成。程序代码规定了进程所做的计算,数据是计算的对象;进程控制块是操作系统内核为了控制进程所建立的数据结构,是操作系统用来管理进程的内核对象,也是系统用来存放关于进程的统计信息的地方。当创建一个进程时,系统会自动创建它的第一个线程,称为主线程。然后,该线程可以创建其他的线程,而这些线程又可以创建更多的线程。

2,网络应用程序进程在网络体系结构中的位置:

从功能上,可以将网络应用程序分为两个部分。一部分是专门负责网络通信的模块,它们与网络协议栈相连接,借助网络协议栈提供的服务完成网络上数据信息的连接;另一部分是面向用户或者进行其他连接的模块,它们接收用户的命令,或者对借助网络传输过来的数据进行加工。

3,实现网间进程通信必须解决的问题:

3,1网间进程的标识问题

3,2与网络协议栈链接的问题(通过定义Socket网络编程接口来解决)

3,3多重协议的识别问题

3,4不同的通信服务的问题

4,端口

端口是TCP/IP协议簇中,应用层进程与传输层协议实体间的通信接口(网络通信的最终地址不仅仅是主机的IP地址,还必须包括可以描述应用程序实例的某种标示符)

端口是一种抽象的软件机制,包括一些数据结构和I/O缓冲区,应用程序即进程通过系统调用与某端口建立绑定关系后,传输层给该端口的数据都被相应进程接收,相应进程发给传输层的数据都通过该端口输出。

端口号的分配机制:

端口号分为:保留端口号(众所周知的端口)和自由端口号

Client进程要与远地Server进程通信,c首先向操作系统申请一个自由端口号,自己的IP是已知的。c使用的传输协议是已经确定的,这样通信的一段已经完全确定。s的端口号是保留端口号,故端口号已知,s的ip地址也是已知的(在客户端输入网址请求访问一个网站的时候,网址当中包含对方的主机域名)s采用的传输协议必须与c一致,这样通信的另一端也完全确定了下来,c就可以与s通信了。

在TCP/IP的端口号分配机制中,服务器的保留端口是专门用来监听客户端的连接请求的,当服务器从保留端口收到一个客户机的连接请求后,立即创建另一个线程,并为这个线程分配一个服务端的自由端口号,然后用这个线程继续那个客户机进行通信;而服务器的保留端口就又可以接收另一个客户的连接请求了,这就是为什么一个网站的服务器可以同时为很多客户服务的原因。

5,进程的网络地址的概念:

应用层进程=(传输层协议,主机的ip地址,传输层的端口号)

6,网络中进程通信的标识:

五元组(传输层协议,本地机ip地址,本地机传输层端口,远地机ip地址,远地机传输层端口)

7,网络协议的特征:

7,1面向消息的协议:以消息为单位在网上传送数据,消息在发送端一条又一条地发送,在接收端也只能一条又一条地接收,每一条消息是独立的,消息之间存在着边界。(UDP)

7,2基于流的协议:不保护消息边界,将数据当作字节流连续地传输,不管实际消息边界是否存在。(TCP)

7,3面向连接的服务和无连接的服务:面向连接的服务是电话系统服务模式的抽象,即每一次完整的数据传输都要经过建立连接,使用连接和终止连接的过程。无连接的服务是邮政系统服务的抽象,每个分组都要携带完整的目的地址,各分组在系统中独立传送。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: