Network

  1. 网络是如何通信的
    • OSI 七层模型简介:从物理层到应用层,每层都有特定的功能,以确保信息从源到目标能够可靠、有效地传输。
    • TCP/IP 模型与 OSI 对比:TCP/IP 是实际使用的模型,它简化了 OSI 模型的层级,但大部分原则和功能是相似的。
  2. 设备与流量管理
    • 网卡的工作原理:作为计算机与网络的桥梁,转换数据流与电信号。
    • TUN/TAP 设备的使用场景和区别:虚拟网络设备,TUN处理层3 (IP层),而TAP处理层2 (数据链路层)。
    • 多网卡的流量管理和策略:如何在多个网卡之间正确、高效地路由流量。
    • 路由表和策略路由的工作方式:路由表指导数据包如何到达目标,策略路由则基于策略来决定路由方式。
  3. 局域网与互联网
    • 局域网和互联网的区别:局域网是小范围的网络,如家庭或办公室,而互联网则是全球范围的网络。
    • 交换机与路由器的功能和工作原理:交换机在同一局域网中转发信息,而路由器在不同网络之间路由信息。
    • 负载均衡技术概述:通过分配流量到多个服务器,确保网站或应用可用性。
    • DDoS攻击机制与防御策略:恶意攻击使资源不可用,防御策略包括流量分析和过滤。
  4. IP地址与BGP
    • DHCP自动分配IP地址的机制:自动为设备分配IP地址,简化网络配置。
    • BGP网络的作用与工作原理:互联网的核心路由协议,决定如何将信息从一个地方路由到另一个地方。
  5. 网络协议与安全
    • DNS, DHCP, HTTPS 的工作原理:域名解析、IP地址分配和加密的网站通信。
    • DNS Rebind攻击原理:攻击者欺骗浏览器访问错误的IP地址。
    • TLS与HTTPS证书交换过程:安全地传输信息并验证网站身份。
    • 网络证书验证机制:确保你访问的网站是真正的、未被篡改的。
    • CA证书机构的作用和证书撤销:证书机构发行和验证证书,撤销则是在证书不再安全时取消其有效性。
  6. 网络代理与隐私
    • 代理服务器的工作方式:代理用户访问互联网,提供匿名性和缓存。
    • 抓包工具及其局限性:捕获网络上的数据包,但可能受到加密的限制。
    • 移动设备的安全隐患:可能的漏洞和威胁,以及如何防范。
  7. VPN与SDWAN
    • VPN 的工作原理:创建一个安全的、加密的连接,使远程用户可以像在局域网内一样访问资源。
    • VPN 用于组网的解释:除了远程访问,VPN还用于连接多个网点,形成一个统一的网络。
    • site to site VPN 概述:连接两个或多个网络,使它们像一个网络一样工作。
    • SDWAN技术与优势:使用云技术优化广域网连接,提供更好的性能和更低的成本。
  8. 分布式网络技术
    • P2P网络的原理:节点直接交互,无需中心服务器。
    • IPFS简介:分布式文件存储系统,使web更持久、更高效。
    • Tor网络与洋葱路由:为用户提供匿名性的浏览方式。
    • DarkNet的定义与用途:隐藏的互联网部分,通常与非法活动相关。
    • 星链 (如SpaceX的星链项目) 的技术与目标:使用卫星网络提供全球高速互联网接入。

Home Network 家庭网络

一般家庭常见的网络接入有两种:

  1. 光纤入户
  2. 小区宽带

当我们与大型运营商如联通、电信签约时,通常选择光纤入户。施工团队会从信号井将光纤线引入我们的住所,然后进行光纤熔接。完成后,光纤将连接到提供的光猫上。一些光猫还带有无线网络功能,因此可以方便地接入互联网。

小区宽带则是通过二级运营商与主要的网络运营商接入的。连接到家中是通过交换设备和网线完成的。一旦线路到达家中,只需使用路由器进行PPPoE拨号即可上网。

因此,简而言之,光纤入户依赖光猫,而小区宽带需要路由器。

大部分的光猫实际上也具有路由器的功能,因此可以被视为路由器的一种扩展。遗憾的是,之前的一些光猫只支持有线网络,因此多数家庭还需要另外配置一个路由器。

你可以理解为这是经过了两个路由器(光猫也可以看作是路由器)

