3.5.1 网间进程相关概念
网络环境中节点通信或交互是以进程为单位的,我们称为网间进程,本节将对其标识及建立过程进行介绍。
1.网间进程
进程是操作系统中最重要的概念之一,在第2章中已经对此有所介绍。同一台主机上的两个进程之间可以相互通信以交换数据。网络上的两台主机之间也可以相互通信,通信的过程实际上是两台主机上的两个进程之间交换数据的过程,这两个相互通信的进程称为网间进程。例如,人们在使用浏览器浏览网页时,就是本地PC机上的浏览器应用进程(IE、Firefox、Opera、Chrome等)和远端Web服务器上的Web服务器进程(Tomcat、IIS、WEB Sphere等)进行通信。
2.网络应用程序与网络体系结构的关系
网间进程是网络应用程序的运行实例,从计算机网络体系结构的角度看,网络应用程序与网络体系结构的最上层——应用层紧密相关,如图3-26所示。
图3-26 网络应用程序与网络体系结构的关系
如图3-26所示,互相通信的是两个网络应用进程——IE浏览器进程和WWW服务器进程。
从功能上,每个网络应用程序分为两个部分,一部分是通信模块,它专门负责网络通信,直接与网络协议栈相连接,借助网络协议栈提供的服务完成网络上数据信息的交换;另一部分是面向用户或者进行其他处理的模块,负责接收用户的命令,或者对借助网络传输过来的数据进行加工。例如,在图3-26中,IE浏览器分为两个部分:用户界面模块负责接收用户输入的网址,把它转交给通信模块;通信模块按照网址与对方的WWW服务器进程连接,按照HTTP协议与对方通信,接收服务器发回的网页,然后把它交回给浏览器的用户界面模块。用户界面模块解释网页中的超文本标记,把页面显示给用户。WWW服务器端的Internet信息服务(IIS)也分为两部分,通信模块负责与客户端的IE浏览器进程进行通信,数据处理模块负责操作服务器端的文件系统或者数据库。
由此可见,网络编程首先要解决网络进程通信的问题,然后才能在通信的基础上开发各种应用功能。