兩台電腦通訊

2021-08-14 05:18:43 字數 1132 閱讀 4864



兩台pc機網線直連通訊,對於初學者來說可能會很疑惑為什麼能通訊,或者為什麼不能通訊;其實主要是對主機通訊原理不了解;剛好前幾天遇到個網線直連的問題,順便就寫個blog,屬於掃盲帖,老司機可以直接跳過...

我們知道一般主機都有三個引數:ip,子網掩碼閘道器;平時應用層通訊的時候好像只用到了ip,其他兩個並不怎麼涉及,下面就會講到這子網掩碼和閘道器到底有什麼用,和本文的主題有什麼關係;

上圖是兩台主機的一般通訊流程圖,簡要說明下:

1. 同網段的情況:

如流程圖上左邊的分支,因為是同網段的,所以可以通過arp廣播獲取到主機b的mac位址,獲取到主機b的mac位址後就可以直接通訊了(同一子網有對端的mac位址就可以通訊);

2. 不同網段的情況:

如流程圖上右邊的分支,因為是不同網段,主機a認定需要通過路由才能找到主機b,所以先找閘道器mac,把arp廣播包發給閘道器,再由閘道器去**...(以下省略1000字);

再來講一下直連主機通訊的情況(其實是一樣的):

同網段情況:主機a發現主機b是同網段後,直接傳送arp廣播,由於沒有路由器,只有一根網線連線主機b,所以arp廣播包只能發給主機b,主機b分析arp廣播包後,發現arp包中的ip與自己的ip一致,所以就返回自己的mac位址,這樣主機a知道了主機b的mac位址,當然就可以通訊了;

不同網段的情況:主機a發現主機b是不同網段後,直接傳送arp廣播給閘道器,但是由於只有一根網線連到主機b,主機b收到這個arp廣播包後,發現arp包中的ip(這個ip是主機a的閘道器的位址) 與自己(主機b)不一致,直接丟棄;主機a就無法知道主機b的mac位址,當然就無法通訊了。

想讓直連的不同網段的ab主機通訊也很簡單,讓主機b不丟棄主機a發的廣播包就行,所以只要主機a傳送的arp包裡的ip剛好是主機b的ip,而此時arp包裡的ip就是主機a的閘道器ip,因此只要把主機ab的閘道器互填對方的ip位址,雙方就可以通訊了。

ps: 以上流程忽略了arp表

C Socket實現兩台電腦通訊(一)

1.ping 網路診斷工具 用於確定本地主機是否能與另一台主機成功交換 傳送與接收 資料報,再根據返回的資訊,就可以推斷tcp ip引數是否設定正確,以及執行是否正常 網路是否通暢等。2.ipconfig可用於顯示當前的tcp ip配置的設定值,通常是用來檢驗人工配置的tcp ip設定是否正確。3....

如何連線兩台電腦,實現兩台電腦的共享

第一種方法 第二種方法 1 先把兩台電腦設定在同一工作組內 例如是 workgroup 工作組。2 為2台機新增同樣的協議 連線狀態的屬性 網路 找到tcp ip協議,點安裝 協議 選最長的那個,ok。3 開啟控制面板 管理工具 本地安全策略 本地策略下的使用者權利指派,找到 拒絕從網路訪問這台計算...

兩台電腦間同步時間

2011 12 11 filed under 網路 and tagged with 技巧 需要在兩台計算機間同步時間,其實就是區域網同步時間,找到命令 net time 192.168.0.1 set y 但是會出現 發生系統錯誤 5 出現這樣的錯誤是因為客戶端還沒有登入進時間源伺服器,客戶機需要登...