封包:包(Packet)是TCP/IP協定通信傳輸中的資料單位,一般也稱

文章推薦指數: 80 %
投票人數:10人

包(Packet)是TCP/IP協定通信傳輸中的資料單位,一般也稱"封包"。

TCP/IP協定是工作在OSI模型第三層(網路層)、第四層(傳輸層)上的,幀工作在第二層(資料鏈路層)。

封包包(Packet)是TCP/IP協定通信傳輸中的資料單位,一般也稱"封包"。

TCP/IP協定是工作在OSI模型第三層(網路層)、第四層(傳輸層)上的,幀工作在第二層(資料鏈路層)。

上一層的內容由下一層的內容來傳輸,所以在區域網路中,"包"是包含在"幀"裏的。

中文名稱封包外文名稱DataPacket基本介紹OSI(OpenSystemInterconnection,開放系統互聯)模型是由國際標準化組織(ISO)定義的標準,它定義了一種分層體系結構,在其中的每一層定義了針對不同通信級別的協定。

OSI模型有7層,1到7層分別是:物理層、資料鏈路層、網路層、傳輸層、會話層、表示層、套用層。

OSI模型在邏輯上可分為兩個部分:低層的1至4層關註的是原始資料的傳輸;高層的5至7層關註的是網路下的應用程式。

我們可以用一個形象一些的例子對封包的概念加以說明:我們在郵局郵寄產品時,雖然產品本身帶有自己的包裝盒,但是在郵寄的時候隻用產品原包裝盒來包裝顯然是不行的。

必須把內裝產品的包裝盒放到一個郵局指定的專用紙箱裏,這樣才能夠郵寄。

這裏,產品包裝盒相當于封包,裏面放著的產品相當于可用的資料,而專用紙箱就相當于幀,且一個幀中隻有一個封包。

“包”聽起來非常抽象,那麽是不是不可見的呢?通過一定技術手段,是可以感知到封包的存在的。

比如在Windows2000Server中,把滑鼠移動到系統列右下角的網卡圖示上(網卡需要接好雙絞線、連入網路),就可以看到“傳送:××包,收到:××包”的提示。

通過封包捕獲軟體,也可以將封包捕獲並加以分析。

就是用封包捕獲軟體Iris捕獲到的封包的介面圖,在此,大家可以很清楚地看到捕獲到的封包的MAC地址、IP地址、協定類型連線埠號等細節。

通過分析這些資料,網管員就可以知道網路中到底有什麽樣的封包在活動了。

封包概述我們可以用一個形象一些的例子對封包的概念加以說明:我們在郵局郵寄產品時,雖然產品本身帶有自己的包裝盒,但是在郵寄的[2]時候隻用產品原包裝盒來包裝顯然是不行的。

必須把內裝產品的包裝盒放到一個郵局指定的專用紙箱裏,這樣才能夠郵寄。

這裏,產品包裝盒相當于封包,裏面放著的產品相當于可用的資料,而專用紙箱就相當于幀,且一個幀中隻有一個封包。

“包”聽起來非常抽象,那麽是不是不可見的呢?通過一定技術手段,是可以感知到封包的存在的。

比如在Windows2000Server中,把滑鼠移動到系統列右下角的網卡圖示上(網卡需要接好雙絞線、連入網路),就可以看到“傳送:××包,收到:××包”的提示。

通過封包捕獲軟體,也可以將封包捕獲並加以分析。

就是用封包捕獲軟體Iris捕獲到的封包的介面圖,在此,大家可以很清楚地看到捕獲到的封包的MAC地址、IP地址、協定類型連線埠號等細節。

通過分析這些資料,網管員就可以知道網路中到底有什麽樣的封包在活動了。

具體運用簡單的說,你上網開啟網頁,這個簡單的動作,就是你先傳送封包給網站,它接收到了之後,根據你傳送的封包的IP地址,返回給你網頁的封包,也就是說,網頁的流覽,實際上就是封包的交換。

