国产成人毛片视频|星空传媒久草视频|欧美激情草久视频|久久久久女女|久操超碰在线播放|亚洲强奸一区二区|五月天丁香社区在线|色婷婷成人丁香网|午夜欧美6666|纯肉无码91视频

TCP詳解之數(shù)據(jù)包分析

TCP 協(xié)議詳解之數(shù)據(jù)包分析----------by :唐進元一、 細說網(wǎng)絡(luò)傳輸介紹常言道:欲練神功,必先練好基本功。本系列以實用為主。首先來看一個例子:示例:網(wǎng)絡(luò)服務(wù)器向客戶端傳送數(shù)據(jù)的過程:在詳細

TCP 協(xié)議詳解之數(shù)據(jù)包分析

----------by :唐進元

一、 細說網(wǎng)絡(luò)傳輸

介紹

常言道:欲練神功,必先練好基本功。本系列以實用為主。

首先來看一個例子:

示例:網(wǎng)絡(luò)服務(wù)器向客戶端傳送數(shù)據(jù)的過程:

在詳細闡述網(wǎng)絡(luò)傳輸過程之前,先來看一個最常見的例子,下圖顯示了一個網(wǎng)絡(luò)服務(wù)器向客戶端傳送數(shù)據(jù)的完整過程:

1. 需要傳送的數(shù)據(jù)是網(wǎng)絡(luò)服務(wù)器的HTML 頁面。

2. 應(yīng)用協(xié)議HTTP 報文頭添加到HTML 數(shù)據(jù)之前。報文頭信息包括:服務(wù)器所使用的HTTP 版本,以及表明它包含發(fā)給網(wǎng)絡(luò)客戶端信息的狀態(tài)編碼。

,

3. HTTP 應(yīng)用層協(xié)議將HTML 格式的網(wǎng)頁數(shù)據(jù)發(fā)送給傳輸層。TCP 傳輸層用于管理網(wǎng)絡(luò)服務(wù)器和客戶端之間的會話。

4. IP 信息添加到TCP 信息之前。IP 指定適當?shù)脑春湍康腎P 地址。這些信息就構(gòu)成了IP 報文。

5. 以太網(wǎng)協(xié)議添加到IP 報文的兩端之后,就形成了數(shù)據(jù)鏈路幀。上述幀發(fā)送至通向網(wǎng)絡(luò)客戶端的路徑上的最近一個路由器。路由器移除以太網(wǎng)信息,觀察IP 報文,判定最佳路徑,將報文插入一個新的幀,并發(fā)送至目標路徑上下一個相鄰路由器。每一個路由器在轉(zhuǎn)發(fā)之前都移除并添加新的數(shù)據(jù)鏈路層信息。

6. 數(shù)據(jù)通過互聯(lián)網(wǎng)絡(luò)傳輸,互聯(lián)網(wǎng)絡(luò)包含媒介和中間設(shè)備。

7. 客戶端接收到包含數(shù)據(jù)的數(shù)據(jù)鏈路幀,處理各層協(xié)議頭,之后以添加時相反的順序移除協(xié)議頭。首先處理并移除以太網(wǎng)信息,之后是IP 協(xié)議信息,接下來TCP 信息,最后是HTTP 信息。

8. 之后,將網(wǎng)頁信息傳遞給客戶端網(wǎng)頁瀏覽器軟件。

數(shù)據(jù)封裝:

消息要在網(wǎng)絡(luò)中傳輸,必須對它進行編碼,以特定的格式進行封裝,同時需要適當?shù)胤庋b以足夠的控制和地址信息,以使它能夠從發(fā)送方移動到接收方。

消息大小

理論上,視頻或郵件信息是能夠以大塊非中斷型流從網(wǎng)絡(luò)源地址傳送到目的地址,但這也意味著同一時刻同一網(wǎng)絡(luò)其他設(shè)備就無法收發(fā)消息。這種大型數(shù)據(jù)流會造成顯著延時。并且,如果傳輸過程中連接斷開,整個數(shù)據(jù)流都會丟失需要全部重傳。因此更好的方法是將數(shù)據(jù)流分割(segmentation )為較小的,便于管理的片段,能夠帶來兩點好處:

,

? 發(fā)送較小片段,網(wǎng)絡(luò)上同時可有多個會話交錯進行。這種在網(wǎng)絡(luò)上將不同會話片段

交錯進行的過程稱為多路傳輸(multiplexing )。

? 分割可提高網(wǎng)絡(luò)通訊的可靠性。各消息片段從源地址到目的地址無需經(jīng)過相同路徑,

如果一條路徑被堵塞或斷開,其余消息可從替換路徑到達目的地址。如果部分消息到不了目的地址,那只需重傳丟失部分。

通過對片段打上標簽的方式來保證順序以及在接收時重組。

協(xié)議數(shù)據(jù)單元(Protocol Data Unit, PDU)

應(yīng)用層數(shù)據(jù)在傳輸過程中沿著協(xié)議棧傳遞,每一層協(xié)議都會向其中添加信息。這就是封裝的過程。

