疯狂的技术宅

以前出于工作目的,编写和翻译了大量的技术文章,以前端为主,删掉了过时的、毫无营养的内容,留下的都是精华。


  • 首页

  • 分类

  • 标签

  • 归档

  • 关于本站

  • 回到主站

  • 搜索

讲给前端的网络安全(2): 互联网的构成

时间: 2020-11-23 分类: 通用技能   字数: 1928 字 阅读: 4分钟
标签: #网络资源分配# #路由表# #交换#

讲给前端的网络安全(2): 互联网的构成

上次讲到了浏览器在网络层面上发生的事,这次对互联网的结构做一些介绍。

  • 讲给前端的网络安全(1):浏览器与网络的那些事

网络资源分配

在解互联网之前,要先了解网络资源是怎么分配的。

网络资源分配

根据 APNIC 的这张图可以看到,分配网络资源的最高机构是 IANA(Internet Assigned Numbers Authority),是总管网络资源的机构,IANA 会下放资源给相对应的 RIR(区域互联网注册管理机构),世界上共有五个 RIR,分别是:

  • AfriNIC
  • ARIN
  • APNIC
  • LACNIC
  • RIPE

这样单位会再下放给 NIR(National Internet Registry),比如中国大陆的 CNNIC,NIR 再下放给 ISP,也就是你的网络服务供应商,比如移动、联通等,ISP最终分配给终端用户。很容易看出,整个网络资源分配是一个树状的结构

互联网(Internet)

先看一下这张图,看不懂没关系,稍后会用这张图讲解一些互联网的基本概念

互联网

自治系统,ASN(自治系统号)

自治系统的英文简写为 AS(Autonomous System),是组成一个网络的基础单位,基本上是一个组织或一种特定用途会成立一个自治系统。每一组系统会都有自己的编号,需要向网络管理组织申请(RIR,LIR,NIR)。

在上面那张图中,一个颜色的云就是属于一个自治系统,而同一个自治系统内会包含许多设备。用蓝色线与橙色线连起来的东西就是路由器,它们可能是家用路由器,也可能是更高规格的边界路由器。

边界路由器

路由表 (Routing Table)

假如 AS1 最左上角的那台电脑的 IP 是 1.1.1.1,AS5 最左下角的电脑 IP 是2.2.2.2,当 1.1.1.1 想与 2.2.2.2 通信时,1.1.1.1 这台电脑首先会把数据包发往与他连接的一台路由器,而这台路由器上有一张神奇的表告诉数据包应该怎样往 2.2.2.2 走。

而这张表就叫路由表,路由器会根据这张表来转送数据包,而路由表有多种生成方式,等下会介绍一些生成方式。

数据包在同一个 AS 内一路转发后,将会到达 AS1 的边界路由器,在这里将数据包转交给 AS5 的边界路由器,AS5 的路由器也会根据它们自己的路由表进行转发。最终将数据包包送到 IP 为 2.2.2.2 的这台电脑。

EGP(外部网关协议)

EGP 是不同的 AS 之间所传递的路由的协定,而传递的路由信息​​最终会被汇聚在路由器中,形成一张最佳的路由表。目前广泛使用的 EGP 协议为 BGP,AS 之间就是用这个协议来传递彼此的路由。以后我会专门写一篇文章来介绍 BGP 这个协议。

IGP(内部网关协议)

IGP 指的是同一个 AS 中的交换路由的路由协议,目前常见的有 OSPF,EIGRP 等,同样也是交换路由表用的。

AS角色关系

AS 根据他们与其他 AS 的关系,可能会有多个称谓,我们就用这以下这张图来解释

AS角色关系

