服務無限,企業(yè)樂無優(yōu)

資深工程師咨詢熱線

400-8871-651
IT外包圖片
新聞中心
技術(shù)文章
當前位置:首頁 >> 新聞中心 >> 技術(shù)文章
數(shù)據(jù)包
www.sekulawhitetailranch.com 2017-09-21

解釋

(Packet):在包交換網(wǎng)絡(luò)里,單個消息被劃分為多個數(shù)據(jù)塊,這些數(shù)據(jù)塊稱為包,它包含發(fā)送者和接收者的地址信息。這些包然后沿著不同的路徑在一個或多個網(wǎng)絡(luò)中傳輸,并且在目的地重新組合。[1]

名詞解釋:OSI(Open System Interconnection,開放系統(tǒng)互聯(lián))模型是由國際標準化組織(ISO)定義的標準,它定義了一種分層體系結(jié)構(gòu),在其中的每一層定義了針對不同通信級別的協(xié)議。OSI模型有7層,17層分別是:物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層、會話層、表示層、應用層。OSI模型在邏輯上可分為兩個部分:低層的13層關(guān)注的是原始數(shù)據(jù)的傳輸;高層的47層關(guān)注的是網(wǎng)絡(luò)下的應用程序。

概述

任意一臺主機都能夠發(fā)送具有任意源地址的數(shù)據(jù)包。當數(shù)據(jù)包進行長距離的傳輸時需要經(jīng)過許多中繼站。每個中繼站就是一臺主機或路由器,他們基于路由信息,將數(shù)據(jù)包向下一個中繼站傳遞。在數(shù)據(jù)傳輸?shù)穆吠旧希绻?a href='http://www.sekulawhitetailranch.com/DetailInfo.aspx?nid=1879' target='_blank'>路由器遇到大數(shù)據(jù)流量的情況下,它可能在沒有任何提示的情況下丟掉一些數(shù)據(jù)包。較高層的協(xié)議(如TCP協(xié)議)用于處理這些問題,以便為應用程序提供一條可靠的鏈路。如果對于下一個中繼站來說數(shù)據(jù)包太大,該數(shù)據(jù)包就會被分片。也就是說,打的數(shù)據(jù)包會被分成兩個或多個小數(shù)據(jù)包,每個小數(shù)據(jù)包都有自己的IP頭,但其凈荷僅僅是大數(shù)據(jù)包凈荷的一部分。每個小數(shù)據(jù)包可以經(jīng)由不同的路徑到達目的地。在傳輸?shù)穆吠旧?,每個小數(shù)據(jù)包還可能會被繼續(xù)分片。當這些小數(shù)據(jù)包到達目標機器時,他們會被重新拼裝到一起。按照規(guī)則規(guī)定,在中間節(jié)點上,不允許對小數(shù)據(jù)包進行拼裝組合。[2]

我們可以用一個形象一些的例子對數(shù)據(jù)包的概念加以說明:我們在郵局郵寄產(chǎn)品時,雖然產(chǎn)品本身帶有自己的包裝盒,但是在郵寄的時候只用產(chǎn)品原包裝盒來包裝顯然是不行的。必須把內(nèi)裝產(chǎn)品的包裝盒放到一個郵局指定的專用紙箱里,這樣才能夠郵寄。這里,產(chǎn)品包裝盒相當于數(shù)據(jù)包,里面放著的產(chǎn)品相當于可用的數(shù)據(jù),而專用紙箱就相當于幀,且一個幀中只有一個數(shù)據(jù)包 “包”聽起來非常抽象,那么是不是不可見的呢?通過一定技術(shù)手段,是可以感知到數(shù)據(jù)包的存在的。比如在Windows 2000 Server中,把鼠標移動到任務欄右下角的網(wǎng)卡圖標上(網(wǎng)卡需要接好雙絞線、連入網(wǎng)絡(luò)),就可以看到“發(fā)送:××包,收到:××包”的提示。通過數(shù)據(jù)包捕獲軟件,也可以將數(shù)據(jù)包捕獲并加以分析。 就是用數(shù)據(jù)包捕獲軟件Iris捕獲到的數(shù)據(jù)包的界面圖,在此,大家可以很清楚地看到捕獲到的數(shù)據(jù)包MAC地址、IP地址、協(xié)議類型端口號等細節(jié)。通過分析這些數(shù)據(jù),網(wǎng)管員就可以知道網(wǎng)絡(luò)中到底有什么樣的數(shù)據(jù)包在活動了。

