计算机网络学习笔记(二)- 网络应用
网络应用的基本原理
网络应用的体系结构
- 客户机/服务器结构(Client-Server, C/S)
服务器
• 7*24小时提供服务
• 永久性访问地址/域名
• 利用大量服务器实现可扩展性
客户机
• 与服务器通信,使用服务器提供的服务
• 间歇性接入网络
• 可能使用动态IP地址
• 不会与其他客户机直接通信 - 点对点结构(Peer-to-peer, P2P)
• 没有永远在线的服务器
• 任意端系统/节点之间可以直接通讯
• 节点间歇性接入网络
• 节点可能改变IP地址
• 优点:高度可伸缩
• 缺点:难于管理 - 混合结构(Hybrid)
文件传输使用P2P结构
文件的搜索采用C/S结构——集中式
• 每个节点向中央服务器登记自己的内容
• 每个节点向中央服务器提交查询请求,查找感兴趣的内容
网络应用基础
网络应用的基础就是进程间通信
- 进程:
主机上运行的程序 - 同一主机上运行的进程之间通信
进程间通信机制
操作系统提供 - 不同主机上运行的进程间通信
消息交换,利用socket发送/接收消息实现 - 进程的标识符
IP地址+端口号
IP地址用于寻址主机
端口号用于定位主机上需要通信的进程
应用层协议
网络应用需遵循应用层协议
- 应用层协议分类
公开协议
• 由RFC(Request For Comments)定义
• 允许互操作
• HTTP, SMTP, ……
私有协议
• 多数P2P文件共享应用 - 应用层协议的内容
消息的类型(type)