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

Powered by:NEFU AB-IN

@TOC

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

  • 网络交互之网络接入

  • 网络交互之网络传输

  • 网络架构如何给抖音提质之网络提速

  • 网络提速的优化之路

网络交互之网络接入

刷抖音网络是怎么交互的

互联网

ARP(Address Resolution Protocol,地址解析协议)是计算机网络中的一个协议,用于将IP地址转换为物理地址,即MAC地址。在一个以太网(Ethernet)网络中,数据包的传输是基于MAC地址的,而不是IP地址(因为数据包的传输在物理层和数据链路层进行,而MAC地址是数据链路层中的一个唯一标识符。IP地址则属于网络层。这两者的功能和作用不同,因此在不同的层次上扮演不同的角色。)

从有线的网络,接到各个运行商的网络,运行商和抖音服务器接通


路由

作同网段的话,会在中间有一个有IP的交换机(可能是虚拟的)

SDN(Software-Defined Networking,软件定义网络)是一种网络架构和管理方法,旨在通过将网络控制平面(Control Plane)和数据转发平面(Data Plane)分离,并将网络控制逻辑集中在一个集中式控制器中,从而实现网络的灵活性、可编程性和集中管理。 在传统的网络架构中,网络设备(如交换机和路由器)通常负责自身的控制和数据转发,这导致了网络配置和管理的复杂性。而在SDN中,控制平面由一个集中式控制器管理,控制器通过与数据转发设备进行通信来决定数据包的路径和处理。
简单地说,主机A发送数据给主机B时,在网络上要经过一系列设备(包括终端,路由器等),在这一过程中寻找到一条从主机A到主机B的最佳路径并发送数据,就称为路由

  • 路由发包原理:

    • 同网段:配置网段即可默认添加静态路由。获取对端MAC直接发包(通过查找目标主机的MAC地址并创建一个数据帧来实现的)

      在某些网络设备中,当你配置了一个与本地子网不同的目标网段时,设备会自动添加一个静态路由,以便将数据包转发到这个目标网段。这个静态路由是手动配置的,但由于设备有这样的功能,使得你在添加特定目标网段的路由时,可以更加方便。

      静态路由和网关路由是网络中两种不同的路由类型:

      1. 静态路由: 如前面所述,静态路由是手动配置的,你需要明确指定目标网络的IP地址、子网掩码以及下一跳的IP地址。静态路由的管理比较简单,但在网络拓扑变化频繁的情况下可能需要频繁地手动更新路由表。

      2. 网关路由(Default Gateway): 网关路由是指设备使用的默认路由,用于发送到外部网络或未知目标网络的数据包。它通常表示设备的下一跳,用于发送所有未知目标的数据包。网关路由可以被视为一种特殊的静态路由,用于处理所有非本地子网的数据包。

      添加静态路由的步骤可以因设备而异,但通常如下:

      1. 登录到你的网络设备(如路由器、交换机)的管理界面或命令行界面。

      2. 寻找路由配置部分,可能会在网络设置或路由设置下。

      3. 添加一个新的静态路由条目。你需要提供目标网络的IP地址、子网掩码和下一跳的IP地址。下一跳地址是指数据包应该转发到的设备。

      4. 保存配置并应用静态路由。

      例子: 假设你有两个局域网,A网段是 192.168.1.0/24,B网段是 192.168.2.0/24,你希望在设备上配置一个静态路由,以便从A网段访问B网段。

      • 目标网段:192.168.2.0/24
      • 子网掩码:255.255.255.0
      • 下一跳地址:192.168.1.2(B网段中的设备IP)

      在命令行界面上,可能会类似这样配置:

      ip route 192.168.2.0 255.255.255.0 192.168.1.2
      

      这将在路由器上添加一个静态路由,将数据包发送到B网段的下一跳设备。

    • 跨网段:配置网关路由。获取网关MAC地址发包

  • 路由一定是对称的吗?

    • 不一定,是网状的,两台主机在通信时走的链路很有可能不相同。
  • 路由工作在哪一层协议?

    • 网络层(ip地址),但也未必。路由的过程中会用到很多协议,不一定全部工作在网络层。比如OSPF协议(开放式最短路径优先(Open Shortest Path First,OSPF))就工作在传输层
  • 路由是改ip地址吗?

    • 不是。路由是改mac,找到发包口。在报文发送过程中源ip地址和目标ip地址是不会改变的 。那发送过程中怎么找到下一跳呢?是发送ARP请求,通过链路层修改mac地址,每经过一个设备,源mac和目的mac都会修改

