CN-网络应用进程通信

[[2023-09-17]]
# 网络应用进程通信
进程
- 主机上运行的程序
同一主机上运行的进程之间如何进行通信
- 进程间的
**通讯机制**
- 操作系统来提供
不同主机上运行的进程之间如何通信
消息交换
客户机进程:发起通信的进程
服务器进程:等待通信请求的进程
套接字: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 进行许可。
评论