|
马上注册,结识高手,享用更多资源,轻松玩转三维网社区。
您需要 登录 才可以下载或查看,没有帐号?注册
x
IP和子网掩码 . R, B6 o$ E! R9 S% [4 U
! @& p8 I; |: \. x2 j
我们都知道,IP是由四段数字组成,在此,我们先来了解一下3类常用的IP 2 Q% F `6 }1 |/ \/ s0 @( T
; a4 [8 m0 r- s* w( B A类IP段 0.0.0.0 到127.255.255.255
, u( X7 [6 P+ q+ ?% ^
+ ?/ Q+ c; Y' {8 n* i B类IP段 128.0.0.0 到191.255.255.255
8 t5 m/ \) Z$ n9 I. s$ ^
; a$ q# \; b( i6 P c C类IP段 192.0.0.0 到223.255.255.255
. j6 z' j) {& T, s! `) \ o4 e
* @5 C3 d+ I% k+ u XP默认分配的子网掩码每段只有255或0 - p9 i; X& z- G' D5 w0 k; `4 L6 A
: I9 d+ S3 q. K9 S( {& W3 n
A类的默认子网掩码 255.0.0.0 一个子网最多可以容纳1677万多台电脑 # S% r7 r/ M, x0 D0 ?6 c' |
) P& z# d; ]. A! r2 h2 @8 g U B类的默认子网掩码 255.255.0.0 一个子网最多可以容纳6万台电脑 , S9 z9 i8 s. _& a
# C* e( @ K* g. V# {4 u
C类的默认子网掩码 255.255.255.0 一个子网最多可以容纳254台电脑
% {. X( c5 o3 o( d* Q1 `+ @" z0 o8 k* D) a8 T( x
我以前认为,要想把一些电脑搞在同一网段,只要IP的前三段一样就可以了,今天,我才知道我错了。如果照我这说的话,一个子网就只能容纳254台电脑?真是有点笑话。我们来说详细看看吧。 1 n2 G+ O* U4 b, n& e8 Q6 t
& I* [/ ?9 b& P. C 要想在同一网段,只要网络标识相同就可以了,那要怎么看网络标识呢?首先要做的是把每段的IP转换为二进制。(有人说,我不会转换耶,没关系,我们用Windows自带计算器就行。打开计算器,点查看>科学型,输入十进制的数字,再点一下“二进制”这个单选点,就可以切换至二进制了。)
4 R6 P7 L8 D- f9 G& B0 B; s
8 N# K- W" p( K& Q4 ]9 f 把子网掩码切换至二进制,我们会发现,所有的子网掩码是由一串[red]连续[/red]的1和一串[red]连续[/red]的0组成的(一共4段,每段8位,一共32位数)。 ) t5 [* U0 O: V6 X1 X1 d( g" a
4 C2 n" b7 W, N& B! i4 E 255.0.0.0 11111111.00000000.00000000.00000000 . c1 P; c1 Z+ k3 m _* B4 f
+ ~: o7 G: M }2 I# ?) ? 255.255.0.0 11111111.11111111.00000000.00000000 8 N. o! n" A9 w
3 Z) {8 X2 t) n+ i- L, y7 a
255.255.255.0 11111111.11111111.11111111.00000000
; v" ]6 S7 d9 g$ i$ o2 K) T* v. W5 P% b6 ^- e
这是A/B/C三类默认子网掩码的二进制形式,其实,还有好多种子网掩码,只要是一串连续的1和一串连续的0就可以了(每段都是8位)。如11111111.11111111.11111000.00000000,这也是一段合法的子网掩码。子网掩码决定的是一个子网的计算机数目,计算机公式是2的m次方,其中,我们可以把m看到是后面的多少颗0。如255.255.255.0转换成二进制,那就是11111111.11111111.11111111.00000000,后面有8颗0,那m就是8,255.255.255.0这个子网掩码可以容纳2的8次方(台)电脑,也就是256台,但是有两个IP是不能用的,那就是最后一段不能为0和255,减去这两台,就是254台。我们再来做一个。
: }- ]8 R" H" i% Y& q2 z0 {' l, Z. a/ g
255.255.248.0这个子网掩码可以最多容纳多少台电脑? " Q" L6 M9 e/ ^+ n8 z
! T0 F9 ]/ v( y% r0 G% X; \) q 计算方法: * X8 r z+ p+ m# O g3 T! q
: W+ o% Y p# p& H: V
把将其转换为二进制的四段数字(每段要是8位,如果是0,可以写成8个0,也就是00000000) 3 g% w4 K8 F% i p" ]0 [
* W$ n, Z q7 J" [) h
11111111.1111111.11111000.00000000 % F8 Q2 Y p$ c+ E0 S0 c
* A5 E6 |8 z" j9 g: \* ? 然后,数数后面有几颗0,一共是有11颗,那就是2的11次方,等于2048,这个子网掩码最多可以容纳2048台电脑。
" J* y2 Z* T7 s3 {; H2 A' J$ @4 u' o, J, y% Z
一个子网最多可以容纳多少台电脑你会算了吧,下面我们来个逆向算法的题。 * z# ]7 E( \; _7 c/ G. Z' Q% C
8 U- M! D5 o4 C7 h$ O7 S
一个公司有530台电脑,组成一个对等局域网,子网掩码设多少最合适?
' }6 E0 f+ q) Q
{+ z1 s% p. E. d# _. b" ^- l 首先,无疑,530台电脑用B类IP最合适(A类不用说了,太多,C类又不够,肯定是B类),但是B类默认的子网掩码是255.255.0.0,可以容纳6万台电脑,显然不太合适,那子网掩码设多少合适呢?我们先来列个公式。 - ~( F4 k' y: K3 u4 y
9 o2 F0 l9 Z1 P' M) A
2的m次方=560 ! D3 _' I6 Y6 e" k1 s
. T8 F1 j, k; W7 K 首先,我们确定2一定是大于8次方的,因为我们知道2的8次方是256,也就是C类IP的最大容纳电脑的数目,我们从9次方一个一个试2的9次方是512,不到560,2的10次方是1024,看来2的10次方最合适了。子网掩码一共由32位组成,已确定后面10位是0了,那前面的22位就是1,最合适的子网掩码就是:11111111.11111111.11111100.00000000,转换成10进制,那就是255.255.252.0。 2 b; W0 d$ [% w8 @( Y J
3 z* ~+ p5 R5 q5 X2 F" O. v3 _ 分配和计算子网掩码你会了吧,下面,我们来看看IP地址的网段。
9 Y F: ?# @2 ?9 F$ d8 W* }7 o
1 y% |" l% A: H' J& F! S7 y 相信好多人都和偶一样,认为IP只要前三段相同,就是在同一网段了,其实,不是这样的,同样,我样把IP的每一段转换为一个二进制数,这里就拿IP:192.168.0.1,子网掩码:255.255.255.0做实验吧。 . d4 ?& }0 C, K/ [
5 H0 V# K, H) G5 O; n( b
192.168.0.1
# ]8 F% ]5 v [; p1 X6 U2 P7 ]1 y
0 J/ H% \/ c7 \) j" R 11000000.10101000.00000000.00000001 * e6 R" Y" F& L. A! m
8 X) W8 a0 E- }! w" f5 R& B
(这里说明一下,和子网掩码一样,每段8位,不足8位的,前面加0补齐。) ; s+ L6 ~! R i9 g
4 H' M9 @. p+ _+ ] I, H' p
IP 11000000.10101000.00000000.00000001 1 m" L8 [- U0 r& s7 S& u
- z" T8 N2 [1 Z) s7 q1 i8 t 子网掩码 11111111.11111111.11111111.00000000 2 j x3 L" E ?0 c
Z$ ~5 F6 o! V
在这里,向大家说一下到底怎么样才算同一网段。
1 G+ L2 P' X5 T; r. b2 m: d& G0 R0 d( C9 m+ b, d d# b
要想在同一网段,必需做到网络标识相同,那网络标识怎么算呢?各类IP的网络标识算法都是不一样的。A类的,只算第一段。B类,只算第一、二段。C类,算第一、二、三段。
' S* h' u) r! j9 B, o0 F* J3 f
算法只要把IP和子网掩码的每位数AND就可以了。 & ?7 h) `9 @- l
$ S* C" C: {) C# G AND方法:0和1=0 0和0=0 1和1=1
1 \* x2 T9 H, l+ k$ D) f j
6 `% w- U; D. Q7 {7 A' R0 d 如:And 192.168.0.1,255.255.255.0,先转换为二进制,然后AND每一位 t& v- X3 z5 @' \. `1 k6 Z, Y7 ?
& _* U/ p3 B& ?0 x9 `. t, a0 ]0 S IP 11000000.10101000.00000000.00000001 % Y, H3 w8 t @
( x; S0 F9 \ F0 S6 L 子网掩码 11111111.11111111.11111111.00000000
T# J( J1 F, e* I7 `" I) u. a4 k1 B6 r2 B8 [0 g4 R9 D5 B2 K' A
得出AND结果 11000000.10101000.00000000.00000000 $ P7 U7 f% M( t$ B! t" h
1 s J' U4 p$ X9 i& E 转换为十进制192.168.0.0,这就是网络标识,
$ J8 Q4 i8 O1 I2 a9 T+ j1 w6 j3 }3 ?# X# U. j9 T. Y2 ^
再将子网掩码反取,也就是00000000.00000000.00000000.11111111,与IP AND
/ e% G+ l7 t( m# X+ l, O
2 p8 Z2 H( Y. Q. L8 T! }8 |8 f( `" n 得出结果00000000.00000000.00000000.00000001,转换为10进制,即0.0.0.1, / L) F3 |2 Y. q! Q7 z
9 z8 `2 D5 s! Q5 x4 k7 j4 [+ g
这0.0.0.1就是主机标识。要想在同一网段,必需做到网络标识一样。 ) H3 D0 l+ e' w& g7 j, f4 d' S- {' R
. f; @) Q4 S) x, O* i9 c1 H0 I+ h: F 我们再来看看这个改为默认子网掩码的B类IP 4 J% [) R3 ]( `2 g# }& v& j
8 [( c- o' W" \* E4 a: C) j2 p
如IP:188.188.0.111,188.188.5.222,子网掩码都设为255.255.254.0,在同一网段吗?
6 [: n) u# y5 [$ T- y4 a# R }+ z
/ O0 Q2 q9 }4 Z. N 先将这些转换成二进制 4 l, T) ~$ K4 C- N
2 s8 [1 P) J! r 188.188.0.111 10111100.10111100.00000000.01101111
* i, f% j" e, o4 S/ Z5 D
5 Z: B6 N8 @' o( l+ ] E4 ?, i8 O 188.188.5.222 10111100.10111100.00000101.11011010 ' A0 R% J* v' G0 F5 c% m
3 \: `' i* C7 x: V 255.255.254.0 11111111.11111111.11111110.00000000
5 H; s7 J$ V: e8 E; G" `: H
5 G( C6 \8 f- ~# i 分别AND,得 9 p6 p. Q9 T1 J7 N: ?
% V. a- q1 t1 z0 L
10111100.10111100.00000000.00000000 & e( |# Q% v+ D( [! P; s
" D) y" Y% T5 n0 X7 m& t7 ?- ^# q" o 10111100.10111100.00000100.00000000 3 z. S3 Z/ |1 F! ^$ G0 }
/ v2 |5 t, I4 d' \8 X j
网络标识不一样,即不在同一网段。
* \! K- \/ `" K- t0 H% M3 b4 y3 j x7 P0 y9 x% {4 i) S
判断是不是在同一网段,你会了吧,下面,我们来点实际的。
& C! n1 a' X( l1 [: O8 p }6 ?
" x( y5 C8 ~$ a* C) \% S9 M8 J1 _ 一个公司有530台电脑,组成一个对等局域网,子网掩码和IP设多少最合适?
8 k' s% o+ r' _) O. [7 g7 r* Z" k8 g, d
子网掩码不说了,前面算出结果来了11111111.11111111.11111100.00000000,也就是255.255.252.0
$ ^0 a" c6 ?7 x& X4 V# v9 {4 A9 P* G
我们现在要确定的是IP如何分配,首先,选一个B类IP段,这里就选188.188.x.x吧 . |3 g; `* |+ e {/ |9 s7 i
5 V, {- O* ~# @: z( H
这样,IP的前两段确定的,关键是要确定第三段,只要网络标识相同就可以了。我们先来确定网络号。(我们把子网掩码中的1和IP中的?对就起来,0和*对应起来,如下:) 2 X; c' [1 o2 Z3 I1 F
7 ~9 Z1 Z* V* a3 Y8 Y/ {; O3 a" Z
255.255.252.0 11111111.11111111.11111100.00000000 8 N5 x7 ?+ ^- l" X# H) T
7 i! g( q( S9 Y6 }% t8 `5 R5 h
188.188.x.x 10111100.10111100.??????**.********
}% `' k b7 I* g4 S! v) |! _
: U/ E) a( t- b: n 网络标识 10111100.10111100.??????00.00000000
# e& ?( r7 n2 x: l, d0 d4 z
1 e" G- U( N2 C. `0 F 由此可知,?处随便填(只能用0和1填,不一定全是0和1),我们就用全填0吧,*处随便,这样呢,我们的IP就是 2 F' W( w; A2 e1 y; U9 _2 E# k( P
7 p4 T. p* d+ L9 ~" o 10111100.10111100.000000**.********,一共有530台电脑,IP的最后一段1~254可以分给254台计算机,530/254=2.086,采用进1法,得整数3,这样,我们确定了IP的第三段要分成三个不同的数字,也就是说,把000000**中的**填三次数字,只能填1和0,而且每次的数字都不一样,至于填什么,就随我们便了,如00000001,00000010,00000011,转换成二进制,分别是1,2,3,这样,第三段也确定了,这样,就可以把IP分成188.188.1.y,188.188.2.y,188.188.3.y,y处随便填,只要在1~254范围之内,并且这530台电脑每台和每台的IP不一样,就可以了。 1 Q6 n* @- q) s! F" h9 {8 ]- l
- z% O. O/ y. ^! ] 有人也许会说,既然算法这么麻烦,干脆用A类IP和A类默认子网掩码得了,偶要告诉你的是,由于A类IP和A类默认子网掩码的主机数目过大,这样做无疑是大海捞针,如果同时局域网访问量过频繁、过大,会影响效率的,所以,最好设置符合自己的IP和子网掩码。 |
|