子网划分
IP地址的结构和分类
根据tcp/ip协议,连接在Internet上的每个设备都必须有一个IP地址,它是一个32位二进制数,为了方便人类识别,我们将它用点分十进制表示,每8位分为一段。
IP地址范围:0.0.0.0 - 255.255.255.255
IP地址的分类
为了方便管理,人们将IP地址分为A、B、C、D、E五类
类别 | 前8位 | 范围 | 子网掩码 |
---|---|---|---|
A类 | 0 开头 | 1 - 126 | /8 |
B类 | 10 开头 | 128 - 191 | /16 |
C类 | 110 开头 | 192 - 233 | /24 |
D类 | 1110 开头 | 224 - 239 | 多播组 |
E类 | 11110开头 | 240 - 255 | 保留 |
特殊IP地址
-
1、网络地址:用于表示网络本身,具有正常的网络号部分,而主机号部分全部为0的IP地址称之为网络地址,如192.168.1.0就是一个C类的网络地址
-
2、广播地址:用于向网络中的所有设备进行广播。具有正常的网络号部分,而主机号部分全为1(即十进制255)的IP地址为广播地址,如192.168.1.255就是一个C类的广播地址
-
3、有限广播地址:指的是32位全为1(即255.255.255.255)的IP地址,用于本网广播。
-
4、回环地址:网络地址不能以十进制的127开头,在地址数字127保留给系统作为测试使用。如127.0.0.1用于本地主机测试网络
-
5、私有地址:只能在局域网内使用,不能再Internet上使用的IP地址称为私有IP地址,其中包括:
- A类:10.0.0.0 - 10.255.255.255
- B类:172.16.0.0 - 172.31.255.255
- C类:192.168.0.0 - 192.168.255.255
注:这些地址不会被Internet分配,因此它们在Internet上也从来不会被路由,虽然它们不能直接和Internet网连接,但仍可以用来和Internet通信,我们可以根据需要来选用适当的地址类,在内部局域网中大胆地将这些地址当作公用IP地址一样使用。在Internet上,那些不需要与Internet通信的设备,如打印机、集线器等设备也可以使用这些地址,以节省IP地址资源。
-
6、0.0.0.0:指已经不是真正意义上的IP地址,它表示的是所有不清楚主机和目的网络,这里不清楚指的是本机路由表里没有特定条目指明如何到达
子网掩码
一个IP地址由网络号和主机号组成,单独一个IP地址无法区分网络号和主机号,需要通过子网掩码来标识一个IP地址的网络号个数。子网掩码是一个32位的2进制数,其对应的IP地址网络位,子网掩码就标记为1,主机地址的所有位置都标记为0。
子网掩码的两种表示方式
- 1、直接跟在IP地址后面,有多少位1就写多少位。如C类地址的标准子网掩码是24位,那么我们可以写成192.168.1.1/24
- 2、采用点分十进制与IP地址一起表示,如IP是192.168.1.1,子网掩码255.255.255.0
通过子网掩码计算网络地址与广播地址
子网掩码能区分一个IP地址的网络位和主机位,将IP地址和子网掩码转换为二进制的格式,按位进行与运算,最后得出的结果就是该IP地址所属的网络地址。
# 如192.168.12.10/24,换算成二进制就是
11000000.10101000.00001100.00001010
11111111.11111111.11111111.00000000
# 将每一位相与最后的结果就是
11000000.10101000.00001100.00000000
# 这就是该IP地址所属的网络地址,换算成十进制
192.168.12.0
IP地址和子网掩码按位与运算后,将最后的结果的主机位全写为1即为该网络的广播地址。
# 如192.168.12.10/24,换算成二进制后将每一位相与最后的结果就是
11000000.10101000.00001100.00000000
# 将最后的主机位全改为1,即为广播地址
11000000.10101000.00001100.11111111
# 换算成十进制就是
192.168.12.255
子网划分的原因
IP地址被定义了五种分类,用于主机的有A、B、C三类。其中A类网络有126个,每个网段最大可以用16777214(除掉网络地址和广播地址)台主机,它们处于同一广播域。这么多主机处于同一网络是不可能的,网络会因为广播通信而饱和,无法传输正确的数据。另外,IP地址资源非常有限,为了实现更小的广播域并更好地利用主机地址中的每一位,可以把基于类的IP网络进一步分成更小的网络,每个子网由路由器界定并分配一个新的子网网络地址,子网地址是借用基于类的网络地址的主机部分创建的。划分子网后,通过使用掩码,把子网隐藏起来,使得从外部看网络没有变化,这就是子网划分。
子网划分的好处:
- 1、减少广播流量,提高性能
- 2、方便管理
如何划分
子网划分是通过借用IP地址的若干主机位来充当网络位从而将原来的网络分为若干个彼此隔离的子网络。
如192.168.12.10/24,原来的网络地址是192.168.12.0,广播地址是192.168.12.255,可供254台设备使用,若要将其划分为5个子网络。2**2-2 < 5 < 2**3-2 所以需要3位网络号,主机号就为8 - 3 = 5,子网掩码就是/27 or 255.255.255.224
# 子网1范围
192.168.10.0/27 - 192.168.10.31/27
IP: 11000000.10101000.00001100.00001010 -》 192.168.10.24
Mask: 11111111.11111111.11111111.11100000 -》 255.255.255.224
Net: 11000000.10101000.00001100.00000000 -》 192.168.10.0
Broadcast:11000000.10101000.00001100.00011111 -》 192.168.10.31
# 子网2范围
192.168.10.32/27 - 192.168.10.63/27
# 子网3范围
192.168.10.64/27 - 192.168.10.95/27
# 子网4范围
192.168.10.96/27 - 192.168.10.127/27
# 子网5范围
192.168.10.128/27 - 192.168.10.159/27
# 子网6范围
192.168.10.160/27 - 192.168.10.191/27
# 子网7范围
192.168.10.192/27 - 192.168.10.223/27
# 子网8范围
192.168.10.224/27 - 192.168.10.255/27
每个子网中主机位全为0的是子网地址,全为1的是广播地址,所以实际能接入的主机数量是29。划分的子网中0字段和255字段是原网段的网络地址和广播地址,一般保留不做实际使用。
子网划分注意事项
- 1、在子网划分时不仅需要考虑目前需要,还应该了解将来需要多说子网和主机。子网掩码使用较多的主机位,可以得到更多子网,节约了ip地址资源,若将来需要更多的子网时,不用再重新分配ip地址,但每个子网的主机数量有限;反之,子网掩码使用较少的主机位,每个子网的主机数允许有更大的增长,但可用子网数有限。
- 一般来说,一个网络中的节点数太多,网络会因为广播通信而饱和,所以网络中的主机数量的增长是有限的,也就是说,在条件允许的情况下,应将更多的主机位用于子网位。
子网划分和VLAN
子网划分是通过子网掩码将一个大网络划分成数个小网络,这是基于网络层的划分,但普通二层交换机是工作在数据链路层,对于交换机内的广播域并没有做到隔离,所以子网划分通常还会与VLAN配合使用。
LAN
由Hub、网桥或交换机等网络设备连接在同一网段内的所有节点形成局域网,通常是一个单独的广播域。处于同一个LAN内的网络节点之间可以直接通信,处于不同局域网段的设备之间的通信则必须经过路由器。
通过路由器隔离LAN在网络规模增大的情况下存在两个缺陷:
- 1、路由器数量需要增多,网络时延随之加长,进而导致网络数据传输速度的下降。这主要是因为数据在从一个局域网传递到另一个局域网时,必须经过路由器的路由操作: 路由器根据数据包中的相应信息确定数据包的目标地址,然后再选择合适的路径转发出去。
- 2、用户是按照它们的物理连接被自然地划分到不同的用户组(广播域)中。这种分割方式并不是根据工作组中所有用户的共同需要和带宽的需求来进行的。因此,尽管不同的工作组或部门对带宽的需求有很大的差异,但它们却被机械地划分到同一个广播域中争用相同的带宽。
综上两点,必须选出一种隔离广播域的方式,兼备下述两点
1.可以不用通过路由器来隔离不同广播域
2.可以突破地理位置的限制,在逻辑上划分出不同的广播域
这就是VLAN,IEEE 802.1Q 标准定义了 VLAN Header 的格式。它在普通以太网帧结构的 SA (src addr)之后加入了 4bytes 的 VLAN Tag/Header 数据,其中包括 12-bits 的 VLAN ID。VLAN ID 最大值为4096,但是有效值范围是 1 - 4094。
VLAN
Virtual Local Area Network,虚拟局域网。
带 VLAN 的交换机的端口分为两类:
- Access port:这些端口被打上了 VLAN Tag。离开交换机的 Access port 进入计算机的以太帧中没有 VLAN Tag,这意味着连接到 access ports 的机器不会觉察到 VLAN 的存在。离开计算机进入这些端口的数据帧被打上了 VLAN Tag。
- Trunk port: 有多个交换机时,组A中的部分机器连接到 switch 1,另一部分机器连接到 switch 2。要使得这些机器能够相互访问,你需要连接两台交换机。 要避免使用一根电缆连接每个 VLAN 的两个端口,我们可以在每个交换机上配置一个 VLAN trunk port。Trunk port 发出和收到的数据包都带有 VLAN header,该 header 表明了该数据包属于那个 VLAN。因此,只需要分别连接两个交换机的一个 trunk port 就可以转发所有的数据包了。通常来讲,只使用 trunk port 连接两个交换机,而不是用来连接机器和交换机,因为机器不想看到它们收到的数据包带有 VLAN Header。
VLAN的类型
-
1、基于端口的 VLAN (untagged VLAN - 端口属于一个VLAN,数据帧中没有VLAN tag)
这种模式中,在交换机上创建若干个VLAN,在将若干端口放在每个VLAN 中。每个端口在某一时刻只能属于一个VLAN。一个 VLAN 可以包含所有端口,或者部分端口。每个端口有个PVID (port VLAN identifier)。这种模式下,一个端口上收到的 frame 是 untagged frame,因此它不包含任何有关 VLAN 的信息。VLAN 的关系只能从端口的 PVID 上看出来。交换机在转发 frame 时,只将它转发到相同 PVID 的端口。
-
2、Tagged VLANs (数据帧中带有 VLAN tag)
这种模式下,frame 的VLAN 关系是它自己携带的信息中保存的,这种信息叫 a tag or tagged header。当交换机收到一个带 VLAN tag 的帧,它只将它转发给具有同样 VID 的端口。一个能够接收或者转发 tagged frame 的端口被称为 a tagged port。所有连接到这种端口的网络设备必须是 802.1Q 协议兼容的。这种设备必须能处理 tagged frame,以及添加 tag 到其转发的 frame。
VLAN的不足
- 1、VLAN 使用 12-bit 的 VLAN ID,所以 VLAN 的第一个不足之处就是它最多只支持 4096 个 VLAN 网络(当然这还要除去几个预留的),对于大型数据中心的来说,这个数量是远远不够的。
- 2、VLAN 是基于 L2 的,所以很难跨越 L2 的边界,在很大程度上限制了网络的灵活性。
- 3、VLAN 操作需手工介入较多,这对于管理成千上万台机器的管理员来说是难以接受的。