网络应用的体系结构
- 客户机/服务器结构(Client-Server, C/S)
- 点对点结构(Peer-to-peer, P2P)
- 混合结构(Hybrid)
客户机/服务器结构
- 服务器
- 永久提供服务
- 永久性访问地址/域名
- 大量的服务器实现了可拓展性
- 客户机
- 与服务器通信,使用服务器提供的服务
- 间歇性接入网络
- 可能使用动态的ip地址
- 不会与其它客户机通信
P2P结构
- 没有永远在线的服务器
- 任意端系统/节点之间可以直接通讯
- 节点间歇性接入网络
- 节点可能改变IP地址
- 优点:高度可伸缩
- 缺点:难于管理
混合结构
Napster
- 文件传输使用P2P结构
- 文件的搜索采用C/S结构——集中式
网络应用进程通信
在计算机网络中, 进程指的就是程序。
同一主机上的进程之间的通信
- 进程间通信机制
- 操作系统提供
不同主机上的进程之间的通信
- 消息交换
套接字(Socket)
进程间通信利用socket发送/接收消息实现,这个过程类似于寄信
寻址进程
- 不同主机上的进程间通信,那么每个进程必须拥有标识符
- 寻址主机——ip地址
- 端口号(Port number):为主机上每个需要通信的进程分配一个端口号( HTTP Server: 80;Mail Server:25)
- 进程的标志符(ip地址+端口号)
应用层协议
- 网络应用需遵循应用层协议
- 公开协议
- 由RFC(Request For Comments)定义
- 允许互操作
- HTTP, SMTP, ……
- 私有协议
- 多数P2P文件共享应用
应用层协议的内容
- 消息的类型(type)
- 请求消息
- 响应消息
- 消息的语法(syntax)/格式
- 消息中有哪些字段(field)?
- 每个字段如何描述
- 字段的语义(semantics)
- 字段中信息的含义
- 规则(rules)
- 进程何时发送/响应消息
- 进程如何发送/响应消息
网络应用的需求与传输层服务
网络应用对传输服务的需求
- 数据丢失(data loss)/可靠性(reliability)
- 时间(timing)/延迟(delay)
- 带宽(bandwidth)
Internet提供的传输服务
- TCP
- UDP
(...未完待续...)
来源:https://www.cnblogs.com/hichens/p/12544376.html