1. 程式人生 > >詳談為何兩臺主機網路掩碼不一致可能導致ping不通

詳談為何兩臺主機網路掩碼不一致可能導致ping不通

言歸正傳,論壇上曾經有人提問:

“在一個交換機下,PCA 的IP為 192.168.0.6  掩碼 255.255.255.0    PCB的IP 為192.168.1.3 掩碼為 255.255.0.0 。   

按我的理解,這兩臺電腦應該處於同一網段,但是互相卻ping 不通,這個難以理解,難道我的理解有誤?請各位高手指點。”

 該樓主的理解確實有點問題吧,一個可行的改法是把PCA的掩碼改為 255.255.0.0,就沒問題了。原理解釋如下:
(根據該樓主的描述,我們暫且理解為其網路環境中只有一臺直連交換機,不存在路由器或其他的網路裝置)

一、需要補充的基礎知識

1.1 網路掩碼與網路號

       首先,對於一個使用標準的ABCDE分類編址方案的IP地址,其實可以看成: IP地址 = 網路號 + 主機號

。其中網路號由本機IP地址與本機網路掩碼做與運算獲得,主機號由本機IP地址與本機網路掩碼的反碼做與運算獲得。比如說樓主所舉的例子中,對於PCA,網路號為 Net_IdA=192.168.0.0,主機號為 Host_IdA=0.0.0.6;對於PCB,網路號為 Net_IdB=192.168.0.0,主機號為 Host_IdB=0.0.1.3。看到這,你肯定要大呼,這倆丫的網路號不是一樣的麼,那就是在同一個子網啊,為什麼不通呢?別急著下結論,請耐心往下看~

1.2 ping操作其實是一次完整的雙向通訊過程

       其次,ping操作的實際內涵是什麼?看下面的步驟:

(1)由本機構造一個ICMP請求包,傳送給目的主機;

(2)目的主機處理後構造一個ICMP響應包,返回給本機;

(3)本機根據是否收到響應包,以及響應包的內容得到本次ping的結果,並交由顯示器呈現給使用者。

       也就是說,一次成功的ping操作其實是一次完整的雙向通訊過程,並非只要本機能將請求傳送出去就算好了的。資料包要能出得去,更要回得來。

1.3 資料傳送的流程

       最後還要說明的是一臺主機要給另一臺主機發送資料時的工作流程,以A向B傳送資料為例,如下圖:

圖1

 圖1-1 一臺主機要給另一臺主機發送資料時的工作流程

二、分析一下該樓主的實驗過程

2.1 PCA ping PCB 

當PCA構造好ICMP請求包打算髮送給PCB時,參照上面的流程圖,其處理過程應當如下:

  1. PCA首先將PCB的IP地址192.168.1.3與自己的掩碼255.255.255.0做與運算,得到它所認為的PCB的網路號:Net_IdB'=192.168.1.0【注意到 Net_IdB' 與 Net_IdB 並不一致】;
  2. 然後用這個 Net_IdB' 與自己的網路號 Net_IdA=192.168.0.0 作比較,發現不一樣;
  3. PCA把構造好的ICMP請求包交付給閘道器,但閘道器不存在,於是請求傳送失敗。

       呈現給你的直觀現象就是 PCA ping PCB 不通【我猜系統給出的響應應該是:目標主機不可達(中文系統)/Destination Host Unreachable(英文系統)】,原因在於請求出不去。

2.2 PCB ping PCA 

當PCB構造好ICMP請求包打算髮送給PCB時,參照上面的流程圖,其處理過程應當如下:

  1. PCB首先將PCA的IP地址192.168.0.6與自己的掩碼255.255.0.0做與運算,得到它所認為的PCA的網路號:Net_IdA'=192.168.0.0【注意到 Net_IdA' 與 Net_IdA 是一致的】;
  2. 然後用這個 Net_IdA' 與自己的網路號 Net_IdB=192.168.0.0 作比較,發現一樣;
  3. PCB把構造好的ICMP請求包直接交付給PCA 。

       PCA處理後構造完成ICMP響應包,打算回給PCB,其處理過程和前文PCA向PCB傳送請求包一致,結果是PCA傳送響應包失敗。
       呈現給你的直觀現象就是 PCB ping PCA 不通【我猜系統給出的響應應該是:請求超時(中文系統)/Request timed out(英文系統)】,原因在於響應回不來。

三、配置的時候應該注意什麼


       如果你不是有什麼特殊需求的話,那麼你應該為你同一子網內的所有主機配置相同的掩碼。

原文連結:http://blog.csdn.net/howeverpf/article/details/19298017


相關推薦

詳談為何主機網路一致可能導致ping不通

言歸正傳,論壇上曾經有人提問: “在一個交換機下,PCA 的IP為 192.168.0.6  掩碼 255.255.255.0    PCB的IP 為192.168.1.3 掩碼為 255.255.0.0 。    按我的理解,這兩臺電腦應該處於同一網段,但是互相卻

網路主機通訊

主機A和主機B通訊報文的轉發過程     1、主機A和主機B在同一個二層網路中,直接走二層交換 主機A檢視自己的ARP快取,檢查是否有主機B的IP到MAC的對映,如果有對映,構造報文,目的IP為主機B的IP,源IP為主機A的IP,目的MAC為主機B的MAC,源MAC為主機A的M

主機之間單向Ping不通的問題

軟件 無法 它的 適配 鏈路 沒有 陌生 默認 有用 p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px ".PingFang SC"; color: #454545 } p.p2 { margin: 0.0px 0.0

