閘道器子網掩碼

2022-01-22 13:59:36 字數 3629 閱讀 6709

子網掩碼

網路把主機連線起來,而網際網路是把多種不同的網路連線起來,因此網際網路是網路的網路。

理解網際網路中有多個網路而非只有乙個網路對於理解子網掩碼有很大的幫助。

換句話說,網際網路是由許多小型網路構成的,每個網路上都有許多主機,這樣便構成了乙個有層次的結構。ip位址在設計時就考慮到位址分配的層次特點,將每個ip位址都分割成網路號和主機號兩部分,以便於ip位址的定址操作。

剛才我們也說了,ip位址是以網路號和主機號來標示網路上的主機的。

我們把網路號相同的主機稱之為本地網路,網路號不相同的主機稱之為遠端網路主機。

本地網路中的主機可以直接相互通訊,遠端網路中的主機要相互通訊必須通過本地閘道器(gateway)來傳遞**資料。

子網掩碼 (subnet mask) 又叫網路掩碼、位址掩碼、子網路遮罩,它是一種用來指明乙個 ip 位址的哪些位標識的是主機所在的子網,以及哪些位標識的是主機的位掩碼。子網掩碼不能單獨存在,它必須結合 ip 位址一起使用。

它的主要作用有兩個,一是用於遮蔽ip位址的一部分以區別網路標識和主機標識,並說明該ip位址是在區域網上,還是在遠端網上。二是用於將乙個大的ip網路劃分為若干小的子網路。

windows作業系統下,win + r 鍵執行 cmd 開啟命令列,之後輸入 ipconfig 指令檢視我們自己主機所在網路的子網掩碼與閘道器。

同 ip 位址一樣,子網掩碼是由長度為 32 位二進位制數組成的乙個位址。子網掩碼 32 位與ip 位址 32 位相對應,ip 位址如果某位是網路位址,則子網掩碼為1,否則為0。

比如:11111111.11111111.11111111.00000000

網路號的長度為 24(前三個位元組),主機號長度為 8 (最後乙個位元組)

1. 點分十進位制表示法:

二進位制轉換十進位制,每8位用點號隔開

比如,將二進位制的子網掩碼 11111111.11111111.11111111.00000000 轉換為十進位制,即為 255.255.255.0

2. cidr斜線記法:

例子1 :192.168.1.100/24,其子網掩碼表示為255.255.255.0,二進位制表示為11111111.11111111.11111111.00000000

例子2 :172.16.198.12/20,其子網掩碼表示為255.255.240.0,二進位制表示為11111111.11111111.11110000.00000000

運營商isp常用這樣的方法給客戶分配ip位址。

n 為 1 到 32 的數字,表示子網掩碼中網路號的長度,通過 n 的個數確定子網的主機數=2^(32-n)-2(減去 2 的原因:主機位全為0時表示本網路的網路位址,主機位全為1時表示本網路的廣播位址,這是兩個特殊位址,不能被使用者使用)。

雖然在前文我們已經提及了子網掩碼的兩個作用,但是我相信還會有很多人跟我一樣在最開始接觸這個概念的時候,對於子網掩碼的作用處於乙個很懵b的狀態。現在我們再來討論一下為啥要有子網掩碼這麼個東西。

根據前面的敘述,我們已經知道了,子網掩碼可以分離出ip位址中的網路位址和主機位址,那為什麼要分離呢?因為兩台主機要通訊,首先要判斷是否處於同一網段,即網路位址是否相同。如果相同,那麼可以把資料報直接傳送到目標主機,否則就需要路由閘道器將資料報**送到目的地。

這就是我一開始為什麼要說,網路將主機聯絡起來,而網際網路將不同的網路聯絡起來,網際網路是一種網路的網路。兩個主機之間的通訊過程需要區分是否在同乙個網路當中。

可以這麼簡單的理解:

a 主機要與 b 主機通訊,a 和 b 各自的 ip 位址與 a 主機的子網掩碼進行與運算,我們來觀察得出的結果:

1、結果如果相同,則說明這兩台主機是處於同乙個網段,這樣 a 可以通過 arp 廣播發現 b 的 mac 位址,b 也可以發現 a 的 mac 位址來實現正常通訊。

2、如果結果不同,arp 廣播會在本地閘道器終結,這時候 a 會把發給 b 的資料報先發給本地閘道器,閘道器再根據 b 主機的 ip 位址來查詢路由表,再將資料報繼續傳遞**,最終送達到目的地 b。

還沒完全搞懂?沒事,接著看下面這個圖

假如有這麼四台主機,根據我們之前討論的,不難看出

