IP 层

IP 层的意义

我们不妨来做个思想实验:如果网络中把 IP 层(网络层)完全抽走,只保留底层的 MAC 地址(数据链路层),这个世界会发生什么?

理解了没有 IP 层会有多绝望,就能深刻明白 IP 层的意义到底是什么。

互联网和路由器

Internet 这个词的前缀 Inter- 意思是“互相、之间”。所以 Internet 的字面意思就是:“网络的网络 (Network of Networks)”。

清华大学的网络、阿里巴巴的网络、中国移动的网络,它们原本是互相隔离的“孤岛”。当它们拉起几根超大带宽的光缆,把各自边界上的核心路由器对接在一起时,孤岛就连成了大陆。

当全世界数以万计的这种“孤岛网络”(自治系统 AS)互相连接、互相签订协议交换数据时,这张覆盖全球的超级大网,才被称为“互联网”。

路由器

在路由器的真实内存中,这张用来指导转发的表格叫做 FIB(Forwarding Information Base,硬件转发表)。

路由器的 FIB 表中,每一行规则通常包含三个最关键的字段:

目标 IP 范围 (目的网段/掩码)       下一跳 IP     出接口      规则含义
 202.120.2.0/24          10.0.0.2   Port_1   去往交大某校区的包,从 1 号口扔给 10.0.0.2
198.51.100.0/24          10.0.0.6   Port_2   去往海外某 VPS 的包,从 2 号口扔给 10.0.0.6
   0.0.0.0/0 (默认路由)      10.0.0.1   Port_3   如果不认识这个 IP,统统从 3 号口扔给上级路由器

孤岛网络(自治系统 AS)

自治系统内部有自己的通信协议。

AS 获取 ASN 和 IP,用 BGP 广播

不同 AS 之间的物理连接

AS 内部通信和跨 AS 通信

浙江访问北京,到底是 AS 内部还是跨 AS,完全取决于你两端用的是哪家运营商(或者哪家云厂商)的网络,和物理距离有多远毫无关系。

我们可以分三种真实场景来拆解:

国内互联网访问实例

你的数据包(携带目标 IP 北京阿里云服务器)从浙江出发出发,全程经历了 5 个阶段、数十个硬件交接。

跨国互联网访问

物理连接

从中国上海到美国洛杉矶的跨国物理连接全过程。

墙

AS 和线路

AS 和线路不是一个概念。

AS

以中国电信为例,它拥有两个最核心的 AS:

线路

在跨国网络中,中国电信利用 AS4134 和 AS4809 这两张网,组合出了三种不同等级的“线路”。这时候,AS 的边界和线路的边界就错开了:

联通 AS 和线路

联通在 BGP 路由表里,主要握着三个具有战略意义的自治系统编号(ASN):

联通通过在路由器上写不同的 BGP 策略,用上面那三块积木,组合出了不同的跨国线路产品:

针对国内去程访问优化的 VPS

不同去程线路的选择

我们讨论一下一个 VPS 厂商买不同线路的情况,有几个点要说明:

回程

专线

IPLC 和 IEPL

IPLC 和 IEPL,直接抛弃了 IP 和路由器,降维到了数据链路层(Layer 2)甚至物理层(Layer 1)。

在专线的世界里,没有 AS,没有 BGP,没有 路由表,甚至 ISP(电信/联通)根本就不看你的 IP 地址。

专线和墙的关系

真正的专线,在物理拓扑上完美绕过了 GFW。

回忆一下我们之前总结的拓扑:墙的 DPI 集群卡在哪里?卡在国内骨干路由器 (CR) 和 国际出口网关 (IGW) 之间。这是公共互联网 (Public Internet) 的必经之路。

而专线的拓扑是怎样的?

[你的上海办公室]
↓ (市域传输网)
[上海海缆登陆站 (传输局)]  ← 【根本不经过 CR 和 IGW,直接物理下海】
↓ (太平洋海底光缆)
[洛杉矶你的服务器]

因为专线是端到端的企业内部局域网(Intranet),它不需要也不允许与其他公共 IP 路由,所以它在机房施工时,物理光纤直接跳过了公共出入口局的路由集群,直接接入了底层的光传输网(OTN)。因为没有经过 DPI 设备的物理旁路分光,所以 GFW 根本看不见里面的流量,TCP RST 也就无从谈起。

专线 VPS

市面上的“专线 VPS”,其实是 VPS 厂商做了一层“流量转发中转 (Port Forwarding / Tunneling)”。

它的真实架构是一套拼接怪: