【计算机网络 | 第12篇】网络应用原理
文章目录
- 网络应用原理:从发展到架构的核心解析
- 网络应用的发展历程
- 网络应用的核心本质
- 网络应用开发的基本原则
- 主流网络应用体系结构
- 1. 客户-服务器结构(C/S结构)
- 2. 对等结构(P to P)
网络应用原理:从发展到架构的核心解析
网络应用是计算机网络存在的核心意义。自因特网全面发展以来,各类实用且有趣的网络应用不断涌现,其演进历程可分为几个关键阶段:
网络应用的发展历程
- 20世纪70-80年代:诞生了基于文本的经典应用,如电子邮件、远程登录(SSH)、文件传输(FTP)和新闻组,为早期用户提供了基础的信息交流与资源共享功能。
- 20世纪90年代中期:万维网(World Wide Web)的出现开启了新时代,涵盖网页浏览、搜索引擎,推动电子商务发展,彻底改变了信息获取与交易方式。
- 2000年以来:创新应用层出不穷,包括IP电话(VoIP)、视频会议(Skype、Facetime等)、用户生成内容平台(YouTube)、在线点播(Netflix)、大型多人在线游戏(《第二人生》《魔兽世界》),以及社交网络(Facebook、Instagram、Twitter),丰富了人际交往形式。
- 近年来:智能手机与4G/5G普及催生了基于位置的服务,如签到(Yelp)、约会软件(Tinder)、交通预测(Waze)、移动支付(微信支付、Apple Pay)和即时通讯(微信、WhatsApp)等。
网络应用的核心本质
研发网络应用的核心,是编写能在不同终端设备间通过网络通信的程序——即让两个或多个运行在不同计算机上的软件模块实现“对话”。
- 示例1:浏览器访问网页时,本地设备的浏览器(客户端)与远端服务器(如Google、淘宝服务器)交互:输入网址后,浏览器发送请求,服务器返回网页内容并由浏览器显示。
- 示例2:B站等视频点播服务中,用户端程序运行在手机、电视等设备上,服务器端程序位于B站数据中心,负责存储和传输视频内容。
服务器通常托管于高效处理数据的数据中心,但小型应用也可使用普通云服务器或家用宽带。
网络应用开发的基本原则
- 代码仅部署于终端:应用程序代码只需运行在用户设备和服务器设备上,无需修改路由器、交换机等网络中间设备的软件。
- 核心设备不参与应用逻辑:路由器、交换机工作在网络底层(网络层、链路层),仅负责数据包传输,不涉及应用层逻辑,开发者无需控制这些设备。
- 边缘智能,核心简单:复杂功能集中在终端设备,网络核心保持简单高效,这是因特网设计的优势,便于新应用快速开发、部署和推广。
- 先规划体系结构:开发前需规划应用的组织与分布方式,即各部分在不同终端的运行与协作模式,而非依赖网络本身的分层结构。
主流网络应用体系结构
目前主流的体系结构有两种:
1. 客户-服务器结构(C/S结构)
-
组成:由一个或多个服务器与多个客户端构成。服务器是始终在线的主机,接收客户端请求并提供服务;客户端是用户终端设备(电脑、手机等),负责发起请求。
-
典型示例:Web浏览器与服务器的交互、文件传输、电子邮件等。
-
关键特征:
- 客户端之间不直接通信,所有交互需通过服务器中转;
- 服务器具有固定、已知的IP地址,且始终在线;
- 数据和服务集中在服务器,便于统一管理、维护和更新。
-
服务器扩展方案:
单台服务器易因用户增长出现服务器过载,大型企业通常采用数据中心部署服务器集群,通过物理服务器互联形成资源池,再分割为虚拟服务器(VPS)。- 优势:实现负载均衡(分散请求)、高可用性(故障冗余)、强扩展性(按需增删服务器)、统一管理与维护。
- 挑战:硬件成本高、能源消耗大、运维复杂、带宽费用高。因此,许多企业选择将服务器托管给云服务提供商(阿里云、AWS等)。
2. 对等结构(P to P)
- 核心特点:不依赖或几乎不依赖数据中心的专用服务器,用户设备(对等方)之间直接通信协作,节点地位平等,既可作为客户端请求资源,也可作为服务器提供资源(如家庭PC、智能手机等)。
- 典型应用:P to P文件共享、即时通信、P to P流媒体、分布式存储等(如BitTorrent)。
- 优势:
- 自扩展性强:新用户加入既增加请求量,也增强服务能力;
- 成本效率高:利用用户设备闲置资源,降低硬件、带宽和维护成本。
- 挑战:存在安全性、性能稳定性、可靠性问题,且监管难度大。
- 混合架构趋势:为平衡优势与管控需求,现代应用常结合两种架构,如热门资源用CDN中心化存储、冷门资源用P to P传输;核心功能(认证、支付)由中心服务器处理等。
如果我的内容对你有帮助,请 点赞 , 评论 , 收藏 。创作不易,大家的支持就是我坚持下去的动力!