一系列网络协议、OSI协议
软件开发结构:
C/S架构:
Client:客户端
Server:服务端
B/S架构:
Brower:浏览器(客户端)
Server:服务端
手机端:看起来C/S架构比较火,但是都在朝着B/S发展(微信小程序,支付宝第三方接口)
为了统一接口!方便操作,集中用户!
pc端:B/S比较火
本质:B/S其实也是C/S
服务端:24小时不间断提供服务,谁来我就服务谁
客户端:想体现服务的时候,就去找服务端体验服务
学习网络编程可以 ==> 开发C/S架构的软件
并发编程、前端、数据库、框架 ==> 开发B/S架构的软件
要想实现远程通信,首先满足的条件是:有物理连接介质
不同国家的人交流需要有一个公共的语言作为媒介 >>> 英文
计算机于计算机要想实现远程通信,光有物理连接介质是不够,
他们也需要一个共同的标准 >>> 协议
OSI七层协议(模型):
应用层
表示层
会话层
传输层
网络层
数据链路层
物理连接层
我们只需要了解五层:
应用层
传输层
网络层
数据链路层
物理连接层
OSI协议
从最底层开始分析,最底层最接近硬件,最上层最接近应用软件
1、物理连接层:
实现计算机之间的物理连接,传输的数据都是01001000100的二进制
电信号工作原理:电只有高低电频
2、数据链路层(以太网协议, arp协议):
2.1 规定了二进制数据的分组方式
2.2 规定了只要是介入互联网的计算机,都必须有一块网卡
这两个规定就是"以太网协议"
网卡:
每块网卡出厂时都被烧制上一个世界唯一的mac地址
长度为48位2进制,通常由12位16进制数表示
(前六位是厂商编号,后六位是流水线号)
基于以太网协议通信:通信基本靠吼!!!
弊端:广播风暴
补充:
arp协议:根据IP地址解析mac地址
交换机:如果没有交换机,你的电脑就编程了马蜂窝,有了交换机之后,所有的电脑只需要有一个网卡连接交换机即可直线多台电脑之间物理连接
3、网络层(IP协议):
规定了计算机都必须有一个ip地址
IP地址特点:点分十进制
有两个版本:ivp4 | ivp6 为了能够兼容跟多的计算机
最小: 0.0.0.0
最大: 255.255.255.255
IP协议可以跨局域网传输
IP地址能够唯一标识互联网中独一无二的一台机器
4、传输层(端口协议):
TCP, UDP基于端口工作的协议!
其实计算机之间通信其实是季璇玑上面的应用程序之间的通信
端口(port):唯一标识一台计算机上某一个基于网络通信的应用程序
端口范围:0~65535(动态分配)
注意:0~1024 通常是归操作系统分配的端口号
通常情况下,我们写的软件端口号建议骑在8000之后
flask框架默认端口5000
django框架默认端口8000
mysql数据库默认端口3306
redis数据库默认端口6379
注意:一台计算机同一时间一个端口号只能被一个应用程序占用
小总结:
IP地址:唯一标识全世界介入互联网的第一无二的一台机器
port端口号:唯一标识计算机中基于网络通信的某一个软件
IP+port:能够唯一标识全世界独一无二的一台机器上的某一个应用程序
5、应用层(HTTP协议, FTP协议):
TCP协议(流式协议, 可靠协议): 可靠的, 面向连接的
三次握手 | 四次挥手
三次握手:
1. A申请通信
2. B同意通信
3. B申请通信
4. A同意通信
四步完成下来,就完成了全双关通信,其中2、3步可以同时传输,故为三次握手
四次挥手:
1. A发起断开
2. B同意断开
3. B发起断开
4. A同意断开
四步完成下来,就完成了双方皆断开连接, 其中2、3步不可同时进行,A单方面断开连接,但是B有可能还有数据信息待处理而无法断开连接,故为4次挥手
名词:星轨
网站的并发量能够承受一次明星出轨引发的数据访问