1. CS架构
CS架构其实在我们身边比比皆是,手机里的app大多都是CS架构,比如腾讯作为服务端为你提供视频,你得下个腾讯视频客户端才能看它的视频。
这里的腾讯视频是客服端client,腾讯也有一个自己的服务端server
这种自己开创一个客服端的方式叫做CS架构。
CS架构的好处是:可以自定义发送数据的格式与方式
2. BS架构
BS架构其实也是CS架构中的一种,只不过需要我们独立开发的客户端变成了浏览器,我们就不需要再去开发客服端了!
BS架构的好处是:省去了开发客户端,都是必须按照浏览器的
3. 网络通信协议
3.1 什么是网络
没有网络的话,如果我需要另一台电脑上的一些小视频、小音频,我就需要拿个U盘跑到那台机器上,把那台机器上的东西拷贝下来,这就有个问题,如果我离那台电脑很远,我就需要耗费很大的精力去到那台电脑旁边。
这样显示是很不方便的,网络的产生就是为了解决上述问题,网络=物流链接介质+互联网通信协议,网络间的通信能够实现跨地域传输数据
3.2 osi的七层协议(重点)
osi的七层分别是:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层
我们一般只需要了解应用层、传输层、网络层、数据链路层、物理层这五层结构!!
每层的协议是指规定传输数据的组织格式
格式:头部+数据部分
这里其实可以把数据部分看成是一个包裹,头部当成包裹上的面单,两台计算机之间的数据传输其实就是封包和拆包的过程。
1.物理层
一组物理层数据称之为:位(Bit)
物理层负责发送电信号0/1
单纯的电信号毫无意义,必须要对其进行分组
2.数据链路层:ethernet以太网协议
数据链路层定义了电信号分组的方式
数据链路层有几个规定:
规定1:一组数据组称之为一个数据帧
规定2:数据帧分为两部分——>头+数据
头部包含了源地址,目标地址,数据类型等等,头部的地址是mac地址
数据包含的是网络层传来的整体内容
规定3:但凡接入互联网的主机必须有一块网卡。每块网卡在出厂前都会烧制好一个全世界独一无二的mac地址
注意:计算机通信基本靠吼,即以太网协议的工作方式是广播
3.网络层:IP协议
网络层是用来划分广播域的
每一个广播域但凡需要接通到外部,一定需要一个网关帮内部的计算机转发包到公网
网关与外界通信走的是路由协议
网络层也有几项规定:
1.一组数据称之为一个数据包
2.数据包分为两部分——>头+数据
头部包含:源地址,目标地址,数据类型等等,头部的地址是ip地址
数据包含的是传输层传来的整体内容
总结:
1.ip地址+mac地址 =》标识世界上独一无二的一台计算机
2.ip地址也可以标识世界上独一无二的计算机
3.ip+(mac)+port 标识世界上独一无二的计算机上的基于网络通信的软件
4.传输层:tcp/udp协议=》基于端口的协议
端口的范围是0-65535,其中0-1023是系统占用端口
4.1 基于tcp通信协议
基于tcp协议通信之前,必须建立一个双向通信的链接,这就需要提供三次握手,建立链接为传输数据做准备,它是一个可靠的传输。
通信完毕时需要断开链接,这时需要四次挥手
4.2 基于udp的通信协议
不需要和服务端建立连接,直接发送数据,所以这种方式是不可靠的,数据容易丢失,一般像广播、直播这样的就是udp
5.应用层
在应用层可以自定义协议,格式为:头部+数据部分
头部的长度必须固定,因为接收端需要通过头部获取需要接收数据的详细信息
4.层级之间的流程图