講給前端的網絡安全(2): 互聯網的構成

上次講到了瀏覽器在網絡層面上發生的事,此次對互聯網的結構作一些介紹。前端

網絡資源分配

在解互聯網以前,要先了解網絡資源是怎麼分配的。程序員

image.png

根據 APNIC 的這張圖能夠看到,分配網絡資源的最高機構是 IANA(Internet Assigned Numbers Authority),是總管網絡資源的機構,IANA 會下放資源給相對應的 RIR(區域互聯網註冊管理機構),世界上共有五個 RIR,分別是:面試

  • AfriNIC
  • ARIN
  • APNIC
  • LACNIC
  • RIPE

這樣單位會再下放給 NIR(National Internet Registry),好比中國大陸的 CNNIC,NIR 再下放給 ISP,也就是你的網絡服務供應商,好比移動、聯通等,ISP最終分配給終端用戶。很容易看出,整個網絡資源分配是一個樹狀的結構segmentfault

互聯網(Internet)

先看一下這張圖,看不懂不要緊,稍後會用這張圖講解一些互聯網的基本概念瀏覽器

image.png

自治系統,ASN(自治系統號)

自治系統的英文簡寫爲 AS(Autonomous System),是組成一個網絡的基礎單位,基本上是一個組織或一種特定用途會成立一個自治系統。每一組系統會都有本身的編號,須要向網絡管理組織申請(RIR,LIR,NIR)。安全

在上面那張圖中,一個顏色的雲就是屬於一個自治系統,而同一個自治系統內會包含許多設備。用藍色線與橙色線連起來的東西就是路由器,它們多是家用路由器,也多是更高規格的邊界路由器。服務器

image.png

路由表 (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 的關係,可能會有多個稱謂,咱們就用這如下這張圖來解釋

image.png

假設這裏有六個 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 角色關係出現:

  • 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 有這些:

image.png

基本上整個中國的網絡都會在這幾個地方鏈接起來。

小結

從總體而言,組成互聯網的最小單位是自治系統,而互聯網路由器的功能主要爲如下兩點:

  1. 交換路由信息
  2. 根據路由錶轉發數據包

173382ede7319973.gif


本文首發微信公衆號:前端先鋒

歡迎掃描二維碼關注公衆號,天天都給你推送新鮮的前端技術文章

歡迎掃描二維碼關注公衆號,天天都給你推送新鮮的前端技術文章


歡迎繼續閱讀本專欄其它高贊文章:


相關文章
相關標籤/搜索