Golang 笔记4【网络路由】 | 青训营笔记

132 阅读2分钟

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

网络路由

  1. 同网段路由 多台设备链接到中转设备,或是SDN虚拟网络

  2. 跨网段路由 配置默认路由,没有匹配路由则发往默认路由。路由不一定是对称的,发送和回发的路径可能不同。 路由工作在网络层和传输层,路由涉及多层路由的交互。路由会改变mac地址和源ip地址,不改变目的端的ip地址。(BGP、OSPF)

  3. 网络接入 ARP协议:逻辑同网段才能发送ARP,跨网段先发ARP找到下一跳的地址,再发ARP。本质上是查找下一跳的路由

  4. Ip地址 二层网络兼容问题,地址统一问题。

  5. NAT 多个内网客户端访问同一个端口

  6. DNS 域名映射到IP

  7. TCP ack:期望下一次对方的seq是多少(+1),期望接受到的下一个package序号

  8. Http协议 为什么不直接使用TCP:业务分层

网络结构优化

  1. 网络提速——Http2.0

TCP多路复用:对头阻塞——QUIC/Http 3.0

QUIC采用UDP作为传输层协议,减少三次握手时间延迟,采用最新版本TLS 1.3,无需等待TLS握手完成就可以开始程序数据传输,达到快速建立连接的效果。QUIC还引入了stream offset的概念,一个stream可同时传输多个stream offset,通过PN标识数据,等所有PN标识数据达到服务器再进行重组(按照stream offset顺序)

  1. 静态资源

CDN网络,路径优化DSA

  1. 容灾

主备,切换时要保证备用基站可以附在原基站的流量

故障明确:明确故障是由什么原因导致的故障

故障止损:保证用户体验,在进行debug

分段排查:客户端,服务端,中间链路(dig,ping,traceroute...)

  1. 总结

http2.0,quic提速,故障排查,网络容灾,路径提速,数据中心提速