网卡是计算机中的一个硬件组件,通常被称为网络适配器。它位于计算机内部,负责将计算机与网络相连,处理数据包的封装和解封,以及通过网络传输数据。网卡具有一个独特的MAC地址,用于在局域网中标识设备。 在计算机网络中,网卡和网线是协同工作的。计算机上的网卡通过网线连接到网络设备,如交换机、路由器或调制解调器。数据通过网卡被封装成数据帧,然后通过网线传输到其他设备。

以太网网卡和Wi-Fi网卡是两种不同类型的网络接口卡,它们在连接方式、传输媒介和用途上有一些区别:

  1. 连接方式:

    • 以太网网卡: 以太网网卡通常通过有线电缆连接到网络。它们使用以太网协议来进行数据传输,例如使用Ethernet标准。
    • Wi-Fi网卡: Wi-Fi网卡通过无线信号连接到网络。它们使用Wi-Fi协议(例如802.11标准)在无线信号范围内进行数据传输。
    • 以太网网卡和网线适用于有线连接,Wi-Fi网卡适用于无线连接,它们分别满足不同类型的网络需求。
  2. 传输媒介:

    • 以太网网卡: 以太网网卡使用物理电缆(如网线)来传输数据,通常在局域网内提供高速、稳定的连接。
    • Wi-Fi网卡: Wi-Fi网卡通过无线电波在空中传输数据,适用于无线网络环境,但信号可能受到干扰和距离限制。
  3. 用途:

    • 以太网网卡: 以太网网卡通常用于连接到有线局域网,如在家庭、办公室或数据中心中。
    • Wi-Fi网卡: Wi-Fi网卡适用于无线网络环境,如连接到无线路由器或公共Wi-Fi热点,允许移动性和灵活性。
  4. 移动性:

    • 以太网网卡: 由于连接是有线的,以太网网卡的移动性相对较低,通常需要插入到有线网络插座。
    • Wi-Fi网卡: Wi-Fi网卡适用于移动设备,允许连接到不同的Wi-Fi网络,从而在不同位置进行无线通信。

综上所述,以太网网卡和Wi-Fi网卡是为不同网络环境设计的网络接口。以太网网卡适用于有线连接,提供高速和稳定性,而Wi-Fi网卡适用于无线连接,提供了移动性和灵活性。选择哪种类型的网卡取决于你的网络需求和使用情况。


ARP协议

地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。

  • 逻辑同网段才能发送ARP

    • 先找到下一跳,再发送ARP,不断迭代,一定是一级一级跳的
    • 广播不能跨网段
  • ARP请求广播,ARP应答单播

    • 回应的时候只给发送ARP的主机回复
  • 免费ARP?ARP代理?

    • 免费ARP:简单来说,当一个新的mac进入一个网段时,通过一个广播的ARP,告诉网段内其他节点自己的存在

    免费 ARP(Gratuitous ARP)包是一种特殊的 ARP 请求,它并非期待得到 IP 对应的 MAC 地址,而是当主机启动的时候,发送一个 Gratuitous ARP 请求,即请求自己的 IP 地址的 MAC 地址。

    免费 ARP 数据包有以下 3 个作用:

    • 该类型报文起到一个宣告作用。它以广播的形式将数据包发送出去,不需要得到回应,只为了告诉其他计算机自己的 IP 地址和 MAC 地址。
    • 可用于检测 IP 地址冲突。当一台主机发送了免费 ARP 请求报文后,如果收到了 ARP 响应报文,则说明网络内已经存在使用该 IP 地址的主机。
    • 可用于更新其他主机的 ARP 缓存表。如果该主机更换了网卡,而其他主机的 ARP 缓存表仍然保留着原来的 MAC 地址。这时,可以发送免费的 ARP 数据包。其他主机收到该数据包后,将更新 ARP 缓存表,将原来的 MAC 地址替换为新的 MAC 地址。
    • ARP代理:类似于我们开vpn,存在一个代理,劫持本来的ARP,发往另一个地方,以达到某个目的

