CN-网络应用进程通信

Molaters Lv5
[[2023-09-17]] # 网络应用进程通信

进程

  • 主机上运行的程序

同一主机上运行的进程之间如何进行通信

  • 进程间的**通讯机制**
  • 操作系统来提供

不同主机上运行的进程之间如何通信

  • 消息交换

客户机进程:发起通信的进程

服务器进程:等待通信请求的进程

Untitled

套接字:Socket

进程之间通信利用Socket发送和接受消息实现

类似于寄信

  • 发送方将消息送到门外的邮箱
  • 发送方以来(门外的)传输基础设施将消息传输到接收方所在的主机,并且送到接受方的门外
  • 接收方从门外获取消息

传输基础设施向进程提供API

  • 传输协议的选择
  • 参数的设置

很自然的问题,底层的设施怎么就能正确无误的接收到传输到的进程呢?

如何寻址进程

不同主机上的进程之间通信,那么每个进程都必须拥有标识符

如何寻址主机?——IP地址

  • Q:主机有了IP地址之后,是否**足以 定位进程?**
  • A:不是,同一个主机可能同时有多个进程需要通信

端口号/Port Number

  • 是主机上每个需要通信的进程都分配一个端口号
  • HTTP Server:80
  • Mail Server:25

进程的标识符

  • IP地址+端口号

应用层的协议

网络应用都应该需要遵循应用层协议

公开协议

  • 由RFC(Request For Comments)定义
  • 允许互相操作
  • HTTP,SMTP,……

私有协议

  • 多数P2P文件共享应用

应用层协议的内容

消息的类型(type)

  • 请求消息
  • 响应消息

消息的语法(syntax)格式

  • 消息中由哪些字段
  • 每个字段如何描述

字段的语义(semantics)

  • 字段中信息的含义

规则

  • 进程应该何时、如何发送消息
  • 标题: CN-网络应用进程通信
  • 作者: Molaters
  • 创建于 : 2023-11-24 10:14:50
  • 更新于 : 2023-10-12 17:06:00
  • 链接: https://molaters.github.io/2023/11/24/计算机网络/CN-网络应用进程通信/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
 评论