抖音网络的接入
- 同网段路由和跨网段路由
- 同网段路由:当源地址和目标地址在同一个网络(或子网)中时,使用同网段路由。在同一网段内,主机可以直接通过局域网进行通信,无需经过路由器进行转发。同网段路由通常使用ARP(地址解析协议)将目标IP地址解析为对应的MAC地址,并直接将数据包发送到目标主机。
- 连接:通过之间的交换机,并非直接连接。如果设备过多,接口不够还可以虚拟网络。
- 控制器负责管理和配置网络设备,控制数据包的转发路径以及处理网络策略和安全控制。而数据转发则由交换机来实现,交换机根据由控制器提供的规则进行数据包的转发和处理。
- SDN,全称为软件定义网络(Software Defined Networking)。传统的网络架构中,网络设备(比如交换机)的控制和数据转发功能是耦合在一起的。而SDN通过将网络的控制和数据转发分离,并通过中央控制器进行集中管理。
- 连接:通过之间的交换机,并非直接连接。如果设备过多,接口不够还可以虚拟网络。
void send_ one_ .pkt()
{
rt = find_ rt(dst) //包含主机出口网口&Nex thop
12->dst_ mac = rt->next. _hop->mac
p = append(p, 12)
send(p, rt->port)
}
- 跨网段路由:当源地址和目标地址位于不同的网络(或子网)中时,需要经过多个路由器进行转发才能到达目标主机,这就是跨网段路由。跨网段路由器通过查找路由表来确定下一跳,并将数据包沿着最佳路径转发给下一跳路由器,直到到达目标网络并将数据包传递给目标主机。跨网段路由通常使用动态路由协议(如OSPF、BGP等)或静态路由表进行路由选择和更新。
- APR协议
- ARP(Address Resolution Protocol,地址解析协议)用于将IP地址解析为对应的MAC地址。当一个设备需要与另一个设备进行通信时,它会先发送一个ARP请求,询问目标设备的MAC地址,并将该信息存储在ARP缓存中,以便后续通信使用。
- ARP请求是通过以太网广播发送的,所有局域网上的设备都能收到该请求。APR应答是单播的。
- 逻辑的同网段才可以发APR。如果不是同网段,APR就是一次一次的迭代进行发送。
- 本质:查找下一跳的MAC,不是请求目标地址。
抖音网络的传输
- 逐层包装
struct pkt {
something
}
void send_ one_ pkt()
{
p = malloc(sizeof (pkt))
p = append(p, siezoef(l2))
p = append(p, siezoef(13))
p = append(p, siezoef(14))
send(p)
}
- 递归解析 (指针) 在进行域名解析的过程中,本地DNS服务器通过递归查询,从根域名服务器获取到顶级域名服务器地址,然后从顶级域名服务器逐级查询,最终到达权威域名服务器获取到具体的域名解析结果。
- 顶级域名(如 .com、.net、.org等)
- 权威域名服务如:example.com
UDP
- UDP(User Datagram Protocol)是一种在计算机网络中常用的传输层协议。与TCP(Transmission Control Protocol)相比,UDP是一种无连接的、不可靠的传输协议。
HTTP
其实HTTP只是在特定场景下多加了一层规矩。HTTP依然是TCP ,只是这个规矩让用户更清晰/更简洁。
加密算法
- 非对称加密
-
消息接收方准备好公钥和私钥
-
私钥接收方自己留存、公钥发布给消息发送方
-
消息发送方使用接收方公钥对消息进行加密
-
消息接收方用自己的私钥对消息解密
- RSA 是现在使用最为广泛的非对称加密算法。
- 中间人攻击指的是在通信双方的通道上,混入攻击者。他对接收方伪装成发送者,对放送放伪装成接收者。 实际上,发送和接收方都是在和中间人通信。
- 第三方:---认证机构(Certification Authority)
网路提速
- 协议优化
- 多路复用
- QUIC/HTTP3.0 解决 TCP丢包时的对头阻塞问题
- 路径优化
-
数据中心化分布
-
解析到同运营商网络上
-
对于静态资源 实行CDN
-
CDN是指内容分发网络(Content Delivery Network),它是一种通过分布在全球各地的服务器来提供网站内容的技术。当用户访问一个网站时,CDN会根据用户的位置将网站的内容传输到距离用户最近的服务器上,然后由该服务器将内容传输给用户。这样做的好处是可以减少网站的加载时间,提高用户的访问速度和体验。
-
-
* 对于动态资源 实现路径优化算法 DSA
构建高可用的系统
- 分布式架构和数据中心化的结合
- 分布式系统架构:将系统的各个组件分布在不同的物理或逻辑节点上,并通过网络进行通信和协作。
- 数据中心化部署:将系统的数据存储和处理集中在数据中心的服务器上。同时数据中心可以提供大规模的计算和存储能力,以支持大量用户和复杂的数据处理需求。
- 数据中心可以部署在单个地理区域或跨多个地理区域,以实现高可用性和容灾能力。
- 跨地域容灾
- 在多个地理区域部署数据中心和相关系统,当一个地区的数据中心发生故障或不可用时,其他地区的数据中心可以接管服务,并保证服务的连续性。
- 数据备份与同步
- 将数据实时或定期备份到其他地区的数据中心,并保持数据的同步性。当一个数据中心不可用时,可以快速切换到备用数据中心,并恢复数据。
- 负载均衡和流量管理
- 负载均衡和流量管理是在分布式系统中保证高性能、高可用性和最佳用户体验的重要技术。通过合理的负载均衡和流量管理策略,可以使系统在面对高并发和大流量时保持稳定,并优化资源利用。
- 故障检测和恢复
- 实施监控和告警系统,及时发现服务器或组件的故障。采用自动恢复机制,例如自动重启故障的服务,减少人工干预时间。、
- 缓存和预加载
- 使用缓存和预加载技术,将热门内容和数据提前加载到内存中,以加速数据的访问和处理。