IP地址组成与分类 特殊的IP地址 子网划分 划分子网的算法 vlan

  • IP地址十进制转换成二进制计算器

      IP : 172.16.10.2
      python
      	>>> bin(172)
      	'0b10101100'
      	>>> bin(16)
      	'0b10000'
      	>>> bin(10)
      	'0b1010'
      	>>> bin(2)
      	'0b10'
      换算成二进制等于:10101100.00010000.00001010.00000010
    

子网掩码是什么?

IP:
	10101100.00010000.00001010.00000010  ==> IP地址 : 172.16.10.2/24
	11111111.11111111.11111111.00000000	 ==> 子网掩码 : 255.255.255.0
	10101100.00010000.00001010			 ==> 网络地址 : 172.16.10.0
							   00000010  ==> 主机号: 2					 
  • 子网掩码 : 用来标识一个IP地址的网络号个数。从左到右,属于网络号,子网掩码标记为1;属于主机号,子网掩码标记为0。
  • 网络地址的计算方式,IP地址与子网掩码都转换成二进制,然后按位运算。
  • 网络号主要是用来标识不同的局域网,网络号不同,代表不在同一个局域网。
IP:
	10101100.00010000.00001010.00000010  ==> IP地址 : 172.16.10.2/16
	11111111.11111111.00000000.00000000	 ==> 子网掩码 : 255.255.0.0	
	10101100.00010000					 ==> 网络地址 : 172.16.0.0
							   00000010  ==> 主机号: 2
  • 结论 : 同一个IP地址,子网掩码不一样,按位运算可以得到不同的网络地址,那就说明两个IP地址不在同一个局域网,也就直接决定了两台计算机的通信方式。

IP地址的分类
IP地址组成与分类 特殊的IP地址 子网划分 划分子网的算法 vlan_第1张图片

  • 网络地址占位越少,代表可以划分的局域网越少,那么主机号的占位就越多。例如A类的网络地址,主机只有126个。
  1. 一般中小型企业,都是用的C类的IP地址,可以划分多个局域网,每一个局域网都可以配一个IP地址,但是每一个局域网内包含的主机个数较少。
  2. C类的IP地址(192.168.4.125/24),一般网络地址为192.168.4.0,网关地址为192.168.4.1,本网段的广播地址为:192.168.4.255。真正可以用的IP地址只有253个。

特殊的IP地址

  1. 255.255.255.255 : 全网广播地址

  2. 127.0.0.1 : 本地回环地址,一般用于测试,客户端和服务端会用不同的端口号进行连接,通过这样的方式进行测试可以先排除网络问题。

  3. 公网IP与私网IP,客户端在访问服务端的时候,只能访问到服务端的公网IP。公网IP在公网中是独一无二的,服务端的公网IP与私网IP存在一个映射关系,一个公网IP对应一个私网IP,客户端可以通过公网IP找到服务器的私网IP。(我们在服务端是看不见公网IP地址的)

  4. 0.0.0.0/0 : 不是真正意义上的IP地址。我们在部署服务的时候,服务端部署的IP地址应该监听0.0.0.0(子网掩码必须设置成0)。任何客户端只要能够跟我的网络连通,都可以直接访问到我的服务端IP地址。如果我们使用的是阿里云进行部署,我们在服务端部署的IP为0.0.0.0/0,那么阿里云服务器会自动帮我们绑定一个公网IP。

子网划分

什么是子网划分?

  • 通过子网掩码,网络号占用主机号,把同一个网段的IP地址划分成不同的局域网,但是每个网段的主机号变少,也就是每个网段可用的IP地址变少。

子网划分运算

IP:
	11000000.00010000.00001010.10001011  ==> IP地址 : 192.16.10.139/24	# /24代表子网掩码连续24个1
	11111111.11111111.11111111.00000000	 ==> 子网掩码换 : 255.255.255.0
	11000000.00010000.00001010			 ==> 网络地址 : 192.16.10.0
							   10001011  ==> 主机号: 139			

IP:
	11000000.00010000.00001010.10001011  ==> IP地址 : 192.16.10.139/25	# /25代表子网掩码连续25个1
	11111111.11111111.11111111.10000000  ==> 子网掩码 : 255.255.255.128
	11000000.00010000.00001010.10000000	 ==> 网络地址 : 192.16.10.128
							   10001011  ==> 主机号: 139		
					
结论:两台IP地址一样的计算机,子网掩码不一样,并不在同一个局域网内。		
  • 正常情况下,C类子网掩码默认为 /24,我们一共可以划分出255个IP地址。
  • 我们把子网掩码换成 /25个,测试一下,IP地址是如何划分的。
