Microsoft Windows 的 TCPIP子网划分.docx
- 文档编号:29366213
- 上传时间:2023-07-22
- 格式:DOCX
- 页数:32
- 大小:34.64KB
Microsoft Windows 的 TCPIP子网划分.docx
《Microsoft Windows 的 TCPIP子网划分.docx》由会员分享,可在线阅读,更多相关《Microsoft Windows 的 TCPIP子网划分.docx(32页珍藏版)》请在冰豆网上搜索。
MicrosoftWindows的TCPIP子网划分
MicrosoftWindows的TCP/IP基础知识
第4章-子网划分
发布日期:
2005年03月08日
摘要
本章详细介绍了IPv4和IPv6地址前缀的子网划分。
网络管理员需要完全理解这两种地址前缀的子网划分技术以便高效地分配和管理在专用Intranet上分配和使用的单播地址空间。
本章详细讨论了IPv4和IPv6地址前缀的不同子网划分技术。
通过使用这些技术,您可以确定子网网络ID,而对于IPv4,您还可以确定每个新的子网网络ID的可用IPv4地址的范围。
本页内容
本章目标
为IPv4划分子网
为IPv6划分子网
本章小结
本章术语表
本章目标
读完本章后,您将能够:
•
确定以网络前缀或子网掩码形式表示的IPv4地址的网络ID。
•
确定出创建特定数目的子网需要多少个IPv4主机ID位。
•
在一个八位位组内和跨八位位组边界为IPv4地址前缀划分子网,枚举出子网网络ID的列表和各个子网网络ID的有效IPv4地址范围。
•
定义可变长度的子网划分以及定义如何使用这种子网划分方法来创建与特定子网上的主机数目相匹配的子网网络ID。
•
为全局IPv6地址前缀划分子网,枚举出子网网络ID的列表。
返回页首
为IPv4划分子网
子网划分是一组技术,您可以使用这组技术来高效地划分单播地址前缀的地址空间以便在组织网络的子网间进行分配。
单播地址前缀的固定部分包括前缀长度和前缀长度之前的位,这些位都具有定义的值。
单播地址前缀的可变部分包括前缀长度之后设置为0的位。
子网划分就是利用单播地址前缀的可变部分来创建更高效的地址前缀(浪费较少的可用地址),分配给组织网络的子网。
最初定义IPv4的子网划分是为了更好地利用A类和B类IPv4公用网络ID的主机位。
请考虑图4-1中的示例网络。
图4-1 划分子网前的网络157.60.0.0/16
查看大图
使用B类网络ID157.60.0.0/16的子网可以支持多达65,534个节点,但同一个子网上如果有这么多节点就太多了。
您需要通过划分子网来更好地利用157.60.0.0/16的地址空间。
不过,对157.60.0.0/16进行子网划分并不需要重新配置Internet的路由器。
举一个简单的子网划分示例,您可以通过将第一个8位主机位(第三个八位位组)用于新的子网网络ID来对157.60.0.0/16进行子网划分。
如果您按图4-2所示的方式对157.60.0.0/16进行了子网划分,则您将使用它们自己的子网网络ID(157.60.1.0/24、157.60.2.0/24和157.60.3.0/24)来创建不同的子网,每个子网最多可以拥有254个主机ID。
路由器将会识别不同的子网网络ID,将IPv4数据包路由到相应的子网。
图4-2 划分子网后的网络157.60.0.0/16
查看大图
Internet路由器仍然认为三个子网上的所有节点都位于网络ID157.60.0.0/16上。
Internet路由器不会识别对157.60.0.0/16所作的子网划分,因此不需要重新配置。
网络ID的子网划分对被划分子网的网络外面的路由器是不可见的。
如第3章“IP编址”所述,子网级别的IPv4单播地址的层次结构为“网络ID/主机ID”层次结构。
地址前缀长度指定地址中有多少位是固定的并且对子网(网络ID)上的所有接口是通用的。
地址的其余位(主机ID)是可变的,用于向连接到子网的接口分配唯一的IPv4地址。
当您为IPv4网络ID划分子网时,您会在IPv4地址的层次结构中定义一个额外的层次。
子网网络ID具有“网络ID/子网ID/主机ID”层次结构。
在您为网络ID划分子网后,每个子网网络ID都是一个子网(或具有“网络ID/主机ID”层次结构的网络ID)的新地址前缀。
当您向您的组织的子网分配网络ID形式的IPv4地址前缀时,您应当从由Internet名称和号码分配社团(ICANN)或某个Internet服务提供商(ISP)分配的一个或多个公用地址前缀开始,或者从专用地址空间(10.0.0.0/8、172.16.0.0/12和192.168.0.0/16)开始,或者从这两者开始。
这组起始地址前缀代表一个固定地址空间。
您可以划分IPv4地址前缀的可变部分来表示增加的子网和各个子网上的主机ID。
例如,IPv4地址前缀131.107.192.0/18有18个固定位(如前缀长度所示)和14个可变位(地址前缀的主机ID部分的位)。
您可能确定您的组织最多需要50个子网。
这样,您将14个可变位划分为用来标识子网的6个位(使用6个位最多可以表示64个子网)和用来标识各个子网上的主机ID的8个位(8个位最多可以表示254个主机ID)。
每个子网网络ID的结果地址前缀长度都是24位(原来的18位加上用于划分子网的6位)。
IPv4的子网划分产生了一组子网网络ID及与其对应的有效IPv4地址范围。
通过将包含适当数目的主机ID的子网网络ID分配给组织的IPv4网络的物理子网和逻辑子网,网络管理员可以尽可能高效地利用可用的地址空间。
在开始IPv4子网划分之前,您必须确定您的组织的当前需求,并且必须为未来的需求作出规划。
请遵循下面的准则:
•
确定您的网络需要的子网数目。
子网包括主机连接到的物理或逻辑子网以及站点间的可能存在的专用广域网(WAN)链路。
•
确定各个子网上需要的主机ID数目。
每个运行IPv4的主机和路由器接口都至少需要一个IPv4地址。
根据这些需求,可以定义一组子网网络ID和各个子网网络ID的有效IPv4地址范围。
各个子网的主机数目不必相同;大多数IPv4网络都包含不同大小的子网。
尽管使用主机ID位进行子网划分的概念很简单,但是实际的子网划分操作要复杂一些。
子网划分需要三个步骤:
1.
确定让子网划分使用多少个主机位。
2.
枚举出新的子网网络ID。
3.
枚举出各个新的子网网络ID的IPv4地址范围。
确定IPv4地址配置的网络ID
在开始IPv4子网划分实际操作之前,您应当能够从任意IPv4地址配置确定网络ID,网络ID通常由一个IPv4地址和一个前缀长度或一个IPv4地址和一个子网掩码组成。
下面几节将向您说明在前缀长度表示为前缀长度表示形式和点分十进制(子网掩码)表示形式时如何确定IPv4地址配置的网络ID。
前缀长度表示形式
要从使用前缀长度表示形式的任意IPv4地址(w.x.y.z/n)确定出网络ID,请获取地址的高序n位的值并将它们与32-n个零位组合在一起。
然后将生成的32位数字转换为点分十进制表示形式。
例如,对于IPv4地址配置192.168.207.47/22,其高序22位是1100000010101000110011。
为了获得网络ID,需将此结果与低序10位的0000000000组合在一起,得到的结果便是11000000101010001100110000000000或192.168.204.0/22。
若要在不需要完全使用二进制数的情况下确定以前缀长度形式表示的IPv4地址配置的网络ID,请使用下面的方法:
1.
将数字n(前缀长度)表示为4个数字的和,这4个加数可以通过依次从n中减去8来获得。
例如,20是8+8+4+0。
2.
创建一个包含三行四列的表。
在第一行中,放置IPv4地址的十进制八位位组。
在第二行中,放置在步骤1中确定的和的四个数字。
3.
对于第二行中数字为8的列,将八位位组从第一行中复制到第三行。
对于第二行中的数字为0的列,在第三行中放置一个0。
4.
对于第二行中数字介于8和0之间的列,将第一行中的十进制数转换为二进制,取第二行中指示的位数的高序位,用零填充其余的位,然后将得到的二进制数转换为十进制数。
例如,对于IPv4地址配置192.168.207.47/22,22是8+8+6+0。
据此,构造出下面的表:
192
168
207
47
8
8
6
0
对于第一个和第二个八位位组,从第一行复制八位位组。
对于最后一个八位位组,在第三行中放置一个0。
该表即变成:
192
168
207
47
8
8
6
0
192
168
0
对于第三个八位位组,应当使用第3章“IP编址”中介绍的十进制到二进制转换方法将数字207转换为二进制以获取前6个二进制数字。
十进制数207是128+64+8+4+2+1,即11001111。
取前6个数字110011并使用00填充该八位位组便生成11001100,即十进制数204。
该表即变成:
192
168
207
47
8
8
6
0
192
168
204
0
这样,IPv4地址配置192.168.207.47/22的网络ID是192.168.204.0/22。
子网掩码表示形式
为从使用任意子网掩码的任意IPv4地址配置中提取出网络ID,IPv4使用了一种称为逻辑“与”比较的数学运算。
在“与”比较中,只有被比较的两项都为“真”时,两个被比较项的结果才为“真”;否则,结果为“假”。
表4-1显示了四种可能的位组合的“与”运算结果。
位组合
结果
1AND1
1
1AND0
0
0AND0
0
0AND1
0
表4-1 “与”运算的结果
因此,只有进行“与”运算的两个位都是1时,“与”运算的结果才是1。
否则,结果为0。
IPv4对32位的IPv4地址和32位的子网掩码执行逻辑“与”比较。
此种运算称为“按位逻辑‘与’”。
IPv4地址和子网掩码的按位逻辑“与”结果就是网络ID。
例如,要确定子网掩码为255.255.240.0的IPv4地址配置131.107.189.41的网络ID,请将这两个数都转换为二进制表示形式并将它们对齐。
然后对每个位执行“与”运算,并记下结果。
IPv4地址:
10000011011010111011110100101001
子网掩码:
11111111111111111111000000000000
网络ID:
10000011011010111011000000000000
32位的IPv4地址和子网掩码的按位逻辑“与”的结果就是网络ID131.107.176.0,255.255.240.0。
IPv4地址和子网掩码之间的按位逻辑“与”运算的行为如下:
•
对于地址的固定部分(子网掩码中将该部分的位设为1)中的位,将从IPv4地址中复制网络ID位,实质上就是提取IPv4地址的网络ID。
•
对于地址的可变部分(子网掩码中将该部分的位设为0)中的位,网络ID位将被设置为0,实质上就是丢弃IPv4地址的主机ID部分。
概而言之,按位逻辑“与”提取IPv4地址的网络ID部分,但丢弃主机ID部分。
得到的结果就是网络ID。
若要在不需要完全使用二进制数的情况下确定以子网掩码形式表示的IPv4地址配置的网络ID,请使用下面的方法:
1.
创建一个包含三行四列的表。
在第一行中,放置IPv4地址的十进制八位位组。
在第二行中,放置子网掩码的十进制八位位组。
2.
对于第二行中的数字为255的列,将八位位组从第一行复制到第三行。
对于第二行中的数字为0的列,在第三行中放置一个0。
3.
对于第二行中的数字介于255和0之间的列,对前两行中的十进制数字进行“与”运算。
为此,您可以将两个数字都转换为二进制,对八位位组中的所有8个位执行“与”比较,然后将结果转换回十进制。
或者,您也可以使用一个计算器,例如Windows计算器(科学型)。
例如,对于IPv4地址配置131.107.189.41,255.255.240.0,构造下面的表:
131
107
189
41
255
255
240
0
对于第一个和第二个八位位组,从第一行复制八位位组。
对于最后一个八位位组,在第三行中放置一个0。
该表即变成:
131
107
189
41
255
255
240
0
131
107
0
对于第三个八位位组,计算189和240的“与”运算结果。
以二进制形式表示,此运算变为:
10111101
AND 11110000
10110000
将10110000转换为十进制就是176。
或者,使用Windows计算器来计算189和240的“与”运算结果,也会得出176。
该表即变成:
131
107
189
41
255
255
240
0
131
107
176
0
这样,IPv4地址配置131.107.189.41,255.255.240.0的网络ID就是131.107.176.0,255.255.240.0。
定义前缀长度
网络ID中的可变位的数目决定着子网和您在每个子网上可以拥有的主机的最大数目。
在根据您的子网划分方案确定新的前缀长度之前,您应当好好考虑一下您以后将会拥有的子网和主机数目。
如果您为新的前缀长度使用的可变位的数目多于所需的位数,就可以节省以后对您的IPv4网络重新编号所需的时间,从而也就避免了相关的管理难题。
您使用的可变位越多,您可以拥有的子网就越多,但是每个子网上的主机就越少。
如果您使用的前缀过长,那么,虽然子网数目的增长余地会变大,但是各个子网上的主机数目的增长却会受到限制。
如果您使用的前缀过短,则各个子网上主机数目的增长余地会变大,而子网数目的增长会受到限制。
图4-3显示了一个在第三个八位位组进行子网划分的示例。
图4-3 子网数目和每个子网上的主机数目间的权衡
查看大图
划分子网时请按照以下准则来确定新的前缀长度所用的位数:
1.
确定您目前和将来需要的子网数。
2.
在以下情况下,请在划分子网时使用更多的位:
•
您的每个子网永远不会需要剩余位数所允许的那么多主机。
•
子网的数目会增长,需要从主机ID借用额外的位。
新的前缀长度应当根据您需要的子网数来定义。
表4-2说明了使用特定数目的可变位(最多16位)指定各个子网时可以创建的子网数。
子网数目
主机位数目
1-2
1
3-4
2
5-8
3
9-16
4
17-32
5
33-64
6
65-128
7
129-256
8
257-512
9
513-1,024
10
1,025-2,048
11
2,049-4,096
12
4,097-8,192
13
8,193-16,384
14
16,385-32,768
15
32,769-65,536
16
表4-2 需要的子网和主机位的数目
单播IPv4地址的最大前缀长度是30。
如果将30个位用于网络ID,则剩余的两个位最多可表示4种可能的组合。
不过,全0和全1的主机ID是保留ID。
这样,如果使用两个主机ID位,则只能表示两种可用的主机ID(01和10两种组合)。
可使用以下方法来确定任意子网划分方案的每个子网的最大主机数目:
1.
通过从32中减去子网前缀长度来确定为主机ID保留的位数m。
2.
用表达式2m-2计算出每个子网的最大主机数目。
根据您为其划分子网的地址前缀和您需要用于划分子网的位数,可以确定您是在一个八位位组内划分子网还是跨一个八位位组边界划分子网。
例如,如果您开始时使用一个18位的地址前缀,然后又将4个位用于划分子网,那么您是在第三个八位位组内划分子网。
(子网前缀长度是22,仍然在第三个八位位组内。
)但是,如果您开始时使用了一个20位的地址前缀,然后又将6个位用于划分子网,则您是跨第三个和第四个八位位组划分子网。
(原来的前缀长度是20,位于第三个八位位组内;而子网前缀长度是26,位于第四个八位位组内。
)
正如下面几节所述,在一个八位位组内划分子网和跨一个八位位组边界划分子网的具体过程大不相同。
在一个八位位组内划分子网
在一个八位位组内划分子网时,子网划分过程主要包含两步:
•
定义子网网络ID
•
定义每个子网网络ID的可用IPv4地址的范围
下面几节将介绍这些步骤。
定义子网网络ID
您可以使用两种方法来定义子网网络ID集合:
•
二进制
•
十进制
要使用二进制来创建子网网络ID的枚举列表,请执行以下步骤:
1.
根据所选的用于划分子网的位数n,创建一个包含2n行、3列的表。
第一列存放子网编号(从1开始),第二列存放子网网络ID的二进制表示形式,第三列存放子网网络ID的点分十进制表示形式。
对于每个二进制表示形式,进行子网划分的网络ID所对应的位固定为它们的原始值,而所有的主机位总是设置为0。
只有子网位是可变的,您可以将它们设置为每个可能的二进制值。
2.
在第一行中,将子网位设置为全0,将整个子网网络ID转换为点分十进制表示形式。
所得的结果就是使用新的前缀长度的原始网络ID。
3.
在下一行中,递增子网位内的值。
4.
将二进制结果转换为点分十进制表示形式。
5.
重复步骤3和4,直到您完成该表。
例如,您可以对专用网络ID192.168.0.0/16执行一个3位子网划分。
新的子网网络ID的子网掩码是255.255.224.0或/19。
根据n=3,构造一个8(=23)行的表,如表4-3所示。
在子网1的行中,将所有的子网位(表中以粗体显示的部分)设置为0,并在随后的各个行中递增它们。
子网
二进制表示形式
子网网络ID
1
11000000.10101000.00000000.00000000
192.168.0.0/19
2
11000000.10101000.00100000.00000000
192.168.32.0/19
3
11000000.10101000.01000000.00000000
192.168.64.0/19
4
11000000.10101000.01100000.00000000
192.168.96.0/19
5
11000000.10101000.10000000.00000000
192.168.128.0/19
6
11000000.10101000.10100000.00000000
192.168.160.0/19
7
11000000.10101000.11000000.00000000
192.168.192.0/19
8
11000000.10101000.11100000.00000000
192.168.224.0/19
表4-3 使用二进制子网划分技术进行192.168.0.0/16的3位子网划分
注 RFC950和RFC1122禁止将用于划分子网的位设置为全1或全0(全1和全0子网)。
但是,RFC1812却允许这样做。
要使用十进制数来创建子网网络ID的枚举列表,请执行以下步骤:
1.
根据八位位组中已固定的位数f和您用于划分子网的位数n,采用下面的公式计算出子网递增值i:
i= 2(8-f-n)。
所得的结果就是您在对其划分子网的八位位组的用于各个子网的递增值。
2.
根据您用于划分子网的位数n,创建一个包含2n行、3列的表。
第一列存放子网编号(从1开始),第二列存放被划分子网的八位位组的十进制表示形式,第三列存放子网网络ID的点分十进制表示形式。
3.
在第一行中,将第二列设置为进行子网划分的地址前缀中的起始八位位组值,将第三列设置为使用新的前缀长度的原始网络ID。
4.
在下一行中,将第二列设置为上一行中的数字增加i后的结果;同时,从第二行起,将第三列设置为子网网络ID加上被划分子网的八位位组。
5.
重复步骤4,直到您完成该表。
例如,要对专用网络ID192.168.0.0/16执行一个3位子网划分,应当使用公式i=2(8-f-n)计算子网递增值。
在此例中,f=0,n=3。
因此,子网递增值是2(8-0-3)=2(5)=32。
子网网络ID的前缀长度是/19。
根据n=3,构造一个8(=23)行的表,如表4-4所示。
在子网1的行中,放置使用新的前缀长度的原始网络ID,然后通过使被划分子网的八位位组递增32来完成剩余的行。
子网
被划分子网的八位位组的十进制值
子网网络ID
1
0
192.168.0.0/19
2
32
192.168.32.0/19
3
64
192.168.64.0/19
4
96
192.168.96.0/19
5
128
192.168.128.0/19
6
160
192.168.160.0/19
7
192
192.168.192.0/19
8
224
192.168.224.0/19
表4-4 使用十进制子网划分技术进行192.168.0.0/16的3位子网划分
定义各个子网的IPv4地址的范围
可以使用两种方法来定义各个子网的IPv4地址的范围:
•
二进制
•
十进制
要定义各个子网内可用的主机ID,您需要让子网网络ID中的位保持不变,而将其余的位(IPv4地址的主机部分的位)设置为除全1和全0以外的所有可能的值。
回忆一下第3章“IP编址”,在定义给定的地址前缀的有效IPv4单播地址范围时,您应当使用下面的标准操作:
•
对于范围内的第一个IPv4单播地址,请将地址中的最低序位设置为1,而将地址中的所有其他主机位均设置为0。
•
对于范围内的最后一个IPv4单播地址,请将地址中的最低序位设置为0,而将地址中所有其他主机位均设置为1。
为各个子网网络ID得出的结果都是一个值范围,它描述了该子网的所有可能的单播IPv4地址。
要使用二进制方法为一组子网网络ID定义有效IPv4地址的范围,请执行以下步骤:
1.
根据所选的用于划分子网的主机位数n,创建一个包含2n行、3列的表
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Microsoft Windows TCPIP子网划分 TCPIP 子网 划分