[代码共享]子网划分器 子网划分器代码

1.为什么要进行子网划分?
1)限定广播的传播;
2)基于对网络的管理;
3)基于网络性能的提升;
4)基于网络安全方面的考虑;
由于以上原因 。我们常常需要把一个较大网络划分成多个较小的物理网络 。并使用路由器或三层交换机将它们连接起来 。每个较小网络使用不同的网络编号 。这样的小网就叫做子网 。子网划分技术可使一个拥有多个物理网络的单位 。将所属的物理网络划分成若干个子网 。对外仍然表现为一个网络 。
2.划分子网后的变化
对于一个划分子网的网络来讲 。一个IP数据包的路由选择分为三步:数据转发给网络号指定的网络 。然后转发给该网络的子网地址指定的物理网络 。最后转发给该子网的目标主机 。
3.子网划分的方法
1)基于IP地址的子网划分
基于IP地址划分子网的方法是将网络的主机号借用若干个比特(二进制位)位来作为子网号(subnet-ID),主机号剩下的其它位数做相应子网的主机号 。因此 。两级IP地址在单位内部变为三级的结构:网络号、子网号、主机号 。
2)基于端口的子网划分
基于端口划分子网的方法是将三层设备的相应端口加入到不同的子网中 。处于相同子网的主机可以相互通迅 。处于不同子网的主机将其隔离开来 。这样既提升了网络性能 。又提升了网络安全 。
3)基于协议的子网划分
基于协议划分子网的方法是由协议模板定义 。在一个Hybrid端口上可同时关联多个协议模板 。用来划分子网的协议有IP、IPX和appleTalk等 。
4)基于mac地址的子网划分
基于mac地址划分子网的方法是将相应主机的mac地址划分到相应的子网 。无论主机接入的位置如何变化而无需重新配置 。
4.基于IP地址的子网划分实例
例题1:某公司需要创建内部的vlan 。该公司有5个部门 。最大部门的计算机数量为28台 。分配给该公司使用的C类网络地址为192.168.1.0 。请你设计子网划分方案 。
方案设计如下:
根据RFC950标准 。子网号全为“0”与子网号全为“1”的子网不可用 。则:
1)确定子网的位数:子网的位数=2的N次方-2 。N是默认子网掩码被扩展的位数 。或者说“1”的个数 。减2是指减去全“0”和全“1”的子网 。通过计算得出从主机号取3位作为子网号 。得2的3次方-2=6个子网 。符合该公司5个子网的要求;
2)确定主机个数:主机号还剩余5位 。则每个子网允许主机数为2的5次方-2=30(台),30>28 。满足该公司各部门的要求;
3)确定子网掩码:C类地址默认子网掩码为255.255.255.0 。转化成二进制也就是24个“1” 。划分子网后的掩码为24+3=27 。也就是27个“1” 。则子网掩码为
11111111.11111111.11111111.11100000 。即255.255.255.224;
4)确定各子网地址与IP地址范围 。根据RFC950标准有效的主机地址是去掉全“0”和全“1”数值 。如下表所示:

[代码共享]子网划分器 子网划分器代码

文章插图
文章插图
子网划分结果
例题2:172.16.0.0/19
根据RFC950标准 。全“0”和“1”的子网不可用 。则:
1)确定子网个数:2的3次方-2=6(个);
2)确定主机个数:2的13次方-2=8190(台);
3)确定子网掩码: 默认子网掩码为255.255.0.0 。划分子网后扩展了3个“1” 。则子网掩码为255.255.224.0;
4)确定块的大小:2的8次方-224=32;则可用的子网有:32.0 。64.0 。96.0 。128.0 。160.0 。192.0;
  • 根据RFC950标准 。全“0”和“1”的主机不可用 。则子网划分结果如下:

[代码共享]子网划分器 子网划分器代码

文章插图
文章插图
子网划分结果
例题3:10.0.0.0/11
根据RFC950标准 。全“0”和“1”的子网不可用 。则:
1)确定子网个数:2的3次方-2=6(个);
2)定主机个数:2的21次方-2=2097150(台);
3)确定子网掩码: 默认子网掩码为255.0.0.0 。划分子网后扩展了3个“1” 。则子网掩码为255.224.0.0;
4)确定块的大小:2的8次方-224=32;则可用的子网有:32.0.0 。64.0.0 。96.0.0 。128.0.0 。160.0.0 。192.0.0;
  • 根据RFC950标准 。全“0”和“1”的主机不可用 。则子网划分结果如下:

[代码共享]子网划分器 子网划分器代码