數(shù)據(jù)片段在各層網(wǎng)絡(luò)結(jié)構(gòu)中采用的形式就稱為協(xié)議數(shù)據(jù)單元(PDU )。封裝過程中,下一層對從上一層收到的PDU 進行封裝。在處理的每一個階段PDU 都有不同的名字來反應(yīng)它的功能。

,

PDU 按照TCP/IP協(xié)議的命名規(guī)范:

? 數(shù)據(jù)(Data ):應(yīng)用層PDU 的常用術(shù)語

? 分段(Segment ):傳輸層PDU

? 幀(Frame ):網(wǎng)絡(luò)層PDU

? 比特(Bits ):在介質(zhì)上物理傳輸數(shù)據(jù)所使用的PDU 。

封裝

封裝是指在傳輸之前為數(shù)據(jù)添加額外的協(xié)議頭信息的過程。在絕大多數(shù)數(shù)據(jù)通信過程中,源數(shù)據(jù)在傳輸前都會封裝以數(shù)層協(xié)議。在網(wǎng)絡(luò)上發(fā)送消息時,主機上的協(xié)議棧從上至下進行操作。

以網(wǎng)絡(luò)服務(wù)器為例,HTTP 應(yīng)用層協(xié)議發(fā)送HTML 格式網(wǎng)頁數(shù)據(jù)到傳輸層,應(yīng)用層數(shù)據(jù)被分成TCP 分段。各TCP 分段被打上標簽,稱為頭(header ),表明接收方哪一個進程應(yīng)當接收此消息。同時也包含使得接收方能夠按照原有的格式來重組數(shù)據(jù)的信息。

,

傳輸層將網(wǎng)頁HTML 數(shù)據(jù)封裝成分段并發(fā)送至網(wǎng)絡(luò)層,執(zhí)行IP 層協(xié)議。整個TCP 分段封裝成IP 報文,也就是再添上IP 頭標簽。IP 頭包括源和目的IP 地址,以及發(fā)送報文到目的地址所必須的信息。

之后,IP 報文發(fā)送到接入層,封裝以幀頭和幀尾。每個幀頭都包含源和目的物理地址。物理地址唯一指定了本地網(wǎng)絡(luò)上的設(shè)備。幀尾包含差錯校正信息。最后,由服務(wù)器網(wǎng)卡將比特編碼傳輸給介質(zhì)。

解封裝

接收主機以相反的方式進行操作稱為解封裝。解封裝是接收設(shè)備移除一層或多層協(xié)議頭的過程。數(shù)據(jù)在協(xié)議棧中向上移動直到終端應(yīng)用層伴隨著解封裝。

訪問本地資源:

訪問本地網(wǎng)絡(luò)資源需要兩種類型的地址:網(wǎng)絡(luò)層地址和數(shù)據(jù)鏈路層地址。網(wǎng)絡(luò)層和數(shù)據(jù)鏈路層負責(zé)將數(shù)據(jù)從發(fā)送設(shè)備傳輸至接收設(shè)備。兩層協(xié)議都有源和目的地址,但兩種地址的目的不同。

示例:客戶端PC1與FTP 在同一IP 網(wǎng)絡(luò)的通信

,

網(wǎng)絡(luò)地址

網(wǎng)絡(luò)層地址或IP 地址包含兩個部分:網(wǎng)絡(luò)前綴和主機。路由器使用網(wǎng)絡(luò)前綴部分將報文轉(zhuǎn)發(fā)給適當?shù)木W(wǎng)絡(luò)。最后一個路由器使用主機部分將報文發(fā)送給目標設(shè)備。同一本地網(wǎng)絡(luò)中,網(wǎng)絡(luò)前綴部分是相同的,只有主機設(shè)備地址部分不同。

源IP 地址:發(fā)送設(shè)備,即客戶端PC1的IP 地址:192.168.1.110

目的IP 地址:接收設(shè)備,即FTP 服務(wù)器:192.168.1.9

數(shù)據(jù)鏈路地址

數(shù)據(jù)鏈路地址的目的是在同一網(wǎng)絡(luò)中將數(shù)據(jù)鏈路幀從一個網(wǎng)絡(luò)接口發(fā)送至另一個網(wǎng)絡(luò)接口。以太網(wǎng)LAN 和無線網(wǎng)LAN 是兩種不同物理介質(zhì)的網(wǎng)絡(luò)示例,分別有自己的數(shù)據(jù)鏈路協(xié)議。

當IP 報文的發(fā)送方和接收方位于同一網(wǎng)絡(luò),數(shù)據(jù)鏈路幀直接發(fā)送到接收設(shè)備。以太網(wǎng)上數(shù)據(jù)鏈路地址就是以太網(wǎng)MAC 地址。MAC 地址是物理植入網(wǎng)卡的48比特地址。

,

源MAC 地址:發(fā)送IP 報文的PC1以太網(wǎng)卡MAC 地址,AA-AA-AA-AA-AA-AA 。

