筆記 ——《網絡是如何連接的》 第四章 通過接入網進入互聯網內部

名詞解釋

ADSL: Asymmetric Digital Subscriber Line,不對稱數字用戶線。它是一種利用架設在電線杆上的金屬電話線來進行高速通信的技術,它的上行方向(用戶到互聯網)和下行方向(互聯網到用戶)的通信速率是不對稱的。

光纖:光纖就是把要傳送的數據由電信號轉換爲光信號進行通訊。在光纖的兩端分別都裝有「光貓」進行信號轉換。光纖是寬帶網絡中多種傳輸媒介中最理想的一種,它的特點是傳輸容量大,傳輸質量好,損耗小,中繼距離長等。光纖傳輸使用的是波分複用,即是把小區裏的多個用戶的數據利用PON技術匯接成爲高速信號,然後調製到不同波長的光信號在一根光纖裏傳輸。

接入網:接入網是業務接點(對電話業務而言爲本地交換機)與用戶端設備(CPE)之間的實施系統,它包括複用、交叉連接和傳輸功能,可以部分或全部代替傳統的用戶本地線路網。有線接入網的方式有:非對稱數字用戶環路(ADSL)、光纖接入(FTTB、FTTC、FTTO、FTTH等)、光纖同軸混合接入(HFC)、高速數字用戶環路(HDSL)、銅線接入等。

光纖寬帶和ADSL接入方式的區別:ADSL是電信號傳播,光纖寬帶是光信號傳播。ADSL是一人享用一根電話線上網,在這根電話線裏還有你的電話機使用的語音信號。而光纖寬帶則是通到小區,然後分別通過超5類網線通到各用戶,這樣上網是上網,打電話是打電話,小區裏的用戶共享一根光纖足夠了。

ADSL Modem:即ADSL調制解調器(modem俗稱貓),是計算機與電話線之間進行信號轉換的裝置,由調製器和解調器兩部分組成,調製器是把計算機的數字信號(如文件等)調製成可在電話線上傳輸的聲音信號的裝置,在接收端,解調器再把聲音信號轉換成計算機能接收的數字信號。通過調制解調器和電話線就可以實現計算機之間的數據通信。

ADSL和ADSL Modem的區別:簡單的說ADSL是一種上網方式,而MODEM是一種上網設備。

路由器和ADSL Modem的區別:ADSL Modem(貓)是將網絡運營商服務端提供寬帶信號轉換成電腦所能識別的寬帶信號,是一對一的,一頭接電話線,一頭接網線。而路由器是用來將數據轉發,或者組建小型局域網絡,實現兩臺或以上電腦同時上網,接的是網線。

分辨路由器和貓:如果一個WAN,四個LAN,百分之百是路由器,如果一個是RJ11(也就是電話接口),四個LAN,那就肯定是路由貓了,這個東東不是很好用,最好的辦法還是貓,路由器分開來使用,畢竟路由器要好設置多了。來源:百度知道

路由貓:路由貓是一種將路由器與調制解調器(俗稱「貓」)合二爲一的產品,該產品同時具備調製解調、路由兩大功能。單一個modem可以讓一臺電腦上網,再加一個路由器就可以讓多臺電腦同時上網,數量取決於路由器的接口。 現在市場上有二者的結合體,就是路由貓了,只通過這一個設備就可以實現一臺或者多臺電腦同時上網。

信元:信元是一種特殊的數據結構,不同於普通網絡傳輸的幀或者包,因爲幀和包是變長的,而ATM的信元是定長的,非常小的,長度只有53個字節,其中5個字節是信元頭,48個字節是信息段。信息段中可以是各類業務的用戶數據,信元頭包含各種控制信息。

ATM:ATM是Asynchronous Transfer Mode異步傳輸模式的縮寫。與同步傳遞模式(STM)不同,ATM採用異步時分複用技術(統計複用)。來自不同信息源的信息彙集在一個緩衝器內排隊。列中的信元逐個輸出到傳輸線上,形成首尾相連的信息流。ATM具有以下特點:因傳輸線路質量高,不需要逐段進行差錯控制。ATM在通信之前需要先建立一個虛連接來預留網絡資源,並在呼叫期間保持這一連接,所以ATM以面向連接的方式工作。