文章插图
文章插图
子网划分结果
5.基于端口的子网划分实例:
1)了解交换机的配置模式
用户模式:switch>
特权模式:switch>en
switch#
全局配置模式:switch#conf t
switch(config)#
接口配置模式:switch(config)#int f0/1
switch(config-if)#
Line模式:switch(config)# line console 0
switch(config-line)#
2)配置实例:PC0、PC1、PC2分别挂接在交换机的端口1、端口2与端口3上 。配置的IP地址分别为:
172.31.0.1/172.31.0.2/172.31.0.3,实例中需要将端口1加入到VLAN 10;将端口2加入到VLAN 20;将端口3加入到VLAN 30 。
[代码共享]子网划分器 子网划分器代码

文章插图
文章插图
基于端口的子网划分
Switch>en 从用户模式转到特权模式
Switch#sh vlan 查看vlan
VLAN Name Status Ports
—- ——————————– ——— ——————————-
1 default active Fa0/1, Fa0/2, Fa0/3, Fa0/4
Fa0/5, Fa0/6, Fa0/7, Fa0/8
Fa0/9, Fa0/10, Fa0/11, Fa0/12
Fa0/13, Fa0/14, Fa0/15, Fa0/16
Fa0/17, Fa0/18, Fa0/19, Fa0/20
Fa0/21, Fa0/22, Fa0/23, Fa0/24
Gig0/1, Gig0/2
1002 fddi-default active
1003 token-ring-default active
1004 fddinet-default active
1005 trnet-default active
VLAN Type SAID MTU Parent RingNo BridgeNo Stp BrdgMode Trans1 Trans2
—- —– ———- —– —— —— ——– —- ——– —— ——
1 enet 100001 1500 – – – – – 0 0
1002 fddi 101002 1500 – – – – – 0 0
1003 tr 101003 1500 – – – – – 0 0
1004 fdnet 101004 1500 – – – ieee – 0 0
1005 trnet 101005 1500 – – – ibm – 0 0
VLAN Type SAID MTU Parent RingNo BridgeNo Stp BrdgMode Trans1 Trans2
—- —– ———- —– —— —— ——– —- ——– —— ——
Remote SPAN VLANs
——————————————————————————
Primary Secondary Type Ports
——- ——— —————– ——————————————
Switch#conf t 从特权模式转到全局配置模式
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#vlan 10 创建VLAN 10
Switch(config-vlan)#name vlan10 给新建的VLAN命名
Switch(config-vlan)#end
Switch#
%SYS-5-CONFIG_I: Configured from console by console
Switch#conf t 进入全局配置模式
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#int f0/1 进入端口1
Switch(config-if)#sw mo ac 初始化端口
Switch(config-if)#sw ac vlan 10 将端口1加入VLAN 10
Switch(config-if)#end
Switch#
%SYS-5-CONFIG_I: Configured from console by console
Switch#conf t 进入全局配置模式
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#vlan 20 创建VLAN 20
Switch(config-vlan)#name vlan20
Switch(config-vlan)#end
%SYS-5-CONFIG_I: Configured from console by console
Switch#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#int f0/2 进入端口2
Switch(config-if)#sw mo ac 初始化端口
Switch(config-if)#sw ac vlan 20 将端口2加入VLAN 20
Switch(config-if)#end
%SYS-5-CONFIG_I: Configured from console by console
Switch#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#vlan 30 创建VLAN 30
Switch(config-vlan)#name vlan30
Switch(config-vlan)#end
%SYS-5-CONFIG_I: Configured from console by console
Switch#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#int f0/3 进入端口3
Switch(config-if)#sw mo ac 初始化端口
Switch(config-if)#sw ac vlan 30 将端口3加入VLAN 30
Switch(config-if)#end
Switch#
%SYS-5-CONFIG_I: Configured from console by console
Switch#sh vlan
VLAN Name Status Ports
—- ——————————– ——— ——————————-
1 default active Fa0/4, Fa0/5, Fa0/6, Fa0/7
Fa0/8, Fa0/9, Fa0/10, Fa0/11
Fa0/12, Fa0/13, Fa0/14, Fa0/15
Fa0/16, Fa0/17, Fa0/18, Fa0/19
Fa0/20, Fa0/21, Fa0/22, Fa0/23
Fa0/24, Gig0/1, Gig0/2
10 vlan10 active Fa0/1
20 vlan20 active Fa0/2
30 vlan30 active Fa0/3
1002 fddi-default active
1003 token-ring-default active
1004 fddinet-default active
1005 trnet-default active
VLAN Type SAID MTU Parent RingNo BridgeNo Stp BrdgMode Trans1 Trans2
【[代码共享]子网划分器 子网划分器代码】结语:好了 。以上就是基于IP地址和基于端口两种常用子网划分方法的具体介绍 。