數(shù)據(jù)包捕獲軟件

數(shù)據(jù)包捕獲軟件

實例

數(shù)據(jù)包的結(jié)構(gòu):數(shù)據(jù)包的結(jié)構(gòu)非常復雜,不是三言兩語能夠說清的,在這里主要了解一下它的關(guān)鍵構(gòu)成就可以了,這對于理解TCP/IP協(xié)議的通信原理是非常重要的。數(shù)據(jù)包主要由“目的IP地址”、“源IP地址”、“凈載數(shù)據(jù)”等部分構(gòu)成,包括包頭和包體,包頭是固定長度,包體的長度不定,各字段長度固定,雙方的請求數(shù)據(jù)包和應答數(shù)據(jù)包的包頭結(jié)構(gòu)是一致的,不同的是包體的定義。 數(shù)據(jù)包的結(jié)構(gòu)與我們平常寫信非常類似,目的IP地址是說明這個數(shù)據(jù)包是要發(fā)給誰的,相當于收信人地址;源IP地址是說明這個數(shù)據(jù)包是發(fā)自哪里的,相當于發(fā)信人地址;而凈載數(shù)據(jù)相當于信件的內(nèi)容。 正是因為數(shù)據(jù)包具有這樣的結(jié)構(gòu),安裝了TCP/IP協(xié)議的計算機之間才能相互通信。我們在使用基于TCP/IP協(xié)議的網(wǎng)絡(luò)時,網(wǎng)絡(luò)中其實傳遞的就是數(shù)據(jù)包。理解數(shù)據(jù)包,對于網(wǎng)絡(luò)管理的網(wǎng)絡(luò)安全具有至關(guān)重要的意義。

運用

簡單的說,你上網(wǎng)打開網(wǎng)頁,這個簡單的動作,就是你先發(fā)送數(shù)據(jù)包給網(wǎng)站,它接收到了之后,根據(jù)你發(fā)送的數(shù)據(jù)包IP地址,返回給你網(wǎng)頁的數(shù)據(jù)包,也就是說,網(wǎng)頁的瀏覽,實際上就是數(shù)據(jù)包的交換。

1數(shù)據(jù)鏈路層對數(shù)據(jù)幀的長度都有一個限制,也就是鏈路層所能承受的最大數(shù)據(jù)長度,這個值

稱為最大傳輸單元,即MTU。以以太網(wǎng)為例,這個值通常是1500字節(jié)。

2、對于IP數(shù)據(jù)包來講,也有一個長度,在IP包頭中,以16位來描述IP包的長度。一個IP包,最長可能是65535字節(jié)。

3、結(jié)合以上兩個概念,第一個重要的結(jié)論就出來了,如果IP包的大小,超過了MTU值,那么就需要

分片,也就是把一個IP包分為多個,這個概念非常容易理解,一個載重5T的卡車,要拉10T的貨,它

當然就得分幾次來拉了。

4. IP分片是很多資料常講的內(nèi)容,但是我倒是覺得分不分片其實不重要,重要的是另一個東西。一個數(shù)據(jù)包穿過一個大的網(wǎng)絡(luò),它其間會穿過多個網(wǎng)絡(luò),每個網(wǎng)絡(luò)的MTU值是不同的。我們可以設(shè)想,如果接受/發(fā)送端都是以太網(wǎng),它們的MTU都是1500,我們假設(shè)發(fā)送的時候,數(shù)據(jù)包會以1500來封裝,然而,不幸的是,傳輸中有一段X.25網(wǎng),它的MTU576,這會發(fā)生什么呢?我想,這個才是我們所關(guān)心的。

