网络交互与网络传输协议 | 青训营笔记

82 阅读2分钟

这是我参与「第三届青训营 -后端场」笔记创作活动的第 3 篇笔记。

以刷抖音时的底层互联网交互作为切入点,回顾了计算机网络的相关知识,并结合实际生产环境去理解网络的优化方向和稳定性建设。课程主要分为四个方面:

  1. 网络接入协议
  1. 网络传输协议
  1. 网络优化
  1. 网络稳定

本文介绍前两方面,网络接入协议与网络传输协议

网络接入协议

互联网的接入:网络拓部的整体认知

image.png

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握手:非对称加密/对称加密