數據封裝演算法
⑴ 在數據封裝時,每一層都會對數據進行怎樣的處理
數據封裝
(Data Encapsulation)
數據封裝是指將協議數據單元(PDU)封裝在一組協議頭和尾中的過程。在 OSI 7層參考模型中,每層主要負責與其它機器上的對等層進行通信。該過程是在「協議數據單元」(PDU)中實現的,其中每層的 PDU 一般由本層的協議頭、協議尾和數據封裝構成。
每層可以添加協議頭和尾到其對應的 PDU 中。協議頭包括層到層之間的通信相關信息。協議頭、協議尾和數據是三個相對的概念,這主要取決於進行信息單元分析的各個層。例如,傳輸頭(TH)包含只有傳輸層可以看到的信息,而位於傳輸層以下的其它所有層將傳輸頭作為各層的數據部分進行傳送。在網路層,一個信息單元由層3協議頭(NH)和數據構成;而數據鏈路層中,由網路層(層3協議頭和數據)傳送下去的所有信息均被視為數據。換句話說,特定 OSI 層中信息單元的數據部分可能包含由上層傳送下來的協議頭、協議尾和數據。
例如,如果計算機 A 要將應用程序中的某數據發送至計算機 B 應用層。計算機 A 的應用層聯系任何計算機 B 的應用層所必需的控制信息,都是通過預先在數據上添加協議頭。結果信息單元,其包含協議頭、數據、可能包含協議尾,被發送至表示層,表示層再添加為計算機 B 的表示層所理解的控制信息的協議頭。信息單元的大小隨著每一層協議頭和協議尾的添加而增加,這些協議頭和協議尾包含了計算機 B 的對應層要使用的控制信息。在物理層,整個信息單元通過網路介質傳輸。
計算機 B 中的物理層接收信息單元並將其傳送至數據鏈路層;然後 B 中的數據鏈路層讀取包含在計算機 A 的數據鏈路層預先添加在協議頭中的控制信息;其次去除協議頭和協議尾,剩餘部分被傳送至網路層。每一層執行相同的動作:從對應層讀取協議頭和協議尾,並去除,再將剩餘信息發送至高一層。應用層執行完後,數據就被傳送至計算機 B 中的應用程序接收端,最後收到的正是從計算機 A 應用程所發送的數據。
網路分層和數據封裝過程看上去比較繁雜,但又是相當重要的體系結構,它使得網路通信實現模塊化並易於管理。
解封裝正好是封裝的反向操作,把封裝的數據包還原成數據.
⑵ OSI參考模型的數據封裝過程
OSI參考模型中每個層次接收到上層傳遞過來的數據後都要將本層次的控制信息加入數據單元的頭部,一些層次還要將校驗和等信息附加到數據單元的尾部,這個過程叫做封裝。
每層封裝後的數據單元的叫法不同,在應用層、表示層、會話層的協議數據單元統稱為data(數據),在傳輸層協議數據單元稱為segment(數據段),在網路層稱為packet(數據包),數據鏈路層協議數據單元稱為frame(數據幀),在物理層叫做bits(比特流)。
當數據到達接收端時,每一層讀取相應的控制信息根據控制信息中的內容向上層傳遞數據單元,在向上層傳遞之前去掉本層的控制頭部信息和尾部信息(如果有的話)。此過程叫做解封裝。
這個過程逐層執行直至將對端應用層產生的數據發送給本端的相應的應用進程。
以用戶瀏覽網站為例說明數據的封裝、解封裝過程。
當用戶輸入要瀏覽的網站信息後就由應用層產生相關的數據,通過表示層轉換成為計算機可識別的ASCII碼,再由會話層產生相應的主機進程傳給傳輸層。傳輸層將以上信息作為數據並加上相應的埠號信息以便目的主機辨別此報文,得知具體應由本機的哪個任務來處理;在網路層加上IP地址使報文能確認應到達具體某個主機,再在數據鏈路層加上MAC地址,轉成bit流信息,從而在網路上傳輸。報文在網路上被各主機接收,通過檢查報文的目的MAC地址判斷是否是自己需要處理的報文,如果發現MAC地址與自己不一致,則丟棄該報文,一致就去掉MAC信息送給網路層判斷其IP地址;然後根據報文的目的埠號確定是由本機的哪個進程來處理,這就是報文的解封裝過程。
⑶ c++ 什麼是數據的封裝性
c++數據的封裝性是把屬性演算法(邏輯處理)封裝起來,只留必要的方法和介面,讓用戶使用。
在c++中一個類包含有自己的數據成員,還有一系列的方法。並不是所有的數據成員都能被用戶使用,也不一定是可見的,這些都是由類的設計者來決定的。對用戶來說,能使用這個類的一些方法或者一部分成員。面向對象設計主要是使用一種模塊化的方法來整合相關的操作,讓使用者能夠更好地使用。
⑷ java中如何實現對數據的封裝文字說明一下。
你可以創建一個VO對象類,把你需要封裝的數據創建成VO對象的屬性,並設置相對應的get、set方法,如果是多條數據的話,你可以創建LIST,list的每個元素為VO對象。
你得問題說的不是很明白,因為對不同的數據封裝,採取的方式不同。
⑸ 關於網路傳輸過程的數據封裝
數據封裝(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數據包分析。
⑹ 數據封裝的數據封裝的過程
數據封裝的過程大致如下:
1.用戶信息轉換為數據,以便在網路上傳輸
2.數據轉換為數據段,並在發送方和接收方主機之間建立一條可靠的連接
3.數據段轉換為數據包或數據報,並在報頭中放上邏輯地址,這樣每一個數據包都可以通過互聯網路進行傳輸
4.數據包或數據報轉換為幀,以便在本地網路中傳輸。在本地網段上,使用硬體地址唯一標識每一台主機。
5.幀轉換為比特流,並採用數字編碼和時鍾方案
以目前常見的OSI模型為例,它共分為七層,從下到上依次為:物理層、數據鏈路層、網路層、傳輸層、會話層、表示層、應用層,每層都對應不同的功能。為了實現對應功能,都會對數據按本層協議進行協議頭和協議尾的數據封裝,然後將封裝好的數據傳送給下層,各層的數據封裝過程如下圖所示。
其中在傳輸層用TCP頭已標示了與一個特定應用的連接,並將數據封裝成了數據段;網路層則用IP頭標示了已連接的設備網路地址,並可基於此信息進行網路路徑選擇,此時將數據封裝為數據包;到了數據鏈路層,數據已封裝成了數據幀,並用MAC頭給出了設備的物理地址,當然還有數據校驗等功能欄位等;到了物理層,則已封裝成為比特流,就成為純粹的物理連接了。
⑺ 什麼是數據封裝和解封裝
數據封裝(Data Encapsulation),籠統地講,就是把業務數據映射到某個封裝協議的凈荷中,然後填充對應協議的包頭,形成封裝協議的數據包,並完成速率適配。
解封裝,就是封裝的逆過程,拆解協議包,處理包頭中的信息,取出凈荷中的業務信息數據封裝和解封裝是一對逆過程。
數據封裝是指將協議數據單元(PDU)封裝在一組協議頭和尾中的過程。在OSI7層參考模型中,每層主要負責與其它機器上的對等層進行通信。該過程是在「協議數據單元」(PDU)中實現的,其中每層的 PDU 一般由本層的協議頭、協議尾和數據封裝構成。
(7)數據封裝演算法擴展閱讀:
數據包利用網路在不同設備之間傳輸時,為了可靠和准確地發送到目的地,並且高效地利用傳輸資源(傳輸設備和傳輸線路),事先要對數據包進行拆分和打包,在所發送的數據包上附加上目標地址,本地地址,以及一些用於糾錯的位元組,安全性和可靠性較高時,還要進行加密處理等等。這些操作就叫數據封裝。而對數據包進行處理時通信雙方所遵循和協商好的規則就是協議。與郵寄物品相比,數據包本身就如同物品,而封裝就如同填寫各種郵寄信息,協議就是如何填寫信息的規定。
⑻ 簡述數據封裝與解封裝的過程
一、數據封裝的過程大致如下:
1、用戶信息轉換為數據,以便在網路上傳輸。
2、數據轉換為數據段,並在發送方和接收方主機之間建立一條可靠的連接。
3、數據段轉換為數據包或數據報,並在報頭中放上邏輯地址,這樣每一個數據包都可以通過互聯網路進行傳輸。
4、數據包或數據報轉換為幀,以便在本地網路中傳輸。在本地網段上,使用硬體地址唯一標識每一台主機。
5、幀轉換為比特流,並採用數字編碼和時鍾方案。
二、數據解封裝的過程
仍然以OSI模型為例來說明數據解封裝的過程。數據的接收端從物理層開始,進行與發送端相反的操作,稱為「解封裝」,如下圖所示,最終使應用層程序獲取數據信息,使得兩點之間的一次單向通信完成。
需要說明的是,應用最為廣泛的TCP/IP協議可以看作是OSI協議層的簡化,它分為四層:數據鏈路層、網路層、傳輸層、應用層,其各層對應的數據封裝與OSI大同小異。
(8)數據封裝演算法擴展閱讀:
一、原理
數據封裝是指將協議數據單元(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)兩種模式。