路由器本质上也是计算机的一种,它完成了 PPPoE 拨号、DHCP 网络配置、NAT 转换、DNS 域名解析等功能。

这时候问题就来了,这两个路由器之间的关系是什么呢,如何协作?

让我们进一步探讨两者如何协作。光猫进行拨号后,它会生成一个内网地址,例如192.168.1.1/24。随后,作为子设备的路由器的WAN口可能被分配地址如192.168.1.2,并创建其自己的子网,如192.168.2.1/24。

当有两个DHCP服务器在一个网络中为设备分配地址时,可能会出现问题,例如地址冲突和网关错误。为避免此问题,一个常见的解决方案是关闭光猫上的DHCP服务器功能。这样,光猫只为路由器分配一个IP地址,而路由器则负责分配IP地址给家庭网络中的其他设备。

但即使解决了这一问题,数据仍然需要经过两次NAT转换,这在效率上是有损失的。为了解决这个问题,建议将光猫设置为“桥接模式”。这意味着光猫仅仅作为光到电的转换器,而所有的拨号和网络任务都由路由器完成。

要解决这个问题需要将光猫的工作模式修改为 「Bridge 桥接模式」,即让光猫将 光口 和 LAN 口桥接起来,仅完成光电转换过程,由后端主路由来进行 PPPoE 拨号动作。

光猫通常不直接提供修改为 「Bridge 桥接模式」 的选项,这个工作需要 ISP 运营商的工作人员使用超级管理员身份进行设置。

需要把光猫破解掉让它支持 bridge 桥接网络,原理就是利用光猫的漏洞进入后台来调整系统设置,因为不同地区的不同运营商的光猫型号都不太一样,没有统一的答案,这个网络上教程比较多,可以根据自己家里的光猫型号自行解决。

到这里我们的网络接入架构相对比较合理了。

入站连通性

入站连通性是描述数据如何进入我们的家庭网络。这与我们通过运营商获得的IP地址类型有关。

IP 地址分配

当我们拨号连接到互联网时,我们会从运营商处获得一个 IP 地址。这个地址可能是公共的,也可能是私有的。虽然大型的移动、联通和电信运营商通常拥有大量的公共IP地址资源,但不总是这样。例如,据报告,河北地区(如廊坊和张家口)的联通和移动都为用户提供私有IP地址。随着IPv6的部署,现在在中国的许多地方都可以获取公共IPv6地址。

当路由器连接到互联网并经过NAT转换时,我们实际上位于路由器的子网内。这意味着我们可以向外发送数据(出站),但外部设备无法直接访问我们的内部设备(入站)。

动态 DNS (DDNS)

由于我们的公网IP地址可能会改变,所以动态DNS解析变得非常有用。DDNS允许我们将动态变化的IP地址与一个固定的域名关联。当我们的公网地址发生变化时,DDNS服务会自动更新域名记录。

我们可以进一步自动化这个过程:通过脚本检测当前的IP地址,与之前的地址进行比较。如果检测到变化,脚本会自动更新DDNS记录,并可能向我们发送通知,例如发送到手机或邮箱,这样我们就不会失去与家庭网络的连接。

提高路由控制

默认的消费级路由器功能通常比较有限。如果我们希望有更多的控制权,那么我们需要一个更强大的路由系统。例如,安装OpenWRT或其他Linux发行版,允许我们对网关进行精细控制。这样,我们可以设置端口、NAT、VLAN、防火墙策略等,并部署HAProxy或Nginx作为Web代理,将流量路由到不同的应用服务器。

通过上述方式,我们不仅可以确保家庭网络的连通性,而且还可以增强我们对家庭网络的控制,使其更加安全、灵活和强大。

出站连通性

上面讲了入站连通性的问题,另一个需要解决的问题是互联网出站连通性的问题,要解决这个问题我们需要知道两个比较重要的概念:DNS 污染TCP 阻断

关于中国网络访问的问题涉及的内容比较多,可以参考 GFW(Great Firewall)工作原理简介 的介绍。

多线接入 / 宽带多拨

如果你的家里有条件可以同时接入多个运营商的宽带以获得更好的容灾可靠性,在其中一条宽带断连后另外一条线路依然可用。

同时,你也可以通过一些策略来实现负载均衡和带宽翻倍的效果。

