【Python网络】子网划分
ip地址的结构和分类
根据 TCP/IP 协议,连接在internet上的每个设备都必须有一个ip地址
他是一个32位二进制数,也可以用点分十进制表示,每八位一组,用一个十进制表示即0~255,每组用"."分隔开,例如172.16.45.10
ip地址表示:
将ip地址中的网络位和主机位固定下来后,ip地址被分成了不同的积累:A类,B类,C类,D类,E类
特殊ip地址
1)网络地址:用于表示网络本身,具有正常的网络号部分,而主机号部分全部为0的ip地址称之为网络地址,如172.16.45.0就是一个B类网络地址
2)广播地址:用于向网络中的所有的设备进行广播。具有正常的网络号部分,而主机号部分全为1(即255)的ip地址称之为广播地址
3)有限广播地址:指的是32位全位1(即255.255.255.255)的ip地址,用于本网广播
4)回送地址:网络地址不能以十进制的127作为开头,在地址中数字127保留给系统作为诊断用,称为欢送地址,如127.0.0.1用于回路测试
5)私有地址:只能在局域网内使用,不能在internet上使用的ip地址称为私有ip地址,私有ip地址有:
-
-
10.0.0.0~10.255.255.255,表示一个A类地址
-
172.16.0.0 ~ 172.31.255.255,表示16个B类地址
-
192.168.0.0~192.168.255.255,表示256个C类地址
-
6)0.0.0.0:指已经不是真正意义上的ip地址,它表示的是所有不清楚主机和目的网络,这里的不清楚指的是在本机路由表里没有特定条目指明如何到达
子网掩码
-
子网掩码用于识别IP地址中的网络地址和主机地址。
-
子网掩码也是32位二进制数字,在子网掩码中,对应于网络地址部分全用1表示,主机部分全用0表示
-
还可以用网络前缀表示子网掩码,即"/<网络地址位数>",如172.16.45.0/24 表示B类网络172.16.45.0的子网掩码为255.255.255.0
ip地址申请
子网划分
子网划分是通过借用ip地址的若干位主机位来充当子网地址的从而将原来的网络分为若干个彼此隔离的子网实现的
注意:
-
arp协议通过ip地址获取目标主机的mac地址这一过程使用的是广播的方式,这个广播地址就是通过子网地址与子网掩码计算而来的,只有计算出的这一子网内的主机才能收到这个arp广播包
-
子网划分与vlan都可以做到隔离广播域,只是子网划分是三层隔离,vlan是二层隔离
c类子网划分初探
子网划分步骤
-
确定要划分的子网数以及每个子网的主机数
-
求出子网数目对应的二进制的位数N及主机数目对应的二进制数的位数M
-
对该ip地址的原子网掩码,将其主机地址部分的前N位置1(其余全部置0)或后M位置0(其余全置1)即得出该ip地址划分子网后的子网掩码
子网划分案例
给C类网络 211.168.10.0 划分5个子网
2**2-2 < 5 < 2**3-2 所以需要3位网络号,主机号为8-3=5
子网掩码为255.255.255.224
每个子网可容纳2**5-2=30台主机
划分子网注意事项
-
在子网划分时不仅需要考虑目前需要,还应该了解将来需要的子网和主机。
-
子网掩码使用较多的主机位,可以得到更多子网,节约了ip地址资源,若将来需要更多的子网时,不用再重新分配ip地址,但每个子网的主机数量有限;
-
反之,子网掩码使用较少的主机位,每个子网的主机数允许有更大的增长,但可用子网数有限
-
一般来说,一个网络中的节点数太多,网络会因为广播通信而饱和,所以网络中的主机数量的增长是有限的,也就是说,在条件允许的情况下,应将更多的主机位用于子网位
为什么要子网划分
Internet组织机构定义了五种IP地址,用于主机的有A、B、C三类地址。其中A类网络有126个,每个A类网络可能有16,777,214台主机,它们处于同一广播域。
而在同一广播域中有这么多结点是不可能的,网络会因为广播通信而饱和,结果造成16,777,214个地址大部分没有分配出去,形成了浪费。
而另一方面,随着互连网应用的不断扩大,IP地址资源越来越少。为了实现更小的广播域并更好地利用主机地址中的每一位,可以把基于类的IP网络进一步分成更小的网络,每个子网由路由器界定并分配一个新的子网网络地址,子网地址是借用基于类的网络地址的主机部分创建的。
划分子网后,通过使用掩码,把子网隐藏起来,使得从外部看网络没有变化,这就是子网掩码。
很简单的说:就是,一个公司不可能使用254个公网地址,A公司想用6个地址,B公司也想用6个地址,如果把这两个公司的地址都放在一个大网段里面,这两个公司的地址就能够直接互通
子网划分优点
-
减少网络流量
-
提高网络性能
-
简化管理
-
易于扩大地理范围