優點:
建立了統一的工作流程
分部清晰,各司其職,每個步驟分工明確
降低了各個模組之間的耦合度,便於開發(「高內聚」含義:單個封裝模組內部的功能更加的單一而不是相互摻雜)
應用層、傳輸層、網路層(網際層)、物理鏈路層(網路介面)
*http協議屬於應用層(七層、四層模型)
傳送端由應用程式傳送資訊,逐層新增首部資訊,最終在物理層傳送訊息包
傳送的訊息經過多個節點(交換機,路由器)傳輸,最終到達目標主機
目標主機由物理層逐層解析首部訊息包,最終到應用程式呈現訊息
網段:通過同一物理層裝置(交換機等)連線的裝置處於同乙個網段(區域網概念)
閘道器:是乙個網路通向其他網路的ip位址(不同網路間通訊)一般用1號位址表示(***.***.***.1)。比如:如果網路a中的主機發現資料報的目的主機不在本地網路中,就把資料報**給它自己的閘道器,再由閘道器**給網路b的閘道器,網路b的閘道器再**給網路b的某個主機。
特點:乙個系統中的應用監聽埠不能重複
取值範圍:1–65535
a.面向連線的傳輸服務(基於tcp協議的資料傳輸)
傳輸特徵:提供了可靠的資料傳輸,可靠性指資料傳輸過程中無丟失,無失序,無差錯,無重複。
實現手段:在通訊之前需要建立資料連線,通訊結束要正常斷開連線。其中:
四次揮手(斷開連線,重要)
b.面向無連線的傳輸服務(基於udp協議的資料傳輸)
傳輸特點:不保證傳輸的可靠性,傳輸過程沒有連線和斷開,資料收發自由隨意。
面試要求
Java Socket程式設計基礎理論
理論部分 ip位址的,ip位址就相當於 主機的名字。網路上的ip位址具有全球唯一性 主機與主機之間要有相同的 協議。這個就相當於人與人通訊之間的 暗號。都遵循這個暗號的伺服器就能互相識別對方傳送的資訊。計算機是死的,要進行 通訊,其實是兩台計算機之間的 程式在交換資料。在網路上給 每一程式分配乙個埠...
linux網路程式設計之 基礎理論篇
學習linux網路程式設計首要掌握的基本概念 系統資源 是指cpu和記憶體等一些活動單元 除儲存裝置外 程式是指由編譯好的二進位制檔案,儲存在磁碟上,不占用系統資源 程序由硬碟中的程式動遷起來,產生乙個或多個程序排程 併發 單道程式設計 同一時間內,多個程序同時執行,需要占用cpu執行資源,但同一時...
C socket程式設計基礎 理論篇
對於socket在這裡我不想究其歷史,我只想說其時它是一種程序通訊的方式,簡言之就是呼叫這個網路庫的一些api函式就能實現分布在不同主機的相關程序之間的資料交換.socket中首先我們要理解如下幾個定義概念 二是埠號 用來標識本地通訊程序,方便os提交資料.就是說程序指定了對方程序的網路ip,但這個...