DSLAM: DSL Access Multiplexer,數字用戶線接入複用設備,它是一種電話局用的多路 ADSL Modem,可以理解爲將多個 ADSL Modem 整合在一個外殼裏的設備。

BAS: Broadband Access Server,寬帶接入服務器。它也是一種路由器,負責將 ATM 信元還原成網絡包並轉發到互聯網內部。

FTTH: Fiber To The Home,指光纖到戶。指的是將光纖接入家庭的意思。

PPP:PPP(Point-to-Point Protocol)點對點協議。PPP協議中提供了一整套方案來解決鏈路建立、維護、拆除、上層協議協商、認證等問題。

PPPoE:PPPoE: PPP over Ethernet,即以太網上的點對點協議,是經常被用在DSL鏈接上的變種協議(RFC 2516),另外PPPoA 有時也被使用(PPP over ATM)。

POP: Point of Presense,中文一般叫作「接入點」。

NOC: Network Operation Center,網絡運行中心。

前言

互聯網的基本結構和家庭、公司網絡是相同的

​ 互聯網是一個遍佈世界的巨大而複雜的系統, 但其基本工作方式卻出奇地簡單。 和家庭、 公司網絡一樣, 互聯網也是通過路由器來轉發包的,而且路由器的基本結構和工作方式也並沒有什麼不同( 圖 4.1)。

在這裏插入圖片描述

​ 當然, 互聯網也有一些和家庭、 公司網絡不同的地方, 距離的不同和路由的維護方式, 就是互聯網與家庭、 公司網絡之間最主要的兩個不同點。

​ 從上一章內容可以知道,網絡包通過交換機和路由器的轉發一步一步地接近它的目的地, 在通過互聯網接入路由器之後, 就進入了互聯網。

​ 互聯網接入路由器的包轉發操作和以太網路由器幾乎是一樣的。 即,根據包 IP 頭部中的接收方 IP 地址在路由表的目標地址中進行匹配, 找到相應的路由記錄後將包轉發到這條路由的目標網關。

​ 所謂接入網, 就是指連接互聯網與家庭、 公司網絡的通信線路 A。 一般家用的接入網方式包括 ADSLB、 FTTHC、 CATV、 電話線、 ISDN 等, 公司則還可能使用專線。 接入網的線路有很多種類, 我們無法探索所有這些線路, 因此下面先介紹一個比較有代表性的例子——ADSL。

ADSL 接入網的結構和工作方式

​ 1. ADSL

​ 在網絡包從用戶傳輸到運營商的過程中, 會變換幾種不同的形態, 整個過程如圖 4.3 所示。

在這裏插入圖片描述

​ 客戶端生成的網絡包( 圖 4.3 的①和②) 先經過集線器和交換機到達互聯網接入路由器( 圖 4.3 ③), 並在此從以太網包中取出 IP 包並判斷轉發目標( 圖 4.3 ④) 如果互聯網接入路由器和 ADSL Modem 之間是通過以太網連接的, 那麼就會按照以太網的規則執行包發送的操作。

​ 發送信號本身的過程跟之前是一樣的,但以太網的頭部會有一些差異,網絡包會加上 MAC 頭部、 PPPoE 頭部、 PPP頭部總共 3 種頭部( 圖 4.3 ⑤),然後按照以太網規則轉換成電信號後被髮送出去。

​ 互聯網接入路由器將包發送出去之後, 包就到達了 ADSL Modem( 圖 4.3 ⑥), 然後, ADSL Modem 會把包拆分成很多小格子( 圖 4.3 ⑦),每一個小格子稱爲一個信元。 信元是一個非常小的數據塊, 開頭是有 5 個字節的頭部, 後面是 48 個字節的數據, 用於一種叫作 ATM (Asynchronous Transfer Mode,異步傳輸 )的通信技術。信元在原理上跟 TCP/IP 將應用程序的數據拆分成塊裝進一個個包的過程是一樣的。

​ ADSL 將信元「調製」成信號。ADSL Modem 採用了一種用圓滑波形( 正弦波) 對信號進行合成來表示 0 和 1 的技術, 這種技術稱爲調製。

