⑴ 關於網路通信原理的困惑,求網路達人賜教,萬分感謝!!!
首先說明一下,OSI七層模型是一種思想、思路,是各廠商開發軟體時遵循的通用標准。它詮釋了數據通信的過程。它是個抽象的概念。
回答1:既不是操作系統的TCP/IP協議也不是是網路設備。因為這兩個只是完成7層中的某個功能。tcp(a和b兩台電腦的虛通道建立)工作在傳輸層,ip(路由轉發)工作在網路層。而網路設備。比如路由器(三層交換機也有這個功能,只是和路由器的側重點不一樣)只把數據解析到第三層,在第三層封裝後的數據叫做包。而二層交換機只把數據解析到第二層,在第二層封裝後的數據包叫做幀。
回答2:物理層也就是第一層,處理的數據是比特流。而「本地連接」是工作在應用層也就是第7層。一塊乙太網網卡包括OSI(開方系統互聯)模型的兩個層。物理層和數據鏈路層。物理層定義了數據傳送與接收所需要的電與光信號、線路狀態、時鍾基準、數據編碼和電路等,並向數據鏈路層設備提供標准介面。數據鏈路層則提供定址機構、數據幀的構建、數據差錯檢查、傳送控制、向網路層提供標準的數據介面等功能。
回答3:其實數據鏈路層是把網路層的數據加上頭和尾形成幀再交付給物理層。這就是封裝。
之所以要加上頭和尾是因為物理層只管電信號,必須要有一個特殊的電信號告訴物理層這是一個幀的開始和結尾。
一般頭和尾的電信號是連續的10101010這樣的形式,當物理層接收到信號後,知道這是一個幀來了,經過模數轉換後交付給數據鏈路層,數據鏈路層剝離頭和尾把數據交付給上面的網路層,這就是解封裝的過程。
其實網路的七層結構基本上都是封裝和解封裝的過程,上層數據下來的時候就給他加特定的頭,相當於裝了個信封,就這樣一層層的裝下來。下層的數據送到上層就一層層的剝離頭(信封),直到最後沒有信封得到最終的數據為止。
數據封裝的原理:
數據封裝是指將協議數據單元(PDU)封裝在一組協議頭和尾中的過程。在OSI7層參考模型中,每層主要負責與其它機器上的對等層進行通信。該過程是在「協議數據單元」(PDU)中實現的,其中每層的PDU一般由本層的協議頭、協議尾和數據封裝構成。
每層可以添加協議頭和尾到其對應的PDU中。協議頭包括層到層之間的通信相關信息。協議頭、協議尾和數據是三個相對的概念,這主要取決於進行信息單元分析的各個層。例如,傳輸頭(TH)包含只有傳輸層可以看到的信息,而位於傳輸層以下的其它所有層將傳輸頭作為各層的數據部分進行傳送。在網路層,一個信息單元由層3協議頭(NH)和數據構成;而數據鏈路層中,由網路層(層3協議頭和數據)傳送下去的所有信息均被視為數據。換句話說,特定OSI層中信息單元的數據部分可能包含由上層傳送下來的協議頭、協議尾和數據。
例如,如果計算機A要將應用程序中的某數據發送至計算機B應用層。計算機A的應用層聯系任何計算機B的應用層所必需的控制信息,都是通過預先在數據上添加協議頭。結果信息單元,其包含協議頭、數據、可能包含協議尾,被發送至表示層,表示層再添加為計算機B的表示層所理解的控制信息的協議頭。信息單元的大小隨著每一層協議頭和協議尾的添加而增加,這些協議頭和協議尾包含了計算機B的對應層要使用的控制信息。在物理層,整個信息單元通過網路介質傳輸。
計算機B中的物理層接收信息單元並將其傳送至數據鏈路層;然後B中的數據鏈路層讀取包含在計算機A的數據鏈路層預先添加在協議頭中的控制信息;其次去除協議頭和協議尾,剩餘部分被傳送至網路層。每一層執行相同的動作:從對應層讀取協議頭和協議尾,並去除,再將剩餘信息發送至高一層。應用層執行完後,數據就被傳送至計算機B中的應用程序接收端,最後收到的正是從計算機A應用程所發送的數據。
網路分層和數據封裝過程看上去比較繁雜,但又是相當重要的體系結構,它使得網路通信實現模塊化並易於管理。
解封裝正好是封裝的反向操作,把封裝的數據包還原成數據.
希望對你有幫助,如果你還困惑,建議你看一下網路工程師教程。