1. 關於網路傳輸過程的數據封裝
數據封裝(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數據包分析。
2. OSI 各層的主要功能
物理層處於OSI參考模型的最低層。物理層的主要功能是利用物理傳輸介質為數據鏈路層提供物理連接,一遍透明地傳送「比特流」。它負責在計算機之間傳遞數據位,為在物理媒體上傳輸比特流創建規則。 該層定義電纜如何連接到網卡上 ,以及需要用何種傳送技術在電纜上發送數據,定義其上層(數據鏈路層)所使用的訪問方法。
因此我們可以發現物理層的主要特點:
1.主要復測在物理連接上傳輸二進制比特流
2.提供為建立、維護和釋放物理連接所需要的機械、電氣、功能與規程的特性。
通常將具有一定數據處理及發送、接收能力的設備稱為 數據終端設備(Data Terminal Equipment,DTE) ,而把介於DTE與傳輸介質之間的設備稱為 數據電路終接設備(Data Circuit-Terminating Equipment,DCE) 。DCE在DTE與傳輸介質之間提供信號轉換和編碼功能,並負責建立、維護和釋放物理連接。
DTE可以是一台計算機,也可以是一台I/O設備,典型的DTE設備就是電話線路連接的數據機。
因為DCE是介於DTE與傳輸介質之間的,在通信過程中,DCE一方面將DTE的數據傳送給傳輸介質,另一方面要需要將從傳輸介質接收到的比特流順序傳送給DTE,因此,DCE要有數據信息的傳輸,又需要控制信息的傳輸,需要高度協調地工作,因此需要制定DTE與DCE的借口標准,這些標准就是 物理介面標准 。
物理介面標準定義了物理層與物理傳輸介質之間的邊界與介面。物理介面的四個特性是:機械特性、電氣特性、功能特性與規程特性。
機械特性: 物理層的機械特性規定了物理連接時所使用可插連接器的形狀和尺寸,連接器中引腳的數量與排列情況等。
電氣特性: 規定了在物理連接上傳輸二進制比特流時線路上信號水平的高低、阻抗及阻抗匹配、傳輸速率與距離限制。
功能特性: 規定物理介面上各條信號線的功能分配和確切定義。物理介面信號線一般分為:數據線、控制線、定時線和地線。
規程特性: 定義了信號線進行二進制比特流傳輸時的一組操作過程,包括各信號線的工作規則和時序。
它把來自物理層的原始數據打包成幀。 幀是放置數據的、邏輯的、結構化的包。 數據鏈路層負責幀在計算機之間的無差錯傳遞。
網路層定義網路層實體通信用的協議,它確定從源結點沿著網路到目的結點的路由選擇,並處理相關的控制問題,如交換、路由和對數據包阻塞的控制。
數據鏈路層協議是相鄰直接連結點間的通信協議,它不能解決數據經過通信子網中多個轉接結點的通信問題。設置網路層的主要目的就是要為報文分組以最佳路徑通過通信子網達到目的主機提供服務,而網路用戶不必關心網路的拓撲結構與所使用的通信介質。
網路層主要的任務包含4個方面:
1.網路連接建立與管理。將逐段的數據鏈路組織起來,通過復用物理鏈路,為分組提供邏輯通道(虛電路或數據報),建立主機到主機間的網路連接。
2.路徑選擇與中繼。
3.網路連接與重置,報告不可恢復的錯誤。
4.流量控制及阻塞控制。
網路層數據傳輸的通道是邏輯通道,即虛電路;網路層的信息傳輸單位是分組,上一層數據鏈路層是什麼還記得嗎?沒有錯,幀。
傳輸層的任務是向用戶提供可靠的、透明的、端到端(End to End)的數據傳輸,以及差錯控制和流量控制機制。
所謂 端到端 是相對 鏈接 而言的。OSI參考模型的四 七層屬於端到端方式,而一 三層屬於鏈接方式。就像打電話的兩個人,兩個人不用關心信號是如何一段一段傳遞,他們直接與對方交流,就像端到端;而提供電話服務的公司,則需要考慮如何接受你的語音信號,如何通過中繼讓另一個人接到你的通話請求並建立和維系這段通話。
傳輸層的另一個重要功能是流量控制,本層的流量控制是通信主機端到端之間的,與其它層的流量的控制有著明顯不同。
就像會話層的名字一樣,會話層建立、管理和終止應用程序進程之間的會話和數據交換。這種會話關系是由兩個或多個表示層實體之間的對話構成的。
會話層與傳輸層有著明顯的區別。傳輸層協議負責建立 和維護端到端的邏輯連接,服務比較簡單,目的是提供可靠的傳輸服務。
表示層包含了處理網路應用程序數據格式的協議。表示層位於應用層的下面和表示層的上面,從應用層獲得數據並格式化以供通信網路使用。
表示層服務有三個重要概念:語法轉換、表示上下文和表示服務原語。在上一篇中介紹過,可以按字面粗略領略到意思。
應用層是最終用戶應用程序訪問網路的地方,是OSI參考模型的最高層,它為用戶的應用程序提供網路服務。
數據的封裝與傳輸
1.數據封裝: 為實現對等層之間的通信,當數據需要通過網路從一個結點傳送到另一個結點前,必須在數據的頭部和尾部加入特定的協議頭和協議尾。這種增加數據頭部和尾部的過程稱為數據打包或數據封裝。
2.數據拆包: 在數據到達接收結點的對等層後,接收方將反向識別、提取和除去發送方對等層所增加的數據頭部和尾部。接收方這種去除數據頭部和尾部的過程叫數據拆包或數據解封。
OSI模型到這里就告一段落了,OSI模型是如此完美,剛接觸我也感覺這種逐層「翻譯」傳遞,每一層只做自己的事情,相互獨立互不幹擾,最終將信息轉化為01比特流,實現了物理層面的識別,也讓信息得以傳輸。然而後來才知道,OSI模型是只存在教科書中的,並沒有得到推廣;我不禁想問,既然如此完美,為何得不到推廣呢?原來是這樣的,第一個原因是生不逢時,當OSI模型提出的時候,TCP/IP的四層模型已經逐漸推廣開來,並且因為OSI的七層模型過於詳細,過於完美,導致一些方面無法實現,考慮到諸多因素,最終使得OSI模型僅僅存在於教科書中。
3. 數據在物理層、數據鏈路層、網路層、傳輸層、應用層是什麼樣的 比如在數據鏈路層是數據流的形式,什麼01
數據在物理層是比特流,在數據鏈路層是以幀的形式存在,在OSI中,主機網路層是幀,互聯層是數據報,應用層是叫數據。它們都是在比特流頭部加上地址逐步形成,是一個封裝的過程,比特流是數字用01二進製表示
4. OSI參考模型的數據封裝過程
OSI參考模型中每個層次接收到上層傳遞過來的數據後都要將本層次的控制信息加入數據單元的頭部,一些層次還要將校驗和等信息附加到數據單元的尾部,這個過程叫做封裝。
每層封裝後的數據單元的叫法不同,在應用層、表示層、會話層的協議數據單元統稱為data(數據),在傳輸層協議數據單元稱為segment(數據段),在網路層稱為packet(數據包),數據鏈路層協議數據單元稱為frame(數據幀),在物理層叫做bits(比特流)。
當數據到達接收端時,每一層讀取相應的控制信息根據控制信息中的內容向上層傳遞數據單元,在向上層傳遞之前去掉本層的控制頭部信息和尾部信息(如果有的話)。此過程叫做解封裝。
這個過程逐層執行直至將對端應用層產生的數據發送給本端的相應的應用進程。
以用戶瀏覽網站為例說明數據的封裝、解封裝過程。
當用戶輸入要瀏覽的網站信息後就由應用層產生相關的數據,通過表示層轉換成為計算機可識別的ASCII碼,再由會話層產生相應的主機進程傳給傳輸層。傳輸層將以上信息作為數據並加上相應的埠號信息以便目的主機辨別此報文,得知具體應由本機的哪個任務來處理;在網路層加上IP地址使報文能確認應到達具體某個主機,再在數據鏈路層加上MAC地址,轉成bit流信息,從而在網路上傳輸。報文在網路上被各主機接收,通過檢查報文的目的MAC地址判斷是否是自己需要處理的報文,如果發現MAC地址與自己不一致,則丟棄該報文,一致就去掉MAC信息送給網路層判斷其IP地址;然後根據報文的目的埠號確定是由本機的哪個進程來處理,這就是報文的解封裝過程。
5. 簡述osi/rm數據封裝過程
第一層:物理層(PhysicalLayer),規定通信設備的機械的、電氣的、功能的和過程的特性,用以建立、維護和拆除物理鏈路連接。具體地講,機械特性規定了網路連接時所需接插件的規格尺寸、引腳數量和排列情況等;電氣特性規定了在物理連接上傳輸bit流時線路上信號電平的大小、阻抗匹配、傳輸速率距離限制等;功能特性是指對各個信號先分配確切的信號含義,即定義了DTE和DCE之間各個線路的功能;規程特性定義了利用信號線進行bit流傳輸的一組操作規程,是指在物理連接的建立、維護、交換信息是,DTE和DCE雙放在各電路上的動作系列。
在這一層,數據的單位稱為比特(bit)。
屬於物理層定義的典型規范代表包括:EIA/TIA RS-232、EIA/TIA RS-449、V.35、RJ-45等。
第二層:數據鏈路層(DataLinkLayer):在物理層提供比特流服務的基礎上,建立相鄰結點之間的數據鏈路,通過差錯控制提供數據幀(Frame)在信道上無差錯的傳輸,並進行各電路上的動作系列。
數據鏈路層在不可靠的物理介質上提供可靠的傳輸。該層的作用包括:物理地址定址、數據的成幀、流量控制、數據的檢錯、重發等。
在這一層,數據的單位稱為幀(frame)。
數據鏈路層協議的代表包括:SDLC、HDLC、PPP、STP、幀中繼等。
第三層是網路層
在計算機網路中進行通信的兩個計算機之間可能會經過很多個數據鏈路,也可能還要經過很多通信子網。網路層的任務就是選擇合適的網間路由和交換結點, 確保數據及時傳送。網路層將數據鏈路層提供的幀組成數據包,包中封裝有網路層包頭,其中含有邏輯地址信息- -源站點和目的站點地址的網路地址。
如果你在談論一個IP地址,那麼你是在處理第3層的問題,這是「數據包」問題,而不是第2層的「幀」。IP是第3層問題的一部分,此外還有一些路由協議和地址解析協議(ARP)。有關路由的一切事情都在第3層處理。地址解析和路由是3層的重要目的。網路層還可以實現擁塞控制、網際互連等功能。
在這一層,數據的單位稱為數據包(packet)。
網路層協議的代表包括:IP、IPX、RIP、OSPF等。
第四層是處理信息的傳輸層。第4層的數據單元也稱作數據包(packets)。但是,當你談論TCP等具體的協議時又有特殊的叫法,TCP的數據單元稱為段(segments)而UDP協議的數據單元稱為「數據報(datagrams)」。這個層負責獲取全部信息,因此,它必須跟蹤數據單元碎片、亂序到達的數據包和其它在傳輸過程中可能發生的危險。第4層為上層提供端到端(最終用戶到最終用戶)的透明的、可靠的數據傳輸服務。所為透明的傳輸是指在通信過程中傳輸層對上層屏蔽了通信傳輸系統的具體細節。
傳輸層協議的代表包括:TCP、UDP、SPX等。
第五層是會話層
這一層也可以稱為會晤層或對話層,在會話層及以上的高層次中,數據傳送的單位不再另外命名,統稱為報文。會話層不參與具體的傳輸,它提供包括訪問驗證和會話管理在內的建立和維護應用之間通信的機制。如伺服器驗證用戶登錄便是由會話層完成的。
第六層是表示層
這一層主要解決擁護信息的語法表示問題。它將欲交換的數據從適合於某一用戶的抽象語法,轉換為適合於OSI系統內部使用的傳送語法。即提供格式化的表示和轉換數據服務。數據的壓縮和解壓縮, 加密和解密等工作都由表示層負責。
第七層應用層,應用層為操作系統或網路應用程序提供訪問網路服務的介面。
應用層協議的代表包括:Telnet、FTP、HTTP、SNMP等。
6. 計算機網路封裝和拆封的含義
當網路中的兩台計算機要進行通信時,數據由發送端的應用層向下,逐層傳送,而且每一層都為原始數據添加報頭(有的層除增加報頭外,還需要添加報尾),這也稱為數據封裝的過程。當封裝好的數據到達物理層後,就會根據連接兩台設備所使用的物理介質類型,將數據幀的各個比特轉換為電壓、光源、無線電波等物理層信號,通過中間網路設備,發送端的數據會被送達接收端的物理層。
在接收端,數據的還原需要進行一個封裝的反過程,從物理層向上直到應用層,隨著數據逐層向上傳遞,協議數據單元的報頭及報尾被一層層剝離。最終實現了數據從發送端到接收端的傳遞。
7. OSI參考模型分為七層,分別為物理層、數據鏈路層、網路層、傳輸層、會話層、表示層、應用層,那麼數據在
數據在應用層封裝後得到的協議數據單元叫APDU;數據在表示層封裝後得到的協議數據單元叫PPDU;數據在會話層封裝後得到的協議數據單元叫SPDU;數據在傳輸層封裝後得到的協議數據單元叫分段;數據在網路層封裝後得到的協議數據單元叫分組;數據在數據鏈路層封裝後得到的協議數據單元叫幀;數據在物理層封裝後得到的協議數據單元叫比特流