取證分析 在通訊過程中不關心目標的子網掩碼

2021-09-03 04:06:29 字數 2595 閱讀 4435

取證分析:在通訊過程中不關心目標的子網掩碼

有幾組讓網路學習者感到很疑惑的ip位址組,現在就針對兩組典型的位址做分析:

第一組:    ip:192.168.1.1     與      192.168.2.1

255.0.0.0               255.255.0.0

如果把這兩組位址直接填寫到利用

二層交換機或集線器相連的兩台主機上,這兩個位址不經過路由能ping通嗎?正確的回答是:能ping通!

如果將192.168.1.1/8位作為信源主機(發起通訊的源主機),192.168.2.1/16作為信宿主機(接收通訊的目標主機),在ip位址求「與」時,這兩個ip在去和回的路徑上都是處於乙個子網中,所以能通訊。在這裡提出知識點的誤區:在確定兩個ip位址是否在同乙個子網的方式有誤。如第一組所示的位址。如果我們在判斷兩個ip是否在乙個子網時利用下圖2.26方式是正確的,那麼大家在分析192.168.1.1/8與192.168.2.1/16就應該需要路由才能通訊,具體如圖2.27所示。但實驗結果會告訴讀者,192.168.1.1/8 與192.168.2.1/16根本就是在乙個子網,因為它們不需要路由也能通訊!讀者可把這兩個位址放在兩台計算機上試一試就可證明。

正確的理解ip求「與」來確定是否在乙個子網中的技巧:

ipv4

的通訊,源主機根本不需要關心目標主機的子網掩碼,而求「與」的正確過程應該是:將目標主機的ip與源主機的子網掩碼求「與」,再將源主機的ip與源主機的子網掩碼求「與」,得出兩個主機是否在同乙個子網,如圖2.28所示。

所以icmp的請求報文能夠準確地從192.168.1.1/8發到192.168.2.1/16。

接下來看一下:192.168.2.1/16返回給192.168.1.1/8的icmp應答報文,在這個過程中我們可以將192.168.2.1理解成應答回送報文的源主機,而192.168.1.1是應答回送報文的目標主機,所以仍然以ipv4通訊不要求關心目標子網的原則,如上圖2.28所示,從192.168.2.1返回給192.168.2.1 的icmp通訊仍在同一子網。

將這組ip位址分析到這個程度上就可以很明確的得出乙個結論:192.168.1.1/8在沒有三層路由裝置的情況下,直接與192.168.2.1/24相連,是能ping通的,因為icmp的請求與應答訊息都是在乙個子網中,它們沒理由需要三層路由裝置。

192.168.1.1       192.168.2.1

255.255.255.0

255.255.0.0

如果把這兩組位址直接填寫到利用二層交換機或集線器相連的兩台主機上,這兩個位址不經過路由能ping通嗎?

答:不能ping通。當192.168.1.1/24主機ping192.168.2.1/16時,在192.168.1.1/24的主機上會報告「destination hostunreachable.」,當從192.168.2.1/16主機ping192.168.1.1/24的主機時會報告「request timed out」,ping不通。為什麼還會出現報告不同的錯誤的提示?原因很簡單,當192.168.1.1/24主動發起對192.168.2.1/16的ping時,根據第一組位址分析得出乙個結論:當192.168.2.1作為目標時,不關心它的子網掩碼,所以通過「與」方式,192.16

8.1.1/24

與192.168.2.1/16不在同一子網,這時icmp的請求訊息都到不了目標主機,所以就直接報告:「destination hostunreachable」目標主機不可達。但相反,從192.168.2.1/16主動ping 192.168.1.1/24主機時,目標就是192.168.1.1/24所以可以不關心目標ip位址的子網掩碼,此時,192.168.2.1主機的icmp的請求訊息能夠到達192.168.1.1/24的主機,因為icmp傳送icmp請求訊息時它們在同乙個子網中的。換言之,192.168.2.1的icmp請求訊息可以正確的發到192.168.1.1。但是大家千萬不要忘記通訊是乙個雙向的過程,特別是icmp的請求訊息能發到目標主機,這並不表示ping就會成功,必須要192.168.1.1對192.168.2.1的應答訊息能被準確的送到192.168.2.1時,乙個完整的ping過程才完成。問題也就在這裡,因為當192.168.1.1作為源位址去響應192.168.2.1的icmp請求時,192.168.2.1就是目標位址,使用第一組位址中「與」計算的方式,我們可以明確看到,192.168.1.1無法將icmp的應答訊息傳遞到192.168.2.1,因為它們不在同乙個子網中。大家再聯動起來分析:當192.168.2.1主動ping192.168.1.1時,它的請求訊息能被傳遞到192.168.1.1,然後它就等待192.168.1.1為它做icmp應答,但是應答訊息永遠不會被傳遞到192.168.2.1,所以192.168.2.1的等待就超時了,報告:「request timed out」。

在儲存過程中實現事務

在圖書館管理系統中系統管理員可以進行的操作有 借 還 新增 刪除 修改圖書或新增 刪除 修改讀者等,很多的操作都涉及到多個表的進行,我們一定要保持資料的一致性。如 刪除讀者 操作,會在讀者表 reader 中進行讀者的刪除,該讀者刪除後,借書表 reader book 也沒有必要再保留該讀者的借書記...

sqlserver中在儲存過程中寫事務

由於對資料的操作經常需要併發,所以在儲存過程中使用事務是非常必要的,我經常這樣處理 if exists select from sys.objects where name sp drop proc sp gocreate procedure sp 引數列表.out bit 0 output 輸出引...

在測試的過程中的效率

在測試的過程中,效率低下是乙個重要問題,經常表現在 bug重 現重複提交 發現bug,但描述資訊不詳細 存在不量的bug不被發現 這主要是因為沒有寫測試用例,分工不詳所造成。沒有寫測試用例。每個人都自己亂點,碰運氣式的測試。結果就是,潛在大量的bug不被發現,小量的bug被重 現 測試人員沒有範圍。...