计算机网络基本概念和实际应用 | 青训营笔记

144 阅读4分钟

计算机网络基本概念和实际应用

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

网络接入协议

路由

  • 同网段发包?

    逻辑交换机改MAC就行

  • 不同网段发包

    to 10.0.1.1/24 via 10.0.0.254 提供中间路由路径 default via 10.0.0.254(网关)

  • 不一定是对称的

  • 不一定是网络层的,也可能涉及到传输层

  • 路由是改MAC,找到发包口

ARP

  • 逻辑同网段才能发ARP,广播不能跨网段

  • ARP请求广播,ARP应答单播

  • 免费ARP

    • 设备新加入网段时主动发送ARP
    • 新增IP时,提前判断IP冲突
  • ARP代理

    • 劫持ARP请求发向其他地方

IP

  • MAC为什么不能代替IP

    向下兼容二层除了MAC之外的协议

  • IPv4不够用的解决方法

    • NAT

NAT

  • 解决IP不够用
  • 用端口号识别不同主机

网络传输协议

DNS

  • UDP

    • 分片

      • 因为MTU传输有限制
    • 丢包

      • IP层没有提供可靠传输,丢了一份就要重传

TCP

  • 拔了网线已经建立的TCP会断吗

    • 保活,心跳包
  • Option

    • 很多都是在三次握手时进行交互

    • 时间戳

    • 分片参数

      • MSS

        • 三次握手确认的

          MTU: Maximum Transmit Unit,最大传输单元,即物理接口(数据链路层)提供给其上层最大一次传输数据的大小,比如IP层、MPLS层等等,因为目前应用最多的接口是以太网,所以谈谈以太网口的MTU,假定其上层协议是IP,缺省MTU=1500,意思是:整个IP包最大从这个接口发送出去的是1500个字节。可以通过配置修改成更大或更小的值,只要在系统的边界值以内即可,但是切记要在链路的两端都要修改,而且要大小一样,如果不一样,会造成大侧的数据被小侧丢弃!

     MSS:Maximum Segment Size ,最大TCP分段大小,不包含TCP头和 option,只包含TCP Payload ,TCP用来限制自己每次发送的最大分段尺寸。
  • ACK

    • 传输时seq不会+1
    • 子主题 2
  • seq

    • 当前packet在整个数据流里的位置
  • ack

    • 期望接收到的下一次的seq
    • ACK的seq不会+1,SYN和FIN会+1
  • TIME_WAIT

    • 参数

      • reuse

HTTP

  • 为什么要HTTP

    • 已经规定好交互原则,可以专注于代码
    • TCP的内容已经很多了
  • HTTP1

    • 长连接
    • 缓存
  • 2.0

    • 多路复用

      • 多个stream,stream本身是串行的

      • 但是丢包的时候可能造成队头阻塞

        • SACK解决

网络稳定

容灾

  • 概念

    • 故障发生

    • 故障感知

      • 监控或者上报
    • 自动切换

    • 服务恢复

  • 案例

    • 机房之间,能走专线走专线,不能也可以走外网

    • 子主题 2

    • 云控

      • SDK里添加容灾功能

        • 所以Web页面是使用不了的
      • 云到端 -> 主动降级/容灾,服务器挂掉的时候可以自动切换

    • 静态资源降级

      • bug导致全crash,使用兜底逻辑/cache文件

排查

  • 故障明确

    • 是否是上下游的问题
    • 是否是自身修改导致的问题
  • 故障止损

    • 先止损再排查

      • 容灾/降级
  • 故障排查

    • 分段排查

      • 客户端

        • 客户端访问其他服务
        • 其他客户端访问服务
      • 服务端

        • 监控/指标正常吗
        • 手动访问正常吗
      • 中间链路

      • image-20220520111724728

    • 网络排查常用命令

      • dig查DNS问题
      • ping/telnet/nmap查三层/四层连通性
      • traceroute查中间链路
      • iptabels
      • tcpdump
    • 案例

      • 客户端个例

        • 防火墙问题
      • 安徽电信报障某APP无法使用->检测后端服务正常,安徽电信流量突降->安徽电信客户端ping不通目标服务- > 电缆被挖断

预防

  • 监控报警
  • 故障演练/预案
  • 故障降级/止损

网络优化

协议优化

  • QUIC/HTTP3.0

    • 为什么在用户态
    • 对2.0的多路复用优化,解决队头阻塞
    • 优势是弱网传输
    • HTTPs加密

数据中心分布

  • 核心机房

    • 负责生产,上传的会传到这里
  • 边缘机房

    • 小运营商
  • POP接入

    • 运营商

同运营商访问

  • 跨网的访问质量差
  • 通过IP解析来实现

cdn

  • 静态资源(图片视频)路径优化

DSA

  • 动态API(播放/评论接口)路径优化

    • 在网络拓扑里找延迟最低路径,算法实现

image-20220520111651827

\