隨着工作的深入,每次讀這7層協議,每次都有不同的理解。
分層名 分層號 描述 比喻
應用層Application Layer (臺灣翻:應用層) 7 用戶的應用程序和網絡之間的接口 老闆
表示層Presentation Layer (臺灣:展現層) 6 協商數據交換格式 公司中簡報老闆、替老闆寫信的助理
會話層Session Layer (臺灣:會談層) 5 允許用戶使用簡單易記的名稱建立連接 公司中收寄信、寫信封與拆信封的祕書
傳輸層Transport Layer (臺灣:傳輸層) 4 提供終端到終端的可靠連接 公司中跑郵局的送信職員
網絡層Network Layer (臺灣:網絡層) 3 使用權數據路由經過大型網絡 郵局中的排序工人
數據鏈路層Data Link Layer (臺灣:資料鏈結層) 2 決定訪問網絡介質的方式 相當於郵局中的裝拆箱工人
物理層Physical Layer (臺灣:實體層) 1 將數據轉換爲可通過物理介質傳送的電子信號 相當於郵局中的搬運工人
再理解:
物理層:完成相鄰結點之間原始比特流的傳說,控制數據怎麼被放置到通信介質中。 數據鏈路層:在不可靠的物理線路上進行數據的可靠傳輸。主要網絡設備有 網卡,網橋,交換機。 網絡層:完成網絡中主機間的報文傳輸。 傳輸層:是整個網絡的關鍵部分,實現兩個用戶進程間端到端的可靠通信,處理數據包錯誤、數據包次序,以及其他一些關鍵傳輸問題。 會話層:允許不同機器上的用戶之間建立會話關係,會話層提供的服務之一是管理對話控制。 表示層:涉及數據壓縮和解壓、數據加密和解密等工作。 應用層:支持運行於不同計算機上的進程進行通信,而這些進程則是爲用戶完成不同任務而設計的。
物理層:
物理層(physical layer)的主要功能是完成相鄰結點之間原始比特流傳輸。物理層協議關心的典型問題是使用什麼樣的物理信號來表示數據0和1。1位持續的時間多長。數據傳輸是否可同時在兩個方向上進行。最初的廉潔如何建立以及完成通信後連接如何終止。物理接口(插頭和插座)有多少針以及各針的作用。物理層的設計主要涉及物理層接口的機械、電氣、功能和過電特性,以及物理層接口連接的傳輸介質等問題。物理層的實際還涉及到通信工程領域內的一些問題。
數據鏈路層:
數據鏈路層(data link layer)的主要功能是如何在不可靠的物理線路上進行數據的可靠傳輸。數據鏈路層完成的是網絡中相鄰結點之間可靠的數據通信。爲了保證書覺得可靠傳輸,發送出的數據針,並按順序傳送個針。由於物理線路不可靠,因此發送方發出的數據針有可能在線路上出錯或丟失,從而導致接受方無法正確接收數據。爲了保證能讓接收方對接收到的數據進行正確的判斷,發送方位每個數據塊計算出CRC(循環冗餘檢驗)並加入到針中,這樣接收方就可以通過重新計算CRC來判斷接收到的數據是否正確。一旦接收方發現接收到的數據有錯誤,則發送方必須重新傳送這一數據。然而,相同的數據多次傳送也可能是接收方收到重複的數據。
數據鏈路層要解決的另一個問題是防止高速發送方的數據把低速接收方“淹沒”。因此需要某種信息流量控制機制使發送方得知接收方當前還有多少緩存空間。爲了控制的方便,流量控制常常和差錯處理一同實現。
在廣域網中,數據鏈路層負責主機IMP、IMP-IMP之間數據的可靠傳送。在局域網中,數據鏈路層負責制及之間數據的可靠傳輸。
網絡層:
網絡層(network layer)的主要功能是完成網絡中主機間的報文傳輸,其關鍵問題之一是使用數據鏈路層的服務將每個報文從源端傳輸到目的端。在廣域網中,這包括產生從源端到目的端的路由,並要求這條路徑經過儘可能少的IMP。如果在子網中同時出現過多的報文,子網就可能形成擁塞,因爲必須加以避免這種情況的出現。
當報文不得不跨越兩個或多個網絡時,又會帶來很多新問題。比
在單個局域網中,網絡層是冗餘的,因爲報文是直接從一臺計算機傳送到另一臺計算機的,因此網絡層所要做的工作很少。
傳輸層:
傳輸層(transport layer)的主要功能是實現網絡中不同主機上的用戶進程之間可靠的數據通信。
傳輸層要決定會話層用戶(最終對網絡用戶)提供什麼樣的服務。最好的傳輸連接是一條無差錯的、按順序傳送數據的管道,即傳輸層連接時真正的點到點。
由於絕大多數的主機都支持多用戶操作,因而機器上有多道程序就意味着將有多條連接進出於這些主機,因此需要以某種方式區別報文屬於哪條連接。識別這些連接的信息可以放入傳輸層的報文頭中除了將幾個報文流多路複用到一條通道上,傳輸層還必須管理跨網連接的建立和取消。這就需要某種命名機制,使機器內的進程能夠講明它希望交談的對象。另外,還需要有一種機制來調節信息流,使高速主機不會過快的向低速主機傳送數據。儘管主機之間的流量控制與IMP之間的流量控制不盡相同。
會話層:
會話層(SESSION LAYER)允許不同機器上的用戶之間建立會話關係。會話層循序進行類似的傳輸層的普通數據的傳送,在某某些場合還提供了一些有用的增強型服務。允許用戶利用一次會話在遠端的分時系統上登陸,或者在兩臺機器間傳遞文件。
會話層提供的服務之一是管理對話控制。會話層允許信息同時雙向傳輸,或任一時刻只能單向傳輸。如果屬於後者,類似於物理信道上的半雙工模式,會話層將記錄此時該輪到哪一方。一種與對話控制有關的服務是令牌管理(token management)。有些協議會保證雙方不能同時進行同樣的操作,這一點很重要。爲了管理這些活動,會話層提供了令牌,令牌可以在會話雙方之間移動,只有持有令牌的一方可以執行某種關鍵性操作。另一種會話層服務是同步。如果在平均每小時出現一次大故障的網絡上,兩臺機器簡要進行一次兩小時的文件傳輸,試想會出現什麼樣的情況呢?每一次傳輸中途失敗後,都不得不重新傳送這個文件。當網絡再次出現大故障時,可能又會半途而廢。爲解決這個問題,會話層提供了一種方法,即在數據中插入同步點。每次網絡出現故障後,僅僅重傳最後一個同步點以後的數據(這個其實就是斷點下載的原理)。
表示層:
表示層(presentation layer)用於完成某些特定功能,對這些功能人們常常希望找到普遍的解決辦法,而不必由每個用戶自己來實現。表示層以下各層只關心從源端機到目標機到目標機可靠的傳送比特流,而表示層關心的是所傳送的信息的語法和語義。表示層服務的一個典型例子就是大家一致選定的標準方法對數據進行編碼。大多數用戶程序之間並非交換隨機比特,而是交換諸如人名、日期、貨幣數量和發票之類的信息。這些對象使用字符串、整型數、浮點數的形式,以及由幾種簡單類型組成的數據結構來表示的。
在網絡上計算機可能採用不同的數據表示,所以需要在數據傳輸時進行數據格式轉換。爲了讓採用不同數據表示法的計算機之間能夠相互通信而且交換數據,就要在通信過程中使用抽象的數據結構來表示所傳送的數據。而在機器內部仍然採用各自的標準編碼。管理這些抽象數據結構,並在發送方將機器的內部編碼轉換爲適合網上傳輸的傳送語法以及在接收方做相反的轉換等噢年工作都是由表示層來完成的。
另外,表示層還涉及數據壓縮和解壓、數據加密和解米等工作(winrar的那一套)。
應用層:
連網的目的在於支持運行於不同計算機的進程彼此之間的通信,而這些進程則是爲用戶完成不同人物而設計的。可能的應用是多方面的,不受網絡結構的限制。應用層(app;ocation layer)包括大量人們普遍需要的協議。雖然,對於需要通信的不同應用來說,應用層的協議都是必須的。例如:http、ftp、TCP/IP。
由於每個應用有不同的要求,應用層的協議集在OSI模型中並沒有定義。但是,有些確定的應用層協議,包括虛擬終端、文件傳輸、電子郵件等都可以作爲標準化的候選