192.168.10.1/25
......
192.169.10.255/25

11000000.10101001.00001010.00000001  	IP地址:192.168.10.1/25
11111111.11111111.11111111.10000000		子网掩码:255.255.255.128
11000000.10101001.00001010.00000000     网络地址:192.168.10.0
....
11000000.10101001.00001010.01111111  	IP地址:192.168.10.127/25
11111111.11111111.11111111.10000000		子网掩码:255.255.255.128
11000000.10101001.00001010.00000000     网络地址:192.168.10.0
- 主机位在1-127之间的IP地址,网络地址为192.168.10.0


11000000.10101001.00001010.10000000 	IP地址:192.168.10.128/25
11111111.11111111.11111111.10000000		子网掩码:255.255.255.128
11000000.10101001.00001010.10000000     网络地址:192.168.10.128
...
11000000.10101001.00001010.11111111 	IP地址:192.168.10.255/25
11111111.11111111.11111111.10000000		子网掩码:255.255.255.128
11000000.10101001.00001010.10000000     网络地址:192.168.10.128
- 主机位在128-255之间IP地址,网络地址为192.168.10.128
  • 我们通过以上运算,可以发现,同一个网段的IP地址被子网掩码划分成了2个不同的网络地址。
  • 也是说子网划分技术,就是通过把主机位借给网络位的方式,把IP地址划分成了不同的局域网。

注意

  • 我们通过子网划分技术把IP地址进行划分之后,一般情况下,一个网段的最小的IP地址默认为网络地址,最大的IP地址默认为广播地址。
  • 如上所示,主机位在128-255之间IP地址,默认的网络地址为192.168.10.128,广播地址为128.168.10.255。

划分多个子网的算法

  • 我们用网络位占用3个主机位做验证
192.168.10.1/27
......
192.169.10.255/27

11000000.10101001.00001010.000 00000  	 IP地址:192.168.10.0/27
11111111.11111111.11111111.111 00000	 子网掩码:255.255.255.224
11000000.10101001.00001010.000 00000     网络地址:192.168.10.0
......
11000000.10101001.00001010.000 11111  	 IP地址:192.168.10.31/27
11111111.11111111.11111111.111 00000	 子网掩码:255.255.255.224
11000000.10101001.00001010.000 00000     网络地址:192.168.10.0

我们发现子网掩码是固定的,IP地址的前24位都是固定的,所以我们只需要对比IP地址的25,26,27这三位的网络地址就可以了。
假设网络位占用3个主机位,一共可以分多少个可用网段呢?
#  二进制算法: 比如 11 111==>再加一个二进制位为100 000
											  			  
11000000.10101001.00001010.000 	 00000		192.168.10.0 	~	 192.168.10.31	 整个网段的网络地址	(一般情况下会保留)	
# 一般情况下,会保留下来当作网关地址,广播地址,还有网络地址
												子网地址			 广播地址
11000000.10101001.00001010.001	 00000		192.168.10.32 	~	192.168.10.63		可用IP的主机号为33~62	
11000000.10101001.00001010.010	 00000		192.168.10.64 	~	192.168.10.95   	可用IP的主机号为65~94
11000000.10101001.00001010.011	 00000		192.168.10.96 	~	192.168.10.127		可用IP的主机号为97~126
11000000.10101001.00001010.100	 00000		192.168.10.128 	~ 	192.168.10.159		可用IP的主机号为129~158
11000000.10101001.00001010.101	 00000		192.168.10.160	~ 	192.168.10.195		可用IP的主机号为161~194
11000000.10101001.00001010.110	 00000		192.168.10.196 	~   192.168.10.223		可用IP的主机号为197~222	

11000000.10101001.00001010.111	 00000     	192.168.10.224	~	192.168.10.255	  整个网段的广播地址 (一般情况下会保留)
# 一般情况下,会保留下来当作网关地址,广播地址,还有网络地址
  • 我们整理了一下C类网络中,网络位占用不同的主机位个数,分别可以划分多少个子网,每个子网的主机个数。
    IP地址组成与分类 特殊的IP地址 子网划分 划分子网的算法 vlan_第2张图片

ps : 计算机如何判定与对方是否在一个局域网中?

通过IP地址与子网掩码判定的

ARP协议将对方的IP地址与子网按位运算得到一个网络地址,然后与自己的比对

子网划分的优点

  1. 缩小广播域,提示传播效率
  2. 减少IP地址的浪费