宽带多拨 是利用一条线路多次拨号来获得多条网络连接来实现带宽翻倍的软件实现。


SD-WAN: 跨区域组网的策略

SD-WAN(Software-Defined Wide Area Network,软件定义广域网)是一种允许多个数据中心之间的网络互联互通技术。使用SD-WAN,不同地理位置的网络可以被组合为一个统一的、大型的虚拟内网,使得不同地点的设备能够彼此通信,仿佛它们位于同一子网内。

SD-WAN的主要架构:

  1. 中心化/集中架构(Hub-and-Spoke)
    • 描述:各分支机构通过SD-WAN设备连接到一个统一的中心位置,通常为数据中心。
    • 优点:网络设计简洁,管理方便,中心位置可以统一提供服务。
    • 缺点:可能导致通讯延迟,尤其是在跨区域应用程序访问时。
  2. 星型架构(Star Architecture)
    • 描述:与Hub-and-Spoke相似,但存在多个中心节点,各分支机构连接至最近的中心节点。
    • 优点:降低延迟,地理冗余性好。
    • 缺点:需管理多个中心节点。
  3. 全网互联架构(Full Mesh)
    • 描述:各分支机构直接互相连接。
    • 优点:数据流的路径最短,降低延迟。
    • 缺点:分支机构增加时,管理复杂性随之上升。
  4. 混合架构(Hybrid Architecture)
    • 描述:结合了其他几种架构的特点,如中心化与全网互联的混合模式。
    • 优点:高度灵活,可根据需求进行优化。
    • 缺点:管理可能变得复杂。
  5. 云架构(Cloud-enabled SD-WAN)
    • 描述:针对云服务和应用,SD-WAN解决方案与云服务提供商进行集成。
    • 优点:优化云应用程序性能,简化分支机构与云的连接。
    • 缺点:对云服务提供商的服务和SLAs产生依赖性。

选择适合的SD-WAN架构需要考虑公司的预算、网络性能需求、管理能力等多方面因素。实施前,建议进行细致的评估和规划。

一个传统的 VPN(如 OpenVPN、PPTP)由一个 VPN 服务器和一个或多个连接到这台服务器的客户端组成。当任意两个 VPN 客户端彼此通信时,VPN 服务器需要中继它们之间的 VPN 数据流量。这样一个中心辐射型的 VPN 拓扑结构存在的问题是,当连接的客户端增多以后,VPN 服务器很容易成为一个性能上的瓶颈。从某种意义上来说,中心化的 VPN 服务器也同样成为一个单点故障的来源,也就是当 VPN 服务器出现故障的时候,整个 VPN 都将无法被任何 VPN 客户端访问。

点对点 VPN(又称 P2P VPN)是另一个 VPN 模型,它能解决传统的基于服务器-客户端模型的 VPN 存在的这些问题。一个 P2P VPN 中不再有一个中心的 VPN 服务器,任何拥有一个公开 IP 地址的节点都能引导其他节点进入 VPN。当连接到一个 VPN 之后,每一个节点都能与 VPN 中的任何其他节点直接通信,而不需要经过一个中间的服务器节点。当然任何节点出现故障时,VPN 中的剩余节点不会受到影响。节点中的延迟、带宽以及 VPN 扩展性在这样的设定中都有自然的提升,当你想要使用 VPN 进行多人游戏或者与许多朋友分享文件时,这都是十分理想的。

OpenVPN 作为 SD-WAN 示例

为了具体说明SD-WAN的实现方式,以下是使用OpenVPN来实现跨网络通信的简单示例:

设有两个网络:

  • 网络 A:192.168.2.1/24
  • 网络 B:192.168.3.1/24

在网络A中部署OpenVPN服务器,而在网络B中部署OpenVPN客户端进行连接。成功连接后,我们将建立一个OpenVPN隧道,此时网络A(10.0.8.1)与网络B(10.0.8.19)可以互相访问。

为了完整实现子网间的通信,我们需要配置路由表和实现NAT转发规则。

此外,还有其他专用的SD-WAN软件和工具,如WireguardN2N,它们在实际应用中可能更为简便。


至此,我们的网络已经全部设置好了,实现了入站出站的畅通无阻,以及跨数据中心的网络互访。

接下来我们可以将我们的交换机和服务器连接至 Gayeway 网关并开始部署我们的服务器了。


Table of contents