上次讲到了浏览器在网络层面上发生的事,此次对互联网的结构作一些介绍。前端
在解互联网以前,要先了解网络资源是怎么分配的。程序员
根据 APNIC 的这张图能够看到,分配网络资源的最高机构是 IANA(Internet Assigned Numbers Authority),是总管网络资源的机构,IANA 会下放资源给相对应的 RIR(区域互联网注册管理机构),世界上共有五个 RIR,分别是:面试
这样单位会再下放给 NIR(National Internet Registry),好比中国大陆的 CNNIC,NIR 再下放给 ISP,也就是你的网络服务供应商,好比移动、联通等,ISP最终分配给终端用户。很容易看出,整个网络资源分配是一个树状的结构segmentfault
先看一下这张图,看不懂不要紧,稍后会用这张图讲解一些互联网的基本概念浏览器
自治系统的英文简写为 AS(Autonomous System),是组成一个网络的基础单位,基本上是一个组织或一种特定用途会成立一个自治系统。每一组系统会都有本身的编号,须要向网络管理组织申请(RIR,LIR,NIR)。安全
在上面那张图中,一个颜色的云就是属于一个自治系统,而同一个自治系统内会包含许多设备。用蓝色线与橙色线连起来的东西就是路由器,它们多是家用路由器,也多是更高规格的边界路由器。服务器
假如 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 是不一样的 AS 之间所传递的路由的协定,而传递的路由信息最终会被汇聚在路由器中,造成一张最佳的路由表。目前普遍使用的 EGP 协议为 BGP,AS 之间就是用这个协议来传递彼此的路由。之后我会专门写一篇文章来介绍 BGP 这个协议。
IGP 指的是同一个 AS 中的交换路由的路由协议,目前常见的有 OSPF,EIGRP 等,一样也是交换路由表用的。
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 一、AS 五、AS 6 内的电脑,这时就有好几种 AS 角色关系出现:
这几种角色关系能够同时存在
根据上面介绍的 AS 角色关系,基本上能够将现有的 AS 分为三类,这三类的定义很是简单:
基本上咱们将 AS 分为三个等级,也就是 Tier 1~3。互联网从总体来讲大体表现为一个树状结构。
Internet Exchange 简称 IX,AS 能够在这里方便的链接其余 AS,能够到 PeeringDB 这个网站去查看,目前中国大陆在上面登记的 IX 有这些:
基本上整个中国的网络都会在这几个地方链接起来。
从总体而言,组成互联网的最小单位是自治系统,而互联网路由器的功能主要为如下两点: