概述
网络应用体系结构: 客户机/服务器, P2P, 混合结构
网络应用的服务需求: 可靠性, 带宽, 时延
internet传输层服务模型: TCP, UDP
特定网络应用及协议: HTTP, SMTP, DNS, P2P
Socket编程: TCP, UDP
网络应用的基本原理
网络应用的体系结构有三种
客户机/服务器结构(Client-Server, C/S)
服务器特点: 7 × 24小时提供服务, 永久性访问地址, 利用大量服务器实现可扩展性
客户机特点: 与服务器通信使用服务器提供的服务, 间歇性接入网络, 可能使用动态IP地址, 不会与其他客户机直接通信
点对点结构(Peer-to-Peer, P2P): 没有永远在线的服务器, 任意节点之间可直接通讯, 节点间歇性接入网络, 节点可能改变IP地址, 优点是高度可伸缩, 缺点是难于管理
混合结构(Hybrid): 例如Napster, 文件传输使用P2P结构, 文件搜索采用C/S结构
进程间通信
不同主机上的进程间通信需要消息交换, 发起通信的进程叫客户机进程, 等待通信请求的进程叫服务器进程
套接字(Socket): 进程间通信利用socket发送/接收消息实现, 传输基础设施向进程提供API
进程的标识符: IP地址+端口号
应用层协议: 网络应用需遵守应用层协议, 分为公开协议, 由RFC(Request For Comments)定义和私有协议
应用层协议内容
- 消息的类型 (请求消息, 相