早期網路剛開始萌芽時,
由於不同公司的硬體產品開發的網路技術,
彼此的連網技術並不相通,
導致不同公司的產品無法互相連線,
為了解決這個問題,
一個統一的協議套組──網際網路協議套組
IPS(Internet Protocol Suite)因此誕生。
在整個網際網路協議套組中
TCP(傳輸控制協定)和 IP(網際網路協定)
是最早制定也最具代表性的協定,
因此 TCP/IP 也漸漸成為
網路通訊協定的代名詞沿用至今。
由於網路從實體層(0 與1 的電壓訊號)
到應用層(應用程式接收/傳送資料)
的技術十分複雜,
為了減少開發與維護的成本,
網路技術被分為多個層級,
讓每個層級各自運行、不互相干擾,
當某個環節出問題時,
只要修正該層的問題就好。
如此一來要撰寫、維護程式都變得更容易,
網路的架構概念也因此更加清晰。
目前標準架構被稱為 OSI 七層協定
(開放式系統互連,Open System Interconnection)
TCP/IP 協定將其簡化為四層。
從底層到高層分別為:
TCP/IP 四層 | OSI 七層 |
---|---|
1 網路存取層 | 1 實體層、2 資料連結層 |
2 網際網路層 | 3 網際網路層 |
3 傳輸層 | 4 傳輸層 |
4 應用層 | 5 會談層、6 表現層、7 應用層 |
使用網路傳輸資料時,
最初的資料首先會從 A 電腦的
應用程式端口傳入應用層,
之後逐級往下傳,經過網路每層的處理
到最底層變成電子訊號。
接著藉由電線電纜的實體運送,
抵達 B 電腦的實體層後,
反向重複一開始的過程,
一層層往上傳遞,
將 0 與 1 的電子訊號轉換回應用層,
這樣應用程式就能顯示剛才收到的資料了。
在網路技術複雜的多層架構中,
由於分層讓不同層級的行為不互相干擾,
同時也表示,不同層級的資料是完全不相干的。
比方說如果應用層收到實體層的資料,
就好像果汁機被放進一堆蘋果種子,
兩邊都只能默默無言的看著彼此,
等再久也無法完成一杯蘋果汁。
因此,不同層級網路系統,
都只能認得跟自己同層的資訊。
不過有另一個問題是,
資料在傳送時會被壓縮,
等同於將貨物全部壓平方便運送,
但不同的電腦彼此又無法通靈,
這樣一來當對方收到時,
要如何回復原狀呢?
如果送出後怕資料對方不會拆,
不知道正確解讀方式是什麼,
那就附上一份拆封說明書吧。
這時候表頭(header)就出馬了,
要傳送資料時,每層在打包好資料後,
都會在資料最前端附上自己的 header,
讓對方在收到時,知道該如何正確打開。
像這樣,網頁就完成一場旅行
藉由 TCP/IP 協定從 A 電腦抵達 B 電腦囉。