『壹』 3、什麼是數據的封裝、拆包
就好象寄信時加個信封
一般發數據時,將原始數據加上一些附加信息發送 附加信息包括有多少個數據 發送地址 接收地址 校驗碼等
『貳』 數據封裝的原理
數據封裝是指將協議數據單元(PDU)封裝在一組協議頭和尾中的過程。在 OSI7層參考模型中,每層主要負責與其它機器上的對等層進行通信。該過程是在「協議數據單元」(PDU)中實現的,其中每層的 PDU 一般由本層的協議頭、協議尾和數據封裝構成。
每層可以添加協議頭和尾到其對應的 PDU 中。協議頭包括層到層之間的通信相關信息。協議頭、協議尾和數據是三個相對的概念,這主要取決於進行信息單元分析的各個層。例如,傳輸頭(TH)包含只有傳輸層可以看到的信息,而位於傳輸層以下的其它所有層將傳輸頭作為各層的數據部分進行傳送。在網路層,一個信息單元由層3協議頭(NH)和數據構成;而數據鏈路層中,由網路層(層3協議頭和數據)傳送下去的所有信息均被視為數據。換句話說,特定 OSI 層中信息單元的數據部分可能包祥前旁含由上層傳送下來的協議頭、協議尾和數據。
例如,如果計算機 A 要將應用程序中的某數據發送至計算機 B 應用層。計算機 A 的應用層聯系任何計算機 B 的應用層所必需的控制信息,都是通過預先在數據上添加協議頭。結果謹橡信息單元,其包含協議頭、數據、可能包含協議尾,被發送至表示層,表示層再添加為計算機 B 的表示層所理解的控制信息的協議頭。信息單元的大小隨著每一層協議頭和協議尾的添加而增加,這些協議頭和協議尾包含了計算機 B 的對應層要使用的控制信息。在物理層,整個信息單元通過網路介質傳輸。
計算機 B 中的物理層接收信息單元並將其傳送至數據鏈路層;然後 B 中的數據鏈路層讀取包含在計算機 A 的數據鏈路層預先添加在協議頭中的控制信息;其次去除協議頭和協議尾,剩餘部分被傳送至網路層。每一層執行相同的動作:從對應層讀取協議頭和協議尾,並去除,再將剩餘信息發送至高一層。應用層執行完後,數據就被傳送至計算機 B 中的應用程序接收悔閉端,最後收到的正是從計算機 A 應用程所發送的數據。
網路分層和數據封裝過程看上去比較繁雜,但又是相當重要的體系結構,它使得網路通信實現模塊化並易於管理。
『叄』 數據封裝形成的實體是什麼
數據封裝形成的實體是類。數據封裝就是將一組數據和與這組數據有關操作組裝在一起,形成一個實體,這實體也就是類。
類是面向對象程序設計實現信息封裝的基礎。類是一種用戶定義的引用數據類型,也稱類類型。每個類包含數據說明和一組操作數據或傳遞消息的函數。類的實例稱為對象。
類的三大特性:
(1)封裝性將數據和操作封裝為一個有機的整體,由於類中私有搏培升成員都是隱藏的,只向外部提供有限的介面,所以能夠保證內部的高內聚性和與外部的低耦合性。用者不必了解具體的實現細節,而只是要通過外部介面,以特定的訪問許可權來使用類的成員,能夠增強安全性和簡化編程。
(2)繼承性更符合認知規律,使程序更易於理解,同時節省不必要的重復代碼。
(3)多中擾態性是指同一操作作用於不同對象,可以有不同的解釋,產生不同的執基老行結果。在運行時,可以通過指向父類(基類)的指針,來調用實現子類(派生類)中的方法。
以上內容參考:網路-類
以上內容參考:網路-數據封裝
『肆』 誰能詳細說一下數據封裝的過程
數據封裝的過程大致如下:
1、用戶信息轉換為數據,以便在網路上傳輸
2、數據轉換為數據段,並在發送方和接收方主機之間建立一條可靠的連接
3、數據段轉換為數據包或數據報,並在報頭中放上邏輯地址,這樣每一個數據包都可以通過互聯網路進行傳輸
4、數據包或數據報轉換為幀,以便在本地網路中傳輸。在本地網段上,使用硬體地址唯一標識每一台主機。
5、幀轉換為比特流,並採用數字編碼和時鍾方案
以常見的OSI模型為例,它共分為七層,從下到上依次為:物理層、數據鏈路層、網路層、傳輸層、會話層、表示層、應用層,每層都對應不同的功能。為了實現對應功能,都會對數據按本層協議進行協議頭和協議尾的數據封裝,然後將封裝好的數據傳送給下層,各層的數據封裝過程如下圖所示。
其中在傳輸層用TCP頭已標示了與一個特定應用的連接,並將數據封裝成了數據段;網路層則用IP頭標示了已連接的設備網路地址,並可基於此信息進行網路路徑選擇,此時將數據封裝為數據包;到了數據鏈路層,數據已封裝成了數據幀,並用MAC頭給出了設備的物理地址,當然還有數據校驗等功能欄位等;到了物理層,則已封裝成為比特流,就成為純粹的物理連接了。
(4)什麼是數據封裝擴展閱讀
封裝 (encapsulation)
隱藏對象的屬性和實現細節,僅對外公開介面,控制在程序中屬性的讀取和修改的訪問級別。
封裝途徑
封裝就是將抽象得到的數據和行為(或功能)相結合,形成一個有機的整體,也就是將數據與操作數據的源代碼進行有機的結合,形成「類」,其中數據和函數都是類的成員。封裝的目的是增強安全性和簡化編程,使用者不必了解具體的實現細節,而只是要通過外部介面,以特定的訪問許可權來使用類的成員。
封裝在網路編程裡面的意思, 當應用程序用TCP傳送數據時,數據被送入協議棧中,然後逐個通過每一層直到被當作一串比特流送入網路,其中每一層對收到的數據都要增加一些首部。
參考資料來源:網路-封裝
參考資料來源:網路-數據封裝
『伍』 簡述數據封裝與解封裝的過程
一、數據封裝的過程大致如下:
1、用戶信息轉換為數據,以便在網路上傳輸。
2、數據轉換為數據段,並在發送方和接收方主機之間建立一條可靠的連接。
3、數據段轉換為數據包或數據報,並在報頭中放上邏輯地址,這樣每一個數據包都可以通過互聯網路進行傳輸。
4、數據包或數據報轉換為幀,以便在本地網路中傳輸。在本地網段上,使用硬體地址唯一標識每一台主機。
5、幀轉換為比特流,並採用數字編碼和時鍾方案。
二、數據解封裝的過程
仍然以OSI模型為例來說明數據解封裝的過程。數據的接收端從物理層開始,進行與發送端相反的操作,稱為「解封裝」,如下圖所示,最終使應用層程序獲取數據信息,使得兩點之間的一次單向通信完成。
需要說明的是,應用最為廣泛的TCP/IP協議可以看作是OSI協議層的簡化,它分為四層:數據鏈路層、網路層、傳輸層、應用層,其各層對應的數據封裝與OSI大同小異。
(5)什麼是數據封裝擴展閱讀:
一、原理
數據封裝是指將協議數據單元(PDU)封裝在一組協議頭和尾中的過程。在OSI7層參考模型中,每層主要負責與其它機器上的對等層進行通信。該過程是在「協議數據單元」(PDU)中實現的,其中每層的 PDU 一般由本層的協議頭、協議尾和數據封裝構成。
每層可以添加協議頭和尾到其對應的 PDU 中。協議頭包括層到層之間的通信相關信息。協議頭、協議尾和數據是三個相對的概念,這主要取決於進行信息單元分析的各個層。例如,傳輸頭(TH)包含只有傳輸層可以看到的信息,而位於傳輸層以下的其它所有層將傳輸頭作為各層的數據部分進行傳送。
在網路層,一個信息單元由層3協議頭(NH)和數據構成;而數據鏈路層中,由網路層(層3協議頭和數據)傳送下去的所有信息均被視為數據。換句話說,特定 OSI 層中信息單元的數據部分可能包含由上層傳送下來的協議頭、協議尾和數據。
二、數據封裝協議
SDH網路中封裝協議有多種,最常用的有PPP/HDLC、LAPS、GFP。某一些設備廠商的專有封裝協議。
1、PPP/HDLC協議
為點到點協議,它要利用HDLC(高速數據鏈路控制)協議來封裝幀,用位元組同步的方式把HDLC幀映射入SDH的VC中,成為VC的凈荷。
在POS系統中,可用來承載IP數據;在SDH系統中,用來承載以太幀。
2、LAPS協議
為鏈路接入協議,這種方式特別用於SDH鏈路承載以太幀,它與HDLC十分相似。
G3、FP協議
為通用幀協議,是一種鏈路層標准。這種封裝協議可以承載所有的數據業務,是一種可以透明地將各種數據信號封裝進現有網路的技術,可以替代眾多不同的封裝方法,有利於各廠商設備之間的互聯互通。
GFP採用不同的業務數據封裝方法對不同的業務數據進行封裝。包括幀映射(GFP-F)和透明傳輸(GFP-T)兩種模式。
『陸』 什麼是數據的封裝、拆包
數據的封裝和傳遞
在 OSI 參考模型中,同等層之間經常要進行信息交換。 對等層協議之間需要交換的信息單元 叫做 協議數據單元 ( PDU , protocol data unit )。節點對等層之間的通信除物理層之間直接進行信息交換外,其餘對等層之間的通信並不直接進行(例如兩個節點的鏈路層之間進行通信),它們需要通過藉助於下層提供的服務來完成,對等層之間的通信為虛擬通信。實際通信是在相鄰層之間通過層間介面進行。
直接通訊與虛通訊
當某一層需要使用下一層提供的服務傳送自己的 PDU 時,其當前層的下一層總是先將上一層的 PDU 變為自己 PDU 的一部分,然後利用更下一層提供的服務將信息傳遞出去。節點A的傳輸層要把某一信息 T-PDU 傳送到節點B的傳輸層的,首先將 T-PDU 交給節點A的網路層,節點A的網路層在收到 T-PDU 之後,將在 T-PDU 上加上若干比特的控制信息(即報頭 header )變為自己 PDU ( N-PDU ),然後再利用其下層鏈路層提供的服務將數據發送出去。以此類推,最終將這些信息變為能夠在傳輸介質上傳輸的數據,並通過傳輸介質將信息傳送到節點B。
為了實現對等層通信,當數據需要通過網路從一個節點傳送到另一節點前,必須在數據的頭部(和尾部)加入特定的協議頭(和協議尾)。這種增加數據頭部(和尾部)的過程叫做 數據打包或數據封裝 。同樣,在數據到達接收節點的對等層後,接收方將識別、提取和處理發送方對等層增加的數據頭部(和尾部)。接收方這種將增加的數據頭部(和尾部)去除的過程叫做 數據拆包或數據解封 。圖 1.8 顯示了數據的封裝與解封過程。
圖 1.8 數據的封裝與解封過程
2、數據傳遞與流動過程。
http://www.sdwfvc.com/jpkc/net/jiaoan_zhu/ja/chap1.htm
『柒』 關於網路傳輸過程的數據封裝
數據封裝(Data Encapsulation)是指將協議數據單元(PDU)封裝在一組協議頭和尾中的過程。在OSI七層參考模型中,每層主要負責與其它機器上的對等層進行通信。該過程是在協議數據單元(PDU)中實現的,其中每層的PDU一般由本層的協議頭、協議尾和數據封裝構成本文選自WireShark數據包分析實戰詳解清華大學出版社。
為了幫助用戶更清楚的理解數據封裝過程,下面通過一個實例來說明這個過程。假設某個公司區域網使用乙太網,當員工從區域網的FTP伺服器下載一個文件時,該文件從FTP伺服器到員工主機的傳輸過程如圖1.17所示本文選自WireShark數據包分析實戰詳解清華大學出版社。
在圖1.17中,FTP伺服器作為數據的發送端,員工主機作為數據的接收端。下面分別介紹數據發送和接收處理過程。
1.數據發送處理過程數據封裝協議數據單元封裝WireShark數據包分析
(1)應用層將數據交給傳輸層,傳輸層添加上TCP的控制信息(稱為TCP頭部),這個數據單元稱為段(Segment),加入控制信息的過程稱為封裝。然後,將段交給網路層。
(2)網路層接收到段,再添加上IP頭部,這個數據單元稱為包(Packet)。然後,將包交給數據鏈路層。
(3)數據鏈路層接收到包,再添加上MAC頭部和尾部,這個數據單元稱為幀(Frame)。然後,將幀交給物理層。
(4)物理層將接收到的數據轉化為比特流,然後在網線中傳送。
2.數據接收處理過程數據封裝協議數據單元封裝WireShark數據包分析
(1)物理層接收到比特流,經過處理後將數據交給數據鏈路層。
(2)數據鏈路層將接收到的數據轉化為數據幀,再除去MAC頭部和尾部,這個除去控制信息的過程稱為解封裝,然後將包交給網路層。
(3)網路層接收到包,再除去IP頭部,然後將段交給傳輸層。
(4)傳輸層接收到段,再除去TCP頭部,然後將數據交給應用層。
從以上傳輸過程中,可以總結出以下幾點。如下所示:
(1)發送方數據處理的方式是從高層到底層,逐層進行數據封裝。
(2)接收方數據處理的方式是從底層到高層,逐層進行數據解封裝。
(3)接收方的每一層只把對該層有意義的數據拿走,或者說每一層只能處理發送方同等層的數據,然後把其餘的部分傳遞給上一層,這就是對等層通信的概念本文選自WireShark數據包分析實戰詳解清華大學出版社數據封裝協議數據單元封裝WireShark數據包分析。
『捌』 面向對象程序設計中的數據封裝指的是
對象內部數據結構的不可訪問性 輸入數據必須用保密密碼輸入,數據加密,這不是面向對象編程的特點;不可能在對象的內部數據結構上建立防火牆,所以它們不是面向對象編程中的數據隱藏。面向對象編程系統中的封裝單元是對象,對象之間只能通過接缺腔口交換信息,對象中的數據不能從外部隨意訪問,導致對象內部的數據結構不可訪問,數據隱藏在對象中。這就是面向對象編程中的數據隱藏所指的。Redis是一個鍵-值對資料庫,每個鍵是一個字元串對象,值可以是字元串對象、列表對象、哈希對象、集合對象、有序集合對象五種中的一種。Redis使用sds(簡單動態字元串)來表示最基本的字元串數據。這個結構記錄了用於保存字元串的位元組數組char buf[]、已用長度int len和未用長度int free。有點像java中的字元串對象。這個sds使用C字元串作為文字量,遵循C風格,以空字元' '作為字元串的結尾,這樣就可以直接重用C字元串函數庫的部分函數,但與C字元串相比,它有以下優點:直接保存字元串長度而不是像C一樣遍歷得到長度;通過預分配空間和釋放惰性空間,減少了修改字元串引起的內存重分配。空間預分配的意思是:當需要擴展字元數組的容量時,如果分配的長度將小於1MB,則預分配搏笑與當前len長度相同的位元組數,如果超過1MB,則分配1MB。惰性空間釋放是指當sds字元串被縮短時,多餘的位元組數組不被伏銀衫回收,而是通過增長free來記錄,這樣下次如果free本身足夠了,就不需要申請內存了。當然,也有可以調整為主動釋放的API。用二進制方法處理buf數組,保留二進制數據,這樣就可以保存除文本數據以外的其他格式,比如圖片、音視頻、壓縮文件等。
『玖』 什麼是bit什麼是幀什麼是數據包什麼是封裝和解封裝
bit是數據位(bit)
在網路中,計算機通信傳輸的是由「0」和「1」構成的二進制數據,二進制數據組成「幀」(Frame),幀是網路傳輸的最小單位
數據封裝是指將協扮運兆議數據單元(PDU)封裝在一組協議頭和尾中的過程。在
OSI
7層參考模型中廳租,每層主要負責與其它機器上的對等層進行通信。該過程是在「協議數據單元」(PDU)中實現的,其中每層的
PDU
一般由本層的協議頭、協議尾和數據封裝構成。
解封裝正好是封裝的反向操作,把封裝的數據包還原成悄輪數據.
『拾』 什麼是數據的封裝、拆包
分類: 電腦/網路 >> 硬體
問題描述:
什麼是數據的封裝、拆包
解析:
數據的封裝和傳遞
在 OSI 參考模型中,同等層之間經常要進行信息交換。 對等層協議之間需要交換的信息單元 叫做 協議數據單元 ( PDU , protocol data unit )。節點對等層之間的通信除物理層之間直接進行信息交換外,其餘對等層之間的通信並不直接進行(例如兩個節點的鏈路層之間進行通信),它們需要通過藉助於下層提供的服務來完成,對等層之間的通信為虛擬通信。實際通信是在相鄰層之間通過層間介面進行。
直接通訊與虛通訊
當某一層需要使用下一層提供的服務傳送自己的 PDU 時,其當前層的下一層總是先將上一層的 PDU 變為自己 PDU 的一部分,然後利用更下一層提供的服務將信息傳遞出去。節點A的傳輸層要把某一信息 T-PDU 傳送到節點B的傳輸層的,首先將 T-PDU 交給節點A的網路層,節點A的網路層在收到 T-PDU 之後,將在 T-PDU 上加上若干比特的控制信息(即報頭 header )變為自己 PDU ( N-PDU ),然後再利用其下層鏈路層提供的服務將數據發送出去。以此類推,最終將這些信息變為能夠在傳輸介質上傳輸的數據,並通過傳輸介質將信息傳送到節點B。
為了實現對等層通信,當數據需要通過網路從一個節點傳送到另一節點前,必須在數據的頭部(和尾部)加入特定的協議頭(和協議尾)。這種增加數據頭部(和尾部)的過程叫做 數據打包或數據封裝 。同樣,在數據到達接收節點的對等層後,接收方將識別、提取和處理發送方對等層增加的數據頭部(和尾部)。接收方這種將增加的數據頭部(和尾部)去除的過程叫做 數據拆包或數據解封 。圖 1.8 顯示了數據的封裝與解封過程。
圖 1.8 數據的封裝與解封過程
2、數據傳遞與流動過程。
sdwfvc/jpkcjiaoan_zhu/ja/chap1