主機 a 與主機 b 處在同乙個網路中,該網路的網路位址為 192.168.1.0 ,閘道器位址為 192.168.1.1

而主機 c 與主機 d 處在同乙個網路中,該網路的網路位址為 192.168.2.0 ,閘道器位址為 192.168.2.1

所以 a 與 b,c 與 d,都可以直接相互通訊(都是屬於各自同一網段,不用經過路由器),但是 a 與 c,a 與 d,b 與 c,b 與 d 它們之間不屬於同一網段,所以它們通訊是要經過本地閘道器,然後路由器根據對方ip位址,在路由表中查詢恰好有匹配到對方ip位址的直連路由,於是從另一邊閘道器介面**出去實現互連。

1.預設子網掩碼

即未劃分子網,對應的網路號的位都置 1 ,主機號都置 0 。

a類網路預設子網掩碼: 255.0.0.0,用cidr表示為/8

b類網路預設子網掩碼: 255.255.0.0,用cidr表示為/16

c類網路預設子網掩碼: 255.255.255.0,用cidr表示為/24

2.自定義子網掩碼

將乙個網路劃分子網後,把原本的主機號位置的一部分給了子網號,餘下的才是給了子網的主機號。其形式如下:

如:192.168.1.100/25,其子網掩碼表示:255.255.255.128

意思就是將192.168.1.0這個網段的主機位的最高1位劃分為了子網。

上面我們也說到了,通過觀察兩個 ip 位址與子網掩碼做與運算的結果是否相同,可以得出兩個 ip位址是否在乙個網路中的結論。所以子網掩碼可以用來判斷任意兩台主機的ip位址是否屬於同一網路,就是拿雙方主機的ip位址和自己主機的子網掩碼做與運算,如結果為同一網路,就可以直接通訊。

閘道器在上面介紹子網掩碼時,曾多起提及閘道器,那麼閘道器到底是什麼呢?

閘道器實質上是乙個網路通向其他網路的 ip 位址。

比如有網路 a 和網路 b,

網路 a 的 ip 位址範圍為 192.168.1.1~192.168.1.254,子網掩碼為 255.255.255.0

網路 b 的 ip 位址範圍為 192.168.2.1~192.168.2.254,子網掩碼為 255.255.255.0

在沒有路由器的情況下,兩個網路之間是不能進行 tcp/ip 通訊的,即使是兩個網路連線在同一臺交換機(或集線器)上,tcp/ip 協議也會根據子網掩碼 (255.255.255.0) 判定兩個網路中的主機是否處在不同的網路裡。而要實現這兩個網路之間的通訊,則必須通過閘道器。

如果網路 a 中的主機發現資料報的目的主機不在本地網路中,就把資料報**給它自己的閘道器,再由閘道器**給網路 b 的閘道器,網路 b 的閘道器再**給網路 b 的某個主機。

所以說,只有設定好閘道器的 ip 位址,tcp/ip 協議才能實現不同網路之間的相互通訊。那麼這個 ip 位址是哪台機器的 ip 位址呢?閘道器的 ip 位址是具有路由功能的裝置的 ip 位址,具有路由功能的裝置最典型的就是路由器,路由器介面使用的ip位址就是閘道器的位址,它可以是本網段中任何乙個位址,不過通常使用該網段的第乙個可用的位址或最後乙個可用的位址,這是為了盡可能避免和本網段中的主機位址衝突。

預設閘道器,子網掩碼

圖3 第1種情況能通是因為這兩台計算機處在同一網路192.168.0.0,所以能通,而2,3種情況下兩台計算機處在不同的網路,所以不通.這裡先給個結論 用網線直接連線的計算機或是通過hub 集線器 或普通交換機間接的計算機之間要能夠相互通,計算機必須要在同一網路,也就是說它們的網路位址必須相同,而且...

預設閘道器 閘道器 子網掩碼 廣播位址

乙個用於 tcp ip 協議的配置項,是乙個可直接到達的 ip 路由器的 ip 位址。配置預設閘道器可以在 ip 路由表中建立乙個預設路徑。一台主機可以有多個閘道器。預設閘道器的意思是一台主機如果找不到可用的閘道器,就把資料報發給預設指定的閘道器,由這個閘道器來處理資料報。現在主機使用的閘道器,一般...

ip,dns,mac,閘道器,子網掩碼的自我理解

ipv4規定,網際網路位址長度為32位元 ipv6規定位址長度為128位元 ipv4的位址空間為2 32,即4 294 967 296個ip位址 網路號的長度決定了整個網際網路中能容納多少網路,主機號的長度決定每個網路能容納多少臺主機。網路號計算方法 a類 因為第乙個位元組為網路號,但最高位必須是0...