这是我参加「第三届青训营-后端场」笔记创作活动的第4篇笔记
其实在面试的时候也遇到过类似的问题,感觉主要是想考察对于网络整个过程的理解,不同层之间的协议,分层设计的目的,这个问题简单答可以很简略(比如每层用到了什么协议,协议的功能)
但是如果想答好,就要对每一层都不限于了解而是去理解,为什么某一层选择这个协议而不是另一个协议(tcp而不是udp),为什么有了mac地址还需要ip地址?这些内容可能已经有了标准答案可以背,但是只有理解了原理才能够提升自己
这里记录一下,老师在课程中提出的一些问题
网络接入
同一/不同网段是如何发包/交互的?
路由一定是对称的么?
如何找到下一跳的mac地址❓
免费ARP是什么?ARP代理
MAC地址为什么不能代替IP地址
IPV4不够用怎么办
🌟NAT协议👉深入了解下场景和原理
网络传输
UDP如何保证可靠
拔了网线,TCP连接会断开么?
为什么有了TCP还需要HTTP协议?
SSL/TLS握手过程
网络提速
HTTP2.0是如何提速的
如何理解多路复用/stream?
QUIC协议/HTTP3.0(协议优化层面)
数据中心分布
同运营商访问
静态资源(图片视频)路径优化
动态API路径优化(DSA)
网络稳定
如何进行容灾?故障发生,故障感知,自动切换,服务恢复
如何进行故障排查?故障明确,故障止损,分段排查
-
故障明确
-
沟通是前提
-
什么业务
-
故障体现在哪里
-
访问其他目标是否正常
-
是否为修改导致的故障
-
-
故障止损
-
先止损再排查
-
如何止损
-
-
分段排查
-
客户端
-
服务端
-
中间链路
-
网络稳定--故障排查常用工具和指令
-
dig查询dns问题
-
ping/telnet/nmap查询三层/四层连通性
-
traceroute排查中间链路
-
Iptables
-
tcpdump
故障预防很重要
-
监控报警
-
故障演练/预案
-
故障降级/止损
总结
记录上述内容,但是没有把老师的答案扒拉下来
今后温习的时候可以对着问题进行思考