2006年10月6日 星期五

淺談電腦網路通訊協定

淺談電腦網路通訊協定 : OSI七層協定 → TCP/IP協定

正如同,一個只懂中文和一個只懂英文的人,無法溝通一樣;全世界的作業系統,不是只有 Windows而已,還有Linux、Mac_OS、Unix等等。那麼多的作業系統要如何進行網路溝通呢?那就得要制訂共同遵守的標準才行了。這個標準是由國際組織規範的,你的系統裡面只要提供可以加入該標準的程式碼, 那你就能夠透過這個標準與其他系統進行溝通!

網路上的任一部電腦都可被視為一個網路節點(Node)。大部份的網路節點都是一部電腦,但印表機、路由器(Router)、橋接器(Bridge)、閘道器(Gateway)、終端機(Terminal),也可以被視為網路節點。網路上的每個節點的位址都是一個獨一無二的編號,位址是唯一可以用來識別節點的一組位元組。那麼各個節點之間是如何溝通訊息的呢?其實就是透過標準的通訊協定啦!但是,整個網路連接的過程相當複雜,包括硬體、軟體資料封包與應用程式的互相連結等等,如果想要寫一支將聯網全部功能都串連在一塊的程式,那麼當某個小環節出現問題時,整隻程式都需要改寫啊!真麻煩!那怎辦?沒關係,我們可以將整個網路連接過程分成數個階層(layer),每個階層都有特別的獨立的功能,而且每個階層的程式碼可以獨立撰寫,因為每個階層之間的功能並不會互相干擾的。如此一來,當某個小環節出現問題時,只要將該層級的程式碼重新撰寫即可。所以程式撰寫也容易,整個網路概念也就更清晰!那就是目前常聽到的 OSI七層協定的概念囉!雖然 OSI七層協定的架構非常嚴謹,是學習網路的好材料。但是也就是因為太過嚴謹了,因此程式撰寫相當不容易,所以造成它在發展上面些許的困擾。而由 ARPANET 發展出 TCP/IP 協定。其實 TCP/IP 也是使用 OSI七層協定的觀念, 所以同樣具有分層的架構,只是將它簡化為四層,在結構上面比較沒有這麼嚴謹,程式撰寫會比較容易些。後來在 1990 年代由於 email, WWW 的流行,造成 TCP/IP 這個標準為大家所接受,這也造就目前我們的網路社會囉!