【计算机网络笔记】网络应用的体系结构

系列文章目录

什么是计算机网络?
什么是网络协议?
计算机网络的结构
数据交换之电路交换
数据交换之报文交换和分组交换
分组交换 vs 电路交换
计算机网络性能(1)------速率、带宽、延迟
计算机网络性能(2)------时延带宽积、丢包率、吞吐量/率
计算机网络体系结构概念
OSI参考模型基本概念
OSI参考模型中非端-端层(物理层、数据链路层、网络层)功能介绍
OSI参考模型中端-端层(传输层、会话层、表示层、应用层)功能介绍
TCP/IP参考模型基本概念,包括五层参考模型



前言

Internet网络的整个体系结构符合TCP/IP协议栈。应用层就在协议栈的最上层。

我们每天都在使用各种网络应用。比如QQ、支付宝、百度等等。

Q:网络应用与单机应用有哪些本质性的不同?

A:网络应用需要有网络的基础环境,一部分软件跑在我们自己的计算机上,比如我们电脑上的百度浏览器,而还有一部分软件以及数据信息等等跑在互联网上的某个地方,比如某个硬件服务器,这两部分软件互相交互才构成了一个网络应用。

既然一个网络应用是由不同的部分构成的,那它有哪些种结构可以选择?


从宏观角度看网络应用的体系结构

经过多年的发展,网络应用主要有三种结构:

  • 客户机/服务器结构(Client-Server, C/S)
  • 点对点结构(Peer-to-peer, P2P)
  • 混合结构(Hybrid)。C/S与P2P的混合。

客户机/服务器结构

客户机/服务器结构的特点是所有端系统有一个功能角色的划分,分为服务器和客户机。

  • 服务器:是对外提供服务的硬件或软件。

    • 服务器需要7*24小时提供服务
    • 要有一个可以永久性访问地址/域名
    • 当并发用户数达到几万几十万时,一台机器是无法完成的,就需要大量服务器 采用分布式技术实现可扩展性来处理大量用户的并发请求。这个一般都是在数据中心里面
  • 客户机:使用服务。

    • 与服务器通信,使用服务器提供的服务
    • 可以间歇性接入网络
    • 可能使用动态IP地址
    • 客户机之间不会直接通信

一个典型的例子就是Web

PC客户端向web服务器发出请求,一般是HTTP请求,服务器将页面和对象封装为HTTP响应,发回给客户端。


P2P结构

P2P结构的特点是所有端系统都是平等的:

  • 没有永远在线的服务器。
  • 任意端系统/节点之间可以直接通讯。
  • 节点间歇性接入网络
  • 节点可能改变IP地址

这种架构在日常中接触最多的就是文件共享服务。

P2P结构和C/S相比,它最大的优点是高度可伸缩性,缺点则是实现起来比较复杂,难于管理。


混合结构

能够兼具C/S和P2P这两种结构的优点,避免缺点。

典型的是Napster这个应用。

  • 文件传输使用P2P结构
  • 文件的搜索采用C/S结构------集中式。
    • 每个节点向中央服务器登记自己的内容。报告自己有什么内容可以共享。
    • 当其他节点要寻找某个文件的时候,就去中央服务器那里去查询。

在Napster应用架构中,中央服务器与其他节点之间是C/S关系。到真正的文件传输过程时,利用P2P结构,两个节点之间直接进行传输,避免了都从中央服务器去下载,从而避免服务器成为性能瓶颈。

相关推荐
你要飞2 小时前
Hexo + Butterfly 博客添加 Live2D 看板娘指南
笔记
IT帮5 小时前
2020年08月份04741计算机网络原理真题及答案
计算机网络
ajsbxi5 小时前
【Java 基础】核心知识点梳理
java·开发语言·笔记
呱呱巨基6 小时前
vim编辑器
linux·笔记·学习·编辑器·vim
新子y6 小时前
【小白笔记】普通二叉树(General Binary Tree)和二叉搜索树的最近公共祖先(LCA)
开发语言·笔记·python
聪明的笨猪猪6 小时前
Java JVM “调优” 面试清单(含超通俗生活案例与深度理解)
java·经验分享·笔记·面试
爱学习的uu6 小时前
CURSOR最新使用指南及使用思路
人工智能·笔记·python·软件工程
YuCaiH6 小时前
Linux文件处理
linux·笔记·嵌入式
Cathy Bryant6 小时前
大模型损失函数(二):KL散度(Kullback-Leibler divergence)
笔记·神经网络·机器学习·数学建模·transformer
疯狂吧小飞牛7 小时前
ip rule 策略路由
linux·网络·tcp/ip·运维开发