​ ADSL 也會通過使用多個波來提高速率。如圖 4.6 所示, ADSL 使用間隔爲 4.3125 kHz 的上百個不同頻率的波進行合成, 每個波都採用正交振幅調製, 而且, 根據噪聲等條件的不同, 每個波表示的比特數是可變的。 也就是說, 噪聲小的頻段可以給波分配更多的比特, 噪聲大的頻段則給波分配較少的比特, 每個頻段表示的比特數加起來, 就決定了整體的傳輸速率。

在這裏插入圖片描述

  1. 分離器

​ ADSL Modem 將信元轉換爲電信號之後, 信號會進入一個叫作分離器的設備, 然後 ADSL 信號會和電話的語音信號混合起來一起從電話線傳輸出去。

​ 分離器需要負責將電話和 ADSL 的信號進行分離( 圖 4.7)。 電話線傳入的信號是電話的語音信號和 ADSL 信號混合在一起的, 如果這個混合信號直接進入電話機, ADSL 信號就會變成噪音, 導致電話難以聽清。 爲了避免這樣的問題, 就需要通過分離器將傳入的信號分離, 以確保 ADSL信號不會傳入電話機。

在這裏插入圖片描述

  1. 通過 DSLAM 到達 BAS

​ 信號通過電話線到達電話局之後, 會經過配線盤、 分離器到達 DSLAM( 圖 4.3 ⑨),在這裏, 電信號會被還原成數字信息——信元( 圖 4.3 ⑩)。DSLAM 通過讀取信號波形, 根據振幅和相位判斷對應的比特值, 將信號還原成數字信息, 這一過程和用戶端的 ADSL Modem 在接收數據時的過程是一樣的。

​ 不過, DSLAM 和用戶端 ADSL Modem 相比還是有一個不同的地方。用戶端 ADSL Modem 具備以太網接口, 可以與用戶端的路由器和計算機交互, 收發以太網包, 而 DSLAM 一般不用以太網接口, 而是用 ATM 接口,和後方路由器收發數據時使用的是原始網絡包拆分後的 ATM 信元形式。

​ 信元從 DSLAM 出來之後, 會到達一個叫作 BAS 的包轉發設備( 圖 4.3⑪)。 BAS 和 DSLAM 一樣, 都具有 ATM 接口, 可以接收 ATM 信元, 還可以將接收到的 ATM 信元還原成原始的包( 圖 4.3⑫)。

​ 接下來, 它會將收到的包前面的 MAC 頭部和PPPoE 頭部丟棄, 取出 PPP 頭部以及後面的數據( 圖4.3⑬)。 MAC 頭部和PPPoE 頭部的作用是將包送達 BAS 的接口, 當接口完成接收工作後, 它們就完成了使命, 可以被丟棄了。 具有以太網接口的路由器在接收到包之後也會丟棄其中的 MAC 頭部, 道理是一樣的。 接下來, BAS 會在包的前面加上隧道專用頭部, 併發送到隧道的出口( 圖 4.3⑭)。

​ 然後, 網絡包會到達隧道出口的隧道專用路由器(圖 4.3⑮), 在這裏隧道頭部會被去掉, IP 包會被取出(圖 4.3⑯), 並被轉發到互聯網內部(4.3⑰)。

光纖接入網(FTTH)

  1. 光纖的基本知識

​ FTTH是一種基於光纖的接入網技術,其關鍵點在於對光纖的使用。

​ 光纖的結構如圖 4.9 所示, 它是由一種雙層結構的纖維狀透明材質( 玻璃和塑料) 構成的, 通過在裏面的纖芯中傳導光信號來傳輸數字信息( 圖4.10)。 ADSL 信號是由多個頻段的信號組成的, 比較複雜, 但光信號卻非常簡單, 亮表示 1, 暗表示 0。

在這裏插入圖片描述

