一.网络应用的基本原理
1. 网络应用体系结构
(1)客户机/服务器结构(C/S):百度
·服务器:7 × 24h提供服务,永久性访问地址/域名,利用大量服务器实现可扩展性
·客户机:与服务器通信、使用服务器提供的服务,间歇性接入网络,可使用动态IP地址,不会与其他客户机通信
(2)点对点结构(P2P):BT种子共享
·没有永远在线的服务器
·任意端系统/节点之间可以直接通讯
·节点间歇性接入网络
·节点可能改变IP地址
·优点:高度可伸缩
·缺点:难以管理
(3)混合结构:Napster
·文件传输使用P2P
·文件搜索使用C/S——集中式
2. 网络应用进程通信
(1)进程通信:网络应用的基础
·进程:主机上运行的程序
·同主机进程通信:操作系统提供的进程间通信机制
·不同主机进程通信:消息交换
(2)套接字:Socket
·进程间通信利用Socket发送/接收消息
·传输基础设施向进程提供API
(3)寻址进程:标识符 = IP地址 + 端口号
(4)应用层协议
·公开协议:由RFC定义,允许互操作,如HTTP等
·私有协议:多数P2P文件共享应用
·内容:消息类型、消息格式、字段语义、规则
3. 网络应用的需求与传输层服务
(1)网络应用对传输服务的需求
·数据丢失/可靠性:某些网络应用可容忍一定数据丢失,如网络电话;某些要求100%可靠,如文件传输
·时间/延迟:有些应用只有延迟足够低时才有效,如网络电话、网络游戏
·带宽:某些应用只有在带宽达到最低要求才有效,如网络视频;某些应用适应任何带宽,如弹性应用Email
(2)Internet提供的传输服务
·TCP服务:面向连接、可靠传输、流量控制、拥塞控制、不提供时间/延迟保障、不提供最小带宽保障
·UDP服务:无连接、不可靠的数据传输、不提供可靠性保障、流量控制、拥塞控制、延迟保障、带宽保障
·使用UDP的原因:自由,留给应用层极大空间和掌控传输的能力
原文地址:https://www.cnblogs.com/zhangyushuqing/p/9612823.html