關於路由匹配的問題 什麼叫匹配?什麼叫不匹配?

2021-09-01 10:29:45 字數 1028 閱讀 2944

前兩天突然想到乙個問題,預設路由是幹嗎用的?

按理說,這很簡單,顧名思義,預設的嘛,那什麼時候會選擇這條路由呢?就是與路由表其他表項都不匹配的時候。

到這我開始有點暈了,與其他表項都不匹配?這怎麼可能呢?所謂最長匹配不就是從所有路由記錄裡選擇最匹配的那個嗎?那麼豈不是每個路由記錄都與目標位址是匹配的,只是匹配位數長短不一樣而已。

今天查資料,認真看了一下,終於發現問題所在了,注意!最長匹配是指在匹配的情況下,選擇子網掩碼最長的那個記錄。

換句話說,還有很多路由記錄與目標位址並不匹配!!!

路由記錄1:172.16.1.0/24

路由記錄2:172.16.2.0/24

路由記錄3:172.16.0.0/16

以上3條路由記錄,第乙個172.16.1.0換成二進位制是172.16.00000001.0,目標位址172.16.2.1換成二進位制是172.16.00000010.1,看起來雙方匹配位數不少啊,實際上!大錯特錯!這倆根本不匹配!!!

為什麼?因為這裡的匹配是指子網掩碼部分完全相同才叫匹配!!!  這裡172.16.1.0/24的子網掩碼部分就是前24位,也就是172.16.1,而按照相同標準的目標位址172.16.2.1的子網掩碼部分就成了172.16.2。

172.16.1與172.16.2根本不一樣,所以兩條記錄並不匹配!!!

而路由記錄2和路由記錄3與目標位址才叫匹配。

細想一下,為什麼規定子網掩碼部分的位址相同才叫匹配呢?因為子網掩碼部分的位址代表著網路號,路由記錄表面上是ip位址,其實記錄的是網路號,也就是網段位址,這部分相同,就說明目標ip位址肯定在這個網段裡邊,至於最長匹配,就是尋找分的最細的網段了,這樣找的更快。舉個例子,已知某人住在合肥市蜀山區,我們現在有三個人口記錄冊子----安徽省人口記錄,合肥市人口記錄,蜀山區人口記錄,那肯定是找蜀山區人口記錄能最快找到這個人的記錄了。

反過來,如果子網掩碼部分不同,說明目標ip位址肯定不在這個網路號的網段裡邊,也就是我們說的不匹配了。

什麼叫阻抗匹配 阻抗匹配的條件

阻抗匹配 impedancematching 在高頻設計中是乙個常用的概念。是微波電子學裡的一部分,主要用於傳輸線上,來達至所有高頻的微波訊號皆能傳至負載點的目的,不會有訊號反射回 點,從而提公升能源效益。大體上,阻抗匹配有兩種,一種是透過改變阻抗力 lumped circuit matching ...

使用 Ocelot 匹配路由的方法匹配路由

之前我們在 ocelot 閘道器的基礎上自定義了乙個認證授權的 ocelot 中介軟體,根據請求的路徑和 method 進行匹配,找到對應的許可權配置,並判斷是否可以擁有訪問資源的角色,如果沒有則返回 401 403,如果有許可權則 到下游服務。原來的匹配方式是首先根據請求路徑和方法完全匹配,如果匹...

正則 貪婪匹配 最大匹配 和最小匹配的問題。

貪婪匹配 最大匹配 和最小匹配的問題。在抓取鏈結位址時,使用以下正則時發現,當在鏈結標題 鏈結標題中含有html 時,不能抓取到位址。href s i 尚若換成以下方式 href s i 則不能抓取到你需要的鏈結資料,預設情況下,perl使用的是貪婪匹配模式,也就是盡可能多的匹配資料。如 下面的指令...