敲黑板:PPPOE到底是啥?有了它就有公網IP了嗎?

發現現在很多文章都像是在寫史書一樣,任何一個名詞似乎都得解釋一番。

前陣子講到路由器改PPPOE撥號的問題,很多人就會混淆一個概念,認為PPPOE之後就會有公網IP了。其實這件事還得細說,結論並不是一定的。

敲黑板:PPPOE到底是啥?有了它就有公網IP了嗎?

寫歷史,在早早年間大家“上網”的時候……嗨~~哪有什麼網際網路啊!!!其實就是撥通電話號碼。例如在1995年的天津,iN當時利用“網路”的時候並不能真正的接入網際網路,而是接入一個叫做BBS的系統中。現在一提BBS大家似乎會覺得是網路論壇,但其實BBS本身叫做電子公告板(

Bulletin Board System

)。接入的方式很簡單,利用自己家裡的modem(俗稱叫“貓”)撥通一個號碼,這個號碼另一端也是一個modem,它連線到一個主機,這臺主機運行了BBS的服務。當年iN常上的BBS有飛鴻和天津圖書館,一個是民間辦的,還有一個是天津官辦的。那時候可以說是完全沒有網際網路的概念。一個BBS就是一個節點。也沒啥圖形化的東西,全部都是文字資訊。用dos的命令列就可以撥進去。大家就在上面聊聊天吹吹水。

這裡有一個很好玩的概念,modem對modem其實跑的是PPP協議,也就是點對點協議。你家裡的modem到BBS站的modem僅僅透過電話線路達成了一個點對點的連線。裡面跑的既不是TCP/IP協議也不是HTTP,而是赤裸裸的串列埠資料流。

當時有沒有真正的網路呢?還真有,都是區域網,例如跑IPX協議或者TCP/IP的各個公司或院校的區域網。能夠在區域網內完成一些檔案共享和電腦內的資料通訊(例如局域網遊戲)。但只有帶有國際專線的區域網內的計算機才可以透過路由器連線到其他的區域網上。但也僅限於一部分接入了專線的公司或院校來使用。對普通老百姓來說就是天方夜譚了。這些“區域網”大多數是乙太網(

Ethernet

)。

敲黑板:PPPOE到底是啥?有了它就有公網IP了嗎?

上面的圖示在很多人的網路電子裝置上都可以看到過吧,一般是在網路介面邊上,這就是乙太網的標記,乙太網是什麼概念?它也叫做對等網,在乙太網中沒有哪個計算機或網路裝置屬於主導地位,他們都是相互平等的。所謂的伺服器、路由器、客戶機等等概念都是在乙太網這個裝置平等的基礎上又被人們賦予的角色。例如你的網路中有一個IP地址是192。168。1。1,另外一個IP地址是192。168。1。2,我們能說192。168。1。1比192。168。1。2的地位更高嗎?

敲黑板:PPPOE到底是啥?有了它就有公網IP了嗎?

當然不能了,1和2之間只是數值標識不同,而沒有地位區別。但很多人讀到這裡一定會說192。168。1。1是路由器啊!這也是你願意指定的,並不是192。168。1。1本身就是路由,它的身份是根據裝置功能所指定的,如果你願意的話,可以把路由器設定為192。168。1。100甚至192。168。1。254,只要和其他裝置不衝突而且在其他裝置上做對應的設定網路都是可以跑得通的,。

乙太網設定好了就可以很方便地使用,只要插入網線到網路中,簡單地設定一下裝置上的網路引數裝置和網路就能接通了,甚至在支援DHCP的網路上基本的設定都不需要了。對於自家人相當友好,但如果提供公眾服務呢?你把網線接到一個社群的每一戶人家,然後希望透過為社群中的人提供網路接入服務而賺錢——這樣做最終的結果就是“血賠”,

社群中的使用者可以有幾十種方法免費地使用你的網路。對於運營商來說就迫切地需要一種可以支援這種場景的技術。簡單地說就是為網路使用者使用網路計費。你只有交了錢我才為你提供網路服務。

於是就吧BBS時代modem撥電話號碼然後輸入使用者名稱密碼的那一套拿了回來,在乙太網上建立了一個通訊隧道跑PPP協議,所以大家常說的PPPOE就是

P

oint-to-

P

oint

P

rotocol

o

ver

E

thernet(建立在乙太網上的點對點協議)。

敲黑板:PPPOE到底是啥?有了它就有公網IP了嗎?

PPPOE的目的其實就是驗明你的正身,確定使用者沒有欠費可以使用網路的一個機制,

在確定使用者有權利訪問網路後下發使用者這次登入可以使用的IP地址

至於下發的IP地址是不是公網IP這件事就有待於商榷了,規則並不在於你是不是PPPOE撥號上網而是在於你的運營商給你的使用者配置模板內的設定。

在很多運營商會給你10。10。XXX。XXX這樣的IP地址或者是給你172。16。XXX。XXX的地址都不奇怪。這些結果根據運營商分配到你家小區的資源來決定。

但為什麼說有時候和寬頻師傅說要設定為PPPOE模式上網寬頻師傅不明白了呢?因為本來現在的大部分寬頻接入都是PPPOE的接入方式,在培訓過程中這件事幾乎不用強調。

敲黑板:PPPOE到底是啥?有了它就有公網IP了嗎?

你就是開啟光貓的撥號配置介面,你也會看到光貓上也有使用者名稱/密碼這個設定專案。所以如果想用自己的路由器做PPPOE撥號的時候你和師傅提這樣的要求很多師傅會一臉懵圈的表情。應該怎麼說呢?

和師傅說我要把光貓改橋接模式

。這樣橋接模式的光貓僅僅作為一個網橋來存在,負責光訊號轉化為電訊號,而PPPOE的工作就可以交給下一級的路由器來實現了。

敲黑板:PPPOE到底是啥?有了它就有公網IP了嗎?

但這種方法依舊只能解決你用自己買的路由器撥號的需求,至於有沒有公網IP和是不是PPPOE並沒有直接關係。

但這樣做雖然不確定是不是有公網IP也的確是有好處的。尤其是你有一個性能強勁的路由器的時候,你可以有更快的網路速度。以及更好的網路資料包處理能力。

因為這個時候你的光貓僅僅是一個透明網橋,只做幀轉換工作。網路效能的瓶頸就只取決於你自己購買的路由器的效能。

但是——有不好的地方。你的路由器就直接暴露在internet網路上了。如果路由器設定不當……會帶來一定的安全風險。甚至還會有莫名奇妙的速度降低問題。

例如在iN的路由器防火牆上有這樣的一組設定:

敲黑板:PPPOE到底是啥?有了它就有公網IP了嗎?

其實就是為了阻斷從外界過來的DNS查詢的,遇到這些查詢直接拋棄掉。如果不做這個,每天有大約幾十萬個DNS查詢資料進來,肉雞在跑各種掃描指令碼。這其實就是拖慢你網路速度的一個很重要原因。閘道器(路由器)暴露在外有大量的無意義資訊要去處理。所以有的時候你改了橋接,獲得了公網iP反而覺得網路速度下降了,也並不是你的裝置不行,而是這段時間你周邊的的網路有滿滿的惡意。