网络架构及其演变过程
单机
单机游戏
以下两个是基于网络的:
CS架构
客户端游戏
c/s --> client/server
服务端:供多人使用,一次更新,所有人都可以使用;还能保证数据的安全。
客户端:非常快;如果本地保存账号密码,安全性非常低;客户端不联网,数据不更新。
BS架构
网页游戏
c/s --> browser/server
互联网和互联网的组成
边缘部分
客户端/服务端,这些普通的计算机,负责接收/发送数据。
核心部分
传输网络的设备、路由、基站,负责数据的传输。
科普——网络访问过程
- 打开浏览器(客户端)。
- 输入www.taobao.com --> 地址指向淘宝的服务端。
- 按enter键客户端把www.taobao.com解析成淘宝的地址。
- 发送一条指令给淘宝,让淘宝把数据发给你。
- 客户端渲染数据。
互联网的组成
硬件
提供给你网络。
软件
应用程序,完成具体的任务。
OSI七层协议
互联网由硬件和软件组成,传输数据,只能传输电信号(0和1)。OSI把0和1从无意义的东西变成有意义的东西。
七层结构
- 物理层
- 数据链路层
- 网络层
- 传输层
- 会话层
- 表示层
- 应用层
物理层
计算机与计算机之间传输数据
光缆/网络:传输信号,连接两台计算机。
如果有一根网线可以连接任意两台设备,只要物理层就够了。
客户端 --> 01010011 --> 服务端
数据链路层
让同一局域网下的计算机连接在一起
把01010011 10101100变得有意义。
进行分组,每几位一组。
以太网协议:规定物理层中传输的0和1格式。
head:源地址、目的地址、数据类型
data:内容
发件人地址就是mac地址,计算机上网卡的地址,这个地址固定不变,并且唯一。每一台电脑有自己固定的mac地址。
广播:你一定知道自己的mac地址,还有收件人的mac地址。通某一台设备(交换机),但是交换机不知道mac地址对应的计算机是哪一台。交换机就会以广播的形式发给所有的计算机。收件人的计算机收到就会解析这条命令,拿到内容。之后交换机会记录两个mac地址。
以上基于局域网。
网络层
让不同局域网下面的计算机连接在一起
利用ip地址。只知道mac地址无法连接其他局域网内的计算机。因为mac地址只被交换机识别,然后不同局域网的交换机不一样。所有现在定义一个新的地址表面哪个局域网,通过路由器。
在数据链路层的基础上再包一层ip头。
mac地址(局域网)+ ip地址(互联网)就能找到全世界独一无二的电脑。
传输层
组织网络带来的数据。
端口号,找到一个固定的应用程序,一个端口号对应一个应用程序。
mac地址(局域网)+ ip地址(互联网)+ 端口号就能找到全世界独一无二的电脑上的独一无二的应用程序。
还有数据0和1发给应用程序。TCP和UDP协议。
应用层
0和1转换成具体的功能。
抽象层
客户端和服务端的应用程序想要通信,两者传输的数据必须是一样的。
Socket抽象层在传输层和应用层之间。
Socket抽象层就是写出一个全世界独一无二的计算机上的应用程序。既可以是客户端,也可以是服务端。