網絡基本功系列:細說網絡那些事兒

網絡基本功(一):細說網絡傳輸 轉載請在文首保留原文出處:EMC中文支持論壇https://community.emc.com/go/chinese 瀏覽器

介紹

 

常言道:欲練神功,必先練好基本功。以前作了一個關於IP路由,默認網關和掩碼的問答貼,作完這個帖子以爲若是對網絡知識點作一個系統的闡述,應該會頗有幫助。服務器


本系列文章着重於講解網絡管理實際應用中經常涉及的重要知識點,儘可能以實用爲主。準備寫的幾個章節暫時有(可能會有增減):網絡


更多信息


首先來看一個例子:併發


示例:網絡服務器向客戶端傳送數據的過程:tcp

 

在詳細闡述網絡傳輸過程以前,先來看一個最多見的例子,下圖顯示了一個網絡服務器向客戶端傳送數據的完整過程:工具

image002.jpg

 

     1.     須要傳送的數據是網絡服務器的HTML頁面。性能

     2.     應用協議HTTP報文頭添加到HTML數據以前。報文頭信息包括:服務器所使用的HTTP版本,以及代表它包含發給網絡客戶端信息的狀態編碼。學習

     3.     HTTP應用層協議將HTML格式的網頁數據發送給傳輸層。TCP傳輸層用於管理網絡服務器和客戶端之間的會話。編碼

     4.     IP信息添加到TCP信息以前。IP指定適當的源和目的IP地址。這些信息就構成了IP報文。spa

     5.     以太網協議添加到IP報文的兩端以後,就造成了數據鏈路幀。上述幀發送至通向網絡客戶端的路徑上的最近一個路由器。路由器移除以太網信息,觀察IP報文,斷定最佳路徑,將報文插入一個新的幀,併發送至目標路徑上下一個相鄰路由器。每個路由器在轉發以前都移除並添加新的數據鏈路層信息。

     6.     數據經過互聯網絡傳輸,互聯網絡包含媒介和中間設備。

     7.     客戶端接收到包含數據的數據鏈路幀,處理各層協議頭,以後以添加時相反的順序移除協議頭。首先處理並移除以太網信息,以後是IP協議信息,接下來TCP信息,最後是HTTP信息。

     8.     以後,將網頁信息傳遞給客戶端網頁瀏覽器軟件。

 

數據封裝:

 

消息要在網絡中傳輸,必須對它進行編碼,以特定的格式進行封裝,同時須要適當地封裝以足夠的控制地址信息,以使它可以從發送方移動到接收方。

 

消息大小

理論上,視頻或郵件信息是可以以大塊非中斷型流從網絡源地址傳送到目的地址,但這也意味着同一時刻同一網絡其餘設備就沒法收發消息。這種大型數據流會形成顯著延時。而且,若是傳輸過程當中鏈接斷開,整個數據流都會丟失須要所有重傳。所以更好的方法是將數據流分割segmentation)爲較小的,便於管理的片斷,可以帶來兩點好處:

·         發送較小片斷,網絡上同時可有多個會話交錯進行。這種在網絡上將不一樣會話片斷交錯進行的過程稱爲多路傳輸(multiplexing)

·         分割可提升網絡通信的可靠性。各消息片斷從源地址到目的地址無需通過相同路徑,若是一條路徑被堵塞或斷開,其他消息可從替換路徑到達目的地址。若是部分消息到不了目的地址,那隻需重傳丟失部分。

 

經過對片斷打上標籤的方式來保證順序以及在接收時重組。

image003.jpg

 

協議數據單元(Protocol Data Unit, PDU)

應用層數據在傳輸過程當中沿着協議棧傳遞,每一層協議都會向其中添加信息。這就是封裝的過程。

數據片斷在各層網絡結構中採用的形式就稱爲協議數據單元(PDU)。封裝過程當中,下一層對從上一層收到的PDU進行封裝。在處理的每個階段PDU都有不一樣的名字來反應它的功能。

image004.jpg

 

PDU按照TCP/IP協議的命名規範:

·         數據(Data):應用層PDU的經常使用術語

·         分段(Segment):傳輸層PDU

·         幀(Frame):網絡層PDU

·         比特(Bits):在介質上物理傳輸數據所使用的PDU。

 

封裝

封裝是指在傳輸以前爲數據添加額外的協議頭信息的過程。在絕大多數數據通訊過程當中,源數據在傳輸前都會封裝以數層協議。在網絡上發送消息時,主機上的協議棧從上至下進行操做。

 

以網絡服務器爲例,HTTP應用層協議發送HTML格式網頁數據到傳輸層,應用層數據被分紅TCP分段。各TCP分段被打上標籤,稱爲頭(header),代表接收方哪個進程應當接收此消息。同時也包含使得接收方可以按照原有的格式來重組數據的信息。

 

