2
0
mirror of https://github.com/gnu4cn/ccna60d.git synced 2024-05-21 04:55:00 +08:00
This commit is contained in:
Peng Hailin 2016-08-31 09:39:13 +08:00
parent 6ba4ae034c
commit c9637d2e1a

View File

@ -51,10 +51,8 @@ IP 版本 4(IPv4设计用于解决设备命名问题。IPv4 使用二进制
每一个二进制位表示一个十进制数,你可以在相应的列中,依据该列是 1 还是 0, 而使用或不用其对应的十进制数。下面是 8 个列。
<table>
<tr><td>128</td><td>64</td><td>32</td><td>16</td><td>8</td><td>4</td><td>2</td><td>1</td></tr>
<tr><td>1</td><td>1</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td></tr>
</table>
| 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
| 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
从上表中可以看到,仅有前两个十进制数被用到(下方有 1 的两个),这就产生出数值 128+64=192。
@ -68,54 +66,40 @@ IP 版本 4(IPv4设计用于解决设备命名问题。IPv4 使用二进制
我们从仅有两位的二进制数开始。
<table>
<tr><td>2</td><td>1</td></tr>
<tr><td>0</td><td>0</td></tr>
</table>
| 2 | 1 |
| 0 | 0 |
0+0=0
<table>
<tr><td>2</td><td>1</td></tr>
<tr><td>0</td><td>1</td></tr>
</table>
| 2 | 1 |
| 0 | 1 |
0+1=1
<table>
<tr><td>2</td><td>1</td></tr>
<tr><td>1</td><td>0</td></tr>
</table>
| 2 | 1 |
| 1 | 0 |
2+0=2
<table>
<tr><td>2</td><td>1</td></tr>
<tr><td>1</td><td>1</td></tr>
</table>
| 2 | 1 |
| 1 | 1 |
2+1=3
如你使用8位二进制数也就是一个八位字节你能取得如何从0到255之间的数值。而你可以看到这些位数自右往左移动。
<table>
<tr><td>128</td><td>64</td><td>32</td><td>16</td><td>8</td><td>4</td><td>2</td><td>1</td></tr>
<tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td> </td></tr>
</table>
| 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
| | | | | | | | |
在往各列中填入0时就有了十进制的0。
<table>
<tr><td>128</td><td>64</td><td>32</td><td>16</td><td>8</td><td>4</td><td>2</td><td>1</td></tr>
<tr><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td></tr>
</table>
| 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
而将1填入各列就得到了十进制的255.
<table>
<tr><td>128</td><td>64</td><td>32</td><td>16</td><td>8</td><td>4</td><td>2</td><td>1</td></tr>
<tr><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td></tr>
</table>
| 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
| 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
不信吗?
@ -123,10 +107,8 @@ IP 版本 4(IPv4设计用于解决设备命名问题。IPv4 使用二进制
如此逻辑使然你实际上可以通过将0或1放入不同的列而生成0到255之间的任何数值。比如。
<table>
<tr><td>128</td><td>64</td><td>32</td><td>16</td><td>8</td><td>4</td><td>2</td><td>1</td></tr>
<tr><td>0</td><td>0</td><td>1</td><td>0</td><td>1</td><td>1</td><td>0</td><td>0</td></tr>
</table>
| 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
| 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0 |
32+8+4=44
@ -134,17 +116,16 @@ IP 版本 4(IPv4设计用于解决设备命名问题。IPv4 使用二进制
**表 5.1 -- 二进制值Binary Values**
<table>
<tr><th>二进制Binary</th><th>十进制Decimal</th></tr>
<tr><td>1000 0000</td><td>128</td></tr>
<tr><td>1100 0000</td><td>192</td></tr>
<tr><td>1110 0000</td><td>224</td></tr>
<tr><td>1111 0000</td><td>240</td></tr>
<tr><td>1111 1000</td><td>248</td></tr>
<tr><td>1111 1100</td><td>252</td></tr>
<tr><td>1111 1110</td><td>254</td></tr>
<tr><td>1111 1111</td><td>255</td></tr>
</table>
| 二进制Binary | 十进制Decimal |
| -- | -- |
| `1000 0000` | 128 |
| `1100 0000` | 192 |
| `1110 0000` | 224 |
| `1111 0000` | 240 |
| `1111 1000` | 248 |
| `1111 1100` | 252 |
| `1111 1110` | 254 |
| `1111 1111` | 255 |
构造一些你自己的二进制数,确保你完全地掌握了这个概念。
@ -157,26 +138,21 @@ IP 版本 4(IPv4设计用于解决设备命名问题。IPv4 使用二进制
**表5.2 -- 十进制、十六进制和二进制位数Decimal, Hex, and Binary Digits**
<table>
<tr><th>十进制Decimal</th><td>0</td><td>1</td><td>2</td><td>3</td><td>4</td><td>5</td><td>6</td><td>7</td></tr>
<tr><th>十六进制Hex</th><td>0</td><td>1</td><td>2</td><td>3</td><td>4</td><td>5</td><td>6</td><td>7</td></tr>
<tr><th>二进制Binary</th><td>0000</td><td>0001</td><td>0010</td><td>0011</td><td>0100</td><td>0101</td><td>0110</td><td>0111</td></tr>
</table>
| 十进制Decimal | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 十六进制Hex | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 二进制Binary | 0000 | 0001 | 0010 | 0011 | 0100 | 0101 | 0110 | 0111 |
<table>
<tr><th>十进制Decimal</th><td>8</td><td>9</td><td>10</td><td>11</td><td>12</td><td>13</td><td>14</td><td>15</td></tr>
<tr><th>十六进制Hex</th><td>8</td><td>9</td><td>A</td><td>B</td><td>C</td><td>D</td><td>E</td><td>F</td></tr>
<tr><th>二进制Binary</th><td>1000</td><td>1001</td><td>1010</td><td>1011</td><td>1100</td><td>1101</td><td>1110</td><td>1111</td></tr>
</table>
| 十进制Decimal | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 十六进制Hex | 8 | 9 | A | B | C | D | E | F |
| 二进制Binary | `1000` | `1001` | `1010` | `1011` | `1100` | `1101` | `1110` | `1111` |
将二进制转换成十六进制及十进制是相当简单的如表5.3所示。
**表5.3 -- 二进制到十六进制、十进制的转换**
<table>
<tr><th>十进制Decimal</th><td>13</td><td>6</td><td>2</td><td>12</td></tr>
<tr><th>十六进制, Hex</th><td>D</td><td>6</td><td>2</td><td>C</td></tr>
<tr><th>二进制Binary</th><td>1101</td><td>0110</td><td>0010</td><td>1100</td></tr>
</table>
| 十进制Decimal | 13 | 6 | 2 | 12 |
| 十六进制, Hex | D | 6 | 2 | C |
| 二进制Binary | 1101 | 0110 | 0010 | 1100 |
相对于二进制十六进制对人类来讲更易于掌握其又能够近似于二进制那样为计算机和网络设备所使用。任何的数都可由十六进制构造出来这点跟二进制和十进制一样如下面的例子一样只需计算16的乘积。
@ -188,10 +164,8 @@ IP 版本 4(IPv4设计用于解决设备命名问题。IPv4 使用二进制
如此等等。
<table>
<tr><th rowspan="2">十六进制Hex</th><td>4096</td><td>256</td><td>16</td><td>1</td></tr>
<tr><td></td><td></td><td>1</td><td>A</td></tr>
</table>
| 十六进制Hex | 4096 | 256 | 16 | 1 |
| | | 1 | A |
在以十六进制数数时就要像这样0 1 2 3 4 5 6 7 8 9 A B C D E F 10 11 12 13 14 15 16 17 18 19 1A 1B 1F 1E 1F 20 21 22, 等等, 一直到无穷。比如上面的 1A 就是在 1 的列上有个 A在 16 的列上有个 1, 那么: 1A = 10 + 16 = 26。
@ -231,9 +205,9 @@ IP 地址分配的规则有:**网络上的每个地址,都要是其主机所
在IPv4刚推出时其地址就分成了不同类别。不同地址类别依其需求而分配给各家机构。机构越大地址类别就越大。不同地址类别又指定了相应字母从A到E。A 类地址保留给最大的一些网络。而A类地址的前8个二进制位可以是从1到126的数。此举的原因在于其前8位的首位必须是0。而当前8位中有了第一位的0时那么剩下的值就只能是1到126了。也就是下面这样。
<b>0</b> 000 0001 = 1
**0** 000 0001 = 1
<b>0</b> 111 1111 = 126
**0** 111 1111 = 126
**在网络中是不可以有全0地址的**。在加入其它三个8位二进制数后就可以看到A类地址的全貌了。就像下面的那样。
@ -247,14 +221,14 @@ IP 地址分配的规则有:**网络上的每个地址,都要是其主机所
B类地址前8位二进制数的头两位则必须是10。这就意味着前8位二进制数值处于128到191之间也就是下面这样。
<b>10</b> 00 0000 = 128
**10** 00 0000 = 128
<b>10</b> 11 1111 = 191
**10** 11 1111 = 191
对于C类地址来说前8位二进制数的头三位必需为110, 那么地址就在192到223之间也就是下面这样。
对于C类地址来说前8位二进制数的头三位必需为`110`, 那么地址就在192到223之间也就是下面这样。
<b>110</b> 0 0000 = 192
<b>110</b> 1 1111 = 223
**110** 0 0000 = 192
**110** 1 1111 = 223
D类地址用于多播multicasting, directed broadcasting, 受导向的广播而E类地址则仅用于实验用途。
@ -272,27 +246,25 @@ C类地址 = 255.255.255.0
在二进制位开启时,网络就知道该位是用作网络地址,而不是网络上的主机地址,如下表所示。
<table>
<tr><td>192</td><td>168</td><td>12</td><td>2</td></tr>
<tr><td>255</td><td>255</td><td>255</td><td>0</td></tr>
<tr><td>网络位</td><td>网络位</td><td>网络位</td><td>主机位</td></tr>
</table>
| 192 | 168 | 12 | 2 |
| 255 | 255 | 255 | 0 |
| 网络位 | 网络位 | 网络位 | 主机位 |
上面的地址表明 `192.168.12` 是网络地址,`2` 是该网络上的一台主机。再者,任何以`192.168.12`开头的IP地址都是在同一网络上的。而在看看前8位的数字以及该默认的子网掩码就知道这是一个C类网络。
请记住早前提到的规则:主机所不能使用的那些网络号,那么下面的这些网络号就不能为设备所使用了。
10.<b>0.0.0</b>
10.**0.0.0**
174.12.<b>0.0</b>
174.12.**0.0**
192.168.2.<b>0</b>
192.168.2.**0**
另一规则是你不能使用各个网络或子网上的广播地址。某广播地址是前往网络上所有设备,那么,逻辑上就不能为设备所使用了。广播地址就是将所有主机位开启的地址,像下面这样。
10.<b>255.255.255</b>
10.**255.255.255**
192.168.1.<b>255</b>
192.168.1.**255**
在上面的例子中,主机部分的所有二进制位都是打开的。
@ -310,11 +282,11 @@ C类地址 = 255.255.255.0
下面就是私有地址的几个范围。
10.x.x.x -- 以10开头的地址
`10.x.x.x` -- 以10开头的地址
172.16.x.x 到172.31.x.x -- 172.16到172.31中的那些地址
`172.16.x.x` `172.31.x.x` -- `172.16``172.31`中的那些地址
192.168.x.x -- 以192.168开头的那些地址
`192.168.x.x` -- 以`192.168`开头的那些地址
##子网划分Subnetting
@ -322,42 +294,36 @@ C类地址 = 255.255.255.0
在对三类可用地址应用默认子网掩码时,你会发现不能用于划分子网的地址部分,如下面的表格所示。
<table>
<tr><td>A类 -- 255</td><td>0</td><td>0</td><td>0</td></tr>
<tr><td background="grey">不能使用</td><td>可以使用</td><td>可以使用</td><td>可以使用</td></tr>
<tr><td>B类 -- 255</td><td>255</td><td>0</td><td>0</td></tr>
<tr><td>不能使用</td><td>不能使用</td><td>可以使用</td><td>可以使用</td></tr>
<tr><td>C类 -- 255</td><td>255</td><td>255</td><td>255</td></tr>
<tr><td>不能使用</td><td>不能使用</td><td>不能使用</td><td>可以使用</td></tr>
</table>
| A类 -- 255 | 0 | 0 | 0 |
| 不能使用 | 可以使用 | 可以使用 | 可以使用 |
| B类 -- 255 | 255 | 0 | 0 |
| 不能使用 | 不能使用 | 可以使用 | 可以使用 |
| C类 -- 255 | 255 | 255 | 255 |
| 不能使用 | 不能使用 | 不能使用 | 可以使用 |
比如如你将某个C类网络以默认子网掩码方式使用那么就是这样的。
<table>
<tr><th>IP地址</th><td>192</td><td>168</td><td>1</td><td>0</td></tr>
<tr><th>子网掩码</th><td>255</td><td>255</td><td>255</td><td>0</td></tr>
<tr><th>二进制形式</th><td>1111 1111</td><td>1111 1111</td><td>1111 1111</td><td>0000 0000</td></tr>
<table>
| IP地址 | 192 | 168 | 1 | 0 |
| 子网掩码 | 255 | 255 | 255 | 0 |
| 二进制形式 | 1111 1111 | 1111 1111 | 1111 1111 | 0000 0000 |
在从后8位二进制数借用2位后就会得到下面的子网每个子网有62台主机。
<table>
<tr><th>网络号</th><th>网络号</th><th>网络号</th><th>子网号</th><th>主机</th><th>广播地址</th></tr>
<tr><td>192</td><td>168</td><td>1</td><td>0</td><td>1-62</td><td>63</td></tr>
<tr><td>192</td><td>168</td><td>1</td><td>64</td><td>65-126</td><td>127</td></tr>
<tr><td>192</td><td>168</td><td>1</td><td>128</td><td>129-190</td><td>191</td></tr>
<tr><td>192</td><td>168</td><td>1</td><td>192</td><td>193-254</td><td>255</td></tr>
</table>
| 网络号 | 网络号 | 网络号 | 子网号 | 主机 | 广播地址 |
| -- | -- | -- | -- | -- | -- |
| 192 | 168 | 1 | 0 | 1-62 | 63 |
| 192 | 168 | 1 | 64 | 65-126 | 127 |
| 192 | 168 | 1 | 128 | 129-190 | 191 |
| 192 | 168 | 1 | 192 | 193-254 | 255 |
在较大的网络中你原来可以使用到1至254的主机号这样看来在进行了子网划分后可用的主机号减少了但得到的是更多的网络数。下面的表说明了4个子网是怎么得来的。
<table>
<tr><td>128</td><td>64</td><td>32</td><td>16</td><td>8</td><td>4</td><td>2</td><td>1</td><td>子网号</td></tr>
<tr><th>0</th><th>0</th><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td></tr>
<tr><th>0</th><th>1</th><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>64</td></tr>
<tr><th>1</th><th>0</th><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>128</td></tr>
<tr><th>1</th><th>1</th><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>192</td></tr>
</table>
| 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 | 子网号 |
| -- | -- | -- | -- | -- | -- | -- | -- | -- |
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 64 |
| 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 128 |
| 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 192 |
考虑二进制数学你能发现对主机位的头两位使用就可以使用00、01、10和11四种组合在将其写出后在子网列就得到子网0、64、128以及192四个子网号。为更明了的表示头两列的子网号标记为灰色而剩下的6位就用作每个子网的主机号。
@ -387,107 +353,99 @@ C类地址 = 255.255.255.0
在白纸的顶部右边写下1, 再往左依次写下乘以2的结果分别是2、4、8并一直乘以2, 直到数字128。那么就有了一组8位二进制数了。
<table>
<tr><td>128</td><td>64</td><td>32</td><td>16</td><td>8</td><td>4</td><td>2</td><td>1</td></tr>
</table>
| 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
在128这个数往下写下第一个格子里的数的和128的那个格子。接着再写下到第二个格子里的数的和64接着到第三个32, 直到将所有8个格子的数加完为止。
<table>
<tr><td>128</td></tr>
<tr><td>192</td></tr>
<tr><td>224</td></tr>
<tr><td>240</td></tr>
<tr><td>248</td></tr>
<tr><td>252</td></tr>
<tr><td>254</td></tr>
<tr><td>255</td></tr>
</table>
| 128 |
| 192 |
| 224 |
| 240 |
| 248 |
| 252 |
| 254 |
| 255 |
在将两部分放在一起后,就得到了秘笈图表的上半部分了。
<table>
<tr><td>二进制位数</td><td>128</td><td>64</td><td>32</td><td>16</td><td>8</td><td>4</td><td>2</td><td>1</td></tr>
<tr><td>子网号</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td>128</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td>192</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td>224</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td>240</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td>248</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td>252</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td>254</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td>255</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
</table>
| 二进制位数 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
| -- | -- | -- | -- | -- | -- | -- | -- | -- |
| 子网号 | | | | | | | | |
| 128 | | | | | | | | |
| 192 | | | | | | | | |
| 224 | | | | | | | | |
| 240 | | | | | | | | |
| 248 | | | | | | | | |
| 252 | | | | | | | | |
| 254 | | | | | | | | |
| 255 | | | | | | | | |
顶上的行表示子网掩增量而左侧的列则表示子网掩码。使用这个图表后你就可以在数秒内回答任何子网划分的问题了。而那个可指明任何网络设计问题诸如在以某子网掩码”X“划分网络时可得到多少个子网和主机这样的问题的答案的图表部分只需加入”2的幂“就行了。
其中一列会是”2的幂“ 另一列就是”2的幂减去2。“ 减去的2的意思是要除去不能使用的两个地址一个是网络号另一个是广播地址。以数字2开始乘以2, 一直到回答问题所需要的大小为止。
<table>
<tr><td>二进制位数</td><td>128</td><td>64</td><td>32</td><td>16</td><td>8</td><td>4</td><td>2</td><td>1</td></tr>
<tr><td>子网号</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td>128</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td>192</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td>224</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td>240</td><td></td><td></td><td style="width:100px">为计算出主机所在的子网是哪一个</td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td>248</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td>252</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td>254</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td>255</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
<tr style="background-color: grey"><td></td><td>子网数</td><td>主机数-2</td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td>2</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td>4</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td>8</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td>16</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td>32</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td>64</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
</table>
| 二进制位数 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
| -- | -- | -- | -- | -- | -- | -- | -- | -- |
| 子网号 | | | | | | | | |
| 128 | | | | | | | | |
| 192 | | | | | | | | |
| 224 | | | | | | | | |
| 240 | | 为计算出主机所在的子网是哪一个 | | | | | |
| 248 | | | | | | | | |
| 252 | | | | | | | | |
| 254 | | | | | | | | |
| 255 | | | | | | | | |
| | 子网数 | 主机数-2 | | | | | | |
| 2 | | | | | | | | |
| 4 | | | | | | | | |
| 8 | | | | | | | | |
| 16 | | | | | | | | |
| 32 | | | | | | | | |
| 64 | | | | | | | | |
通过直接切入一个考试问题,可以更好的学习到子网划分。
192.168.100.100/26 是在那个子网中?
`192.168.100.100/26` 是在那个子网中?
那么你知道这是一个C类地址而C类地址的默认掩码是24个二进制位或写着255.255.255.0。而这里是26位所以有两位被借用来产生子网了。我们只需简单地在上面的秘笈图表中的顶上一行从左往右勾上两个位置。这样就揭示出子网个数了。接着在子网号那列往下勾上两个位置来揭示出所存在的子网掩码。
<table>
<tr><td>二进制位数</td><td>128</td><td>64</td><td>32</td><td>16</td><td>8</td><td>4</td><td>2</td><td>1</td></tr>
<tr><td>子网号</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td>128</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td>192</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td>224</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td>240</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td>248</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td>252</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td>254</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td>255</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td></td><td>子网数</td><td>主机数-2</td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td>2</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td>4</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td>8</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td>16</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td>32</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td>64</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
</table>
| 二进制位数 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
| -- | -- | -- | -- | -- | -- | -- | -- | -- |
| 子网号 | | | | | | | | |
| 128 | | | | | | | | |
| 192 | | | | | | | | |
| 224 | | | | | | | | |
| 240 | | | | | | | | |
| 248 | | | | | | | | |
| 252 | | | | | | | | |
| 254 | | | | | | | | |
| 255 | | | | | | | | |
| | 子网数 | 主机数-2 | | | | | | |
| 2 | | | | | | | | |
| 4 | | | | | | | | |
| 8 | | | | | | | | |
| 16 | | | | | | | | |
| 32 | | | | | | | | |
| 64 | | | | | | | | |
现在所知道的有两件事子网号以64递增可将0用作首个子网号同时子网掩码/26以192结束那么该结束子网掩码的完整形式为255.255.255.192。
192.168.100.0 是第一个子网
192.168.100.64是第二个子网
192.168.100.128是第三个子网
192.168.100.192是第四个子网
`192.168.100.0` 是第一个子网
`192.168.100.64` 是第二个子网
`192.168.100.128` 是第三个子网
`192.168.100.192` 是第四个子网
是不可以比实际的子网号有更多的了也就是这里的192。不过记住问题是要你找出主机100。我们轻易地就看出子网64就是主机100所在的子网因为下一子网是128, 那太高了。
下面为了知识的完整性我加入了主机地址及广播地址。去下一子网号再减去1, 就可以很快算出广播地址来。
<table>
<tr><th>子网</th><th>首台主机</th><th>最后的主机</th><th>广播地址</th></tr>
<tr><td>192.168.100.0</td><td>192.168.100.1</td><td>192.168.100.62</td><td>192.168.100.63</td></tr>
<tr><td>192.168.100.64</td><td>192.168.100.65</td><td>192.168.100.126</td><td>192.168.100.127</td></tr>
<tr><td>192.168.100.128</td><td>192.168.100.129</td><td>192.168.100.190</td><td>192.168.100.191</td></tr>
<tr><td>192.168.100.192</td><td>192.168.100.193</td><td>192.168.100.254</td><td>192.168.100.255</td></tr>
</table>
| 子网 | 首台主机 | 最后的主机 | 广播地址 |
| -- | -- | -- | -- |
| `192.168.100.0` | `192.168.100.1` | `192.168.100.62` | `192.168.100.63` |
| `192.168.100.64` | `192.168.100.65` | `192.168.100.126` | `192.168.100.127` |
| `192.168.100.128` | `192.168.100.129` | `192.168.100.190` | `192.168.100.191` |
| `192.168.100.192` | `192.168.100.193` | `192.168.100.254` | `192.168.100.255` |
考虑到IP地址是0到255之间的任何值。不翻译了太简单
@ -521,17 +479,15 @@ C类地址 = 255.255.255.0
首先,写出完整的所有网络地址,接着在右边写出其二进制形式,如下面所示。
<table>
<tr><td>172.16.8.0</td><td><b>10101100.00010000.00001</b>000.00000000</td></tr>
<tr><td>172.16.9.0</td><td><b>10101100.00010000.00001</b>001.00000000</td></tr>
<tr><td>172.16.10.0</td><td><b>10101100.00010000.00001</b>010.00000000</td></tr>
<tr><td>172.16.11.0</td><td><b>10101100.00010000.00001</b>011.00000000</td></tr>
<tr><td>172.16.12.0</td><td><b>10101100.00010000.00001</b>100.00000000</td></tr>
<tr><td>172.16.13.0</td><td><b>10101100.00010000.00001</b>101.00000000</td></tr>
<tr><td>172.16.14.0</td><td><b>10101100.00010000.00001</b>110.00000000</td></tr>
<tr><td>172.16.15.0</td><td><b>10101100.00010000.00001</b>111.00000000</td></tr>
<tr><td>匹配的位</td><td>10101100.0010000.00001 = 21位</td></tr>
</table>
| 172.16.8.0 | <b>10101100.00010000.00001</b>000.00000000 |
| 172.16.9.0 | <b>10101100.00010000.00001</b>001.00000000 |
| 172.16.10.0 | <b>10101100.00010000.00001</b>010.00000000 |
| 172.16.11.0 | <b>10101100.00010000.00001</b>011.00000000 |
| 172.16.12.0 | <b>10101100.00010000.00001</b>100.00000000 |
| 172.16.13.0 | <b>10101100.00010000.00001</b>101.00000000 |
| 172.16.14.0 | <b>10101100.00010000.00001</b>110.00000000 |
| 172.16.15.0 | <b>10101100.00010000.00001</b>111.00000000 |
| 匹配的位 | 10101100.0010000.00001 = 21位 |
我将每个网络地址中匹配的位进行了加粗。你可以看到各个网络地址的前21位是匹配的所有汇总路由可由下面的21位反应出来。
@ -541,20 +497,18 @@ C类地址 = 255.255.255.0
**练习一**: 写出下面的地址的二进制形式并找出匹配的位。我已写出了它们的前两个8位以节省你的时间。
<table>
<tr><td>172.16.50.0</td><td><b>10101100.00010000.0</b>0110010.00000000</td></tr>
<tr><td>172.16.60.0</td><td><b>10101100.00010000.0</b>0111100.00000000</td></tr>
<tr><td>172.16.70.0</td><td><b>10101100.00010000.0</b>1000110.00000000</td></tr>
<tr><td>172.16.80.0</td><td><b>10101100.00010000.0</b>1010000.00000000</td></tr>
<tr><td>172.16.90.0</td><td><b>10101100.00010000.0</b>1011010.00000000</td></tr>
<tr><td>172.16.100.0</td><td><b>10101100.00010000.0</b>1100100.00000000</td></tr>
<tr><td>172.16.110.0</td><td><b>10101100.00010000.0</b>1101110.00000000</td></tr>
<tr><td>172.16.120.0</td><td><b>10101100.00010000.0</b>1111000.00000000</td></tr>
</table>
| `172.16.50.0` | <b>10101100.00010000.0</b>0110010.00000000 |
| `172.16.60.0` | <b>10101100.00010000.0</b>0111100.00000000 |
| `172.16.70.0` | <b>10101100.00010000.0</b>1000110.00000000 |
| `172.16.80.0` | <b>10101100.00010000.0</b>1010000.00000000 |
| `172.16.90.0` | <b>10101100.00010000.0</b>1011010.00000000 |
| `172.16.100.0` | <b>10101100.00010000.0</b>1100100.00000000 |
| `172.16.110.0` | <b>10101100.00010000.0</b>1101110.00000000 |
| `172.16.120.0` | <b>10101100.00010000.0</b>1111000.00000000 |
通告的汇总地址会是什么呢?
那就是 172.16.50.0 255.255.128.0, 或者/17。
那就是 `172.16.50.0 255.255.128.0`, 或者`/17`
**练习二**: 下面述及的机构有3台连接到公司总部的路由器。他们需要将通告自伦敦1、2、3号路由器的路由进行汇总。
@ -564,48 +518,42 @@ C类地址 = 255.255.255.0
我们先从伦敦1号路由器开始。
<table>
<tr><td>10.1.0.0</td><td>00001010.00000001.00000000.00000000</td></tr>
<tr><td>10.1.1.0</td><td>00001010.00000001.00000001.00000000</td></tr>
<tr><td>10.1.2.0</td><td>00001010.00000001.00000010.00000000</td></tr>
<tr><td>10.1.3.0</td><td>00001010.00000001.00000011.00000000</td></tr>
<tr><td>10.1.4.0</td><td>00001010.00000001.00000100.00000000</td></tr>
<tr><td>10.1.5.0</td><td>00001010.00000001.00000101.00000000</td></tr>
<tr><td>10.1.6.0</td><td>00001010.00000001.00000110.00000000</td></tr>
<tr><td>10.1.7.0</td><td>00001010.00000001.00000111.00000000</td></tr>
</table>
| `10.1.0.0` | `00001010.00000001.00000000.00000000` |
| `10.1.1.0` | `00001010.00000001.00000001.00000000` |
| `10.1.2.0` | `00001010.00000001.00000010.00000000` |
| `10.1.3.0` | `00001010.00000001.00000011.00000000` |
| `10.1.4.0` | `00001010.00000001.00000100.00000000` |
| `10.1.5.0` | `00001010.00000001.00000101.00000000` |
| `10.1.6.0` | `00001010.00000001.00000110.00000000` |
| `10.1.7.0` | `00001010.00000001.00000111.00000000` |
有21位匹配所以伦敦1号路由器可向总部路由器通告10.1.0.0/21, 这个汇总路由。
有21位匹配所以伦敦1号路由器可向总部路由器通告`10.1.0.0/21`, 这个汇总路由。
再看伦敦2号路由器。
<table>
<tr><td>10.1.8.0</td><td>00001010.00000001.00001000.00000000</td></tr>
<tr><td>10.1.9.0</td><td>00001010.00000001.00001001.00000000</td></tr>
<tr><td>10.1.10.0</td><td>00001010.00000001.00001010.00000000</td></tr>
<tr><td>10.1.11.0</td><td>00001010.00000001.00001011.00000000</td></tr>
<tr><td>10.1.12.0</td><td>00001010.00000001.00001100.00000000</td></tr>
<tr><td>10.1.13.0</td><td>00001010.00000001.00001101.00000000</td></tr>
<tr><td>10.1.14.0</td><td>00001010.00000001.00001110.00000000</td></tr>
<tr><td>10.1.15.0</td><td>00001010.00000001.00001111.00000000</td></tr>
</table>
| `10.1.8.0` | `00001010.00000001.00001000.00000000` |
| `10.1.9.0` | `00001010.00000001.00001001.00000000` |
| `10.1.10.0` | `00001010.00000001.00001010.00000000` |
| `10.1.11.0` | `00001010.00000001.00001011.00000000` |
| `10.1.12.0` | `00001010.00000001.00001100.00000000` |
| `10.1.13.0` | `00001010.00000001.00001101.00000000` |
| `10.1.14.0` | `00001010.00000001.00001110.00000000` |
| `10.1.15.0` | `00001010.00000001.00001111.00000000` |
伦敦2号也有21位匹配位所以它可以往总部路由器通告10.1.8.0/21。
伦敦2号也有21位匹配位所以它可以往总部路由器通告`10.1.8.0/21`。
再看伦敦3号路由器。
<table>
<tr><td>10.1.16.0</td><td>00001010.00000001.00010000</td></tr>
<tr><td>10.1.17.0</td><td>00001010.00000001.00010001</td></tr>
<tr><td>10.1.18.0</td><td>00001010.00000001.00010010</td></tr>
<tr><td>10.1.19.0</td><td>00001010.00000001.00010011</td></tr>
<tr><td>10.1.20.0</td><td>00001010.00000001.00010100</td></tr>
<tr><td>10.1.21.0</td><td>00001010.00000001.00010101</td></tr>
<tr><td>10.1.22.0</td><td>00001010.00000001.00010110</td></tr>
<tr><td>10.1.23.0</td><td>00001010.00000001.00010111</td></tr>
</table>
| `10.1.16.0` | `00001010.00000001.00010000` |
| `10.1.17.0` | `00001010.00000001.00010001` |
| `10.1.18.0` | `00001010.00000001.00010010` |
| `10.1.19.0` | `00001010.00000001.00010011` |
| `10.1.20.0` | `00001010.00000001.00010100` |
| `10.1.21.0` | `00001010.00000001.00010101` |
| `10.1.22.0` | `00001010.00000001.00010110` |
| `10.1.23.0` | `00001010.00000001.00010111` |
伦敦3号路由器同样有21位匹配位因此它可以上游的中心路由器通告10.1.16.0/21。
伦敦3号路由器同样有21位匹配位因此它可以上游的中心路由器通告`10.1.16.0/21`。
**CCNA考试要求你掌握路由汇总**。如你能快速地算出同样的位,那么就可以快且准地回答问题了。
@ -627,25 +575,24 @@ C类地址 = 255.255.255.0
对子网划分秘笈的设计部门的再度引用,可帮你计算出如何来在网络中应用变长子网掩码,或是有助于解答考试问题。在使用/26掩码是你可以发现将会得到多少个子网及每个子网有多少台主机。
<table>
<tr><td>二进制位数</td><td>128</td><td>64</td><td>32</td><td>16</td><td>8</td><td>4</td><td>2</td><td>1</td></tr>
<tr><td>子网号</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td>128</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td>192</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td>224</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td>240</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td>248</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td>252</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td>254</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td>255</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td></td><td>子网数</td><td>主机数-2</td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td>2</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td>4</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td>8</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td>16</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td>32</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td>64</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
</table>
| 二进制位数 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
| -- | -- | -- | -- | -- | -- | -- | -- | -- |
| 子网号 | | | | | | | | |
| 128 | | | | | | | | |
| 192 | | | | | | | | |
| 224 | | | | | | | | |
| 240 | | | | | | | | |
| 248 | | | | | | | | |
| 252 | | | | | | | | |
| 254 | | | | | | | | |
| 255 | | | | | | | | |
| | 子网数 | 主机数-2 | | | | | | |
| 2 | | | | | | | | |
| 4 | | | | | | | | |
| 8 | | | | | | | | |
| 16 | | | | | | | | |
| 32 | | | | | | | | |
| 64 | | | | | | | | |
因为必须从主机位借用两位所以得到4个子网每个子网有62台主机。
@ -653,36 +600,33 @@ C类地址 = 255.255.255.0
变长子网掩码的关键在于取得网络块并令到这些网络块满足特定的网络需求take your network block and make it work for your particular network needs。那典型的网络地址192.168.1.0/24来说在使用VLSM时你可以使用掩码/26, 实现这样的划分。
<table>
<tr><th>192.168.1.0/26</th><th>子网</th><th>主机数</th></tr>
<tr><td>192.168.1.0</td><td>1</td><td>62</td></tr>
<tr><td>192.168.1.64 -- 使用中</td><td>2</td><td>62</td></tr>
<tr><td>192.168.1.128 -- 使用中</td><td>3</td><td>62</td></tr>
<tr><td>192.168.1.192 -- 使用中</td><td>4</td><td>62</td></tr>
</table>
| `192.168.1.0/26` | 子网 | 主机数 |
| -- | -- | -- |
| `192.168.1.0` | 1 | 62 |
| `192.168.1.64` -- 使用中 | 2 | 62 |
| `192.168.1.128` -- 使用中 | 3 | 62 |
| `192.168.1.192` -- 使用中 | 4 | 62 |
在发现基础设施中有着两个仅需30台主机的较小网络之前这么做是没有问题的。那么在已经使用了3个较小子网标为“使用中”而仅剩下一个也就是192.168.1.0)时呢?变长子网掩码就可以让你用上任何已划分出的子网,对其再进行划分。**唯一的规则就是IP地址仅能使用一次而与其掩码无关**。
如你使用子网划分秘笈图表那么就可以看到哪个掩码带来30台主机的子网。
<table>
<tr><td></td><td>子网数</td><td>主机数-2</td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td>2</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td>4</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td>8</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td>16</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td>32</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td>64</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
</table>
| | 子网数 | 主机数-2 | | | | | | |
| -- | -- | -- | -- | -- | -- | -- | -- | -- |
| 2 | | | | | | | | |
| 4 | | | | | | | | |
| 8 | | | | | | | | |
| 16 | | | | | | | | |
| 32 | | | | | | | | |
| 64 | | | | | | | | |
该图表的上面部分这里没有显示告诉我们在左边列勾选了3个位置这就给出掩码224或者是/27(借用了3位
<table>
<tr><th>192.168.1.0/27</th><th>子网</th><th>主机数</th></tr>
<tr><td>192.168.1.0</td><td>1</td><td>30</td></tr>
<tr><td>192.168.1.32</td><td>2</td><td>30</td></tr>
<tr><td>192.168.1.64</td><td>不能使用</td><td>不能使用</td></tr>
</table>
| 192.168.1.0/27 | 子网 | 主机数 |
| -- | -- | -- |
| 192.168.1.0 | 1 | 30 |
| 192.168.1.32 | 2 | 30 |
| 192.168.1.64 | 不能使用 | 不能使用 |
是不可以使用.64子网的,因为该子网已被使用了。现在就可以使用其余两个子网了。如你只需使用一个,那么就还可以将剩下的那个进行进一步划分,得到更多的子网,只是每个子网中的主机数更少而已。