目的MAC 地址:當發(fā)送設(shè)備與接收設(shè)備位于同一網(wǎng)絡(luò),即為接收設(shè)備的數(shù)據(jù)鏈路地址。本例中,F(xiàn)TP MAC地址:CC-CC-CC-CC-CC-CC 。

源和目的MAC 地址添加到以太網(wǎng)幀中。

MAC 與IP 地址

發(fā)送方必須知道接收方的物理和邏輯地址。發(fā)送方主機能夠以多種方式學(xué)習(xí)到接收方的IP 地址:比如域名系統(tǒng)(Domain Name System, DNS),或通過應(yīng)用手動輸入,如用戶指定FTP 地址。

以太網(wǎng)MAC 地址是怎么識別的呢?發(fā)送方主機使用地址解析協(xié)議(Address Resolution Protocol, ARP)以檢測本地網(wǎng)絡(luò)的所有MAC 地址。如下圖所示,發(fā)送主機在整個LAN 發(fā)送ARP 請求消息,這是一條廣播消息。ARP 請求包含目標設(shè)備的IP 地址,LAN 上的每一個設(shè)備都會檢查該ARP 請求,看看是否包含它自身的IP 地址。只有符合該IP 地址的設(shè)備才會發(fā)送ARP 響應(yīng)。ARP 響應(yīng)包含ARP 請求中IP 地址相對應(yīng)的MAC 地址。

,

訪問遠程資源:

默認網(wǎng)關(guān)

當主機發(fā)送消息到遠端網(wǎng)絡(luò),必須使用路由器,也稱為默認網(wǎng)關(guān)。默認網(wǎng)關(guān)就是位于發(fā)送主機同一網(wǎng)絡(luò)上的路由器的接口IP 地址。有一點很重要:本地網(wǎng)絡(luò)上的所有主機都能夠配置自己的默認網(wǎng)關(guān)地址。如果該主機的TCP/IP設(shè)置中沒有配置默認網(wǎng)關(guān)地址,或指定了錯誤的默認網(wǎng)關(guān)地址,則遠端網(wǎng)絡(luò)消息無法被送達。

如下圖所示,LAN 上的主機PC 1使用IP 地址為192.168.1.1的R1作為默認網(wǎng)關(guān),如果PDU 的目的地址位于另一個網(wǎng)絡(luò),則主機將PDU 發(fā)送至路由器上的默認網(wǎng)關(guān)。

,

與遠端網(wǎng)絡(luò)設(shè)備通訊

下圖顯示了客戶端主機PC 1與遠端IP 網(wǎng)絡(luò)服務(wù)器進行通訊的網(wǎng)絡(luò)層地址與數(shù)據(jù)鏈路層地址:

網(wǎng)絡(luò)地址

,

當報文的發(fā)送方與接收方位于不同網(wǎng)絡(luò),源和目的IP 地址將會代表不同網(wǎng)絡(luò)上的主機。 源IP 地址:發(fā)送設(shè)備即客戶端主機PC 1的IP 地址:192.168.1.110。 目的IP 地址:接收設(shè)備即網(wǎng)絡(luò)服務(wù)器的IP 地址:172.16.1.99。

數(shù)據(jù)鏈路地址

當報文的發(fā)送方與接收方位于不同網(wǎng)絡(luò),以太網(wǎng)數(shù)據(jù)鏈路幀無法直接被發(fā)送到目的主機。以太網(wǎng)幀必須先發(fā)送給路由器或默認網(wǎng)關(guān)。本例中,默認網(wǎng)關(guān)是R1,R1的接口IP 地址與PC 1屬于同一網(wǎng)絡(luò),因此PC 1能夠直接達到路由器。

源MAC 地址:發(fā)送設(shè)備即PC 1的MAC 地址,PC1的以太網(wǎng)接口MAC 地址為:

AA-AA-AA-AA-AA-AA 。

目的MAC 地址:當報文的發(fā)送方與接收方位于不同網(wǎng)絡(luò),這一值為路由器或默認網(wǎng)關(guān)的以太網(wǎng)MAC 地址。本例中,即R1的以太網(wǎng)接口MAC 地址,即:11-11-11-11-11-11。

IP 報文封裝成的以太網(wǎng)幀先被傳輸至R1,R1再轉(zhuǎn)發(fā)給目的地址即網(wǎng)絡(luò)服務(wù)器。R1可以轉(zhuǎn)發(fā)給另一個路由器,如果目的服務(wù)器所在網(wǎng)路連接至R1,則直接發(fā)送給服務(wù)器。

發(fā)送設(shè)備如何確定路由器的MAC 地址?每一個設(shè)備通過自己的TCP/IP設(shè)置中的默認網(wǎng)關(guān)地址得知路由器的IP 地址。之后,它通過ARP 來得知默認網(wǎng)關(guān)的MAC 地址,該MAC 地址隨后添加到幀中。

二、 細說VLAN 與Trunk

介紹

標簽: