[Linux]Subnetting
Subnetting
1 IPv4
在网络中,每个主机都有一个独一无二的地址,即IP地址,用于标识其在网络中的位置。IPv4地址的形式如下所示:
1 |
|
此地址由两部分组成:网络部分和主机部分。网络部分指明了该地址所属的网络,而主机部分则标识了该网络中的具体主机。
IPv4地址被点号分隔为四个八位字节(octet)。每个八位字节包含8个比特,等于1字节。因此,IPv4地址也可以视为由4个字节构成。在处理子网和IP地址时,我们经常使用到比特的概念。
要查看IP地址,可以使用ifconfig -a
命令:
示例输出如下:
1 |
|
从上述输出可见,IPv4地址是:192.168.1.129。
2 子网
要判断是否与Patty位于同一网络,可以通过检查子网(subnetwork的简称)。子网是一组IP地址相似且通常地理位置相近的主机集合。在同一子网内的主机间传输数据更加简便。
例如,所有以123.45.67开头的IP地址都属于同一子网。如果我的主机IP为123.45.67.8,而Patty的为123.45.67.9,则共同的部分即为网络前缀,而末尾数字代表各自的主机标识。因此,我们的网络是相同的。
子网掩码
子网掩码用于区分IP地址中的网络部分和主机部分。一个典型的子网掩码可能如下所示:
1 |
|
常用网络前缀后跟斜杠及子网掩码来表示子网:
1 |
|
为何进行子网划分?
子网划分用于分割网络并控制网络内流量。同时,也可以缓解IPv4地址空间的压力。这样,不同子网之间的主机无法直接交互。但如果想要连接至其他子网上的主机,比如yahoo.com,则需要通过路由器实现互联。在大多数使用255.255.255.0作为子网掩码的网络中,路由器通常位于子网的第一个地址,如192.168.1.1。某些IP地址(私有网络)不可见于互联网,为此需要采用NAT等技术。
3 子网计算
理解子网掩码对于确定子网中可容纳的主机数量至关重要。以IP地址192.168.1.0和子网掩码255.255.255.0为例,将这些数值转换为二进制形式:
- IP地址:192.168.1. = 11000000.10101000.00000001.00000001
- 子网掩码:255.255.255.0 = 11111111.11111111.11111111.00000000
子网掩码标记了IP地址中的网络部分(对应位为1),而主机部分则由未被标记的部分表示(对应位为0)。在上述例子中,只有最后八位可以变化,代表可能的主机地址范围。
由于一个八位字节有256种组合(从00000000到11111111),理论上存在256个可能的地址。然而,在实际应用中,需要排除两个特殊地址——全0和全1的地址分别代表子网地址和广播地址。因此,有效的主机地址范围是254个。
例如,给定IP地址192.168.1.0与子网掩码255.255.255.0,有效主机IP地址范围是从192.168.1.1至192.168.1.254。
4 CIDR
无类别域间路由(CIDR,Classless Inter-Domain Routing)提供了一种更为紧凑的子网掩码表示方法。在CIDR记法中,一个如10.42.3.0/255.255.255.0的子网可简化写作10.42.3.0/24,这里不仅包括了子网前缀,也隐含了子网掩码的信息。
IP地址与CIDR
IP地址由4个字节组成,共计32位。CIDR值表明了用于网络前缀的位数。例如,123.12.24.0/23表示前23位用于网络部分。那么,这代表了多少主机呢?
计算可用主机数量的简易方法:
- 从整个IP地址的总位数(32位)中减去CIDR值(如23),剩余9位。
- 计算(2^9 = 512),但需扣除两个特殊地址(子网地址和广播地址),故实际可用主机数为510。
通过CIDR记法,我们能更高效地进行IP地址规划与管理,同时准确计算出每个子网内的可用主机数目。这种方法对于优化网络配置和资源分配至关重要。
5 NAT
网络地址转换(NAT,Network Address Translation)使诸如路由器之类的设备充当互联网与私有网络之间的中介。这意味着只需要一个唯一的IP地址就可以代表整个计算机群组对外进行通信。
可以把NAT想象成大型办公室中的总机接待员。如果有人想要联系你,他们只知道整个办公室的电话号码,而接待员则根据这个号码找到你的分机号并转接来电。
工作流程示例:
- 假设Patty想要连接www.google.com,她的计算机会通过路由器发送请求。
- 路由器接收该请求,并自行建立与google.com的连接,然后在建立连接后转发Patty的请求。
- 在此过程中,路由器作为Patty和www.google.com之间的中介。Google服务器仅能看到路由器的信息,而无法识别Patty的设备。
通过采用NAT技术,不仅可以隐藏内部网络结构,保护内部网络安全,而且有助于节省公网IP地址资源,优化网络配置。
6 IPv6
每一台接入互联网的设备都会获得一个独立的IP地址。然而,在这个数字化时代,可用的IP地址数量是有限的,IPv6正是为了允许更多主机连接到互联网而设计的。它虽然带来了更多的改进,但其采纳过程却相对缓慢。IPv6的设计初衷并非是要替代IPv4,而是与之互补,共同存在。
IPv6和IPv4在协议层面非常相似,若已熟悉IPv4,则不难理解IPv6。两者间最显著的区别在于地址的书写方式。典型的IPv6地址格式如下:
1 |
|
IPv6通过提供几乎无限的地址空间,解决了IPv4地址资源枯竭的问题。此外,IPv6还引入了诸如简化头部格式、支持无状态地址自动配置(SLAAC)、增强的安全性等特性,为互联网的发展提供了更强大的支撑。