打开抖音会发生什么 | 青训营

146 阅读4分钟

刷短视频的网络交互过程

刷短视频涉及到多个网络层的交互。首先,用户设备通过互联网接入网络,并连接到路由器。在数据传输过程中,使用ARP协议来获取目标设备的MAC地址,然后使用IP协议进行寻址和路由选择。如果用户位于私有网络中,NAT(网络地址转换)会将私有IP地址映射为公共IP地址,以便与互联网进行通信。

一旦网络连接建立,视频内容需要下载到用户设备上。视频下载过程通常使用TCP协议进行可靠的数据传输。在TCP连接建立时,会进行三次握手,即客户端向服务器发送连接请求,服务器回复确认,客户端再回复确认,以确保双方都准备好数据传输。下载过程中,数据会被分成数据包,并通过IP协议进行传输。在发送数据包前,设备会请求DNS服务器将域名解析为IP地址,通常使用UDP协议进行这个请求。

TCP传输过程中,滑动窗口和流量控制是非常重要的概念。滑动窗口允许发送方在不等待确认的情况下发送多个数据包,从而提高传输效率。流量控制用于确保接收方能够处理接收的数据,并防止过量数据导致丢包。如果发生丢包,TCP会进行重传,以确保数据的可靠性。拥塞控制用于避免网络拥塞,通过动态调整传输速率来适应网络状况。

为什么互联网那么多HTTP通信而不直接用TCP通信?HTTP是应用层协议,它建立在传输层的TCP协议之上,提供了更高级别的功能和语义,如请求-响应模型、状态码、缓存等。HTTP能够更好地满足Web应用的需求,而直接使用TCP通信则需要开发者自己实现更多的功能。

HTTP1.1对HTTP1.0做了一些优化,引入了持久连接,使得多个请求可以在同一个TCP连接上复用,减少了连接建立的开销。此外,HTTP1.1还引入了分块传输编码,允许服务器在发送响应时逐步输出数据,从而提高了响应的实时性。

 

HTTPS是在HTTP的基础上加入了SSL/TLS协议进行加密和身份验证。SSL/TLS握手过程用于确保客户端和服务器之间的通信是安全的,它包括证书交换、协商加密算法和密钥等步骤。通过HTTPS,可以保护用户的隐私和数据安全,防止信息被窃听或篡改。

网络提速

HTTP2.0引入了多路复用,允许在同一个TCP连接上并发发送多个请求和响应,解决了HTTP1.x中的队头阻塞问题,提高了网络性能。多路复用允许多个请求和响应交错发送和接收,充分利用了网络带宽,加快了页面加载速度。 HTTP3.0使用了QUIC协议作为传输层协议,不再依赖TCP,通过多个UDP连接实现多路复用,进一步提高了网络性能和安全性。

数据中心分布和CDN(内容分发网络)是通过将内容分布到全球多个数据中心或边缘节点来优化网络性能。这样用户可以从距离更近的节点获取内容,减少了数据传输的延迟。

网络稳定

容灾概念指在发生故障时如何保持服务的连续性。这包括故障感知,自动切换到备用服务器或数据中心,以及服务恢复机制。

故障排查

故障排查是指在网络发生故障时,如何定位问题并解决。明确故障的原因是第一步,然后可以采取止损措施,分阶段排查问题,并使用一系列常用命令来测试网络连通性,如dig、ping、traceroute等。

故障预防

故障预防包括监控报警系统,及时发现并解决潜在的故障;进行故障演练和预案制定,以便在发生故障时能够迅速应对;实施故障降级策略或止损机制,确保在关键时刻能够维持基本服务。