1、資料鏈路層對資料幀的長度都有一個限製,也就是鏈路層所能承受的最大資料長度,這個值稱為最大傳輸單元,即MTU。

以乙太網為例,這個值通常是1500位元組。

2、對于IP封包來講,也有一個長度,在IP包頭中,以16位來描述IP包的長度。

一個IP包,最長可能是65535位元組。

3、結合以上兩個概念,第一個重要的結論就出來了,如果IP包的大小,超過了MTU值,那麽就需要分片,也就是把一個IP包分為多個,這個概念非常容易理解,一個載重5T的卡車,要拉10T的貨,它當然就積分幾次來拉了。

套用實例5、到了傳輸層,也會有一個最大值的限製,當然,對于隻管發,其它都不管的UDP來說,不在我們討論之列。

這裏說的是TCP協定。

說到大小,或許會讓人想到TCP著名的滑動視窗的視窗大小,它跟收發兩端的快取有關,這裏討論的是傳輸的最大封包大小,所以,它也不在討論之列。

TCP的選項欄位中,有一個最大報文段長度(MSS),表示了TCP傳往另一端的最大資料的長度,當一個連線建立時,連線的雙方都要通告各自的MSS,也就是說,它是與TCP的SYN標志在一起的。

當然,對于傳輸來講,總是希望MSS越大越好,現在超載這麽嚴重,誰家不希望多拉點貨……但是,MSS總是有個限製的,也就是它的值=MTU-IP頭長度-TCP頭長度,對于乙太網來講它通常是1500-20-20=1460,雖然總是希望它能很大(如1460),但是大多數BSD實現,它都是512的倍數,如1024……6、回到分片上來,例如,在Win2000下執行如下命令:"ping192.168.0.1-l1473按剛才的說法,1473+20(ip頭)+8(icmp頭)=1501,則好大于1500,它會被分片,但是,我們關心的是:這個封包會被怎麽樣分法?可以猜想,第一個包是以太頭+IP頭+ICMP頭+1472的資料;那第二個分片包呢?它可以是:以太頭+IP頭+ICMP頭+1個位元組的資料或者是:以太頭+IP頭+1個位元組的資料"(引號內的內容可否在這裏不詳細闡述,對于1473的資料如何被分為1472和1不是很清楚2010.01.1513:50)也就是省去ICMP頭的封裝,當然,IP頭是不可以省的,否則怎麽傳輸了……事實上,TCP/IP協定採用的是後一種封裝方式,這樣,一次可以節約8個位元組的空間。

IP包頭中,用了三個標志來描述一個分片包:1、分片標志:如果一個包被分片了,分片標志這個欄位被置于1,最後一個分片除外;——這樣,對于接收端來講,可以根據這個標志位做為重組的重要依據之一;2、分片偏移標志:光有一個標志位說明“自己是不是分片包”是不夠的,偏移標志位說明了自己這個分片位于原始資料報的什麽位置。

很明顯,這兩個標志一結合,就很容易重組分片包了。

3、不允許分片標志:如果封包強行設定了這個標志,那麽在應該分片的時候,……err,剛才已經說過了。

  相關詞條TCP資料報協定資料單元報文osi三次握手網關物理層遠程訪問Router專用網路主機地址網路互連IP資料報IP地址介質訪問控製資料鏈路層資料加密緩沖區TCP/IP協定族SYN滑動視窗協定arp開源作業系統物理地址公鑰相關搜尋封包絡分析封包絡分析法封包絡分析方法俠盜獵車手3封包都市賽車6封包現代戰爭3:墮落的國度封包淘寶封包轉拍拍封包網店封包近地聯盟先遣隊2封包資料寶其它詞條941airjordan11FarmHeroesSagaKD指標philosophyroutinetoxic沖繩奴隸島發熱手套固定資產折舊安全我的狗蚪蚪救護車日落湄南河杯弓蛇影歐洲性旅行淚光閃閃渴了藍牙接收器金湧泉spa溫泉會館封包@華人百科封包



請為這篇文章評分?