A类地址:10.0.0.0~10.255.255.255
B类地址:172.16.0.0~172.31.255.255
C类地址:192.168.0.0~192.168.255.255
D类地址称为广播地址,供特殊协议向选定的节点发送信息时用。
E类地址保留给将来使用。
A类IP地址
一个A类IP地址由1字节的网络地址和3字节主机地址组成,网络地址的最高位必须是"0", 地址范围从1.0.0.0 到126.0.0.0。可用的A类网络有126个,每个网络能容纳1亿多个主机
B类IP地址
一个B类IP地址由2个字节的网络地址和2个字节的主机地址组成,网络地址的最高位必须是"10",地址范围从128.0.0.0到191.255.255.255。可用的B类网络有16,382个,每个网络能容纳6万多个主机 。
C类IP地址
一个C类地址是由3字节的网络地址和1字节的主机地址组成,网络地址的最高位必须是"110"。范围从192.0.0.0 - 223.255.255.255 C类网络达209万余个,每个网络能容纳254个主机。
11111111.11111111.11111111.00000000250.255.255.0192.168.1.0
某一网段Ip地址总数 2^n 2^8=256个
n=所在网段的主机位数
能用ip地址数 2^n-2
子网数 2^y y=所借位数
借位:把主机位借给网络位使用
11111111.11111111.11111111.11111000
网络位 | 主机位 | 子网数 | 每段IP个数 | 能用IP个数 | 子网掩码 | |
-7 | 17 | 15 | 2^0=1 | 2^15=32768 | 32766 | 255.255.0.128 |
-6 | 18 | 14 | 2^0=1 | 2^14=16384 | 16382 | 255.255.0.192 |
-5 | 19 | 13 | 2^0=1 | 2^13=8192 | 8190 | 255.255.0.224 |
-4 | 20 | 12 | 2^0=1 | 2^12=4096 | 4094 | 255.255.0.240 |
-3 | 21 | 11 | 2^0=1 | 2^11=2048 | 2042 | 255.255.0.248 |
-2 | 22 | 10 | 2^0=1 | 2^10=1024 | 1022 | 255.255.0.252 |
-1 | 23 | 9 | 2^0=1 | 2^9=512 | 510 | 255.255.0.254 |
借位 |
网络位 |
主机位 |
子网数 |
每段IP个数 |
能用IP个数 |
子网掩码 |
0 | 24 | 8 | 2^0=1 | 2^8=256 | 254 | 255.255.255.0 |
1 |
25 |
7 |
2^1=2 |
2^7=128 |
126 |
255.255.255.128 |
2 |
26 |
6 |
2^2=4 |
2^6=64 |
62 |
255.255.255.192 |
3 |
27 |
5 |
2^3=8 |
2^5=32 |
30 |
255.255.255.224 |
4 |
28 |
4 |
2^4=16 |
2^4=16 |
14 |
255.255.255.240 |
5 |
29 |
3 |
2^5=32 |
2^3=8 |
6 |
255.255.255.248 |
6 |
30 |
2 |
2^6=64 |
2^2=4 |
2 |
255.255.255.252 |
7 |
31 |
1 |
2^7=128 |
2^1=2 |
0 |
255.255.255.254 |
计算网络地址
#!/bin/bash
#
ETH0_MASK=$(ifconfig eth0 | grep netmask | awk '{print $4}')
ETH0_IP=$(ifconfig eth0 | grep netmask | awk '{print $2}')
#WLAN0_MASK=$(ifconfig wlan0 | grep "inet addr:" | awk -F " " '{print $4}' | awk -F ":" '{print $2}')
#WLAN0_IP=$(ifconfig wlan0 | grep "inet addr:" | awk -F " " '{print $2}' | awk -F ":" '{print $2}')
get_netdes() {
ip1=$(echo $1 | awk -F "." '{print $1}')
ip2=$(echo $1 | awk -F "." '{print $2}')
ip3=$(echo $1 | awk -F "." '{print $3}')
ip4=$(echo $1 | awk -F "." '{print $4}')
echo "IP:$ip1.$ip2.$ip3.$ip4"
mask1=$(echo $2 | awk -F "." '{print $1}')
mask2=$(echo $2 | awk -F "." '{print $2}')
mask3=$(echo $2 | awk -F "." '{print $3}')
mask4=$(echo $2 | awk -F "." '{print $4}')
echo "MASK:$mask1.$mask2.$mask3.$mask4"
var=1
var=$[$var+1]
gate1=$(($ip1&$mask1))
gate2=$(($ip2&$mask2))
gate3=$(($ip3&$mask3))
gate4=$(($ip4&$mask4))
echo "网络地址:$gate1.$gate2.$gate3.$gate4"
}
get_netdes $ETH0_IP $ETH0_MASK
#get_gateway $ETH0_IP $ETH0_MASK
以192.168.1.0/24为例
借一位:
网段表示 IP范围
192.168.1.0/25 0-127
192.168.1.128/25 128-255
借二位:
网段表示 IP范围
192.168.1.0/26 0-63
192.168.1.64/26 64-127
192.168.1.128/26 128-191
192.168.1.192/26 192-255
借三位:
网段表示 IP范围
192.168.1.0/27 0-31
192.168.1.32/27 32-63
192.168.1.64/27 64-95
192.168.1.96/27 96-127
192.168.1.128/27 128-159
192.168.1.160/27 160-191
192.168.1.192/27 192-223
192.168.1.224/27 224-255
借四位:
网段表示 IP范围
192.168.1.0/28 0-15
192.168.1.16/28 16-31
192.168.1.32/28 32-47
192.168.1.48/28 48-63
192.168.1.64/28 64-79
192.168.1.80/28 80-95
192.168.1.96/28 96-111
192.168.1.112/28 112-127
192.168.1.128/28 128-143
192.168.1.144/28 144-159
192.168.1.160/28 160-175
192.168.1.176/28 176-191
192.168.1.192/28 192-207
192.168.1.208/28 208-223
192.168.1.224/28 224-239
192.168.1.240/28 240-255
借五位:
网段表示 IP范围
192.168.1.0/29 0-7
192.168.1.8/29 8-15
192.168.1.16/29 16-23
192.168.1.24/29 24-31
192.168.1.32/29 32-39
192.168.1.40/29 40-47
192.168.1.48/29 48-55
192.168.1.56/29 56-63
192.168.1.64/29 64-71
192.168.1.72/29 72-79
192.168.1.80/29 80-87
192.168.1.88/29 88-95
192.168.1.96/29 96-103
192.168.1.104/29 104-111
192.168.1.112/29 112-119
192.168.1.120/29 120-127
192.168.1.128/29 128-135
192.168.1.136/29 136-143
192.168.1.144/29 144-151
192.168.1.152/29 152-159
192.168.1.160/29 160-167
192.168.1.168/29 168-175
192.168.1.176/29 176-183
192.168.1.184/29 184-191
192.168.1.192/29 192-199
192.168.1.200/29 200-207
192.168.1.208/29 208-215
192.168.1.216/29 216-223
192.168.1.224/29 224-231
192.168.1.232/29 232-239
192.168.1.240/29 240-247
192.168.1.248/29 248-255
借六位:
网段表示 IP范围
192.168.1.0/30 0-3
192.168.1.4/30 4-7
192.168.1.8/30 8-11
192.168.1.12/30 12-15
192.168.1.16/30 16-19
192.168.1.20/30 20-23
192.168.1.24/30 24-27
192.168.1.28/30 28-31
192.168.1.32/30 32-35
192.168.1.36/30 36-39
192.168.1.40/30 40-43
192.168.1.44/30 44-47
192.168.1.48/30 48-51
192.168.1.52/30 52-55
192.168.1.56/30 56-59
192.168.1.60/30 60-63
192.168.1.64/30 64-67
192.168.1.68/30 68-71
192.168.1.72/30 72-75
192.168.1.76/30 76-79
192.168.1.80/30 80-83
192.168.1.84/30 84-87
192.168.1.88/30 88-91
192.168.1.92/30 92-95
192.168.1.96/30 96-99
192.168.1.100/30 100-103
192.168.1.104/30 104-107
192.168.1.108/30 108-115
192.168.1.116/30 116-119
192.168.1.120/30 120-123
192.168.1.124/30 124-127
192.168.1.128/30 128-131
192.168.1.132/30 132-135
192.168.1.136/30 136-139
192.168.1.140/30 140-143
192.168.1.144/30 144-147
192.168.1.148/30 148-151
192.168.1.152/30 152-155
192.168.1.156/30 156-159
192.168.1.160/30 160-163
192.168.1.164/30 164-167
192.168.1.168/30 168-171
192.168.1.172/30 172-175
192.168.1.176/30 176-179
192.168.1.180/30 180-183
192.168.1.184/30 184-187
192.168.1.188/30 188-191
192.168.1.192/30 192-195
192.168.1.196/30 196-199
192.168.1.200/30 200-203
192.168.1.204/30 204-207
192.168.1.208/30 208-215
192.168.1.216/30 216-219
192.168.1.220/30 220-223
192.168.1.224/30 224-227
192.168.1.228/30 228-231
192.168.1.232/30 232-235
192.168.1.236/30 236-239
192.168.1.240/30 240-243
192.168.1.244/30 244-247
192.168.1.248/30 248-251
192.168.1.252/30 252-255
附加:
linux下永久添加静态路由
在linux下永久添加静态路由有两种方法:
添加路由的命令:
1,route add
1 2 3 4 |
|
2,ip ro add
1 2 3 4 |
|