2014年2月9日 星期日

對於網路七層架構的一點小認識

最近再深入研究一下計算機網路的內容
說到這個 首選當然是鳥哥的Linux私房菜了! 

這次要筆記的主題是網路的 OSI 七層協定 (Open System Interconnection) 

簡單來說網路是個很複雜的東西,要撰寫他的程式要考慮各式各樣軟硬體的問題,不過透過這個標準將網路切成很多層次(Layer),要我形容的話,感覺起來很像是寫成是的時候在做模組化一樣,把東西都變成一個個小部份,如此一來修改程式會簡單許多,不會因為修改一小段就要全部砍掉重鍊XD。


至於為什麼七層其實我也很困惑~"~ 小弟我想應該是切完之後剛好七層吧!



上面這張圖 便是七層架構的運作圖(流程)

一開始的資料在每經過一層之後便會加上一段檔頭到鍊結層時更會加上檔尾(後面在解釋)
把檔案都做好處理之後丟給對方,因為有相同的標準所以可以把檔頭(檔尾)解析
最後獲得資料內容。

p.s 左邊的傳送放沿著虛線的順序把資料交到對方手中

這其中的過程看起來還是很沒實感所以我就去翻了翻維基沒想到看到一張滿有趣的圖片


這樣看起來有感覺多了~


而當每次資料向下傳遞時 因為都會加上東西(檔頭或檔尾),
這過成就像把信件(資料)包裝(封裝)一樣,
事實上那之後的產物其時就是所謂的封包Packet) 
只要資料經過其中一層並且被加以封裝就是個封包

-------------------------------那來介紹一下每一層吧!-----------------------------------

Layer 1  實體層 Physical Layer
由於網路媒體只能傳送 0 與 1 這種位元串,因此實體層必須定義所使用的媒體設備之電壓與訊號等, 同時還必須瞭解資料訊框轉成位元串的編碼方式,最後連接實體媒體並傳送/接收位元串。

Layer 2  鍊結層 Data-Link Layer
這層介於軟體與硬體之間,所以又分成兩個小部份來分別處理,一邊是接收MAC (Media Access Control)  另一邊是將上層的封包解析成MAC格式(轉換資訊、流量控制、除錯...)

ayer 3  網路層 Network Laye
大家平常在講的IP (Internet Protocol) 就在這層,定義出電腦之間的連線建立、終止與維持等,資料封包的傳輸路徑選擇等等,因此這個層級當中最重要的除了 IP 之外,就是封包能否到達目的地的路由 (route) 概念了!

Layer 4  傳送層 Transport Layer
這一個分層定義了發送端與接收端的連線技術(如 TCP, UDP 技術), 同時包括該技術的封包格式,資料封包的傳送流程的控制、傳輸過程的偵測檢查復原重新傳送等等, 以確保各個資料封包可以正確無誤的到達目的端。

Layer 5  會談層 Session Layer
常常聽人講到Session什麼的,其實就在講這個部份,這層可以作些簽到簽退的功能,Session的內容都會存在server端之中

Layer 6  表現層 Presentation Layer
在這個層級當中,主要的動作就是:將來自本地端應用程式的資料格式轉換(或者是重新編碼)成為網路的標準格式, 然後再交給底下傳送層等的協定來進行處理。所以,在這個層級上面主要定義的是網路服務(或程式)之間的資料格式的轉換, 包括資料的加解密也是在這個分層上面處理。

Layer 7  應用層 Application Layer
定義應用程式如何進入此層的溝通介面,以將資料接收或傳送給應用程式,最終展示給使用者。





圖片跟資料參考自:
鳥哥的LINUX私房菜
http://linux.vbird.org/linux_server/0110network_basic.php#whatisnetwork_what
維基百科
http://zh.wikipedia.org/zh-tw/OSI模型

沒有留言: