当前位置: 首页 > news >正文

网络架构及其演变过程

网络架构及其演变过程

一、单机架构

应用领域:

  • 植物大战僵尸
  • office

二、CS架构

img

应用领域:

  • QQ
  • 大型网络游戏

计算机发展初期用户去取数据,直接就去主机拿,从这里开始就分出了客户端和服务端。

客户端:用户安装的软件;

服务端:统一管理数据库的主机中的软件就叫做服务端,再后来服务端不只是管理数据,外加处理业务逻辑。

2.1、CS架构要求

  1. 用户操作系统安装客户端;产商操作系统部署服务端
  2. 每个用户需要独立安装软件、服务端升级也要每个用户升级

2.2、面试题:

数据放在服务端和客户端的利与弊?

  • 服务端统一处理有更好的安全性和稳定性而且升级比较容易,不过服务器负担就增加了。
  • 客户端将负担分配到每个用户,从而可以节约服务器资源,安全性和稳定性可能会有一定的问题,但是升级比较麻烦,每个安装的客户端程序都需要升级,另外为了节省网络资源,通过网络传输的数据应该尽量减少!

三、BS架构

img

应用领域:

  • 淘宝
  • 京东

统一客户端即默认安装用户电脑中的浏览器,访问同种类的网站,具体业务的处理根据相应协议和标准提供通用的服务器程序,在不同的服务器处理。

3.1两种BS架构

img

OSI主要用于教学(大学、绿本的计算机书),我们在编程的时候用的都是TCP/IP。

TCP/IP的对应关系,就像我们在淘宝购物,所在位置有的快递(网络接入层),告诉卖家地址(网络互联层)、快递送货(运输层)、收到货物拆包使用(应用层)。

注意:对于广泛使用的东西就需要制定相应的标准,就像大公司有很多制度来规范做事情的流程。由于网络传输应用非常广泛,但是规矩不是强制性的,所以叫做协议而不是标准,TCP/IP参考模型也可以看做是一种协议。BS结构中TCP/IP模型中的网络接入层没有响应的协议,网络互联层是IP协议,传输层是TCP协议,应用层是HTTP协议,另外还是用到了DNS结构,而且在HTTP上层还有相应。

基于BS结构下的程序就要求解决速度问题,而速度问题的核心就是解决海量数据操作和高并发问题,网站复杂架构就是从这两个问题演变出来的。

四、CS架构和BS架构的区别

img

五、互联网与互联网的组成

互联网的组成(教科书版)

img

互联网的拓扑结构按照工作方式划分,可分为两大部分:

  1. 边缘部分:这部分就是由互联网的主机(我们使用的计算机,包括服务器)组成,这部分是用户直接使用的,用来进行通信和资源共享。
  2. 核心部分:由网络和连接这些网络的路由器组成,这部分用来为边缘部分提供服务。

互联网的组成(科普版)

互联网一词我们大家都不陌生,我们所说的上网就是通过互联网获取数据,然后再去阅读数据

互联网的组成主要是由硬件和软件组成,就以我们打开淘宝网页进行举例:

  1. 打开浏览器,输入淘宝网址
  2. 浏览器请求域名服务器解析淘宝对应的IP
  3. 浏览器建立Socket连接,根据http协议获取http header,通过tcp/ip协议发送报文
  4. 然后通过一系列的路由器,找到淘宝网页存放的服务器
  5. 服务器将请求的数据打包,原路返回到浏览器上
  6. 浏览器解读数据,渲染成网页

相关文章:

  • 计算机操作系统概述
  • 计算机网络OSI七层协议
  • 计算机网络之VLAN简述
  • 计算机网络之子网划分
  • 计算机网络之DHCP工作过程的六个主要步骤
  • 计算机网络之洪水攻击
  • TCP协议的三次握手和四次挥手详解
  • 春招进大厂面试Linux,就这6个问题!
  • 你准备好了吗?开始Python之旅吧!
  • Python期末总结
  • struct 模块
  • 基于socketserver实现并发socket套接字编程
  • python来源介绍
  • 进程与线程的一个解释,小白也能看的懂
  • 进程基础
  • Angular6错误 Service: No provider for Renderer2
  • css属性的继承、初识值、计算值、当前值、应用值
  • django开发-定时任务的使用
  • JavaScript 基础知识 - 入门篇(一)
  • JAVA并发编程--1.基础概念
  • Node + FFmpeg 实现Canvas动画导出视频
  • Python_网络编程
  • React as a UI Runtime(五、列表)
  • Solarized Scheme
  • Vim 折腾记
  • 从0实现一个tiny react(三)生命周期
  • 开发了一款写作软件(OSX,Windows),附带Electron开发指南
  • 爬虫模拟登陆 SegmentFault
  • 世界编程语言排行榜2008年06月(ActionScript 挺进20强)
  • 数据仓库的几种建模方法
  • 网页视频流m3u8/ts视频下载
  • 学习笔记DL002:AI、机器学习、表示学习、深度学习,第一次大衰退
  • ​一帧图像的Android之旅 :应用的首个绘制请求
  • # Java NIO(一)FileChannel
  • # 计算机视觉入门
  • #Lua:Lua调用C++生成的DLL库
  • (5)STL算法之复制
  • (C#)一个最简单的链表类
  • (delphi11最新学习资料) Object Pascal 学习笔记---第2章第五节(日期和时间)
  • (done) 两个矩阵 “相似” 是什么意思?
  • (附源码)springboot高校宿舍交电费系统 毕业设计031552
  • (免费领源码)Python#MySQL图书馆管理系统071718-计算机毕业设计项目选题推荐
  • ***汇编语言 实验16 编写包含多个功能子程序的中断例程
  • .MyFile@waifu.club.wis.mkp勒索病毒数据怎么处理|数据解密恢复
  • .net oracle 连接超时_Mysql连接数据库异常汇总【必收藏】
  • .NET 使用 JustAssembly 比较两个不同版本程序集的 API 变化
  • .NET/C# 使用 ConditionalWeakTable 附加字段(CLR 版本的附加属性,也可用用来当作弱引用字典 WeakDictionary)
  • .NetCore 如何动态路由
  • .NET运行机制
  • .net专家(张羿专栏)
  • @selector(..)警告提示
  • [ NOI 2001 ] 食物链
  • [ vulhub漏洞复现篇 ] GhostScript 沙箱绕过(任意命令执行)漏洞CVE-2019-6116
  • [C++]拼图游戏
  • [codevs 1515]跳 【解题报告】