IP與子網(wǎng)掩碼的關(guān)系圖文詳解

IP地址
IP地址是一個32位的二進(jìn)制數(shù),通常被分割為4個“8位二進(jìn)制數(shù)”。
IP地址分類
二進(jìn)制表示
地址類型 | 二進(jìn)制地址范圍 |
---|---|
A類地址 | 00000000 00000000 00000000 00000001 - 01111111 11111111 11111111 11111111 |
B類地址 | 10000000 00000000 00000000 00000000 - 10111111 11111111 11111111 11111111 |
C類地址 | 11000000 00000000 00000000 00000000 - 11011111 11111111 11111111 11111111 |
D類地址 | 11100000 00000000 00000000 00000000 - 11101111 11111111 11111111 11111111 |
E類地址 | 11110000 00000000 00000000 00000000 - 11110111 11111111 11111111 11111111 |
十進(jìn)制表示
地址類型 | 十進(jìn)制地址范圍 | 特征 |
---|---|---|
A類地址 | 1.0.0.0 - 127.255.255.255 | 第1個8位中的第1位始終為0 |
B類地址 | 128.0.0.0 - 191.255.255.255 | 第1個8位中的第1、2位始終為10 |
C類地址 | 192.0.0.0 - 223.255.255.255 | 第1個8位中的第1、2、3位始終為110 |
D類地址 | 224.0.0.0 - 239.255.255.255 | 第1個8位中的第1、2、3、4位始終為1110 |
E類地址 | 240.0.0.0 - 247.255.255.255 | 第1個8位中的第1、2、3、4、5位始終為11110 |
特殊:
D類地址:用于組播
E類地址:用于科研保留
注意:
A類地址 從1.0.0.0 到126.255.255.255 , 其中127.x.x.x段地址空間是被保留的回環(huán)地址
IP地址構(gòu)成
IP地址 = 網(wǎng)絡(luò)地址 + 主機地址
地址類型 | 網(wǎng)絡(luò)地址 | 主機地址 |
---|---|---|
A類地址 | 前8位 | 后24位 |
B類地址 | 前16位 | 后16位 |
C類地址 | 前24位 | 后8位 |
網(wǎng)絡(luò)地址
網(wǎng)絡(luò)地址(Network address)由ip和子網(wǎng)掩碼按位與得出,只有網(wǎng)絡(luò)地址相同的ip才在同一子網(wǎng)內(nèi)
網(wǎng)絡(luò)地址是子網(wǎng)中最小的地址
計算方式:網(wǎng)絡(luò)地址 = IP & 子網(wǎng)掩碼
主機地址
主機(IP)地址即該網(wǎng)段中 主機的地址編號
廣播地址
廣播地址(Broadcast Address)是專門用于同時向網(wǎng)絡(luò)中所有工作站進(jìn)行發(fā)送的一個地址
廣播地址是該子網(wǎng)主機地址全1的地址,即子網(wǎng)中最大的地址
計算方式:廣播地址 = (~子網(wǎng)掩碼) | 網(wǎng)絡(luò)地址
子網(wǎng)掩碼
子網(wǎng)掩碼 (Subnet mask)是一個32位的2進(jìn)制數(shù) ,它必須結(jié)合IP地址一起使用。
子網(wǎng)掩碼只有一個作用,就是將某個IP地址劃分成“網(wǎng)絡(luò)地址”和“主機地址”兩部分。
縮寫
有時候我們會看到192.168.1.123/24
這樣的表示方法,其中/24
就是子網(wǎng)掩碼255.255.255.0
的縮寫
計算方式:二進(jìn)制子網(wǎng)掩碼中1的個數(shù)
默認(rèn)子網(wǎng)掩碼
網(wǎng)絡(luò)類型 | 默認(rèn)子網(wǎng)掩碼 | 縮寫 |
---|---|---|
A類地址 | 255.0.0.0 | /8 |
B類地址 | 255.255.0.0 | /16 |
C類地址 | 255.255.255.0 | /24 |
子網(wǎng)容量計算
子網(wǎng)數(shù)
根據(jù)子網(wǎng)掩碼可劃分的最大子網(wǎng)數(shù)
計算方式:子網(wǎng)數(shù) = 2^(實際子網(wǎng)掩碼縮寫 - 相應(yīng)網(wǎng)絡(luò)類型默認(rèn)子網(wǎng)掩碼縮寫)
最大主機數(shù)
計算方式:最大主機數(shù) = 2^(主機地址的位數(shù))
可用主機數(shù)
計算方式:可用主機數(shù) = 最大主機數(shù) - 2
因為一個子網(wǎng)中主機號全為0的是網(wǎng)絡(luò)地址,全為1的是廣播地址,所以要 -2
代碼計算示例
下面代碼采用C語言編寫(c11)
#include<stdio.h> #define uchar unsigned char #define uint unsigned int uchar bin1num(uchar num); void main() { uchar IP[] = {192,168,1,53}; //IP地址 uchar SubnetMask[] = {255,255,255,224}; //子網(wǎng)掩碼 //網(wǎng)絡(luò)類型和默認(rèn)子網(wǎng)掩碼縮寫 uchar DefaultSubnetMaskAbbr; if(IP[0]<224) DefaultSubnetMaskAbbr = 24; //C類地址 if(IP[0]<192) DefaultSubnetMaskAbbr = 16; //B類地址 if(IP[0]<128) DefaultSubnetMaskAbbr = 8; //A類地址 //實際子網(wǎng)掩碼縮寫:二進(jìn)制中1的個數(shù) uchar SubnetMaskAbbr = bin1num(SubnetMask[0])+bin1num(SubnetMask[1])+bin1num(SubnetMask[2])+bin1num(SubnetMask[3]); //網(wǎng)絡(luò)地址:IP & 子網(wǎng)掩碼 uchar Network[] = {IP[0] & SubnetMask[0], IP[1] & SubnetMask[1], IP[2] & SubnetMask[2], IP[3] & SubnetMask[3]}; //廣播地址:(~子網(wǎng)掩碼)|網(wǎng)絡(luò)地址 uchar Broadcast[] = {(~SubnetMask[0])|Network[0], (~SubnetMask[1])|Network[1], (~SubnetMask[2])|Network[2], (~SubnetMask[3])|Network[3]}; //子網(wǎng)數(shù):2^(實際子網(wǎng)掩碼縮寫-默認(rèn)子網(wǎng)掩碼縮寫) uint SubnetNum = 1; for(int i=0; i<SubnetMaskAbbr-DefaultSubnetMaskAbbr; i++) { SubnetNum *=2; } //最大主機數(shù):2^(32-子網(wǎng)掩碼縮寫) uint HostNum = 1; for(int i=0; i<32-SubnetMaskAbbr; i++) { HostNum *=2; } /*打印結(jié)果*/ printf("ip地址:%d.%d.%d.%d\n", IP[0], IP[1], IP[2], IP[3]); printf("子網(wǎng)掩碼:%d.%d.%d.%d\n", SubnetMask[0], SubnetMask[1], SubnetMask[2], SubnetMask[3]); if(DefaultSubnetMaskAbbr==8) printf("網(wǎng)絡(luò)類型:A類\n"); if(DefaultSubnetMaskAbbr==16) printf("網(wǎng)絡(luò)類型:B類\n"); if(DefaultSubnetMaskAbbr==24) printf("網(wǎng)絡(luò)類型:C類\n"); printf("子網(wǎng)掩碼縮寫:%d\n", SubnetMaskAbbr); printf("網(wǎng)絡(luò)地址:%d.%d.%d.%d\n", Network[0], Network[1], Network[2], Network[3]); printf("廣播地址:%d.%d.%d.%d\n", Broadcast[0], Broadcast[1], Broadcast[2], Broadcast[3]); printf("子網(wǎng)數(shù):%d\n", SubnetNum); printf("最大主機數(shù):%d\n", HostNum); printf("可用主機數(shù):%d\n", HostNum-2); } //計算8位二進(jìn)制數(shù)1的個數(shù)(1必須從第一位開始,每個1必須相鄰) uchar bin1num(uchar num) { uchar Divisor[] = {128,64,32,16,8,4,2,1}; //除數(shù)(8位) uchar Remainder = num; //余數(shù) uchar ret; //結(jié)果 for(ret=0; ret<10; ret++) { if(Remainder>0) Remainder = Remainder%Divisor[ret]; else break; } return ret; }
到此這篇關(guān)于IP與子網(wǎng)掩碼的關(guān)系圖文詳解的文章就介紹到這了,更多相關(guān)IP與子網(wǎng)掩碼內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持腳本之家!
相關(guān)文章
FTTC/FTTH和FTTR有什么區(qū)別? 光纖接入方式詳細(xì)介紹
國內(nèi)主流 ISP 普遍都采用了光纖連接,常見術(shù)語包括 FTTC(光纖到路邊)、FTTB(光纖到樓宇)、FTTH(光纖到戶)和 FTTR(光纖到房間),他們之間有什么區(qū)別?詳細(xì)如下2025-03-05TP-Link PDDNS服將于務(wù)6月30日正式停運:用戶需轉(zhuǎn)向第三方DDNS服務(wù)
近期,路由器制造巨頭普聯(lián)(TP-Link)在用戶群體中引發(fā)了一系列重要變動,上個月,公司發(fā)出了一則通知,明確要求所有用戶必須通過實名認(rèn)證流程,方能繼續(xù)使用其提供的DDNS服2025-02-15電腦怎么查看隱藏和顯示SSID? 服務(wù)集標(biāo)識符等你來揭秘
之前我們介紹過ssid的概念,那么自己的設(shè)備怎么顯示ssid和隱藏ssid呢?下面我們就來看看詳細(xì)的教程2025-01-14SSID究竟是什么? WiFi網(wǎng)絡(luò)名稱及工作方式解析
SID可以看作是無線網(wǎng)絡(luò)的名稱,類似于有線網(wǎng)絡(luò)中的網(wǎng)絡(luò)名稱或者路由器的名稱,在無線網(wǎng)絡(luò)中,設(shè)備通過SSID來識別和連接到特定的無線網(wǎng)絡(luò)2025-01-14向日葵Q2Pro怎么樣? 貝銳向日葵Q2Pro工業(yè)級遠(yuǎn)控設(shè)備測評
今天帶來的這款向日葵 Q2Pro ,就是一款專門用于工業(yè)設(shè)備、醫(yī)療設(shè)備等遠(yuǎn)程控制的硬件產(chǎn)品,憑借其即插即用、斷網(wǎng)可遠(yuǎn)控、無需被控主機安裝軟件等特性,為設(shè)備維護(hù)帶來了全2024-11-23雙頻BE5100面板AP! TP-LINK TL-7AP5100HI-PoE拆機測評
TP-LINK一款為TL-7AP5100HI-PoE 易展版的 Wi-Fi 7 AP 面板怎么樣?該面板隸屬 BE5100 規(guī)格家族,詳細(xì)請看下文拆機測評2024-06-28AP2.4g和5g的wifi區(qū)別 無線網(wǎng)2.4g和5g有什么區(qū)別
AP2.4g和5g的wifi區(qū)別 無線網(wǎng)2.4g和5g有什么區(qū)別WIFI這一名詞可謂是家喻戶曉,但是你知道2.4g和5g wifi的區(qū)別嗎2024-01-03- 無線路由器根據(jù)不同用戶群體的需求,提供了多種工作模式,只有選對了模式,才能充分發(fā)揮路由器的作用,路由器常見的三大工作模式為:路由模式、中繼模式和AP模式,不同的模2023-12-26
- 第一次測評PCIe 3.0 x1的雙口2.5G網(wǎng)卡,下面我們就來看看SSU雙口2.5G網(wǎng)卡拆機和測試雙口有沒有瓶頸2023-12-12
一篇文章告訴你公網(wǎng),私網(wǎng),內(nèi)網(wǎng),外網(wǎng)的區(qū)別
最近經(jīng)常有很多小白朋友在后臺問,公網(wǎng)、私網(wǎng)、內(nèi)網(wǎng)、外網(wǎng),這些的概念是啥樣的,又該怎么去界定2023-09-06