IP协议

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

  • Mac地址不能代替IP地址吗?

    • 二层协议很多,存在不适用mac地址的网络设备,通过ip协议进行了一次封装,主要是进行了地址的统一,不同的协议统一起来
  • IPv4不够用,怎么解决?:

    • IPv6 (尽管IPv6的推广逐渐增加,但由于历史原因,IPv4仍然广泛使用,并且在许多地方仍然是主要的IP协议。网络设备和服务提供商正在逐步过渡到IPv6,以解决IPv4地址耗尽的问题并为未来的互联网发展做准备。)

    • NAT (NAT代表"Network Address Translation",即网络地址转换。它是一种网络通信技术,常用于将一个IP地址转换为另一个IP地址,以实现在不同网络之间的数据包转发和共享。

      NAT的主要目的是在具有私有IP地址的局域网内部和外部的公共网络之间建立连接。在IPv4地址不足的情况下,NAT成为一种常用的解决方案,因为它允许多个设备共享同一个公共IP地址。)

      • 家里的路由器,查看家里设备的ip地址一般都是192.168.xxx.xxx,称为内部地址。而路由器存在一个外部ip地址,所有的内部用户通过这个ip地址向外部发送数据

      • 多个内网客户端访问同一个目标地址+端口,源端口恰好一样,是否冲突?

        • NAT不仅仅改ip,而且改端口,源端口一样时,会在NAT设备上维护一张表,映射到不同的端口

        • 举个例子

        • 假设你家里有一个路由器,连接了多台设备,包括一台电脑和一台手机。路由器的公共IP地址是123.45.67.89。

        1. 内部设备发送请求: 你的电脑想要访问一个外部网站,比如www.example.com。你在电脑上输入了网址并按下回车键。此时,电脑会生成一个出站数据包,其中包含要访问的网站的IP地址(例如,IP地址为 203.0.113.5)和端口号。
        2. NAT映射创建: 当数据包从电脑出发,到达路由器时,路由器会将电脑的私有IP地址和端口号(例如,192.168.1.2:54321)映射到它的公共IP地址和一个新的端口号(例如,123.45.67.89:12345)。这个映射信息会被记录在NAT表中。
        3. 数据包传输: 路由器会将数据包发送到外部网站的IP地址,并将源IP地址和端口号改为路由器的公共IP地址和映射的端口号。外部服务器接收到数据包后,会将响应数据包发送回路由器的公共IP地址和端口号。
        4. NAT映射还原: 路由器接收到响应数据包后,会查找NAT表,找到之前创建的映射信息。它将目标IP地址和端口号还原为电脑的私有IP地址和端口号,并将响应数据包发送到电脑。
        5. 电脑接收响应: 你的电脑接收到响应数据包,显示网站的内容在浏览器上。

        这个过程中,NAT起到了关键作用。它允许多台设备共享一个公共IP地址,通过将内部设备的私有IP地址和端口号映射到公共IP地址和端口号,实现内部设备与外部网络的通信。这样,你的家庭网络中的多台设备可以共享同一个IP地址,节省了IP地址的使用。

相关推荐
千慌百风定乾坤1 天前
Go 语言入门指南:基础语法和常用特性解析(下) | 豆包MarsCode AI刷题
青训营笔记
FOFO1 天前
青训营笔记 | HTML语义化的案例分析: 粗略地手绘分析juejin.cn首页 | 豆包MarsCode AI 刷题
青训营笔记
滑滑滑3 天前
后端实践-优化一个已有的 Go 程序提高其性能 | 豆包MarsCode AI刷题
青训营笔记
柠檬柠檬3 天前
Go 语言入门指南:基础语法和常用特性解析 | 豆包MarsCode AI刷题
青训营笔记
用户967136399653 天前
计算最小步长丨豆包MarsCodeAI刷题
青训营笔记
用户52975799354724 天前
字节跳动青训营刷题笔记2| 豆包MarsCode AI刷题
青训营笔记
clearcold4 天前
浅谈对LangChain中Model I/O的见解 | 豆包MarsCode AI刷题
青训营笔记
夭要7夜宵4 天前
【字节青训营】 Go 进阶语言:并发概述、Goroutine、Channel、协程池 | 豆包MarsCode AI刷题
青训营笔记
用户336901104445 天前
数字分组求和题解 | 豆包MarsCode AI刷题
青训营笔记
dnxb1235 天前
GO语言工程实践课后作业:实现思路、代码以及路径记录 | 豆包MarsCode AI刷题
青训营笔记