计算机网络(7)——网络应用进程通信原理

网络应用进程通信

在构建网络应用前,需要对运行在多个端系统上的程序是如何互相通信的情况有一个基本的了解。在操作系统的术语中,进行通信的实际上是进程(process)而不是程序,进程可以被认为是运行在端系统中的一个程序。
在两个不同端系统上的进程,通过跨越计算机网络交换报文(message)而互相通信。称客户机进程为发起通信的进程,服务器进程为等待通信请求的进程。

进程与计算机网络之间的接口——套接字(Socket)

如上所述,多数应用程序是由通信进程对组成,每对中的两个进程互相发送报文,从一个进程向另一个进程发送的报文必须通过下层的网络。进程通过一个称为套接字(Socket)的软件接口向网络发送报文和从网络接收报文。

类似于寄信,进程可类比于一座房子,而它的套接字可以类比于它的门。当一个进程想向位于另一套主机上的进程发送报文时,它把报文推出该门(套接字)。该发送进程假定该门到另外一侧之间有运输的基础设施(下层网络结构),该设施将报文传送到目的进程(另一座房子)的门口。一旦该报文抵达目的主机,它通过接收进程的门(接收进程的套接字)传递,然后接收进程对该报文进行处理。
在这里插入图片描述

如上图所示,套接字是同一台主机内应用程序与运输层之间的接口。该套接字是建立网络应用程序的可编程接口,因此套接字也称为应用程序和网络之间的应用程序编程接口(Application Programming Interface, API)。应用程序开发者可以控制套接字在应用层端的一切,但是对该套接字的运输层端几乎没有控制权,仅限于选择应用层传输协议、设定几个运输层参数如最大缓存和最大报文段长度等。

进程寻址

在一台主机上运行的进程为了向在另一台主机上运行的进程发送分组,接收进程需要有一个地址。为了标识该接收进程,需要定义两种信息:

  • 主机的地址——IP 地址
  • 在目的主机中的接收进程的标识符——端口号,例如 Web 服务器用端口号 80 来标识,邮件服务器进程用端口号 25 来表示。
  • 即通过“IP地址 + 端口号”来唯一地标识网络上的进程。
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值