「打开抖音互联网会发生什么」| 青训营笔记

157 阅读3分钟

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

计算机网络

网络接入

互联网

机房的服务器应该与各大运营商连接,与国外的网络用光缆连接。

路由

同网段

IP在掩码的子网以内叫做同网段,同网段内也有路由,接入通过中间设备比如交换机(有IP)。同网段发包把目标mac改成查到的mac

不同网段

  • 路由一定是对称的吗?不一定,有多条路,不一定对称返回。
  • 路由工作在那一层?一般认为IP层
  • 路由改的是IP地址吗?不是,改的是mac地址,目标地址的ip应该是不变的。

ARP协议

  • 逻辑同网段才能发送ARP,跨网段不能。广播请求不能跨网段,而要一级级请求。
  • ARP请求是广播,应答是单播。
  • 免费ARP?告诉其它服务器要刷新,这里新增了一个服务器,同时会避免IP冲突。(免费指随便发)
  • ARP代理?发送ARP时中间设备劫持,发往另一个地方。
  • ARP本质上是查找下一跳的MAC,不是请求布标地址。

IP协议

  • 唯一标识,互联网统用,服务端一个,客户端一个。
  • MAC为什么不能代替IP地址?MAC二层以太网协议,但二层协议不止有以太网协议,由于互联网遗留问题,不能向下兼容,IP做了一层封装。MAC地址难记。
  • ipv4不够咋办?ipv6,不支持Ipv6的还有NAT

NAT协议

  • 内部局域网设备改源地址接入外部。
  • 多个内网客户端同时访问同一个目标地址+端口,源端口恰好一样,会有冲突吗?不会,NAT不仅改IP地址,也改端口。

DNS协议

  • 把域名映射到IP
  • 递归迭代请求
  • DNS协议基于的传输层协议是UDP

UDP协议

  • 如何保证可靠?如何避免分片(需要避免分片,提高效率),如何知道没有丢包?每次发包发多少?
  • 链路层具有最大传输单元MTU这个特性,它限制了数据帧的最大长度,不同的网络类型都有一个上限值。以太网的MTU是1500,你可以用 netstat -i 命令查看这个值。如果IP层有数据包要传,而且数据包的长度超过了MTU,那么IP层就要对数据包进行分片(fragmentation)操作,使每一片的长度都小于或等于MTU。我们假设要传输一个UDP数据包,以太网的MTU为1500字节,一般IP首部为20字节,UDP首部为8字节,数据的净荷(payload)部分预留是1500-20-8=1472字节。如果数据部分大于1472字节,就会出现分片现象。RFC 1191描述了“路径MTU发现”,该技术用于确定两台IP主机间的路径MTU,这样就可以避免IP分片。在Internet协议IPv4版本和较新的IPv6版本中,分片机制的细节和分片机制的整体框架是有所不同的。

TCP协议

  • 拔了网线连接会断吗?不会立刻断,会根据是否有探活,心跳包来决定。

网络提速

HTTP2.0

  • 多路复用,在tcp跑多个http请求
  • 多路复用/stream 其实是串行的一个一个包传,

HTTP3.0/QUIC

  • 解决http队头阻塞问题
  • 高效传输