vlan

  • vlan的作用是什么?
  1. 针对一个物理交换机可以划分出多个虚拟的局域网,可以隔离广播域。
  2. vlan是二层的隔离,IP的子网是三层的隔离, 二层的隔离应该与三层的隔离保持一致。
  • 802.1Q(交换机工作协议)规定了Vlan的格式,会在数据帧中源mac与目标mac之后加4个Byte的Vlan tag(Vlan标签),一个物理交换机划分出多个局域网,每个局域网都会有一个vlanID(编号)。

  • VLAN ID 最大值为4096(0~4095),但是有效值范围是 1 - 4094。也就是说,vlan最多可以把一个交换机划分成4094个局域网。
    IP地址组成与分类 特殊的IP地址 子网划分 划分子网的算法 vlan_第3张图片

  • VLAN 的交换机的端口分为两类:

    1. Access port(一个access口只能划分给一个vlan) : 主要用来连接个人计算机的。

       1.  收到计算机发来数据包时会加上4byte的vlan tag
      
       2.  发送包给计算机时,会去掉4byte的vlan tag
      
    2. Trunk port (一个trunk口可以同时划分给多个vlan): 主要用来进行交换机与交换机之间串联。

      1.  收到的数据包会带着4byte的vlan tag
      
      2.  发出的数据包会带着4byte的vlan tag
      
  • VLAN划分图
    IP地址组成与分类 特殊的IP地址 子网划分 划分子网的算法 vlan_第4张图片

  • VLAN 的类型

  1. 基于端口的 VLAN
    IP地址组成与分类 特殊的IP地址 子网划分 划分子网的算法 vlan_第5张图片
    连接两个交换机的同一个 VLAN 中的两个计算机需要通信的话,需要在两个交换机之间连两根线:
    一根从 Switch A 端口4 到 Switch B 端口 4 (VLAN 1)
    一根从 Switch A 端口8 到 Switch B 端口 8 (VLAN 2)
    1) 交换机接收到计算机传输的数据时,交换机先封装vlan编号,确认同一个vlan的计算机端口有哪些。
    2) 进行广播发送数据的时候,交换机去掉vlan编号,直接以广播的形式进行数据包的发送。
    3) Switch A 端口4和端口8 Switch B 端口4和端口8 不能再连接计算机,只能做两个vlan的数据传输。

  2. Tagged VLANs
    IP地址组成与分类 特殊的IP地址 子网划分 划分子网的算法 vlan_第6张图片
    两个交换机上的端口8 支持 VLAN 1 和 2, 因此一根线就可以了实现跨交换机的同VLAN 内的计算机互相通信了。
    1) 交换机接收到计算机传输的数据时,交换机先封装vlan编号,确认同一个vlan的计算机端口有哪些。
    2) 进行广播发送数据的时候,通过Switch A的8号端口再将数据传输给Switch B的8号端口,发送给相匹配的vlan编号端口(Trun口之间进行数据传递是打上vlan标签的,发送到计算机之前会先拆除对应的vlan编号,计算机是无法识别vlan编号的)。
    3) Switch A的8号端口和Switch B的8号端口,同属于vlan1和vlan2,也就是说无论是vlan1的数据包还是vlan2的数据包都会经过这两个Trunk口进行数据传递。
    4) Switch A 端口8 Switch B 端口8 同属于多个vlan,不能再连接计算机,只能做两个vlan的数据传输。

  • vlan的缺点
    1. VLAN 使用 12-bit 的 VLAN ID,所以 VLAN 的第一个不足之处就是它最多只支持 4096 个 VLAN 网络(当然这还要除去几个预留的),对于大型数据中心的来说,这个数量是远远不够的。
    2. VLAN 是基于 L2(2层设备) 的,所以很难跨越 L2(2层设备) 的边界,在很大程度上限制了网络的灵活性。
    3. VLAN 操作需手工介入较多,这对于管理成千上万台机器的管理员来说是难以接受的。

广播域隔离

	1. 三层隔离:ip地址与子网掩码运算得到的网络地址不一样,即网段不一样,这就是三层隔离

	2. 二层隔离:两台计算机的网线只要接在不同的vlan里(一个vlan就是一个广播域),就是二层隔离

二层隔离应该与三层隔离保持一致

如果不一致会有什么问题?

	会出现原本是三层隔离的数据包,但是数据包发到交换机之后,

	因为交换机是二层设备,所以直接基于二层设备就开始广播,这就导致了一些不必要的广播包,广播效率变低。

你可能感兴趣的:(子网掩码)