不同应用进程间的通信规则
计算机用户与网络、应用程序和与网络间的接口
相当于A公司向B公司发送的文件,文件可以是合同、报表等,这份文件就是应用层提供的服务
体系结构
客户/服务器体系结构(Client-Server architecture, C/S)
服务器:至少一个总是打开的主机,服务其他客户机的请求,具有固定且被知晓的IP地址
工作流程
- 服务器处于接收请求状态
- 客户机向服务器发送请求,等待接收结果
- 服务器接收请求,分析请求,处理并返回结果
特点
- 服务器无需知晓客户机地址,只需等待客户机发送请求
- 服务器可以同时处理多个客户要求
- 服务器可以对客户机进行权限控制,便于集中管理
- 客户机之间不直接通信
例子
Web、FTP、远程登陆、电子邮件
对等体系结构(Peer to Peer, P2P)
网络传输的内容保存在每个节点上,每个节点同时具有上传下载功能
特点
- 减轻服务器压力,消除对服务器的完全依赖
- 客户机之间可以直接通信
进程通信
不同应用间,通信的实际上是进程(process),不同端(计算机)之间的进程,通过交换报文进行通信
客户端:发起通信的进程
服务端:等待通信的进程
套接字(socket)
进程与网络之间的接口是套接字,应用进程通过套接字,在网络上发送或接收报文
套接字是应用层和传输层间的接口,又称应用程序编程接口(API)
寻址
不同主机通过IP地址标识,不同进程有不同的端口号
不同主机间通信,需要找到服务端的IP地址和端口号,即寻址
协议
协议内容
- 应用进程进行交换的报文类型(请求报文、响应报文)
- 报文的语法
- 字段的语义
- 发送报文的时间、方式,报文的响应规则