这是我参与「第三届青训营 -后端场」笔记创作活动的第 3 篇笔记。
以刷抖音时的底层互联网交互作为切入点,回顾了计算机网络的相关知识,并结合实际生产环境去理解网络的优化方向和稳定性建设。课程主要分为四个方面:
- 网络接入协议
- 网络传输协议
- 网络优化
- 网络稳定
本文介绍前两方面,网络接入协议与网络传输协议
网络接入协议
互联网的接入:网络拓部的整体认知
ARP 协议
- ARP广播/应答:协议原理
- 免费ARP:主动广播告知MAC地址
- ARP代理:虚拟网络/伪造MAC地址 IP 协议
- IPv4:互联网终端节点的唯一标识
- IPv6:不仅仅是IP地址长度的增加 NAT 协议
- NAT上网:家用路由器
- NAT出网:机房内网主机上外网
- NAT原理:注意不仅仅是源地址变换,源端口/校验和/SEQ等都会变化
网络传输
数据包:本质上是一段内存,里面存储的内存是有序的,一般是按照TCP/IP的多层协议去封装。拆包/封包都是按照协议去写内存/读内存。
UDP 协议
-
协议简单
-
需要考虑可靠性的场景使用复杂 TCP 协议
-
三次握手:确认传输的序列号/MSS/Option字段,建立连接
-
TCP连接:是一个虚拟的概念,本质上两倍维持一段内存,记录连接状态,就是session
-
TCP传输:理解sequence number/acknowledge number
-
丢包重传:理解丢包怎么感知并重传,理解快速重传发生在什么时候 HTTP
-
HTTP比TCP好在哪里:方便
-
HTTP1.1的优化:长连接是重点 HTTPS
-
HTTPS的产生背景:加密/可靠/防劫持
-
SSL/TLS握手:非对称加密/对称加密