網路協議概述

2021-09-11 02:23:57 字數 1587 閱讀 9875

物理層、連線層、網路層、傳輸層、應用層詳解

所謂的物理層,是指光纖、電纜或者電磁波等真實存在的物理媒介。這些媒介可以傳送物理訊號,比如亮度、電壓或者振幅。對於數字應用來說,我們只需要兩種物理訊號來分別表示0和1,比如用高電壓表示1,低電壓表示0,就構成了簡單的物理層協議。針對某種媒介,電腦可以有相應的介面,用來接收物理訊號,並解讀成為0/1序列。

在連線層,資訊以幀(frame)為單位傳輸。所謂的幀,是一段有限的0/1序列。連線層協議的功能就是識別0/1序列中所包含的幀。比如說,根據一定的0/1組合識別出幀的起始和結束。在幀中,有收信位址(source, src)和送信位址(destination, dst),還有能夠探測錯誤的校驗序列(frame check sequence)。當然,幀中最重要的最重要是所要傳輸的資料 (payload)。這些資料往往符合更高層協議,供網路的上層使用。與資料相配套,幀中也有資料的型別(type)資訊。連線層協議不關心資料中到底包含什麼。幀就像是乙個信封,把資料報裹起來。

不同的社群之間該如何通訊呢? 換句話說,如何讓wifi上的一台計算機和乙太網上的另一台計算機通訊呢?我們需要乙個「中間人」。這個「中間人」必須有以下功能: 1. 能從物理層上在兩個網路的接收和傳送0/1序列,2. 能同時理解兩種網路的幀格式。路由器(router)就是為此而產生的「翻譯」。乙個路由器有多個網絡卡(nic,network inte***ce controller),每個nic可以接入多個網路,並理解相應的連線層協議。在幀經過路由到達另乙個網路的時候,路由會讀取幀的資訊,並改寫以傳送到另乙個網路。所以路由器就像是在兩個社群都有分支的郵局。乙個社群的郵差將信送到本社群的郵局分支,而郵局會通過自己在另乙個地區的分支將信轉交給另乙個社群的郵差手中,並由另乙個社群的郵差最終送到目的地。

上面的三層協議讓不同的計算機之間可以通訊。但計算機中實際上有許多個程序,每個程序都可能有通訊的需求。這就好像一所房子裡住了好幾個人(程序),如何讓信精確的送到某個人手裡呢?遵照之前相同的邏輯,我們需要在信紙上寫上新的資訊,比如收信人的姓名,才可能讓信送到。所以,傳輸層就是在信紙的空白上寫上新的「收信人」資訊。每一所房子會配備乙個管理員(傳輸層協議)。管理員從郵差手中接過信,會根據「收信人」,將信送給房子中的某個人。

它定義了如何開始、控制和結束乙個會話,包括對多個雙向訊息的控制和管理,以便在只完成連續訊息的一部分時可以通知應用,從而使表示層看到的資料是連續的,在某些情況下,如果表示層收到了所有的資料,則用資料代表表示層。示例:rpc,sql等。

這一層的主要功能是定義資料格式及加密。例如,ftp允許你選擇以二進位制或ascii格式傳輸。如果選擇二進位制,那麼傳送方和接收方不改變檔案的內容。如果選擇ascii格式,傳送方將把文字從傳送方的字符集轉換成標準的ascii後傳送資料。在接收方將標準的ascii轉換成接收方計算機的字符集。示例:加密,ascii等。

通過上面的幾層協議,我們已經可以在任意兩個人(程序)之間進行通訊。然而每個人實際上從事的是不同的行業。有的人是律師,有的人外交官。比如說律師之間的通訊,會用嚴格的律師術語,以免產生糾紛。再比如外交官之間的通訊,必須符合一定的外交格式,以免發生外交誤會。再比如間諜通過暗號來傳遞加密資訊。應用層協議是對信件內容進一步的用語規範。應用層的協議包括用於web瀏覽的http協議,用於傳輸檔案的ftp協議,用於email的imap等等。

網路協議 概述

物理層 傳輸物理訊號 連線層 傳輸資訊 幀 連線層協議不關心資料中到底包含什麼。幀就像是乙個信封,把資料報裹起來 常見協議 乙太網 ethernet 和wifi 作用 通過連線層協議,建立局域的乙太網或者wifi區域網,並讓位於同一區域網路中的兩台計算機通訊 傳輸層 作用 解決程序通訊 協議 tcp...

《網路協議》TCP IP 基本概述

分層結構如下 應用層 負責處理特定的應用程式細節。包括 telnet 遠端登入 ftp 檔案傳輸協議 smtp 簡單郵件傳輸協議 sntp 簡單網路管理協議 傳輸層 主要功能為兩台主機上的應用程式提供端到端的通訊,通過埠號識別兩台主機上相對應程式之間進行通訊。主要包括 tcp 傳輸控制協議 udp ...

網路基礎 HTTP協議概述

web伺服器是web資源的宿主,web資源是web內容的源頭。最簡單的web資源就是存放在web伺服器檔案系統中的靜態檔案。隨著網際網路的發展,所提供的服務也越來越豐富,靜態資源已經滿足不了使用者的多樣化需求了,需要根據使用者需求動態生成相應資源。為了讓客戶端可以指定想要訪問的資源,我們需要為web...