一、什么是ip地址#
通常我们看到的ip地址会长这样(由点分割的十进制数):192.168.1.1
其实ip地址是一个32位的二进制数,被分割成4部分,每部分8位。也就是说他们其实长成这样
00000000.00000000.00000000.00000000
每一部分都是8位的二进制数,那他能表示的范围其实就是0~255,并且在一个子网中,第一个0为保留位,最后一个255为广播位,这两位不会划分出去。(比如在局域网中找不到一个完全匹配的ip时,可能就会广播数据报文,广播的地址就会使用255)
所以说,一般情况下,局域网中可以使用的ip为1~254
0.0.0.0 回环地址
255.255.255.255 广播地址
二、划分子网#
2.1、为什么要划分子网#
划分子网是为了更好的利用ip地址资源,因为ip地址就是上面提到的4个byte字节组成的,一共就有2的32方个,随着互联网的发展,ip地址已经不够用了
现在的解决方案有两种,一种是将ipv4升级成ipv6,第二种就是现在说的划分子网,通过合理划分子网来缓解ip地址枯竭的问题。
2.2、子网分类#
子网分类说的是人为的将子网分成A、B、C、D类,每个分类都有两部分组成:网络号+主机号
无论怎么划分,网络号和主机号一共32位是不会变的
A类:8位网络号 24位主机号 B类:16位网络号 16位主机号 C类:24位网络号 8位主机号
2.3、子网划分#
子网划分的应用场景:
上面C类子网支持254台主机,B类子网支持6万多台主机。
那假设现在有一个公司,他们公司有几千名员工,如果为他们申请ip的话请问是该申请C类地址还是B类地址呢?
很显然,C类肯定不够用,B类又会浪费掉好几万个ip资源~
这时就得进行子网划分,拿这个例子来说就是我们给该公司申请一个B类地址,然后将B类地址中的部分主机位当作网络ID,这样的话,主机位数就变少了,最新的网络号 = 网络号+从主机位划分出来的网络ID,原来的二级Ip 地址被划分成三级Ip地址,收益就是:实现节省ip地址。
实战子网划分
假设我们对192.168.1.0这个网络号进行子网划分。
然后我们从主机号借用两位当作网络号
# 如果不进行子网分,它是一个C类网络地址,可以承载254台机器 192.168.1.00000000 # 借两位主机位当作网络id来 划分子网,可以得到下面四个子网 192.168.1.00 000000 192.168.1.01 000000 192.168.1.10 000000 192.168.1.11 000000
网络号相同的ip视为在一个局域网中,这样就将原来的一个C类地址划分成四个网络地址,也就能给四个公司使用,而且每个网络中都能分配2的6次方个左右的ip地址。
一个设备有多个ip是正常的,甚至当有它有多个物理网卡,就能有多个公网ip,相应的每个设备也有私网ip,也就是他所在的局域网中的ip(一般是通过DHCP获取的)
想接入互联网就的有公网ip,全球有42亿的ipv4的公网ip,我们的硬件设备默认有一个自己的本地ip,比如192.168..., 当设备连通局域网后,设备的本地ip其实是这个公网ip下的局域网的ip地址之一,这样可以尽最大可能的利用有限的ip网络地址资源(而不用为每一台设备都分配一个独有的公网ip)
2.4、子网掩码#
在上一个例子中我们将这个网络号192.168.1.0,通过子网划分,分成了四个网络,如下
192.168.1.00 000000 192.168.1.01 000000 192.168.1.10 000000 192.168.1.11 000000
问题是怎么让机器区分开这是四个网络地址,而不是一个C类地址呢?
这就引出了子网掩码的概念: 子网掩码和ip地址同为32位,子网掩码为1的区域对应着ip地址的网络号部分,子网掩码为0的区域对应着ip地址的主机号部分。
就这个例子来说,它的子网掩码如下
# 192.168.1.0 ==转二进制==> 11000000.10101000.00000001.00000000 # 本来他是C类网络地址:它的网络号为前24位,后8位为主机号 # 然后我们划分子网,从主机位给网络位借两位,也就是前26位是网络号,后6位是主机号 # 对应的子网掩码位:前26位为1,后6位为0。即11111111.11111111.11111111.11000000 # 11111111.11111111.11111111.11000000 =转十进制=>255.255.255.192
如果通过ip和子网掩码得出网络ID呢?
# 两者的二进制表示做与运算 # 相同为1,不同为0
网络ID相同,说明这两个ip在同一个局域子网中
2.5、无分类-构成超网#
这里说的无分类-构成超网本质上也是一种ip地址的编址方式,并且它消除了传统的ABCD这种划分子网的概念。
它的编制方式为:网络号/主机号
通常使用这种方式编址的ip长这个样子:192.68.1.1/20
在ipv4中,ip地址的总长度为32位这是不会变的,这里的20表示的是在这总长为32位的地址中,前20为网络号,剩下的12位是主机号
三、网络模式#
常见的网络模式有:桥接模式、NAT模式、仅主机模式。比如在vmware中设置虚拟机的网络模式时,可以看到
3.1、桥接#
桥接模式的本质是:使用一个虚拟的交换机,将虚拟机和物理机网卡打通。他们同属于一个网段
在这种模式下:有如下特性:
- 虚拟机和物理机同属一个网段
- 虚拟机之间可以相同Ping通
- 虚拟机和物理机之间可以相互ping通
- 只要主机能上网,虚拟机就能上网
3.2、NAT#
NAT是一种网络地址转换技术,实现了局域网内的使用自己的本地IP即可联通互联网(NAT会将本地Ip,转换成全球IP)
常见的你家里的wifi,家里按了网线之后会有一个公网ip,但是家里的任何智能设备通过路由器连接上wifi后都能同时上网,因为路由器会分配给设备一个局域网ip,设备使用这个局域网ip上网,其中的转换技术就是NAT技术
有如下特性:
- 主机能上网,虚拟机就能上网
- 虚拟机直接可以互通
3.3、Host#
Host,仅主机,即它是存在于主机内部的一个虚拟网络。
这仅主机模式下,有一块虚拟网卡,这块网卡的网段和主机上物理网卡的网段是不相同的。
所有的虚拟机在虚拟网卡的网段下,所以他们彼此直接互通。
默认情况下,虚拟机可以访问到物理机,但是默认情况下虚拟机不能上网的。(也可以通过修改配置让他们上互联网)
3.4、内部网络#
在内部网络下,虚拟机和外部完全隔断,只允许虚拟机之间才能相互访问