网络技术:子网划分实例分析与配置

子网划分情景

某公司申请了一个C类的IP地址192.128.0.3,但是该公司拥有400台主机,公司想将这些主机平均分布在两层楼进行管理,但是要求400台主机属于同一个子网,请问如何进行子网划分?选用的子网掩码是多少?请给出每层楼全体主机所设置的IP地址范围,并写出整个网络的网关地址?

方案设计

在 2011 年 2 月,IANA 向一个区域注册机构分配完了未分配的 IPv4 地址的最后剩余地址池,这说明 IPv4 的地址资源非常有限。因此对于一般的公司来说,能从 ISP 获取到的公网IP往往不会多,一般只有一个可用的公网地址。例如情景中给出的地址 192.128.0.3 是一个公网 IP 地址,这显然是不能直接拿来用的。

为了满足公司内的设备联网的需求,需要使用私网地址在局域网内进行通信,这样可用的 IP 地址才足够,局域网内的设备需要和外网互联时需要使用 NAT 技术。C 类地址的私有地址范围是 192.168.0.0 ~ 192.168.255.255,C 类地址的前 24 位是主机号,后 8 位是网络号,也就是说一个 C 类地址的网络中最多支持 2^8 - 2 = 254 台主机,单个 C 类网络地址无法满足子网中有 400 台主机的需求。

现在在全球因特网中,地址分配策略采用的是无类别域间路由选择 (CIDR)策略。CIDR 消除了传统 A、B、C 类地址和子网划分的概念,将子网寻址的概念一般化了。网络前缀可以是任意长度,融合子网地址和子网掩码可以更为方便地进行子网划分。当子网寻址时,32 bit 的 IP 地址的形式是 a.b.c.d/x,其中 x 指示了地址第一部分的比特数,构成了网络前缀。由于大于 400 且是 2 的 n 次幂的数字是 2^9 = 512,因此网络前缀的长度取 23 时,主机号的长度为 9 bit。此时该网络中可以有 2^9 - 2 = 510 台主机,大于 400 台满足需求,所以私网地址可以使用 192.168.0000 000X.0/23 ~ 192.168.1111 111X.0/23 的任何一个。

IP 地址 ::=

现在已经满足 400 台主机都在同一个子网的需求了,不过公司想将这些主机平均分布在两层楼进行管理,也就是分为 2 个子网,每个子网 200 台设备。例如选择 192.168.10.0/23(192.168.0000 1010.0) 作为私网 IP 地址,此时可以令子网掩码 255.255.254.0 向后退一位划分为 2 个子网,这 2 个子网的网络前缀为 24 位,分别是 192.168.10.0/24(192.168.0000 1010.0/24) 和 192.168.11.0/24(192.168.0000 1011.0/24)。在实际情况下,一般会为 2 个楼层分别划分一个 VLAN,因此就可以得到:

VLAN 网络前缀 子网掩码 起始IP地址 终止IP地址
1 192.168.10.0/24 255.255.255.0 192.168.10.1 192.168.10.200
2 192.168.11.0/24 255.255.255.0 192.168.11.1 192.168.11.200

此处仅是网络前缀 23 位时子网划分的一种情况,按照 CIDR 策略的定义,应该会有 128 种分配方案。

拓扑搭建

实验拓扑


地址分配表:

设备 接口 IP 地址 子网掩码 默认网关
R1 G0/0 192.168.12.2 255.255.255.252 N/A
G0/1 192.128.0.3 255.255.255.0 N/A
MS G0/1 192.128.12.1 255.255.255.252 N/A
Server NIC 192.128.0.4 255.255.255.0 N/A
PC0 NIC 192.168.10.1 255.255.255.0 192.168.10.201
PC1 NIC 192.168.10.2 255.255.255.0 192.168.10.201
PC2 NIC 192.168.11.1 255.255.255.0 192.168.11.201
PC3 NIC 192.168.11.2 255.255.255.0 192.168.11.201

交换机端口分配规格:

交换机 端口 模式 网络
MS F0/1 802.1Q TRUNK N/A
MS F0/2 802.1Q TRUNK N/A
layer1 F0/1 802.1Q TRUNK N/A
layer2 F0/2 802.1Q TRUNK N/A
layer1 F0/2 VLAN 10 – layer1 N/A
layer1 F0/3 VLAN 10 – layer1 N/A
layer2 F0/3 VLAN 20 – layer2 N/A
layer2 F0/4 VLAN 20 – layer2 N/A