​ 數字信息並不能一下子變成光信號, 而是需要像圖 4.10 所示的這樣, 先將數字信息轉換成電信號, 然後再將電信號轉換成光信號。 這裏的電信號非常簡單, 1 用高電壓表示, 0 用低電壓表示。 將這樣的電信號輸入 LED、 激光二極管等光源後, 這些光源就會根據信號電壓的變化發光,高電壓發光亮, 低電壓發光暗。 這樣的光信號在光纖中傳導之後, 就可以通過光纖到達接收端。 接收端有可以感應光線的光敏元件, 光敏元件可以根據光的亮度產生不同的電壓。 當光信號照射到上面時, 光亮的時候就產生高電壓, 光暗的時候就產生低電壓, 這樣就將光信號轉換成了電信號。最後再將電信號轉換成數字信息, 我們就接收到數據了。

在這裏插入圖片描述

  1. 通過光纖分路來降低成本

​ 用光纖來代替 ADSL 將用戶端接入路由器和運營商的 BAS 連接起來的接入方式就是 FTTH, 從形態上可大致分爲兩種。

​ 一種是用一根光纖直接從用戶端連接到最近的電話局( 圖 4.16(a))。這種類型的 FTTH 中, 用戶和電話局之間通過光纖直接連接。 另一種光纖的接入方式是在用戶附近的電線杆上安裝一個名爲分光器的設備, 通過這個設備讓光纖分路, 同時連接多個用戶 A( 圖 4.16(b))。在這種方式下, 用戶端不使用光纖收發器, 而是使用一個叫作 ONUB 的設備,它將以太網的電信號轉換成光信號之後, 會到達 BAS 前面的一個叫作OLTC 的設備。

在這裏插入圖片描述

接入網中使用的 PPP 和隧道

  1. 用戶認證和配置下發

​ 互聯網本來就是由很多臺路由器相互連接組成的, 因此原則上應該是將接入網連接到路由器上。 隨着接入網發展到 ADSL 和 FTTH, 接入網連接的路由器也跟着演進, 而這種進化型的路由器就叫作 BAS。

​ 首先是用戶認證和配置下發功能。 ADSL 和 FTTH 接入網中, 都需要先輸入用戶名和密碼, 登錄之後才能訪問互聯網, 而 BAS 就是登錄操作的窗口。 BAS 使用 PPPoE方式來實現這個功能。 PPPoE 是由傳統電話撥號上網上使用的 PPP 協議發展而來的。 在使用電話線或者 ISDN 撥號上網時, PPP 是如圖 4.17 這樣工作的。

在這裏插入圖片描述

​ 首先,用戶向運營商的接入點撥打電話(圖 4.17 ① -1), 電話接通後(圖 4.17 ① -2)輸入用戶名和密碼進行登錄操作(圖 4.17 ② -2)。 用戶名和密碼通過 RADIUS協議(Remote Authentication Dial-in User Service,遠程認證撥號用戶服務)從 RASG 發送到認證服務器, 認證服務器校驗這些信息是否正確。 當確認無誤後, 認證服務器會返回 IP 地址等配置信息, 並將這些信息下發給用戶(圖 4.17 ② -3)。 用戶的計算機根據這些信息配置 IP 地址等參數, 完成 TCP/IP 收發網絡包的準備工作, 接下來就可以發送 TCP/IP 包了( 圖 4.17 ③)。

  1. 在以太網上傳輸 PPP 消息

​ ADSL 和 FTTH 接入方式也需要爲計算機分配公有地址才能上網, 這一點和撥號上網是相同的。 不過, ADSL 和 FTTH 中, 用戶和 BAS 之間是通過電纜或光纖固定連接在一起的, 因此沒有必要驗證用戶身份, 所以實際上並不需要 PPP 的所有這些功能。 然而, 通過用戶名和密碼登錄的步驟可以根據用戶名來切換不同的運營商, 這很方便。 因此, 接入運營商在ADSL 和 FTTH 中一般也會使用 PPP。

  1. 通過隧道將網絡包發送給運營商

​ BAS 除了作爲用戶認證的窗口之外, 還可以使用隧道方式來傳輸網絡包。 所謂隧道, 就類似於套接字之間建立的 TCP 連接。 像這樣, 如果在 BAS 和運營商路由器之間的 ADSL/FTTH 接入服務商的網絡中建立一條隧道, 將用戶到 BAS 的接入網連接起來, 就形成了一條從用戶一直到運營商路由器的通道, 網絡包通過這條通道, 就可以進入互聯網內部了, 這樣的機制就類似於將接入網一直延伸到運營商路由器。

