2007年11月2日 星期五

為什麼要開port? 什麼是P2P?

這是我在ptt P2PSoftWare板的一篇回答文,稍加潤飾過。


引述某鄉民之銘言:
為啥連接埠沒映射http上網很順呢?
是因為80,8080等http用到的埠有被映射嗎?
如果是這樣為啥uT改用8080不會比較快?
(事實上我不太解虛擬網路的架構...)

我以前跟你一樣不明白這個,聽朋友解釋才搞懂
http協定有兩種身份:伺服器端、客戶端
伺服器接受要求,是「受」,而且是「總受(總是受方)」
客戶端發出要求,是「攻」,而且是「總攻(總是攻方)」

受才要開「port」,攻不用

所以,即使IP分享器完全沒開port(給底下任何電腦)
下面領虛擬IP的所有電腦本身防火也沒有打開任何port
依然可以上網、載FTP、聊MSN、玩OLG...等,都是基於這個道理

那,到底什麼時候才須要開port呢?
也就是你總攻玩膩了想換口味扮演受方的時候
ex:架網頁伺服器、FTP伺服器、郵件伺服器...等

好,你現在受的潛質正在騷動,飢渴無已,卻不得其門而入
我就好心教你如何「開竅」。不過,在這之前得先來釐清觀念

假設現在只有一個IP(123.123.123.123)
但有二台電腦要上網,怎麼辦呢?
一台IP分享器即可解決這個需求:
由分享器取得這個實體IP(123.123.123.123)
再由分享器授權二組虛擬IP給這二台電腦使用
甲:192.168.1.2
乙:192.168.1.3(你可能會問192.168.1.1上那去了,IP分享器自己也要一個啊)
這樣一來,這二台電腦就可以透過分享器上網啦
要注意的是,以外界來看甲、乙、還有IP分享器,都是同一個IP
ex:無論甲或乙去ptt發文,IP都會顯示123.123.123.123

過了不久,甲和乙受的潛質甦醒
一個說要當網頁伺服器、一個嚷要當FTP伺服器
只有一個IP,外人連123.123.123.123上門是找到分享器去呀,怎麼辦呢?

這時委曲的IP分享器只好權充老鴇,問前來尋芳相公們「今天要指定哪位少爺?」
port:80 → 192.168.1.2(甲)
port:21 → 192.168.1.3(乙) ※ 這動作有個正式稱呼:設定虛擬伺服器
因此相公循著老鴇的指示
依著http:123.123.123.123:80跑去,不怕闖進乙房裡
沿著ftp:123.123.123.123:21摸去,不會摸到甲床上
(http預設port是80「:80」可省,ftp同理)
而甲和乙自己嚷著要當受,本身的「port」卻沒開,這是會遭天譴的
也就是說,分享器port要設好,自己的防火牆也要開,才能和相公攜手共赴極樂

回到主題,為什麼玩P2P也要開port呢?
因為基於P2P的原則,一個人想要享受權利當攻方找人伸手
同時也要盡義務扮受方讓人找上門來伸手
醬子了解沒?

所以下次有人問「什麼是P2P?」
我們可以問答他「無數人參加的超級雜交派對」XDDD