助記提要
- 網絡包從用戶傳輸到互聯網的過程
- 信號的調制方式
- ADSL使用多個頻率的合成波傳輸信號
- 分離器的作用
- 電話線的特點
- 光纖的構造
- 光纖的原理
- 單模光纖和多模光纖
- 光纖接入網的兩種接入方式
- PPP撥號上網過程
- ADSL和FTTH使用PPPoE的方式
- PPPoE的規則
- 隧道
- 其他接入認證方式 PPPoA和DHCP
- 網絡運營商的POP和NOC
- 運營商之間的路由交換
- 互聯網交換中心 IX
4章 通過接入網進入互聯網內部 探索接入網和網絡運營商
互聯網的基本結構和家庭、公司網絡是相同的。不同點在于距離和路由的維護方式。
網絡包經過交換機和路由器的一步步轉發,在通過接入網路由器后,就進入到了互聯網。
接入網是連接互聯網與家庭、公司網絡的通信線路。
互聯網接入網路由器是按照接入網規則來發送包的。
常見的家用接入網方式有ADSL(不對稱數字用戶線)、FTTH(光纖到戶)、CATV、電話線、ISDN等。
1. 接入網
1.1 網絡包從用戶傳輸到互聯網的過程
graph LR
subgraph x1[1.計算機]
a1(IP+數據) --> a2(MAC+IP+數據);
end
subgraph x2[2.互聯網接入路由器]
b1(MAC+IP+數據) --> b2(IP+數據) --> b3(MAC+PPPoE+PPP+IP+數據);
end
subgraph x3[3.ADSL Modem]
c1(MAC+PPPoE+PPP+IP+數據) --拆分--> c2(ATM信元);
c2 --調制--> c3(電信號);
end
subgraph x4["4.DSLAM(局端多路Modem)"]
d1(電信號) --還原--> d2(ATM信元);
end
subgraph x5["5.BAS(寬帶接入服務器)"];
e1(ATM信元) --還原--> e2(MAC+PPPoE+PPP+IP+數據);
e2 --> e3(PPP+IP+數據) --> e4(L2TP+PPP+IP);
end
subgraph x6["6.路由器(隧道專用)"]
f1(L2TP+PPP+IP) --> f2(IP+數據) --> f3(XXX+IP+數據);
end
subgraph 用戶
x2;x3;
end
subgraph ADSL運營商
x4;x5;x6;
endx1 --> x2 --> x3 --> x4 --> x5 --> x6 --> g[7.互聯網];
- 客戶端生成網絡包,經過集線器和交換機到達互聯網接入路由器;
- 互聯網接入路由器接收包,從中取出IP包,并添加PPP、PPPoE、MAC三種頭部,然后發送給ADSL Modem;
- ADSL Modem把包拆分為很多信元。信元是非常小的數據段,開頭有5字節的頭部,后面是48字節的數據,用于ATM通信。信元調制為電信號發送給分離器,經過電話線到達DSLAM。
- DSLAM將電信號還原為ATM信元發送給BAS;
- BAS把ATM信元還原為網絡包,取出PPP包,添加隧道專用頭部,發送到隧道的出口;
- 隧道出口有隧道專用路由器,它從隧道包中取出IP包,然后轉發到互聯網內部。
DSLAM是將很多個ADSL Modem的功能集中在一個一個外殼的設備。DSLAM一般不用以太網接口而是用ATM接口,收發數據使用ATM信元。
MAC頭部和PPPoE頭部的作用是將包送達BAS接口,所以BAS會將這兩個頭部去掉。
1.2 信元調制成信號
調制:用圓滑波形對信號進行合成來表示0和1的技術。
ADSL采用的調制方式是振幅調制(ASK)和相位調制(PSK)相結合的正交振幅調制(QAM)方式。
振幅調制
振幅調制是使用信號的振幅大小來對應0和1的方式。
最簡單的對應關系為振幅小的信號為0,振幅大的信號為1。
可以增加振幅變化的級別,使其對應更多比特,如4個級別可以表示兩個比特。這樣做能提高單位時間內傳輸的數據量。但如果振幅級別太多,接收方識別就容易出錯。
相位調制
Modem產生的信號是以一定周期振動的波,振動的起始位置不同,波形就不同。將波的一個振動周期看做一個圓,則起始位置按照0到360度的角度來表示。這個角度就是相位。
相位調制是用角度表示0和1的方式。相位調制也能通過將角度劃分為更細的級別來增加對應的比特數量,提高傳輸速率。但是角度太接近也容易被誤判。
正交振幅調制
振幅調制和相位調制結合起來,波的振幅能表示1個比特,相位也表示1個比特,組合起來就可以用一個波表示兩個比特。
1.3 ADSL使用多個波提高速率
原理
不同頻率的波可以合成,合成后可以從濾波器中分離出某個特定頻率的波。
ADSL使用多個頻率合成的波來傳輸信號,增加可表示的比特數。
波的疊加:若幾列波同時在介質中傳播,它們會以各自原有的振幅、頻率和波長獨立傳播。聲音是一種波,人耳能分辨出同時傳來的不同聲音。
如何分配頻段和比特
ADSL使用上百個不同頻率的波進行合成,每個波占用4.3125kHz,并采用正交振幅調制。
高頻波更易受到噪聲影響,同時距離越遠、波的頻率越高,信號衰減就越嚴重。這些狀況不是穩定出現的。所以ADSL會持續檢查線路質量,動態判斷使用的頻段數量和每個頻段分配的比特數。
Modem通電后,會發送測試信號,并根據信號的接受情況判斷使用的頻段數量和每個頻段的比特數。需要幾秒到幾十秒。
對噪聲小的頻段分配更多比特,噪聲大的頻段分配較少比特,各個頻段的比特數加起來,決定整體的傳輸速率。
1.4 分離器
信元轉換為電信號后,會通過分離器,ADSL信號和電話語音信號混合起來從電話線傳輸出去。
接收到電話線傳入的信號時,分離器會過濾掉ADSL的高頻信號,只把低頻的電話信號傳入電話機,并向接收端的ADSL Modem傳輸原本的混合信號。
ADSL Modem內部可以過濾掉ADSL頻率外的信號。
分離器除了可以防止ADSL信號干擾電話,也可以避免電話干擾ADSL。
電話接通和未接通的狀態,信號傳輸方式是不同的。兩種狀態的改變會導致線路狀態發生改變,這時ADSL就需要重新訓練,導致幾十秒的中斷。分離器可以避免這個問題。
1.5 電話線
分離器出來,接著電話線。
電話線分段
保安器是防止雷電或其他情況下電話線中產生過大電流的保護裝置,內有保險絲。
電話電纜
電話線是直徑在0.32-0.9mm的金屬線。線越細信號衰減率越高,所以距離電話局近的地方使用細線。
電話電纜由多條信號線捆綁在一起。
電話電纜一般是架在電線桿上,中途會沿著電線桿側面的金屬管進入地下。到了電話局附近,電纜都是埋在地下,集中埋設電纜的地方成為電纜隧道。
電話線也是金屬線,和雙絞線一樣會受到外部和內部的噪聲干擾。雙絞線中只有一路方波,干擾后會無法讀取還原。ADSL信號受到干擾后,只有和噪聲同頻的信號受到影響無法讀取,導致可用信號數減少,傳輸速率下降。
2. 光纖接入網
2.1 光纖
光纖的結構
光纖是由玻璃或塑料制成的纖維,可作為光的傳導工具。
光纖的中心部分是纖芯,折射率高,用于傳導光線;纖芯外層是包層,折射率低;最外層是光纖的保護套。
光的全反射:光線從較高折射率的介質進入到較低折射率的介質時,如果入射角大于某一臨界角度時,折射光線會消失,所有入射光線將被反射而不進入低折射率的介質。
光纖的通信原理
光信號傳輸數字信息,亮表示1,暗表示0。
LED、激光二極管等光源會根據輸入的信號電壓的變化發光。高壓亮,低壓暗。
光敏原件能根據光的亮度產生不同的電壓。
光纖中的入射角和反射角
- 入射角度較小的光才能在纖芯前進
光源在所有方向上都會發光,因此會有各種角度的光線進入纖芯。
入射角度太大的光線會在纖芯和包層的邊界上折射出去,只有入射角度較小的光線會被包層全反射。 - 反射后相位一致的光線才能持續傳導
光線在纖芯和包層邊界上反射時,會由于反射角產生相位變化。
入射光線和反射光線交會時,如果兩條光線相位不一致,就會發生干涉,相互抵消。大部分的反射角下光線都會由于相位不同而被抵消。
只有少數按照特定角度入射的光能在反射后保持相位一致,從而持續傳導下去。
單模光纖和多模光纖
根據纖芯直徑,光纖大體分兩種:
- 單模光纖
直徑8-10μm,保持相位一致的入射角度僅有一個。
纖芯僅能傳導一條光線,對于光源和光敏元件的性能要求高,信號失真小。
一般用于遠距離傳輸。 - 多模光纖
直徑50μm或62.5μm,保持相位一致的角度有多個。
多條反射角不同的光能同時傳導。反射角越小,光線的反射次數就越多,經過的距離就越長,到達接收端的時間就越長。多條光線到達的時間不一致,會導致信號寬度被拉伸,造成失真。
光纖越長,失真越大,超過允許的范圍時,就會出錯。
一般用于建筑物內部的連接。
FTTH使用單模光纖。
2.2 FTTH的兩種方式
FTTH是用光纖代替ADSL將用戶端接入路由器和運營商的BAS連接起來的接入方式。
可以分為兩種方式:
直連方式
用戶端的光纖收發器把以太網電信號轉換為光信號;光信號經光纖到達多路光纖收發器,被轉換為電信號傳給BAS。
前往互聯網的上行光信號和前往用戶的下行光信號在光線中是混合的,無法區分。因此對上行和下行的信號采用不同波長的光。波長不同的光混合后可通過棱鏡原理分離。
波分復用:在一條光纖中使用不同波長傳輸多個光信號的方式。
分路方式
在用戶附近的電線桿安裝一個分光器,分光器可以讓光纖分路,同時連接多個用戶。
用戶端使用ONU將以太網的電信號轉換為光信號發給OLT。ONU除了轉換信號外,還可以配合OLT避免信號碰撞。
- 避免信號碰撞
多個用戶同時收發網絡包時,信號在分光器會發生碰撞,ONU和OLT中有通過調整信號收發時機來避免碰撞的機制。OLT會調整信號發送時機并向ONU下指令,ONU根據指令發送數據。
收到數據時,分光器會把信號發送給所有用戶,每個包前面會添加識別ONU的信息,ONU收到信號后,只會把發給自己的信號轉換為以太網信號。
3. BAS
互聯網由路由器相互連接組成,接入網本該直接連接在路由器上。隨著接入網發展到ADSL、FTTH,接入網連接的路由器進化為BAS。
ADSL和FTTH接入網需要使用用戶名和密碼登錄才能訪問互聯網。
BAS使用PPPoE實現用戶認證和配置下發的功能。PPPoE是由PPP協議發展來的
3.1 PPP撥號做接入認證
接入互聯網時,必須為計算機分配一個公有地址。電話號碼不同,撥號上網的接入點也不同,所以地址不是事先確定的,而是連接前運營商向計算機下發的。
- 用戶向運營商撥打電話;
- 電話接通;
- 用戶和遠程訪問服務器RAS通過LCP交換網絡信息(包長度、認證信息等)。
- 用戶輸入的用戶名和密碼通過PAP/CHAP進行認證;
- 遠程訪問服務器使用RADIUS協議把用戶名和密碼發給認證服務器;
- 認證服務器校驗無誤后,返回IP地址等配置信息,下發給用戶;
- 用戶根據這些信息配置參數,完成TCP/IP收發數據的準備工作;
PPP協議沒有定義以太網的報頭、FCS和信號格式等,不能直接轉換為信號發送。因此必須有另一個包含報頭、FCS、信號格式等信息的外殼才行。撥號上網中使用的是HDLC協議。
3.2 PPPoE方式做接入認證
ADSL和FTTH使用PPPoE
-
ADSL和FTTH使用PPP的原因
ADSL和FTTH中用戶和BAS是通過電纜或光纖固定連接的,因此沒必要驗證用戶身份。但是通過用戶名和密碼登錄的操作便于根據用戶名切換不同的運營商。 -
ADSL和FTTH使用PPP的方式
ADSL和FTTH不能使用HDLC,因此使用以太網包代替HDLC來包裝PPP協議。這種依照以太網規格完成PPP協議內容的方式即為PPPoE。
使用PPPoE和使用PPP的方式,過程基本一致,只是在登錄操作中信息的處理不一致。
graph LR
subgraph a[計算機]
a1[密碼] --> a2[PPP消息];
a2 --撥號上網--> a3[HDLC+PPP消息];
a2 --ADSL或FTTH--> a4[MAC+PPPoE+PPP消息];
end%% PPP
subgraph b[Modem或TA]
a3 --> b1[HDLC+PPP消息] --> b2[線路信號];
end
subgraph c["遠程訪問服務器(RAS)"];
subgraph c1[數字Modem]
b2 --> c11[線路信號] --> c12[HDLC+PPP消息];
end
subgraph c2[認證和配置]
c21[HDLC+PPP消息] --> c22[PPP消息];
end
c3[包轉發];
c12 --> c21;
end
c --RADIUS協議--> d[認證服務器];%% PPPoE
subgraph e[ADSL Modem];
a4 --ADSL--> e1[MAC+PPPoE+PPP消息] --> e2[ATM信元] --> e3[電信號];
end
subgraph f[DSLAM];
e3 --> f1[電信號] --> f2[ATM信元];
end%% FTTH
subgraph h[光纖收發器\n或ONU]
a4 --FTTH--> h1[MAC+PPPoE+PPP消息] --> h2[光信號];
end
subgraph i[多路光纖收發器\n或OLT]
h2 --> i1[光信號] --> i2[MAC+PPPoE+PPP消息];
endsubgraph g[BAS];
subgraph g1[認證和配置];
f2 --> g11[ATM信元] --> g12[MAC+PPPoE+PPP消息] --> g13[PPP消息];
i2 --> g12;
end
g2[包轉發]
end
g --RADIUS協議--> d[認證服務器];
PPPoE方式的接入網整體工作流程
使用PPPoE方式的接入網的工作流程。
-
撥號階段
先在接入路由器配置運營商分配的用戶名和密碼。然后接入路由器根據PPPoE的發現機制尋找BAS的MAC地址,類似ARP,基于廣播實現; -
用戶認證和下發配置階段
過程復雜。類似PPP撥號上網的第3到7步。
用戶名和密碼發送給BAS的兩種方式:加密的CHAP和不加密的PAP方式。
TCP/IP配置信息下發:包括分配的IP地址、DNS服務器IP地址、默認網關的IP地址。互聯網接入路由器把這些信息配置在它的BAS端端口上,之后就能將包轉發到互聯網了。
BAS分配的公有地址在互聯網接入路由器上,用戶的計算機會被分配一個私有地址,發送包時路由器進行地址轉換。如果地址轉換導致某些應用程序無法工作,就直接讓計算機接收BAS的PPPoE消息,計算機具有了公有地址可以直接上網。
當采用一對一連接時,一端發送的包肯定會到達另一端,這時是沒必要按路由表查詢網關來判斷轉發目標的。此時就不需要分配IP地址了。這種方式成為無編號,是公有地址越來越少的時候提出的特例。這種情況下BAS下發配置信息時不會下發默認網關的IP地址。
-
客戶端發送包階段
客戶端訪問互聯網的包開始發送,在互聯網接入路由器的路由表里判斷后,按照PPPoE規則轉發給找到的目標。 -
BAS發送包階段
BAS收到網絡包后,去掉MAC頭部和PPPoE頭部,通過隧道機制發向網絡運營商的路由器。
PPPoE規則
PPPoE規則轉發網絡包,會改寫MAC頭部。將根據PPPoE規則發現的BAS的MAC地址寫在接收方,把接入網路由器的BAS端的端口的MAC作為發送方;以太類型寫8864,代表PPPoE。
新增PPPoE頭部,字段如下:
字段 | 長度 | 含義 |
---|---|---|
版本號 | 4 | PPPoE協議的版本號 |
類型 | 4 | 未使用 |
編碼 | 8 | PPPoE的工作狀態,傳輸數據時為00 |
會話ID | 16 | 區分用戶端連接到BAS的多臺設備。PPPoE發現BAS時確定該值 |
載荷長度 | 16 | PPPoE頭部后面的長度 |
3.3 BAS使用隧道方式傳輸網絡包
隧道是通過互聯網基礎設施在網絡之間傳遞數據的方式。隧道協議將數據封裝在新的包頭中發送,被封裝的數據包在隧道的兩點之間通過公共網絡進行路由,一旦到達終點,數據被解包并發往最終目的地。
原理上無論哪種方式,只要能把包原封不動地送到另一端,就能用來建立隧道。
可以使用TCP連接建立隧道。在兩臺隧道路由器之間建立TCP連接,然后將連接兩端的套接字當做是路由器的端口,從這個端口收發數據。路由器基于隧道的規則收發包。
在BAS和運營商路由器之間的ADSL/FTTH接入服務商的網絡中建立隧道,把用戶到BAS的接入網連接起來,形成一條從用戶一直到運營商路由器的通道。網絡包通過這條通道可以直接訪問互聯網。
3.4 其他方式做接入認證
PPPoA
PPPoA方式直接將PPP消息裝入信元,不添加MAC頭部和PPPoE頭部。除此之外的部分和PPPoE一致。
由于沒有MAC頭部,就無法在以太網傳輸,所以和BAS收發PPP消息的ADSL Modem必須和計算機、路由器是一體的。一般會把ADSL Modem和路由器整合為一臺設備。
PPPoA的缺點是當遇到地址轉換導致的應用程序問題時,計算機無法跳過路由器直接上網。優點是不需要添加MAC和PPPoE頭部,增加了網絡效率。
DHCP
PPPoA的限制和PPPoE加頭部的操作主要是由于PPP消息引起的,有一些運營商使用DHCP協議從BAS向用戶下發TCP/IP配置信息。
DHCP認證的步驟很簡單,先由客戶端請求配置信息,然后DHCP服務器下發配置信息即可。
DHCP不需要驗證用戶名和密碼,無法通過用戶名切換運營商,但是可以單純地傳輸以太網包,不需要PPP頭部,更加高效。
DHCP使用的ADSL Modem不使用信元,而是直接把以太網包調制成ADSL信號發送給DSLAM,因此沒有ADSL Modem和路由器無法分離的問題。
4. 互聯網
網絡包通過接入網到達運營商的路由器,然后從這里進入互聯網內部。
ADSL、FTTH等是和運營商的設備相連的,這些設備稱為POP。POP是互聯網的入口,多個運營商網絡相互連接組成互聯網。
4.1 網絡運營商的POP和NOC
POP的結構根據接入網類型而不同,其內部包括各種類型的路由器。
專線不需要用戶認證和配置下發,使用一般的路由器就可以。
撥號上網的接入網,使用的路由器稱為RAS,可以應答用戶的撥電話操作。
PPPoE方式接入網服務商的BAS會完成用戶認證和配置下發,運營商的路由器只負責包的轉發,也是使用一般的路由器。
接入網的速率比互聯網核心網絡要低,接入網部分要連接的線路數量很多,所以適合使用端口多且價格低的路由器。
路由器4,需要和運營商的NOC和其他POP連接,所有連接接入網的路由器都是集中到這里,線路速率高,因此需要配置轉發性能和吞吐量高的路由器。
- NOC
NOC是運營商的核心設備,從POP傳來的網絡包都會集中到這里,并從這里轉發到離目的地更緊的POP,或者轉發給其他運營商。NOC也需要配置高性能的路由器。
POP和NOC的實體看起來和公司機房差不多。但是公司機房一般用雙絞線連接設備,而POP和NOC由于運營商網絡需要傳輸的包很多,一般使用光纖連接設備。
對于室外的連接,運營商會使用光纖,或者租借別的運營商提供的光纖通信線路。
4.2 運營商之間
同運營商的包傳遞
網絡包到達POP路由器后,如果目標Web服務器和客戶端連在同一個運營商中,則POP路由器的路由表中會有相應的轉發目標。路由器根據表中信息判斷轉發目標,可能是相鄰的POP或者NOC,然后下一個路由器再繼續轉發。
運營商的路由器可以和其他路由器交換路由信息,然后更新自己的路由表。
運營商之間的路由信息交換
服務器和客戶端再不同運營商的網絡中時,網絡包會先發到服務器所在的運營商。
-
路由交換機制BGP
運營商和其他運營商相連的路由器可以通過BGP(邊界網關協議)機制自動交換路由信息。
一方路由器讓相連的運營商的路由器告知路由信息后,就能知道對方路由器連接的所有網絡,把這些信息寫入自己的路由表中,就能向那些網絡發送包了。同時自身的路由信息也會告知對方。 -
兩類路由交換
轉接:一個運營商將互聯網中的路由全部告知對方。這樣另一方可以通過這一方向整個互聯網發送包。
非轉接(對等):兩個運營商之間僅將與各自網絡相關的路由信息告知對方。雙方之間的網絡可以互相收發包。 -
運營商之間路由交換額外的判斷機制
公司網絡中路由器信息交換使用的是最短路由機制,路由信息在所有路由器間平等交換。但是互聯網的路由機制需要有額外的判斷機制。
1.互聯網中可以指定路由交換的對象。運營商之間的路由交換是在特定路由器間一對一進行的,運營商可以只將路由信息提供給交了費的運營商,沒交費的運營商無法將網絡包發送過來。
- 判斷路由時,除了判斷是否為最短路由外,還能設置其他判斷因素,如路由優先級。
對于沒有交換信息的運營商網絡,網絡包也能通過走其他運營商到達。
4.3 互聯網交換中心IX
兩個運營商之間可以一對一連接,但是存在很多運營商的時候,一對一連接很難把所有運營商都關聯起來。
互聯網交換中心IX,是一個中心設備,運營商先連接到IX,然后和其他運營商交換信息。
IX核心是具有大量高速以太網端口交換機。
運營商連接到IX的方式:
IX收到網絡包時通過ARP查詢下一個路由器的MAC地址,寫到頭部后發送出去。
互聯網內部概覽