傳輸層將網頁HTML數據封裝成分段併發送至網絡層,執行IP層協議。整個TCP分段封裝成IP報文,也就是再添上IP頭標籤。IP頭包括源和目的IP地址,以及發送報文到目的地址所必須的信息。

 

以後,IP報文發送到接入層,封裝以幀頭和幀尾。每一個幀頭都包含源和目的物理地址。物理地址惟一指定了本地網絡上的設備。幀尾包含差錯校訂信息。最後,由服務器網卡將比特編碼傳輸給介質。   

解封裝

接收主機以相反的方式進行操做稱爲解封裝。解封裝是接收設備移除一層或多層協議頭的過程。數據在協議棧中向上移動直到終端應用層伴隨着解封裝。

 

訪問本地資源:

 

訪問本地網絡資源須要兩種類型的地址:網絡層地址和數據鏈路層地址。網絡層和數據鏈路層負責將數據從發送設備傳輸至接收設備。兩層協議都有源和目的地址,但兩種地址的目的不一樣

 

示例:客戶端PC1與FTP在同一IP網絡的通訊

image005.jpg

 

網絡地址

網絡層地址或IP地址包含兩個部分:網絡前綴和主機。路由器使用網絡前綴部分將報文轉發給適當的網絡。最後一個路由器使用主機部分將報文發送給目標設備。同一本地網絡中,網絡前綴部分是相同的,只有主機設備地址部分不一樣。

源IP地址:發送設備,即客戶端PC1的IP地址:192.168.1.110

目的IP地址:接收設備,即FTP服務器:192.168.1.9

 

數據鏈路地址

數據鏈路地址的目的是在同一網絡中將數據鏈路幀從一個網絡接口發送至另外一個網絡接口。以太網LAN和無線網LAN是兩種不一樣物理介質的網絡示例,分別有本身的數據鏈路協議。

當IP報文的發送方和接收方位於同一網絡,數據鏈路幀直接發送到接收設備。以太網上數據鏈路地址就是以太網MAC地址。MAC地址是物理植入網卡的48比特意址。

源MAC地址:發送IP報文的PC1以太網卡MAC地址,AA-AA-AA-AA-AA-AA。

目的MAC地址:當發送設備與接收設備位於同一網絡,即爲接收設備的數據鏈路地址。本例中,FTP MAC地址:CC-CC-CC-CC-CC-CC。

源和目的MAC地址添加到以太網幀中。

image006.jpg

 

MAC與IP地址

發送方必須知道接收方的物理和邏輯地址。發送方主機可以以多種方式學習到接收方的IP地址:好比域名系統(Domain Name System, DNS),或經過應用手動輸入,如用戶指定FTP地址。

 

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

image007.jpg

訪問遠程資源:

 

默認網關

當主機發送消息到遠端網絡,必須使用路由器,也稱爲默認網關。默認網關就是位於發送主機同一網絡上的路由器的接口IP地址。有一點很重要:本地網絡上的全部主機都可以配置本身的默認網關地址。若是該主機的TCP/IP設置中沒有配置默認網關地址,或指定了錯誤的默認網關地址,則遠端網絡消息沒法被送達

 

以下圖所示,LAN上的主機PC 1使用IP地址爲192.168.1.1的R1做爲默認網關,若是PDU的目的地址位於另外一個網絡,則主機將PDU發送至路由器上的默認網關。

image008.jpg

 

與遠端網絡設備通信

下圖顯示了客戶端主機PC 1與遠端IP網絡服務器進行通信的網絡層地址與數據鏈路層地址:

image009.jpg

 

網絡地址

當報文的發送方與接收方位於不一樣網絡,源和目的IP地址將會表明不一樣網絡上的主機

源IP地址:發送設備即客戶端主機PC 1的IP地址:192.168.1.110。

目的IP地址:接收設備即網絡服務器的IP地址:172.16.1.99。

 

數據鏈路地址

當報文的發送方與接收方位於不一樣網絡,以太網數據鏈路幀沒法直接被髮送到目的主機。以太網幀必須先發送給路由器或默認網關。本例中,默認網關是R1,R1的接口IP地址與PC 1屬於同一網絡,所以PC 1可以直接達到路由器。

源MAC地址:發送設備即PC 1的MAC地址,PC1的以太網接口MAC地址爲:AA-AA-AA-AA-AA-AA。

目的MAC地址:當報文的發送方與接收方位於不一樣網絡,這一值爲路由器或默認網關的以太網MAC地址。本例中,即R1的以太網接口MAC地址,即:11-11-11-11-11-11。

IP報文封裝成的以太網幀先被傳輸至R1,R1再轉發給目的地址即網絡服務器。R1能夠轉發給另外一個路由器,若是目的服務器所在網路鏈接至R1,則直接發送給服務器。

 

發送設備如何肯定路由器的MAC地址?每個設備經過本身的TCP/IP設置中的默認網關地址得知路由器的IP地址。以後,它經過ARP來得知默認網關的MAC地址,該MAC地址隨後添加到幀中。

相關文章
相關標籤/搜索