小弟之前曾對某款遊戲伺服器懷著高度興趣,但是對於多人連線一直有困惑。
發現世上有虛擬區域網域連線工具 (以 Hamachi 為例)。
遊戲需要透過Hahachi建立的連線,別人還要擁有Hamachi程式並且加進你的房,才能連線。
網路上面查了很多知識,了解如果自己的環境有分享器還是說直接接wan怎麼設定等....
不過這些都測試過了,狀況依然... (DMZ,IP Forwarding,虛擬伺服器等等...)
到有一天,突然了解自己家的網路原來是所謂的 "社區網路" (雖然很不能接受 但還是認了)
社區網路 = 同社區同ISP的使用者都是同個IP,或是說同個IP不只有你在用。
(這邊的IP是指外部IP, 也就是這邊查到的IP )
好,入話題
首先要先了解一些基本的概念
IP是用來定位電腦的,Port是用來指定進程(程式服務)的。
網頁伺服器 端口 80 Port
我們一般要連出去 (例如 連線到Google首頁,是沒問題的,那為什麼別人連不進來我的? )
因為你出去是透過由你主動發出請求,回覆回來。
你架設網頁伺服器,是等別人主動對你發出請求,你回覆回去。
很明顯的,你的IP那麼多人在使用,而且一台電腦可以開0-65535個Port。
別人對你 IP 的 80 Port 發出請求。
對方 發出請求, 你的社區網路都接到這個請求,因為不知道Port是誰的
ISP 的路由不知道80 Port 的請求要轉給哪個用戶處理。
(總不可能讓該IP所有電腦都回覆這請求,會炸掉吧) (也不可能智慧偵測所有電腦Port狀態)
預設 ISP 只負責對你們社區網路流量進行限制和分配。
你現在一定會想說,那怎麼辦... 社區網路不就永遠無法和世界接軌?
好,首先不能否定的就是你付的錢 ,社區網路本身很便宜了。
給每一位用戶獨立IP是不可能的,但有一個方法叫做
Port轉送
向你的ISP業者,申請說你要將哪些Port,轉到你的電腦 (就是你的Static Wan IP)
轉到你的Wan IP的話,如果你有路由器的話,你還需要再從路由器自己做Port轉送到你電腦 。
自己的經驗分享
架設網頁通常就是輸入你IP,或者是DomainName (網址),就可以看到你的網頁了。
是因為瀏覽器對你輸入的IP,或者是DomainName (網址),預設向80Port提出請求。
也就是網址前面的http:// 協定是80 Port , https:// 則是443 Port 。 瀏覽器都會自作處理。
所以80 Port 大家都搶著要啊! 1個IP ,1個Port就只能有一個人啊
我自己向ISP 申請時,談到關於 常見Port (Common port) ,他們也是笑笑的盡量避免這話題....
通常給你的都是不常用的 Port... ( Ex:5100, 6100,31500,25000 )
對了 ,當心防火牆會阻擋連線,本章就不說明啦~
-----------------------------------------------------------------------
分享一下當時閱覽過的文章 (留言也要看哦~ 有時候留言才是精隨)
http://minecraftnote.blogspot.tw/2012/07/minecraft.html (伺服器架設 超詳細解說 (不使用 Hamachi ))
http://forum.gamer.com.tw/C.php?bsn=05386&snA=22015 (DMZ整台曝露設定)
http://www.pczone.com.tw/vbb3/archive/t-99058.html (虛擬伺服器和DMZ的差異)
http://www.sapido.com.tw/CH/learning/virtual_server.htm (虛擬伺服器設定範例)
https://blog.3bro.info/archives/router-port-forwarding/ (Port Forwarding設定 (其實同虛擬伺服器))
(社區網路 浮動IP 透過免費DomainName 的解決方式)
http://www.moonlit.me/no-ip-dns-1861.html (NO-IP 動態 DNS申請)
http://ppt.cc/jUXr (NO-IP 、DNS說明 ,使用教學)
---------------------假如真的沒辦法就...---------------------
http://forum.gamer.com.tw/C.php?bsn=22260&snA=42 (Hamachi教學)
若是你有成功或是有這方面的經驗 ,歡迎分享~~~~
0 意見:
張貼留言