OSI七層模型的學習-會話層、表示層和應用層
按照慣例,先上 OSI 七層模型 示意圖:

OSI七層模型示意圖
V.會話層
會話層( Session Layer ) ,是在傳送方和接收方之間進行通訊時 建立 、 維持 、之後 終止 或 斷開連線 的地方,與電話通話有點相似。
會話層定義了一種機制,允許傳送方和接收方 啟動 或 停止 請求會話,以及當雙方發生擁塞時仍然能 保持 對話。

傳輸層和表示層之間的資料傳遞
會話層包含了一種稱為 檢查點(Checkpoint) 的機制來維持可靠會話。檢查點定義了一個最接近成功通訊的點,並且定義了當發生內容丟失或損壞時需要回滾以便恢復丟失或損壞資料的點,即 斷點下載 的原理。
會話層還定義了當會話出現 不同步 時,需要 重新同步化 的機制。
會話層的主要任務是負責兩個網路參與者之間進行的通訊,這兩個網路參與者在通訊過程中通常交換一系列的 訊息 或 PDU (協議資料單元) 。例如:使用者登入到資料庫上( 建立階段 ),輸入一連串的查詢( 資料交換階段 ),完成任務後退出登入( 斷開階段 )。
會話層的PDU有各種各樣的型別( OSI 協議族 可以識別超過30種不同的PDU),該層PDU通常稱為 會話 PDU ( Session PDU ),即 SPDU 。
VI.表示層
表示層 ( Presentation Layer ),管理到網路上( 資料流從其往下 到協議棧)和到特定機器或是應用程式上( 資料流從其往上 到協議棧)的資料的表示方式。
表示層處理 一般的 、 面向網路形式表示的 資料到更專用的、面向平臺形式表示的資料變換,以及完成相反方向的變換。表示層的這一功能使得完全不同型別的計算機(可能是用不同的方式表示數值和字元)能夠跨網路進行相互通訊。
一般而言,有一種特殊的作業系統驅動程式駐留在表示層。這種驅動程式,微軟術語是叫作 重定向器 ( Redirector ),UNIX術語稱之為 網路外殼 ( Network Shell , Novell Netware )。
這種特殊的驅動程式,任務就是把對網路資源的請求與對本地資源的請求區分開來,並把這樣的請求 重定向 到恰當的本地子系統或遠端子系統上。如此,計算機就無需辨別要訪問資源的型別,只使用單個子系統訪問各種資源,而不用去管這些資源駐留在本地子系統還是駐留在跨網路的遠端計算機上。
對於開發人員而言,表示層可以讓開發人員很容易地構建能夠 隨意訪問 本地或遠端資源的應用程式;對於使用者而言,表示層能夠讓使用者 簡單 地請求他們所需要的資源,並讓重定向器去解決如何滿足使用者請求這樣的難題。
表示層能夠為應用程式提供 特殊的資料處理 功能。 協議變換 ,當應用程式使用的協議不同於網路通訊所用協議時,表示層會進行協議的變換,比如在電子商務、資料庫或其他面向事務服務的情況下,或者是資料加密(對於出站訊息)、資料解密(對於入站訊息)、資料壓縮(對於出站訊息)、資料解壓縮(對於入站訊息)。

應用層和會話層之間的資料傳遞
對於協議變換的服務,無論傳送方的表示層做了什麼,接收方的表示層都必須予以復原,從而使連線的雙方在某個時刻分享相似的資料檢視。
表示層的 PDU 有各種各樣的型別,被叫做 表示 PDU 。
VII.應用層
應用層 ( Application Layer ),首先確認一點,應用層定義的是應用程式用於請求網路服務的 介面 ,而不是指應用程式本身。
應用層主要定義了應用程式能夠從網路上請求使用哪種型別的服務,並且規定了在從應用程式接收訊息或嚮應用程式傳送訊息時,資料所必須採用的 格式 。
概括而言,應用層 定義 了一組對網路的 訪問控制 ,該層決定了應用程式能夠請求網路完成什麼型別的事情,或是網路支援什麼型別的活動。例如,應用層規定了對特定檔案或服務的訪問許可權,以及允許哪些使用者對特定資料執行什麼型別的動作。
應用層的PDU通常被叫做 應用 PDU 。