这是我参与「第三届青训营 -后端场」笔记创作活动的第三篇笔记。作为后端开发人员,工作中会频繁与网络协议打交道,通过本次直播课程的学习,加深了我对网络的认识,熟悉了当打开抖音时,互联网底层会发生什么。主要知识点记录如下:
1.网络传输协议
-
路由一定是对称的吗?
路由是网状的,并不一定是对称的
-
路由是改的ip地址吗?
源ip,目的ip不会改,改的是mac地址,源mac和目标mac一直在变
-
Mac地址不能代替IP地址吗?
- 现存二层协议除了ARP还有其他的,需要兼容其他协议
-
IPV4不够用,怎么办?
- NAT:是ip地址+端口一起改变的。
-
多个内网客户端访问同一个目标地址+端口,源端口恰好一样,冲突了?
- NAT:是ip地址+端口一起改变的。
-
TCP传输
acknowledge number :表示的是期望的对方(接收方)的下一次sequence number是多少。注意,SYN/FIN的传输虽然没有data,但是会让下一次传输的packet seq增加一,但是,ACK的传输,不会让下一次的传输packet加—。
2、网络优化
目前使用最广泛的应用层网络协议是HTTP,对HTTP的优化也有很多研究,HTTP协议主要演进方向:HTTP1.0→HTTP1.1→HTTP2.0→HTTP3
-
网络提速:
1、Http2.0:
- 多路复用
- 缺点;队头阻塞
2、QUIC/HTTP3.0:
- 用UDP:实现了可靠传输
- 0RTT
- 弱网优势
- 为什么在用户态实现?内核的更新迭代频率较低,不好推广
- 为什么用UDP?TCP的队头阻塞问题不好解决,推倒重来&复用所有操作系统基本都支持的底层协议
3、静态资源路径优化CDN
CDN静态缓存系统:边缘机房(靠近用户)的建设,优先访问边缘机房,缓存命中视频/图片等静态内容
- 解决服务器端的“第一公里”问题
- 缓解甚至消除了不同运营商之间互联的差异
4、DSA动态加速系统(DCDN):分四层/七层动态加速。核心在于利用可控节点做路径探测和规划。