當然,結(jié)論是顯而易見的,這個數(shù)據(jù)包會被再次分片,咱開始用火車拉,到了半路,不通火車,只通汽車,那一車貨會被分為很多車……僅此而已,更重要的是,這種情況下,如果IP包被設(shè)置了“不允許分片標志”,那會發(fā)生些什么呢?對,數(shù)據(jù)包將被丟棄,然后收到一份ICMP不可達差錯,告訴你,需要分片!這個網(wǎng)絡(luò)中最小的MTU值,被稱為路徑MTU,我們應該有一種有效的手段,來發(fā)現(xiàn)這個值,最笨的方法或許是先用traceroute查看所有節(jié)點,然后一個個ping……

5、到了傳輸層,也會有一個最大值的限制,當然,對于只管發(fā),其它都不管的UDP來說,不在我們討論之列。這里說的是TCP協(xié)議。說到大小,或許會讓人想到TCP著名的滑動窗口的窗口大小,它跟收發(fā)兩端的緩存有關(guān),這里討論的是傳輸?shù)淖畲?a href='http://www.sekulawhitetailranch.com/DetailInfo.aspx?nid=1878' target='_blank'>數(shù)據(jù)包大小,所以,它也不在討論之列。

TCP的選項字段中,有一個最大報文段長度(MSS),表示了TCP傳往另一端的最大數(shù)據(jù)的長度,當一個連接建立時,連接的雙方都要通告各自的MSS,也就是說,它是與TCPSYN標志在一起的。當然,對于傳輸來講,總是希望MSS越大越好,超載這么嚴重,誰家不希望多拉點貨……但是,MSS總是有個限制的,也就是它的值=MTU-IP頭長度-TCP頭長度,對于以太網(wǎng)來講它通常是1500-20-20=1460,雖然總是希望它能很大(1460),但是大多數(shù)BSD實現(xiàn),它都是512的倍數(shù),如1024……

6、回到分片上來,例如,在Win2000下執(zhí)行如下命令:

"ping 192.168.0.1 -l 1473

按剛才的說法,1473+20(ip)+8(icmp)=1501,剛好大于1500,它會被分片,但是,我們關(guān)心的是:

這個數(shù)據(jù)包會被怎么樣分法?

可以猜想,第一個包是

以太頭+IP+ICMP+1472的數(shù)據(jù);

那第二個分片包呢?

它可以是:

以太頭+IP+ICMP+1個字節(jié)的數(shù)據(jù)

或者是:

以太頭+IP+1個字節(jié)的數(shù)據(jù)"(引號內(nèi)的內(nèi)容可否在這里不詳細闡述,對于1473的數(shù)據(jù)如何被分為14721不是很清楚2010.01.15 1350)也就是省去ICMP頭的封裝,當然,IP頭是不可以省的,否則怎么傳輸了……

事實上,TCP/IP協(xié)議采用的是后一種封裝方式,這樣,一次可以節(jié)約8個字節(jié)的空間。IP包頭中,用了三個標志來描述一個分片包:

1、分片標志:如果一個包被分片了,分片標志這個字段被置于1,最后一個分片除外;——這樣,對于接收端來講,可以根據(jù)這個標志位做為重組的重要依據(jù)之一;

2、分片偏移標志:光有一個標志位說明“自己是不是分片包”是不夠的,偏移標志位說明了自己這個分片位于原始數(shù)據(jù)報的什么位置。很明顯,這兩個標志一結(jié)合,就很容易重組分片包了。

3、不允許分片標志:如果數(shù)據(jù)包強行設(shè)置了這個標志,那么在應該分片的時候,…… err

 
一直合宿到早上像素slg安卓下载,曰逼,排名十大黄色软件,台湾温芮欣年龄,畸形~小白,精灵探访记动漫ova动漫,西施卧床眼流泪红脸全身,799.su黑料吃瓜网app,gitv6.app,8ⅹ8x华人