配置交换机

对于交换机来说,如果不使用 VTP 则需要先建立 2 个 vlan 分别表示公司的一楼和二楼。

S1(config)# vlan 10
S1(config-vlan)# name layer1
S1(config-vlan)# vlan 20
S1(config-vlan)# name layer2
S1(config-vlan)# exit

S2(config)# vlan 10
S2(config-vlan)# name layer1
S2(config-vlan)# vlan 20
S2(config-vlan)# name layer2
S2(config-vlan)# exit

vlan 配置完成后,需要正确为接口配置接入模式或 TRUNK 模式。

S1(config)# int F0/1
S1(config-if)# switchport mode trunk
S1(config-if)# int F0/2
S1(config-if)# switchport access vlan 10
S1(config-if)# switchport mode access
S1(config-if)# int F0/3
S1(config-if)# switchport access vlan 10
S1(config-if)# switchport mode access

S2(config)# int F0/2
S2(config-if)# switchport mode trunk
S2(config-if)# int F0/3
S2(config-if)# switchport access vlan 20
S2(config-if)# switchport mode access
S2(config-if)# int F0/4
S2(config-if)# switchport access vlan 20
S2(config-if)# switchport mode access

配置三层交换机

使用三层交换机时,首先先建立 vlan 并且正确配置接口的模式。

MS(config)# vlan 10
MS(config-vlan)# name layer1
MS(config-vlan)# vlan 20
MS(config-vlan)# name layer2
MS(config-vlan)# exit
MS(config)# int F0/1
MS(config-if)# switchport trunk encapsulation dot1q
MS(config-if)# switchport mode trunk
MS(config-if)# int F0/2
MS(config-if)# switchport trunk encapsulation dot1q
MS(config-if)# switchport mode trunk

三层交换机的主要功能是实现 vlan 间路由,接下来需要为每个 vlan 配置网关。

MS(config)# int vlan10
MS(config-if)# ip address 192.168.10.201 255.255.255.0
MS(config-if)# int vlan20
MS(config-if)# ip address 192.168.11.201 255.255.255.0

接下来需要启用三层交换机的路由功能,关闭 G0/1 的交换功能并配置路由,让内网流量可以到达路由器 R1。

MS(config)# ip routing
MS(config)# int G0/1
MS(config-if)# no switchport
MS(config-if)# ip address 192.168.12.1 255.255.255.252
MS(config-if)# no shutdown

然后配置路由,此处选择 OSPF 协议。

MS(config)# router ospf 10
MS(config-router)# network 192.168.10.0 0.0.0.255 area 0
MS(config-router)# network 192.168.11.0 0.0.0.255 area 0
MS(config-router)# network 192.168.12.0 0.0.0.3 area 0

配置路由器

最后配置路由器,首先先为 G0/0 和 G0/1 配置 IP 地址。

R1(config)# int G0/0
R1(config-if)# ip address 192.168.12.2 255.255.255.252
R1(config-if)# no shutdown
R1(config-if)# int G0/1
R1(config-if)# ip address 192.128.0.3 255.255.255.0
R1(config-if)# no shutdown

接下来配置路由,使 R1 可以路由内网和外网。

R1(config)# router ospf 10
R1(config-router)# network 192.168.12.0 0.0.0.3 area 0
R1(config-router)#  network 192.128.0.0 0.0.0.255 area 0

最后配置 PAT,G0/0 连接内网,G0/1 连接外网,在 G0/1 上启用 PAT,允许私网地址进行地址转换。

R1(config)# access-list 1 permit 192.168.10.0 0.0.1.255
R1(config)# int G0/0
R1(config-if)# ip nat inside
R1(config-if)# int G0/1
R1(config-if)# ip nat outside
R1(config-if)# ip nat inside source list 1 int G0/1 overload

拓扑测试

此时从 PC0 ping PC2、PC2 ping PC1,也就是一楼和二楼之间相互通信的,可以看到完全正常。


此时使用任意一台公司的 PC 访问 Server 的 WEB 服务,可以看到访问正常。

在 R1 上查看 NAT 转换的统计信息和映射表,可以看到内网地址成功地被映射成公网地址。由此可见前面设计的子网划分方案合理,具有可行性。

R1# show ip nat statistics
R1# show ip nat translations

参考资料

网络技术:IP 编址
网络技术:子网划分

posted @ 2021-10-07 01:30  乌漆WhiteMoon  阅读(1923)  评论(0编辑  收藏  举报