​ 隧道有幾種實現方式, 一種是 TCP 連接( 圖 4.19(a)),另一種是基於封裝( encapsulation) 的隧道實現方式,這種方式是將包含頭部在內的整個包裝入另一個包中傳輸到隧道的另一端。 在這種方式中, 包本身可以原封不動地到達另一端的出口, 從結果上看和基於 TCP 連接的方式是一樣的, 都實現了一個可供包進行穿梭的通道。其實,無論任何機制, 只要能夠將包原封不動搬運到另一端, 從原理上看就都可以用來建立隧道。

在這裏插入圖片描述

  1. 接入網的整體工作過程

​ 接入網的工作從用戶端的互聯網接入路由器進行連接操作開始。 首先,接入路由器中需要配置運營商分配的用戶名和密碼。 然後, 接入路由器會根據 PPPoE 的發現機制來尋找 BAS。 這一機制和 ARP 一樣是基於廣播來實現的。 即,互聯網接入路由器通過 PPPoE 的發現機制查詢 BAS 的 MAC 地址。 接下來,進入用戶認證和下發配置的階段。AS 下發的 TCP/IP 參數會被配置到互聯網接入路由器的 BAS端的端口上,這樣路由器就完成接入互聯網的準備了。

​ 接下來, 客戶端就會開始發送用來訪問互聯網的網絡包,這些包的目的地是互聯網中的某個地方, 這個地方或許在互聯網接入路由器的路由表裏是找不到的。 這時, 路由器會選擇默認路由, 並將這個包轉發給默認路由的網關地址, 也就是 BAS 下發的默認路由。 只不過在通過路由表判斷轉發目標之後, 包不是按照以太網規則轉發, 而是按照 PPPoE 規則轉發,如圖 4.20。

在這裏插入圖片描述

​ 接下來, 網絡包會到達 BAS,BAS 在收到用戶路由器發送的網絡包之後,會去掉 MAC 頭部和PPPoE 頭部,然後用隧道機制將包發送給網絡運營商的路由器。

  1. 除 PPPoE 之外的其他方式

    (1)使用 PPPoA 方式的 ADSL 接入網

    ​ ADSL 使用PPPoE 方式時, 是先將 PPP 消息裝入以太網包中, 然後再將以太網包拆分並裝入信元, 而PPPoA 方式是直接將 PPP 消息裝入信元( 圖 4.21)。即,PPPoA 方式不添加 MAC 頭部和 PPPoE 頭部,而是直接將包裝入信元中。

在這裏插入圖片描述

(2)使用 DHCP 方式

​ DHCP 原理如圖 4.22 所示, 首先客戶端請求配置信息( 圖 4.22 ①), 然後 DHCP服務器下發配置信息(圖 4.22 ②), 非常簡單, 不需要像 PPP(圖 4.17) 那樣需要多個步驟, 也不需要驗證用戶名和密碼。

在這裏插入圖片描述

網絡運營商的內部

POP 和 NOC

聯網的實體並不是由一個組織運營管理的單一網絡, 而是由多個運營商網絡相互連接組成的( 圖 4.23),ADSL、 FTTH 等接入網是與用戶簽約的運營商設備相連的, 這些設備稱爲 POP,互聯網的入口就位於這裏 。

在這裏插入圖片描述

​ POP 的結構根據接入網類型以及運營商的業務類型不同而不同, 大體上是圖 4.24 中的這個樣子。 POP 中包括各種類型的路由器, 路由器的基本工作方式是相同的, 但根據其角色分成了不同的類型。 圖 4.24 中, 中間部分列出了連接各種接入網的路由器, 這裏的意思就是根據接入網的類型需要分別使用不同類型的路由器。

在這裏插入圖片描述

​ NOC是運營商的核心設備, 從 POP 傳來的網絡包都會集中到這裏,並從這裏被轉發到離目的地更近的 POP, 或者是轉發到其他的運營商。 這裏也需要配備高性能的路由器。

