网速优化及网络接入| 青训营

65 阅读2分钟

网速优化

灾容

故障发生

故障感知

自动切换

服务恢复

故障排查

从程序员角度分析处理流程,再切入细节

故障明确

出现什么故障?-->沟通是前提

什么业务?什么接口故障? 故障体现在哪里? 访问其他目标是否正常? 是否修改导致的异常?

故障止损

先止损再排查

用户体验第一 对公司收入的影响是按照分钟甚至秒来计算

如何止损?

组件没有灾容,但是系统有没有? 降级

分段排查

客户端排查

客户端访问其他服务有没有问题? 其他客户端访问目标服务有没有问题?

服务端排查

服务端监控/指标是否正常? 手动访问是否正常? 分组件排查

中间链路排查

服务端跟客户端确保没有问腿 中间网络设备有没有问题?(交换机/路由/网关) 旁路的DNS有没有问题?

网络故障排查常用命令

dig查询DNS问题 ping/telnet/nmap查询三层/四层连通性 Traceroute排查中间链路 iptabels tcpdump

网络接入

ARP协议

逻辑同网段才能发送ARP ARP请求广播,ARP应答单播 免费ARP?ARP代理?

ARP本质是查找下一跳的MAC,不是请求目标地址

IP协议

唯一标识,互联网通用。客户端一个,服务端一个。

网络传输先请求DNS

以抖音为例

1.客户端发www.douyin.com的解析请求 2.递归解析器去问“.” ,com.去哪里解析 3.递归解析器去问“com.” douyin.com去哪里解析 4.douyin.com告诉递归解(解析到xxx)

TCP传输

sequence number: 表示的是我方 (发送方) 这边,这个packet的数据部分的第一位应该在整个data stream中所在的位置。

acknowledge number: 表示的是期望的对方(接收方)的下一次sequence number是多少注意,SYN/FIN的传输虽然没有data,但是会让下一次传输的packet seg增加一,但是ACK的传输,不会让下一次的传输packet加一

HTTP/HTTP1.1

其实HTTP只是多加了一层规矩,HTTP依然是TCP,只是这个规矩让用户更清晰/更简洁。

HTTP1.1有哪些优化?

长连接、部分传输、HOST、缓存......

网络传输-SSL/TLS 握手

对称加密和非对称加密

确保没有劫持,也确保私钥不泄密

怎么理解多路复用/stream?

TCP连接通道有多个stream,例stream1、stream2、stream3

单个TCP链接传输