软件开发架构
网络通讯
就是编写一款基于网络的软件
常见的软件开发架构
C/S、B/S架构
本质上B/S架构也是C/S架构的一种
客户端------------------------服务端
C:client -------------------- S:server
客户端:类似是客人
服务端:类似是饭店
客户端可以有多个,而服务器一遍只有一个
除了服务器之外的都可以称之为客户端
-
服务端:为所有的客户端提供服务的:
- 1.要不间断的对外提供服务
- 2.每个服务端都要一个公网IP
OSI七层协议
什么是网络:上传和下载数据的过程
网络的组成部分:物理连接设备 + 互联网网通讯协议(OSI七层协议)
互联网协议按照功能不同分为OSI七层或 TCP/IP 五层或 TCP/IP 四层
1. 物理层
物理层是负责发送高低电频的,就是一串二进制组成,但由于电脑无法识别叠加一起的电信号,所有必须进行分组,来表示不同的意思
2. 数据链路层
是负责把电信号进行分组,物理层做不了分组的事情
该层使用的协议是:以太网协议,以太网协议规定了每一个接入互联网的计算机都要有一个网卡,每一个网卡出厂就印上了唯一的Mac地址,十二位表示的十六进制,在局域网中,Mac地址就能确定唯一的一台计算机
数据我们称之为是数据帧,组成是:head + data
-
head的组成:(固定的18字节)
- 发送者的地址(6个字节)
- 结束者的地址(6个字节)
- 数据类型(6个字节) data:最少发送的数据是46个字节
- 每一次发送一帧的数据:64个字节 = head(18)+ date(46)
3. 网络层
网络层中的数据我们称之为 数据包
该层使用的是 IP协议,它规定接入互联网的计算机都要有一个IP地址
IP地址: IPv4、IPv6
-
IPv4:
- 0.0.0.0------>255.255.255.255
如何查看自己IP地址
在终端中(cmd)----> ipconfig ----> ipv4
一个单纯的 IP地址其实并不能确定唯一的计算机,只能确定一个局域网,如何确定一个局域网中的唯一一台计算机:
IP地址 +子网掩码
由于ARP协议,所以我们可以通过IP地址计算出来Mac地址
IP+MAC地址确定世界范围内唯一一台计算机
4. 传输层
传输层中的数据我们称之为数据段
使用的是TCP协议和UDP协议,端口协议,0-65535
- 0-1024之间的端口,一般是系统使用
- 1025-8000一般是常用的端口号
- 我们以后尽量使用8000以后的
端口:一个端口代表的就是台计算机中正在运行的应用程序,所以同一时刻,一台计算机中不能有一个端口号被两个应用占用
TCP协议和UDP协议:
- 三次握手:建立连接
- 四次挥手:断开连接
UDP协议:
它不建立连接,发送数据的时候直接发,至于对方能否收到、没关系
速度快、数据不安全
TCP:
速度慢、数据安全(反馈机制,双向通道)
应用层
- 我们自己开发的客户端软件,协议就可以按照我们自己规定的使用
- 浏览器使用的就是HTTP协议
- HTTP协议
- HTTP协议它的数据不安全,明文传输
- HTTPS协议更加安全,密文传输
- https = http + ssl证书