​ 其實, NOC 和 POP 並沒有非常嚴格的界定。 NOC 裏面也可以配備連接接入網的路由器, 很多情況下是和 POP 共用的。 從 IP 協議的傳輸過程來看, 也沒有對兩者進行區分的必然性, 因爲無論是哪個路由器, 其轉發網絡包的基本工作原理都是相同的。 因此可以簡單地認爲, NOC 就是規模擴大後的 POP。

​ POP 和 NOC 遍佈全國各地, 它們各自的規模有大有小, 但看起來跟公司裏的機房沒什麼太大區別, 都是位於一幢建築物中的, 其中的路由器或者通過線路直接連接, 或者通過交換機進行連接, 這些和公司以及家庭網絡都是相同的。

跨越運營商的網絡包

  1. 運營商之間的連接

​ 如果服務器的運營商和客戶端的運營商不同,網絡包需要先發到服務器所在的運營商, 這些信息也可以在路由表中找到, 網絡包會被轉發到對方運營商的路由器。

  1. 運營商之間的路由信息交換

如圖 4.25 所示, 只要獲得了對方的路由信息, 就可以知道對方路由器連接的所有網絡, 將這些信息寫入自己的路由表中, 也就可以向那些網絡發送包了。

​ 獲得對方的路由信息之後, 我們也需要將自身的路由信息告知對方。這樣一來, 對方也可以將發往我們所在子網的包轉發過來。 這個路由信息交換的過程是由路由器自動完成的, 這裏使用的機制稱爲 BGP(Border Gateway Protocol,邊界網關協議)。

在這裏插入圖片描述

​ 根據所告知的路由信息的內容, 這種路由交換可分爲兩類。 一類是將互聯網中的路由全部告知對方。 例如圖 4.26 中, 如果運營商 D 將互聯網上所有路由都告知運營商 E, 則運營商 E 不但可以訪問運營商 D, 還可以訪問運營商 D 後面的運營商 B、 A 和 C。 然後, 通過運營商 D 就可以向所有的運營商發送包。 像這樣, 通過運營商 D 來發送網絡包的方式稱爲轉接。 另一種類型是兩個運營商之間僅將與各自網絡相關的路由信息告知對方。 這樣, 只有雙方之間的網絡可以互相收發網絡包, 這種方式稱爲非轉接, 也叫對等。

在這裏插入圖片描述

  1. IX 的必要性

​ IX: Internet eXchange,中文一般叫作「互聯網交換中心」。 對於兩個運營商來說, 像圖 4.26 中運營商 D 和運營商 C 這樣一對一的連接是最基本的一種連接方式, 但這種方式有個不方便的地方, 如果運營商之間只能一對一連接, 那麼就需要像圖 4.27( a) 這樣將所有的運營商都用通信線路連接起來,這樣連接非常困難。

​ 我們可以採用圖 4.27( b) 的方式,設置一箇中心設備, 通過連接到中心設備的方式來減少線路數量, 這個中心設備就稱爲 IX。

在這裏插入圖片描述

​ IX的核心是具有大量高速以太網 A端口的二層交換機( 圖4.28)。 二層交換機的基本原理和一般交換機相同, 大家可以認爲 IX 的核心就是大型的、 高速的交換機。

​ 下面來看一看網絡包具體是如何傳輸的。 其實這裏並沒有什麼特別需要解釋的, 因爲 IX 的交換機和一般的交換機在工作方式上沒有區別,路由器發送網絡包時, 先通過 ARP 查詢下一個路由器的 MAC 地址, 然後將其寫入 MAC 頭部發送出去即可。 只要填寫了正確的 MAC 地址, 就可以向任何運營商的路由器發送包。 不過實際上, 要成功發送包還需要正確的路由信息, 對於沒有進行路由交換的運營商, 我們是無法向其發送包的。這需要運營商之間通過談判簽訂合約, 然後按照合約來交換路由信息, 實現網絡包的收發。 運營商之間可以直接連接, 也可以通過 IX 連接, 無論是哪種方式, 最終網絡包都會到達服務器所在的運營商, 然後通過 POP 進入服務器端的
網絡。

在這裏插入圖片描述