理解網絡七層協議(一)

關於 Alice 和 Bob 通訊的故事

通訊和網絡傳輸數據和像,都是傳輸數據,因此用通訊作類比,方便理解和記憶。node

應用層

好比 Alice 想知道 xxx老師的種子,向種子網站 Bob 要(pull)。這種通訊的方式就是我問,你答,也就是 HTTP 方式。git

再好比 Alice 和 Bob 是一我的寫信,一我的收,也就是說 Alice 向 Bob 發信息(push),Bob 接收,這個交流方式,就是 SMTP。github

應用層是爲用戶提供的接口,定義了用戶之間的交流方式。網絡

表示層

既然是交流,就要解決語言的問題,總不能一個講英語,一個講漢語,這個就是編碼。網站

表示層解決編碼、加密等問題。編碼

會話層

既然兩我的要通訊,如何開始?過了一段時間,不想繼續通訊了,如何結束?這些都是會話層要處理的。加密

會話層控制兩臺電腦之間的連接。htm

傳輸層

兩我的要通訊了,因爲傳輸途徑的限制,一封信會被切割爲一個一個段落(segment)。那麼其中一個段落傳丟了怎麼辦?要不要重傳?每一個段落,要順訊到達嗎?這些就是 TCP/UDP 的區別。傳輸層用來解決這些問題。blog

傳輸層解決主機間的數據傳輸(能夠是不一樣網絡)和傳輸質量的問題。接口

網絡層

通訊前,選好了對話的姿式(應用層),有了傳輸內容的表示形式(表示層),傳輸的質量有了保證(傳輸層)。

那怎麼標識 Bob 呢?固然是地址了,好比 xxx 市 xxx 小區 : 100-505 室。
也就是小區 :門牌號,小區比如主機,小區的地址就是 IP ,門牌號就是端口號。

有了地址,選擇怎樣的路徑呢?
一個地方到另外一個地方的方式有不少種。好比深圳到北京,能夠先從深圳 - 廣州 - 北京,
也能夠是 深圳 - 鄭州 - 北京。

有遠有近,有快有慢,要走哪條路的事情。既路由(routing)和傳輸控制(subnet traffic control)。

網絡層解決的是不一樣網絡間數據傳輸問題。

數據鏈路層

咱們知道了,從深圳到北京,能夠在廣州中轉。但北京傳到深圳的信息是正確的嗎(error detect)?不正確怎麼更正error correct)?這些問題,都由數據鏈路層解決。

數據鏈路層接解決直接相連的兩個節點(node)數據傳輸的問題。

物理層

物理硬件和物理硬件有是怎麼鏈接的呢?網線是什麼?頻率等物理特性是什麼,這些都是物理層所要解決的。

參考

OSI 7-Layer Model and the role of each layer

OSI model

The OSI Model's Seven Layers Defined and Functions Explained

Computer Networking

通俗大白話來理解TCP協議的三次握手和四次分手

相關文章
相關標籤/搜索