计算机网络
1.计算机网络体系结构
点击查看代码
* OSI七层结构
1. 应用层:网络服务和最终用户的接口,常见协议有HTTP
2. 表示层: 数据的表示,安全,压缩确保一个系统的应用层发送的信息可用被另一个系统的应用层读取。
3.会话层:建立,管理,终止会话,对应主机进程,指本地主机和远程主机正在进行的会话
4. 传输层: 定义传输数据的协议端口号,以及流控和差错校验,协议有TCP,UDP
5. 网络层: 进行逻辑地址寻址,实现不同网络之间的路径选择,协议有IP,ICMP等
6. 数据链路层:在物理层提供比特流服务的基础上,建立相邻结点的数据链路
7. 物理层:建立,维护,断开物理连接
* TCP/IP四层结构
1. 应用层
2. 传输层
3. 网际层
4. 网络接口层
* 五层体系结构
1. 应用层
2. 传输层
3. 网络层
4. 数据链路层
5. 物理层
- UDP,TCP,IP
点击查看代码
* UDP(用户数据报协议)
是一种简单的面向无连接协议,他不保证数据的可靠性和顺序传输
通过数据报的形势传输数据,每个数据是被独立的,不依赖于之前的数据包。
提供了一种快速的数据传输方式,适用于实时性要求高,对数据完整性要求不严格的场景,例如视频流传输等
优点:传输速度快,开销小
缺点:不可靠,容易丢包
* TCP(传输控制协议)
是一种面向连接的,可靠的,基于字节流的协议,通过建立连接,数据传输和连接释放等步骤来确保数据的可靠性和顺序传输
提供了一种流式的数据传输方式,数据在发送和接受之间建立虚拟的连接,确保了数据的顺序和完整性,适合在文件传输,网页浏览等场景
优点:数据可靠,顺序传输
缺点:传输开销大,实时性差
*IP(互联网协议)
是一种网络层协议,用于在计算机网络中传输数据包
负责确定数据包的传输路径,并将数据包从源主机传输到目标主机
使用IP地址来唯一标识每个设备,一遍正确的路由数据包。
- 网络为什么要分层
点击查看代码
为了提高网络的可扩展性,灵活性和可维护性,以及降低系统的复杂度
3.数据在各层之间是怎么传输的呢
点击查看代码
发送方,从上层到下层,层层包装。
接收方,从下到上,层层解开包装
* 发送方的应用进程向接收方的应用进程传送数据
* AP先将数据交给本主机的应用层,应用层加上本层的控制信息H5就变成了下一层的数据单元
* 传输层收到这个数据单元后,加上本层的控制信息H4,再交给网络层,成为网络层的数据单元
* 到了数据链路层,控制信息被分成两个部分,分别加到本层数据单元的首部H2和尾部T2
* 最后物理层进行比特流的传输
点击查看代码
1. 减少网络请求次数
2. 压缩数据
3. 缓存数据
4. 使用CDN
5. 使用性能更高的网络协议
6. 减少数据传输量,避免非必要的数据
点击查看代码
第一次握手:客户端发起连接请求,等待服务器确认,
第二次握手:服务器确认,发送给客户端,然后进入等待接收状态
第三次握手:客户端收到服务器确认消息,发生确认消息给服务器,客户端进入数据传输状态,服务器收到消息也进入数据传输状态。
* 第一次挥手:
客户端提出分手
二狗(客户端):最近你都不理我,是不是不爱我了?是不是在外面有别的狗了?我要和你分手。
大花(服务器):好的,我明白了,我会考虑一下的。
发送断开连接,等待
* 第二次挥手:
服务器确认分手
大花(服务器):我考虑好了,我们分手吧,但我需要一些时间来整理我的东西。
二狗(客户端):好的,我等你整理好。
答应释放,发送确认,等待,接收确认,都等待
第三次挥手:
* 服务器准备离开
大花(服务器):我的东西已经整理好了,现在轮到你了,你准备好了吗?
二狗(客户端):我也准备好了,我将离开。
发送确认,等待
第四次挥手:
* 客户端最终离开
二狗(客户端):好的,那我走了,再见。
大花(服务器):再见,你走吧。
接收确认,关闭,关闭
- Http和Https
点击查看代码
http:超文本传输协议
* 明文传输,容易被窃听截取
* 没有验证身份
*
https:安全超文本传输协议
* 客户端发起请求,连接到443端口
* 服务器必须要有一套数字证书
* 公钥加密发给服务器