思科 通過配置DHCP使主機ping

cisco 路由 dhcp第一次寫博文,內容在附件裏。本文出自 “13266133” 博客,請務必保留此出處http://13276133.blog.51cto.com/13266133/1963808思科 通過配置DHCP使兩臺主機ping通

配置靜態IP實現主機的互通

靜態IP:主機互通1.打開gns3 軟件,選擇兩個路由器,兩個主機,並且用網線將其連接起來,顯示其各個端口的名稱。將各個端口標註上IP地址,並運行。備註:同一路由器的兩個端口不能是相同的網段2.1利用CRT軟件遠程連接,配置路由器,輸入list命令查看路由器IP及端口號。2.2輸入正確端口號及IP,即可遠程登

主機通過四個路由器互通

AD 3.3 兩臺 png 路由表 http vim 51cto 相對 讓兩臺主機通過四個路由器互通 網絡拓撲圖如下: 環境準備:需要在vmware虛擬機中克隆6臺虛擬機,每臺系統環境為centos6.9 ,每臺分配的最小內存為256M. R1,R2,R3,R4 這四臺主

網絡中主機通信的完整過程

nbsp -i 端口 tom span 目標 star com ims 主機A和主機B通信報文的轉發過程 1、主機A和主機B在同一個二層網絡中,直接走二層交換 主機A查看自己的ARP緩存,檢查是否有主機B的IP到MAC的映射,如果有映射,構造報文,目的

linux下主機互傳檔案

假設主機B:[email protected] 1.從本機傳至另一臺主機B $ scp [引數] [檔案地址+名字] [email protected]:[要儲存的位置] 此時輸入密碼即可 2.從主機B傳到本機 $ scp [引數] [email&#

Linux主機之間建立信任(ssh免密碼)

背景: 有時候我們在兩個主機之間複製檔案的時候,提示輸入密碼,很不方便,那如何免密碼複製呢?,就是使用通過linux公鑰和祕鑰,建立雙機信任關係。 在整理之前,我先說下ssh免密碼的要點 :  你想免密碼登陸到哪個主機哪個使用者, 就把你自己的公鑰檔案內容追加到遠端主

配置WebLogic 叢集—主機

配置WebLogic Server叢集—兩臺主機 配置環境說明:bea weblogic8.1sp2, 1預備知識    1.1什麼是Domain和Server 1.1.1Domain Domain是WebLogic Server例項的基本管理單元。所謂Domain就是,由配

不同內網的主機之間的通訊

若是兩臺主機分別處於兩個不同內網,他們之間要通訊,兩邊都無法主動發出連線請求,誰也不知道誰的公網地址,那該如何做呢? 這時就得需要一箇中介來聯絡這兩個內網主機。 現在我們來看看一個P2P軟體的流程,以下圖為例:     首先,Client A登入伺服器,NAT A為這次的Session分配了一個埠60000,

Linux 不同網段主機相互ping

[[email protected] ~]$ ping 10.11.12.202 PING 10.11.12.202 (10.11.12.202) 56(84) bytes of data. 64 bytes from 10.11.12.202: icmp_seq=1 ttl=63 time=0.9

ssh連線區域網內主機

1.建立連線 (1)安裝客戶端 sudo apt-get install openssh-client sudo apt-get install openssh-server (2)檢

Lync 項目經驗-18-三前端服務器同時停止後-前端服務啟

服務器 Lync 問題描述:在企業中,針對Skype for business Server 2015的前端服務器一般使用3臺加入前端服務器池中,再通過硬件負載均衡器進行前端服務器的Web服務器的負載。但如果你關閉前端服務器,如果關閉先後或者同時關閉,有可能出現你3臺前端服務器的前端服務都起不來。解

jsp中生成的驗證和存在session裡面的驗證一致的處理

今天在除錯專案的時候發現,在提交表單的時候的驗證碼有問題,問題是這樣的:就是通過debug模式檢視得知:jsp頁面生成的驗證碼和表單輸入的頁面輸入的一樣,但是到後臺執行的時候,你會發現他們是不一樣的,現在上圖看看: 1.這是表單提交的時候: 2.這是後臺得到的生成的驗證碼

設定虛擬機器橋接模式以及解決橋接模式上了網以及ping不通主機的問題

一.VMware設定橋接模式 1.VMware -> 編輯->虛擬網路編輯器->更改設定 選擇VMnet0(橋接模式),選擇與主機同名網絡卡 ,主機可在在網路中心檢視網絡卡名稱 2.設定橋接模式  選擇橋接模式  二.解決上不了

解決Cadillac atsl vin一致問題

開發十年,就只剩下這套架構體系了! >>>   

IP地址(A、B、C、D和E類)、網路地址、主機地址、子網與閘道器之間的關係

“IP地址”就相當於“電話號碼”,而Internet中的路由器,就相當於電信局的“程控式交換機”。 點分十進位制數表示的IPv4地址被分為幾類,以適應大型、中型、小型的網路。這些類的不同之處在於不同類別的網路地址所佔位數。 **IP地址是一個32位的二進位制數,通常被分

IP地址、子網網路號、主機號、網路地址、主機地址

IPv4地址:4段十進位制,共32位二進位制,如:192.168.1.1 二進位制就是:11000000|10101000|00000001|00000001 範圍上劃分有些要注意的: A類 以0開始       從1.0.0.0 到126.255.

IP地址 子網 網路主機網路地址 主機地址以及ip段/數字-如192 168 0 1/24是什麼意思

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!