CS、BS架构和网络通信协议

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协议通信之前,必须建立一个双向通信的链接,这就需要提供三次握手,建立链接为传输数据做准备,它是一个可靠的传输。

image

通信完毕时需要断开链接,这时需要四次挥手

image

image

4.2 基于udp的通信协议

不需要和服务端建立连接,直接发送数据,所以这种方式是不可靠的,数据容易丢失,一般像广播、直播这样的就是udp

5.应用层

在应用层可以自定义协议,格式为:头部+数据部分
头部的长度必须固定,因为接收端需要通过头部获取需要接收数据的详细信息

4.层级之间的流程图

image

标签: python

添加新评论