假设这里有六个 AS,而我们为 AS 2,我们接收了AS 3,AS 4,AS 1的路由,并把 AS 3 与 AS 4 连同自己的(AS 2)的路由一起输出给 AS 1,AS 3 与 AS 4 需要通过AS 2 才能连上 AS 1、AS 5、AS 6 内的电脑,这时就有好几种 AS 角色关系出现:

  • Customer AS AS 2 为 AS 1 的 Customer AS,因为 AS 2 必须通过 AS 1 将他的路由信息转发给给其他 AS,且流量必须通过AS 1 才能连到其他 AS,这个动作被称作 Transit,我们可以说 AS 1 给AS 2 提供 Transit 服务。同理, AS 3 与 AS 4 也是 AS 2 的 Customer AS; AS 5 与 AS 6 也是 AS 1 的 Customer AS。

  • Upstream AS Upstream AS 与 Customer AS 是相反的概念,只是看待角色关系的方向不一样而已,Upstream 顾名思义就是上游。当一个 AS 能够提供的连接越多,也就有更多的机会成为别人的上游。比如 AS 2 就是 AS 3 与 AS 4 的上游 AS

  • Peering Peering 简单来说就是两个 AS 之间互相连结,让对方可以连到你底下的网络资源。假设 AS 3 与 AS 4 之间的连接不想经过 AS 2 帮他们 Transit,那么 AS 3 可以与 AS 4 加入一条链接,互相 Peering 彼此,让对方可以直接连到自己底下的资源

这几种角色关系可以同时存在

AS 分类

根据上面介绍的 AS 角色关系,基本上可以将现有的 AS 分为三类,这三类的定义非常简单:

  1. Multi-homed AS:指连接了其他多个AS的AS
  2. Stub AS:又叫 Single-homed AS,根据上面介绍的 Multi-homed AS,不难看出是只连接一个 AS 的 AS
  3. Transit AS:使其他 AS 连到另一个 AS 的 AS,听起来有点拗口,上图中 AS 3 要连到 AS 4 需要经过 AS 2,而 AS 2 在这里就是一个 Transit AS

AS 分级

基本上我们将 AS 分为三个等级,也就是 Tier 1~3。互联网从整体来说大致表现为一个树状结构。

  • Tier 1:T1 等级的 AS 与其他 Tier 1 呈现 Full Mesh 的连接情况。

  • Tier 2:T2 等级提供 Transit 服务给其他AS,同时也会向 Tier 1 AS 寻求并使用 Transit 的服务。

  • Tier 3:AS 的最底层,单纯使用别人提供的 Transit 服务。

网络基础建设

Internet Exchange 简称 IX,AS 可以在这里方便的连接其他 AS,可以到 PeeringDB 这个网站去查看,目前中国大陆在上面登记的 IX 有这些:

Internet Exchange

基本上整个中国大陆的网络都会在这几个地方连接起来。

小结

从整体而言,组成互联网的最小单位是自治系统,而互联网路由器的功能主要为以下两点:

  1. 交换路由信息
  2. 根据路由表转发数据包

下一篇讲讲路由交换原则。

标签: #网络资源分配# #路由表# #交换#

标题:讲给前端的网络安全(2): 互联网的构成

链接:https://fe-tech.viewnode.com/post/202011/23/

作者:疯狂的技术宅

声明: 本博客文章除特别声明外,均采用 CC BY-NC-ND 4.0 国际许可协议( 知识共享署名-非商业性使用-禁止演绎 4.0),转载请注明出处!

给 eslint 写一个插件
讲给前端的网络安全(1):浏览器与网络的那些事
  • 文章目录
  • 站点概览
疯狂的技术宅

疯狂的技术宅

退休程序员,硬件发烧友,人工智能爱好者。写写代码喝喝茶,晒晒太阳带带娃。

457 日志
8 分类
583 标签
GitHub
友情链接
  • viewnode
  • mofish
标签云
  • Javascript 172
  • Node.Js 62
  • Vue 36
  • Typescript 28
  • 实战项目 28
  • 面试 21
  • React 20
  • Css 17
  • 面试题 16
  • 教程 13
  • Promise 12
  • Chrome 9
  • Debug 9
  • 调试 9
  • 资源 9
  • Deno 8
  • Dom 8
  • 杂谈 8
  • 正则表达式 8
  • 测试 8
  • 网络资源分配
  • 互联网(Internet)
    • 自治系统,ASN(自治系统号)
    • 路由表 (Routing Table)
    • EGP(外部网关协议)
    • IGP(内部网关协议)
  • AS角色关系
  • AS 分类
  • AS 分级
  • 网络基础建设
  • 小结
© 2018 - 2022 疯狂的技术宅 All Rights Reserved
Powered by - Hugo v0.99.0 / Theme by - NexT
Storage by 俺的服务器 / 冀ICP备2022010157号
0%