2014年6月11日 星期三

淺談網路


4G 的時代要來臨了,物聯網時代腳步也更近了。今天來跟大家簡單的聊聊網路。
每一個能上網的介面一定有MAC位址;每一台裝置一定要拿到IP才能上網,這是大原則。
每一個應用程式在執行的時候一定會有個連接埠號,沒有就表示他不是個網路應用程式。

舉例說明
MAC位址就像是你家實際上的地理位置,這個地方除了地震以外應該是不會有任何變動的,如果像是我們者種網路管理者一樣可以變動這個位址,但是一般使用上千萬別擅自改動這位址。
IP位址就像是你家土地和房屋權狀上寫的地址,這是個相對位置(邏輯位址),因為路名有可能會更動。
Port號就像是所在的樓層,每一個應用程式被開啟時,就會開啟一個連接埠,這個連接埠代表了這隻應用程式的網路位址;而當你每開啟一個應用程式就可以想像你多蓋了一個樓層的房子。

所以今天有筆資料要送出,你一定會寫地址在哪,這時候你就會填上對方的 IP + Port號,這在網路上有個專有名詞叫做 Socket(插座)。
今天一個連線被建立在用戶端和伺服端,一定在兩邊都會有各自的 Socket(插座),而這個 Socket 也同時代表了該應用程式再網路上的識別。

如果你要擋住他們之間連線,你可以擋IP,也可以擋Port。擋IP可能是個網段,就像你讓那條街的人都不能通過你設的交管;擋 Port 的話就像是,你讓某個特定樓層的人不能通過你設的交管,不管是哪一個地址。
當然,實際運作起來更複雜,因為可以封鎖特定位址來的,或是要去特定位址的,或者針對某一個特定應用程式的。

接下來講到頻寬,頻寬就像是一條馬路上的線道,頻寬越大,線道越多,你可以空著這些頻寬不用,當然也可以限制頻寬,或者保留頻寬給特對服務對象,例如交通警察可以把某一線封掉只給某大官員使用。
流量,不管車子有多少,馬路就這麼寬,車多一定會塞,網路也是一樣,網路上的車叫做封包,當這些封包延遲太久到不了目的的時候,就會被十字路口的交警給遺棄。
網路十字路口的交通警察就是路由器,它會告訴封包要往哪去,或是把過期的、找不到方向的封包給丟棄。

網路也像是水流,當你的設備有支援1Gbps,你可以把設備看做水龍頭,而網路線看做水管,在兩邊連接起來的時候,水流速一定是取最小值,雖然設備有支援1Gbps但是你網路線只有支援100Mbps,那最大流速就是100Mbps不可能更快;這就像是水龍頭很大問題是水管很細,流量會受限在水管上。
任何的網路設備都是節流閥,也就是不可能在穿越的時候沒有衰減,因為物理特性的關係,一定會有所謂的封包穿越率問題,沒有任何一家設備保證100%無損封包(100%穿越)是完全不可能的事,你可以想像每經過一次網路設備就會有部分的水被漏掉。

當你一項裝置可以透過不只一種方式上網的時候(有線、Wifi、3G、4G、藍芽...),請注意,無論如何該裝置都只會使用其中一種方式上網,不會有頻寬被加總的情況,那是說來騙鬼的謊言。
某蘋果新聞報導 4G+wifi 可以用到兩倍頻寬,這肯定是假的;我這樣說好了,任何網路服務或應用都不可能會橫跨在兩個IP之間(兩個不一樣的地址),就像郵差不會將兩個不同的地址視為是同一個人。



接下來的說明就比較困難了,給網路有點基礎的人看看。

大家都有上過Google或Yahoo,雖然你覺得他們網頁跟昨天你連上來的沒有很大的不同,甚至跟一年前連上沒有很大的不同,但是實際上,你有可能連上的是不一樣的機器(伺服器)。
他們背後通常會是一個叢集(Cluster),可能會是5-10台相同型號的伺服器串接,這些伺服器上面有有著不一樣的IP位址但是相同的服務。
有種東西叫做網路負載平衡器(Loadbalance),他會拿到一個IP,當大家要連上Google Web的時候由它去主導這個連線交付給誰(哪一台伺服器)服務,而在一段時間內,這個連線階段(Session)會黏在那台機器上,這被稱為Sticky(黏住),這項技術非常重要。
如果沒有黏住(Sticky)的技術,絕大數的拍賣網站流程會出問題,因為一旦網頁重新整理(Refresh)後,購物車跟登入資訊會被清空,因為有可能被切換到不同伺服器的後端去了。

虛擬化後就更複雜了,虛擬機可以叢集,虛擬機可以在同一台或是不同台設備上,網路設備可以虛擬化;但是實際上網路是很單純的東西,萬變不離其宗,就像某CCIE曾經跟我說過:網路跟虛擬化很簡單,就是邏輯與實體間的對映這樣而已。

網路上真正困難的東西是 路由演算法(例如:RIP演算法、OSPF演算法、EIGRP演算法)、密碼學、各種種類的協定。


沒有留言: