网络接入 | 青训营

132 阅读3分钟

网络接入

互联网的接入:

网络拓扑的整体认知。让设备可以访问抖音服务器。

路由发包原理:

  • 同网段:配置网段即可默认添加静态路由。获取对端MAC直接发包 。

  • 跨网段:配置网关路由。获取网关MAC地址发包 。

  • 动态路由:BGP/OSPF等,路由表在动态变化。

  • 路由是网状的,不一定是对称的 。

  • ARP协议

    • ARP广播/应答:协议原理。
    • 免费ARP:主动广播告知MAC地址。
    • ARP代理:虚拟网络/伪造MAC地址。
  • IP协议

    • IPv4:互联网终端节点的唯一标识、互联网通用。
    • IPv6:不仅仅是IP地址长度的增加。
  • NAT

    • NAT上网:家用路由器。
    • NAT出网:机房内网主机上外网。
    • NAT原理:注意不仅仅是源地址变换,源端口/校验和/SEQ等都会变化。

网络传输

  • 数据包:本质上是一段内存,里面存储的内存是有序的,一般是按照TCP/IP的多层协议去封装。拆包/封包都是按照协议去写内存/读内存。

  • DNS递归迭代

  • UDP

    • 协议简单
    • 需要考虑可靠性的场景使用复杂
  • TCP

    • 三次握手:

      第一次握手:建立衔接时,客户端包(seq=j)到服务器,并进入SYN_SENT状况,等待服务器承认;SYN:同步序列编号(Synchronize Sequence Numbers)。

      第二次握手:服务器收到syn包,必须承认客户端的SYN(ack=j+1),一起自己也发送一个SYN包(seq=k),即SYN+ACK包,此刻服务器进入SYN_RECV状况。

      第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送承认包ACK(ack=k+1),此包发送结束,客户端和服务器进入ESTABLISHED(TCP衔接成功)状况,完成三次握手。

    • TCP连接:是一个虚拟的概念,本质上两倍维持一段内存,记录连接状态,就是session。

    • TCP传输:理解sequence number/acknowledge number。

    • 丢包重传:理解丢包怎么感知并重传,理解快速重传发生在什么时候。

    • 滑动窗口:是一种流量控制技术。TCP 中采用滑动窗口来进行传输控制,滑动窗口的大小意味着接收方还有多大的缓冲区可以用于 接收数据。发送方可以通过滑动窗口的大小来确定应该发送多少字节的数据。当滑动窗口为 0 时,发送方一般不能再发送数据报。

    • 流量控制:利用滑动窗口机制可以很方便地在TCP连接上实现发送方流量控制。通过接收方的确认报文中的窗口字段,发送方能够准确地控制发送字节数。

  • HTTP

    • HTTP比TCP方便
    • HTTP1.1的优化:长连接是重点
  • HTTPS

    • HTTPS的产生背景:加密/可靠/防劫持
    • SSL/TLS握手:非对称加密/对称加密

网络提速

  • HTTP2.0

    多路复用:依然有队头阻塞

  • 数据中心建设

    • 多运营商接入:同运营商内部访问,避免跨运营商的流量。
    • 有边缘机房/汇聚机房/中心机房
  • CDN静态缓存系统:边缘机房的建设,优先访问边缘机房,缓存命中视频/图片等静态内容。

  • DSA动态加速系统:分四层/七层动态加速。核心在于利用可控节点做路径探测和规划。

网络稳定

  • 对容灾的理解

    故障发生-->故障感知-->自动切换-->服务恢复

  • 故障排查

    故障明确-->故障止损-->分段排查

    • 加强故障沟通-明确故障
    • 故障止损要在第一时间做(灾备预案的建设)
    • 熟悉常用的故障排查命令