计算机网络笔记 | 青训营

132 阅读5分钟

计算机网络

看视频需要:dNS域名解析、图片下载、视频下载、评论API-HTTP

个人思考:DNS就像虚拟通讯录,将所有ip和网址一一对应,这样省去了记忆ip的不便

如何与服务器交互

路由

掩码决定了子网范围,有了交换机可以做同网段(不一定是物理上的,通过虚拟网络也可以)

跨网段

路由不一定时对称的 路由是工作在哪一层协议:ip层 路由是改ip地址的吗:改mac地址,找到发包口

个人思考:这里我查了一下mac地址的含义,它就是每个设备的身份识别码,是唯一的,通过它可以定位到相应设备。

ARP协议

因为没有接触过ARP协议,所以我也查了一下,大概意思是将Ip地址转为对应的mac地址,以便底层网络协议拿着MAC地址通信

本质上是查找下一跳的mac 逻辑同网段才能发送ARP ARP请求为广播,应答为单播 免费ARP-提前判断ip是否有冲突

IP协议

MAC协议为什么不能代替ip:

额外知识:mac受局域网限制,在局域网设备间传输更高效,而ip则是全球网络范围内

IPV4不够用时怎么解决:NAT更改IP与端口

个人理解:NAT就像公用的电话,每个人都可以通过这个电话拨号或者接电话

通过NAT,把内部不同的地址映射到一个地址

网络传输

TCP三次握手

TCP连接是一种可靠的、面向连接的通信方式,能够保证数据的可靠传输和双向通信。

很多option都是在三次握手中交换

拔了网线后,tcp连接是否会断开?

取决于连接的是状态其他,因为拔了网线状态也不会改变,所以有时候会断有时候则不会。

滑动窗口机制

滑动窗口这里上课没讲,因此我去搜索了一下相关资料,我的理解就是,滑动窗口机制就像规划行车路线,每次规划都要提前看一下当前路线是否拥堵,如果拥堵那么就把当前路线的规划行车数量减少一点。

滑动窗口机制的基本原理是,在TCP连接中,发送方和接收方都维护了一个窗口,用于指示能够接收的数据的范围。发送方通过发送窗口的大小来控制发送的数据量,接收方通过接收窗口的大小来告知发送方能够接收的数据量,这个窗口可以根据网络状态动态调整大小。

HTTP1.1

HTTP仍然是TCP,只是这个规矩让用户更清晰/更简洁 HTTP的优化:主要的就是长链接,不需要每次请求

HTTPS

HTTPS解密出来也是HTTP,对HTTP进行加密,防止窃听

对称加密和非对称加密

非对称加密:把对称加密的算法进行加密。通过第三方的CA的公钥、私钥传输

HTTP2.0协议

最重要的思想就是多路复用,在视频中可以多图并发下载。并行相比串行提升明显。

这里很好理解,一次执行多次下载可以有效提升用户体验

HTTP3.0

防止队列头阻塞

数据中心分布

核心机房-POP接入-边缘机房 边缘机房更靠近用户、小运营商

个人思考:这样设计的好处:可以降低延迟、增加可靠性、点对点管理流量优化网络

移动网络访问移动更快,但是访问电信会不稳定,解析客户端到相应运营商接入

路径优化

静态资源

将不变的静态资源缓存到边缘机房,用户访问时首先到边缘机房查询是否存在缓存。

动态资源

对于评论接口,可以通过路径优化算法,在每个相邻机房做网络延迟探测,找出最优路径

网络稳定

容灾概念

故障发送、故障感知、自动切换、服务回复

专线

服务器间的内部连接 机房专线故障:环路容灾,避免某条专线故障导致机房孤岛问题(专线是连接各个机房的网络物理路径,如果专线不可用,则走外网容灾)

个人思考:专线容灾可能存在配置成本高+配置复杂的情况

单机房接入节点故障:DNS容灾,摘除故障的节点-字节GTM系统 云控容灾:云端交互,服务器/云上下发命令到终端-字节TNC系统 cache容灾:源站不可用,降级到之前的缓存内容-字节TLB/ByteCDN等系统的容灾建设

没有容灾的故障怎么查?

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

故障明确-故障止损-分段排查 可以做降级,如推荐算法转换为随机刷视频 分段:客户端、服务端、中间链路排查

我的总结

网络优化主要包含两个方面:提速和稳定 提速包括:路径提速、HTTP2.0提速、数据中心提速、QUIC提速 网络稳定包括:网络容灾、故障排查。