導航:首頁 > 數據處理 > 兩個設備怎麼連接數據通信

兩個設備怎麼連接數據通信

發布時間:2024-03-26 20:57:34

1. 電腦怎樣通過互聯網傳輸數據

網路中數據傳輸過程

我們每天都在使用互聯網,我們電腦上的數據是怎麼樣通過互聯網傳輸到到另外的一台電腦上的呢?

我們知道現在的互聯網中使用的TCP/IP協議是基於,OSI(開放系統互聯)的七層參考模型的,(雖然不是完全符合)從上到下分別為 應用層 表示層 會話層 傳輸層 網路層 數據鏈路層和物理層。其中數據鏈路層又可是分為兩個子層分別為邏輯鏈路控制層(Logic Link Control,LLC )和介質訪問控制層((Media Access Control,MAC )也就是平常說的MAC層。LLC對兩個節點中的鏈路進行初始化,防止連接中斷,保持可靠的通信。MAC層用來檢驗包含在每個楨中的地址信息。在下面會分析到。還要明白一點路由器是在網路層的,而網卡在數據鏈路層。

我們知道,ARP(Address Resolution Protocol,地址轉換協議)被當作底層協議,用於IP地址到物理地址的轉換。在乙太網中,所有對IP的訪問最終都轉化為對網卡MAC地址的訪問。如果主機A的ARP列表中,到主機B的IP地址與MAC地址對應不正確,由A發往B數據包就會發向錯誤的MAC地址,當然無法順利到達B,結 果是A與B根本不能進行通信。

首先我們分析一下在同一個網段的情況。假設有兩台電腦分別命名為A和B,A需要相B發送數據的話,A主機首先把目標設備B的IP地址與自己的子網掩碼進行「與」操作,以判斷目標設備與自己是否位於同一網段內。如果目標設備在同一網段內,並且A沒有獲得與目標設備B的IP地址相對應的MAC地址信息,則源設備(A)以第二層廣播的形式(目標MAC地址為全1)發送ARP請求報文,在ARP請求報文中包含了源設備(A)與目標設備(B)的IP地址。同一網段中的所有其他設備都可以收到並分析這個ARP請求報文,如果某設備發現報文中的目標IP地址與自己的IP地址相同,則它向源設備發回ARP響應報文,通過該報文使源設備獲得目標設備的MAC地址信息。為了減少廣播量,網路設備通過ARP表在緩存中保存IP與MAC地址的映射信息。在一次 ARP的請求與響應過程中,通信雙方都把對方的MAC地址與IP地址的對應關系保存在各自的ARP表中,以在後續的通信中使用。ARP表使用老化機制,刪除在一段時間內沒有使用過的IP與MAC地址的映射關系。一個最基本的網路拓撲結構:

PC-A並不需要獲取遠程主機(PC-C)的MAC地址,而是把IP分組發向預設網關,由網關IP分組的完成轉發過程。如果源主機(PC-A)沒有預設網關MAC地址的緩存記錄,則它會通過ARP協議獲取網關的MAC地址,因此在A的ARP表中只觀察到網關的MAC地址記錄,而觀察不到遠程主機的 MAC地址。在乙太網(Ethernet)中,一個網路設備要和另一個網路設備進行直接通信,

除了知道目標設備的網路層邏輯地址(如IP地址)外,還要知道目標設備的第二層物理地址(MAC地址)。ARP協議的基本功能就是通過目標設備的IP地址,查詢目標設備的MAC地址,以保證通信的順利進行。 數據包在網路中的發送是一個及其復雜的過程,上圖只是一種很簡單的情況,中間沒有過多的中間節點,其實現實中只會比這個更復雜,但是大致的原理是一致的。

(1)PC-A要發送數據包到PC-C的話,如果PC-A沒有PC-C的IP地址,則PC-A首先要發出一個dns的請求,路由器A或者dns解析伺服器會給PC-A回應PC-C的ip地址,這樣PC-A關於數據包第三層的IP地址信息就全了:源IP地址:PC-A,目的ip地址:PC-C。

(2)接下來PC-A要知道如何到達PC-C,然後,PC-A會發送一個arp的地址解析請求,發送這個地址解析請求,不是為了獲得目標主機PC-C的MAC地址,而是把請求發送到了路由器A中,然後路由器A中的MAC地址會發送給源主機PC-A,這樣PC-A的數據包的第二層信息也全了,源MAC地址:PC-A的MAC地址,目的MAC地址:路由器A的MAC地址,

(3)然後數據會到達交換機A,交換機A看到數據包的第二層目的MAC地址,是去往路由器A的,就把數據包發送到路由器A,路由器A收到數據包,首先查看數據包的第三層ip目的地址,如果在自己的路由表中有去往PC-C的路由,說明這是一個可路由的數據包。 (4)然後路由器進行IP重組和分組的過程。首先更換此數據包的第二層包頭信息,路由器PC-A到達PC—C要經過一個廣域網,在這里會封裝很多廣域網相關的協議。其作用也是為了找下一階段的信息。同時對第二層和第三層的數據包重校驗。把數據經過Internet發送出去。最後經過很多的節點發送到目標主機PC_C中。

現在我們想一個問題,PC-A和PC-C的MAC地址如果是相同的話,會不會影響正常的通訊呢!答案是不會影響的,因為這兩個主機所處的區域網被廣域網分隔開了,通過對發包過程的分析可以看出來,不會有任何的問題。而如果在同一個區域網中的話,那麼就會產生通訊的混亂。當數據發送到交換機是,這是的埠信息會有兩個相同的MAC地址,而這時數據會發送到兩個主機上,這樣信息就會混亂。因此這也是保證MAC地址唯一性的一個理由。


先看一下計算機網路OSI模型的七個層次:

┌—————┐

│ 應用層 │←第七層

├—————┤

│ 表示層 │

├—————┤

│ 會話層 │

├—————┤

│ 傳輸層 │

├—————┤

│ 網路層 │

├—————┤

│數據鏈路層│

├—————┤

│ 物理層 │←第一層

└—————┘


而我們現在用的網路通信協議TCP/IP協議者只劃分了四成:


┌—————┐

│ 應用層 │ ←包括OSI的上三層

├—————┤

│ 傳輸層 │

├—————┤

│ 網路層 │

├—————┤

│網路介面層 │←包括OSI模型的下兩層,也就是各種不同區域網。

└—————┘


兩台計算機通信所必須需要的東西:IP地址(網路層)+埠號(傳送層)。


兩台計算機通信(TCP/IP協議)的最精簡模型大致如下:


主機A---->路由器(零個或多個)---->主機B


舉個例子:主機A上的應用程序a想要和主機B上面的應用程序b通信,大致如下


程序a將要通信的數據發到傳送層,在傳送層上加上與該應用程序對應的通信埠號(主機A上不同的應用程序有不同的埠號),如果是用的TCP的話就加上TCP頭部,UDP就加上UDP頭部。

在傳送成加上頭部之後繼續嚮往下傳到網路層,然後加上IP頭部(標識主機地址以及一些其他的數據,這里就不詳細說了)。

然後傳給下層到數據鏈路層封裝成幀,最後到物理層變成二進制數據經過編碼之後向外傳輸。


在這個過程中可能會經過許多各種各樣的區域網,舉個例子:


主機A--->(區域網1--->路由器--->區域網2)--->主機B


這個模型比上面一個稍微詳細點,其中括弧裡面的可以沒有也可能有一個或多個,這個取決於你和誰通信,也就是主機B的位置。


主機A的數據已經到了具體的物理介質了,然後經過區域網1到了路由器,路由器接受主機A來的數據先經過解碼,還原成數據幀,然後變成網路層數據,這個過程也就是主機A的數據經過網路層、數據鏈路層、物理層在路由器上面的一個反過程。

然後路由器分析主機A來的數據的IP頭部(也就是在主機A的網路層加上的數據),並且修改頭部中的一些內容之後繼續把數據傳送出去。


一直到主機B收到數據為止,主機B就按照主機A處理數據的反過程處理數據,直到把數據交付給主機B的應用程序b。完成主機A到主機B的單方向通信。


這里的主機A、B只是為了書寫方便而已,可能通信的雙方不一定就是個人PC,伺服器與主機,主機與主機,伺服器與伺服器之間的通信大致都是這樣的。


再舉個例子,我們開網頁上網路:

就是我們的主機瀏覽器的這個應用程序和網路的伺服器之間的通信。應用成所用的協議就是HTTP,而伺服器的埠號就是熟知埠號80.


大致過程就是上面所說,其中的細節很復雜,任何一個細節都可以寫成一本書,對於非專業人員也沒有必要深究。

閱讀全文

與兩個設備怎麼連接數據通信相關的資料

熱點內容
產品檢驗試驗前條件都有哪些 瀏覽:849
工程學校學什麼技術 瀏覽:275
右側交易如何判斷 瀏覽:317
銷售三無產品怎麼取證 瀏覽:541
微信別人發的信息刪了多久會看不到 瀏覽:812
平板上小程序怎麼放大 瀏覽:718
水瓶座男生不回信息是什麼原因 瀏覽:159
長江工程職業技術學院宿舍不可以帶什麼 瀏覽:971
鄭州有什麼化工產品 瀏覽:562
小程序的游戲是怎麼錄視頻的 瀏覽:348
程序員看的書哪個好 瀏覽:96
特色燒烤技術培訓怎麼樣 瀏覽:589
產品在保質期內長毛怎麼處罰 瀏覽:458
孵化成功高新技術企業獎勵多少 瀏覽:932
編程源程序錯在哪裡 瀏覽:795
ar技術目前存在什麼問題 瀏覽:52
魔域資料庫在哪裡 瀏覽:341
虹口區專業技術服務有哪些 瀏覽:251
張掖地區的水果批發市場在哪裡 瀏覽:342
銷售如何推銷最新產品 瀏覽:251