TCP/IP之进程

进程间的通信

在建构网络应用程序之前,还需要对运行在多个端系统上的程序是如何相互通信的情况有一个基本了解。用操作系统的术语来说,进行通信的实际上是进程而不是程序。一个进程可以被认为是运行在端系统中的一个程序。当多个进程运行在相同的端系统上时,他们使用进程间的通信机制相互通信。进程间通信的规则由端系统上的操作系统确定。在两个不同的端系统上的进程,通过跨越计算机网络交换报文而相互通信。发送进程生成并向网络中发送报文;接受进程接收这些报文并可能通过回送报文进行响应。

客户和服务器进程

网络应用程序由成对的进程组成,这些进程通过网络相互发送报文。例如:在web应用程序中,一个客户浏览器进程与一台web服务器进程交换报文。在一个P2P文件共享系统中,文件从一个对等方中的进程传输到另一个对等方方中的进程。对每对通信进程,我们通常将这两个进程之一标识为客户,而另一个进程标识为服务器。对于web而言,浏览器是一个客户进程,Web是一一台服务器进程。对于P2P文件共享,下载文件的一方标识为客户,上载文件的一方为服务器。在一个P2P 文件共享的某些应用中,一个进程既能够是客户又是服务器。在P2P文件共享系统中,一个进程可以既能上传文件作为服务端,又可以下载问价,作为客户端。在这样的情况下我们需要怎样定义客户与服务器呢?

在一对进程之间的通信会话场景中,发起通信(即在该会话开始时发起与其他进程的联系)的进程被标识为客户,在回话开始时等待联系的进程时服务器。

在web中,一个浏览器进程向一台web服务器进程发起联系,因此该浏览器进程时客户,而该web服务器进程是服务器。在P2P文件共享中,当对等方A请求对等方发送一个特定的文件时,在这个特定的通信会话中对等方A是客户,而对等方B是服务器。

进程与计算机网络之间的接口

多数应用程序是由通信进程对组成,每对中的两个进程相互发送报文。从一个进程向另一个进程发送的报文必须通过下面的网络。进程通过一个称为他套接字的软件接口向网络发送报文和从网络接受报文。套接字是用一台主机内应用层与运输层之间的接口。由于该套接字是建立网络应用程序的可编程接口,因此套接字也称为称为应用程序编程接口。应用程序的开人员可以控制套接字在应用层端的所有信息,但是对该套接字的运输层端几乎没有控制权。应用程序的开发人员对运输层的控制限制在:

1、选者运输层协议

2、设定几个运输层的参数:例如最大缓存和最大报文段等。一旦应用程序开发者选择了一个运输层协议(有可供选择的话),则应用程序就建立在由该协议他提供的运输层服务上。

进程寻址

在一台主机上运行的进程为了向另一台主机上运行的进程发送分组,接受进程需要一个地址。为了标识该接收进程,需要定义两种信息:1、主机上的地址:2、在目的主机中指定接收进程的标识符。在因网中,主机由其IP地址标识。除了知道报文发送目地的主机地址外,发送进程还必须指定运行在接受主机上的接收进程(接收的套接字)。

 

 

 

 

 

 

 

 

 

有志者自有千计万计,无志者只感千难万难。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

潘多拉的面

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值