子網劃分思路
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地址
一個
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下永久新增靜態路由有兩種方法:
新增路由的命令:
1,route add
1 2 3 4 |
|
2,ip ro add
1 2 3 4 |
|