一. 网络应用的体系结构
(1)客户机/服务器结构(Client-Server, C/S)
(2)点对点结构(Peer-to-Peer,P2P)
(3)混合结构(Hybrid)
1. 客户机/服务器结构
(1)服务器
全天候提供服务
永久性访问地址/域名
利用大量服务器实现可扩展性
(2)客户机
与服务器通信,使用服务器提供的服务
间隙性接入网络
可能使用动态IP地址
不会与其他客户机直接通信
Web
2. 纯P2P结构
没有永远在线的服务器
任意端系统之间可以直接通讯
节点间隙性接入网络
节点可能改变IP地址
优点:高度可伸缩
缺点:难于管理
3. 混合结构
二、网络应用进程通信
进程:主机上运行的程序
客户机进程:发起通信的进程
服务器进程:等待通信请求的进程
1. 套接字:Socket
进程间通信利用Socket发送或接收消息实现
2. 进程寻址
不同主机上的进程间通信,每个进程之间必须拥有标识符
寻址主机——IP地址
寻址应用——端口号/Port number
Http Server:80
Mail Server:25
进程的标识符:IP地址 + 端口号
三、应用层协议
RFC(Request For Comments)
公开协议:
允许互操作
HTTP、SMTP、。。。
私有协议:
多数P2P文件共享应用
协议内容:
(1)消息的类型:请求消息、响应消息
(2)消息的语法格式
(3)字段的语义
(4)规则
四、网络应用的需求和传输层服务
网络应用对传输服务的需求:
(1)可靠性
(2)时延
(3)带宽
Internet提供的传输服务: