category
通过划分主机标识符创建子网
子网或子网是IP网络的逻辑细分。[1]: 1. 16 将一个网络划分为两个或多个网络的做法称为子网。
属于同一子网的计算机使用其IP地址的最高有效位的相同组进行寻址。这导致IP地址被逻辑划分为两个字段:网络号或路由前缀,以及其余字段或主机标识符。其余字段是特定主机或网络接口的标识符。
路由前缀可以表示为网络的第一个地址,用无类别域间路由(CIDR)表示法书写,后跟斜线字符(/),并以前缀的比特长度结束。例如,198.51.100.0/24是从给定地址开始的互联网协议版本4网络的前缀,具有分配给网络前缀的24个比特,其余8个比特保留用于主机寻址。198.51.100.0到198.51.100.255范围内的地址属于该网络,其中198.51.10.255为子网广播地址。IPv6地址规范2001:db8::/32是一个具有296个地址的大地址块,具有32位路由前缀。
对于IPv4,网络也可以由其子网掩码或网掩码来表征,该子网掩码是当通过逐位AND运算应用于网络中的任何IP地址时产生路由前缀的位掩码。子网掩码也像IP地址一样用小数点表示。例如,前缀198.51.100.0/24的子网掩码为255.255.255.0。
当源地址和目标地址的路由前缀不同时,通过路由器在子网之间交换流量。路由器充当子网之间的逻辑或物理边界。
为现有网络设置子网的好处因每个部署场景而异。在使用CIDR的互联网地址分配架构和大型组织中,有效分配地址空间是必要的。当子网由较大组织中的不同实体管理控制时,子网还可以提高路由效率,或者在网络管理方面具有优势。子网可以按分层架构进行逻辑排列,将组织的网络地址空间划分为树状路由结构或其他结构,如网格。
网络寻址和路由
将包含256个地址的IPv4地址空间200.100.10.0/24分为两个较小的地址空间的概念,即200.100.100.0/25和200.100.10.128/25,每个地址128个
参与IP网络的计算机至少有一个网络地址。通常,该地址对每个设备都是唯一的,并且可以由具有动态主机配置协议(DHCP)的网络服务自动配置,也可以由管理员手动配置,或者由具有无状态地址自动配置的操作系统自动配置。
地址实现了识别主机并在目的地路由中在网络上定位主机的功能。最常见的网络寻址体系结构是互联网协议版本4(IPv4),但其继任者IPv6自2006年左右以来已得到越来越多的部署。IPv4地址由32位组成。IPv6地址由128位组成。在这两种体系结构中,IP地址都分为两个逻辑部分,即网络前缀和主机标识符。子网上的所有主机都具有相同的网络前缀。这个前缀占据了地址的最高有效位。网络内分配给前缀的比特数可能因子网而异,具体取决于网络架构。主机标识符是唯一的本地标识,并且是本地网络上的主机号或接口标识符。
如果始发主机和目的主机的网络前缀不同,则这种寻址结构允许IP分组通过称为路由器的特殊网关计算机在多个网络上选择性路由到目的主机,或者如果它们相同,则直接发送到本地网络上的目标主机。路由器构成子网之间的逻辑或物理边界,并管理它们之间的流量。每个子网都由指定的默认路由器提供服务,但可能在内部由网络交换机互连的多个物理以太网段组成。
地址的路由前缀由子网掩码标识,子网掩码以与IP地址相同的形式编写。例如,由IPv4地址的最高有效24位组成的路由前缀的子网掩码写为255.255.255.0。
网络前缀规范的现代标准形式是CIDR表示法,用于IPv4和IPv6。它计算前缀中的位数,并将该数字附加到斜杠(/)字符分隔符后的地址中。这种表示法是在无类别域间路由(CIDR)中引入的。[2] 在IPv6中,这是唯一基于标准的表示网络或路由前缀的形式。
例如,子网掩码为255.255.255.0的IPv4网络192.0.2.0被写成192.0.2/24,IPv6表示法2001:db8::/32指定地址2001:db8::及其由最高有效32位组成的网络前缀。
在IPv4的分类网络中,在引入CIDR之前,可以根据IP地址的最高阶比特序列直接从IP地址中获得网络前缀。这决定了地址的类别(A、B、C),因此也决定了子网掩码。然而,由于引入了CIDR,向网络接口分配IP地址需要两个参数,即地址和子网掩码。
给定IPv4源地址、其关联的子网掩码和目标地址,路由器可以确定目标是在本地连接的网络上还是在远程网络上。不需要目标的子网屏蔽,路由器通常也不知道。[3] 然而,对于IPv6,链路上的确定在细节上是不同的,并且需要邻居发现协议(NDP)。[4] [5]对接口的IPv6地址分配不要求链路前缀匹配,反之亦然,链路本地地址除外。
由于每个本地连接的子网必须由每个连接路由器的路由表中的一个单独条目表示,因此子网增加了路由的复杂性。然而,通过仔细设计网络,可以将到树层次结构的分支内较远子网集合的路由聚合到超网络中,并由单个路由表示。
Internet协议版本4
另请参阅:IPv4子网参考
确定网络前缀
IPv4子网掩码由32位组成;它是一个一(1)的序列,后面跟着一个零(0)的块。1表示用于网络前缀的地址中的位,后面的0块将该部分指定为主机标识符。
以下示例显示了网络前缀和主机标识符与地址(192.0.2130)及其相关的/24子网掩码(255.255.255.0)的分离。操作在使用二进制地址格式的表中可视化。
Binary form |
Dot-decimal notation |
---|---|
IP address | 11000000.00000000.00000010.10000010 |
Subnet mask | 11111111.11111111.11111111.00000000 |
Network prefix | 11000000.00000000.00000010.00000000 |
Host identifier | 00000000.00000000.00000000.10000010 |
IP地址和子网掩码的逐位AND运算的结果是网络前缀192.0.2.0。主机部分是130,它是通过地址和子网掩码的“1”补码的逐位AND运算得出的。
子网划分
子网是指从主机部分指定一些高阶比特作为网络前缀的一部分,并适当调整子网掩码的过程。这将网络划分为更小的子网。下图通过将2位从主机部分移动到网络前缀来修改上述示例,以形成四个较小的子网,每个子网的大小是以前的四分之一。
Binary form |
Dot-decimal notation |
---|---|
IP address | 11000000.00000000.00000010.10000010 |
Subnet mask | 11111111.11111111.11111111.11000000 |
Network prefix | 11000000.00000000.00000010.10000000 |
Host part | 00000000.00000000.00000000.00000010 |
特殊地址和子网
IPv4使用特殊指定的地址格式来促进对特殊地址功能的识别。传统上,通过将更大的网络子网化而获得的第一个子网和最后一个子网具有特殊的名称,并且在早期具有特殊的使用含义。[6] 此外,IPv4使用所有主机地址,即网络内的最后一个地址,用于向链路上的所有主机进行广播传输。
从较大网络的子网中获得的第一个子网的子网比特组中的所有比特都设置为零。因此,它被称为子网零。[7] 从较大网络的子网中获得的最后一个子网将子网位组中的所有位设置为1。因此,它被称为all ones子网。8.
IETF最初不鼓励生产使用这两个子网。当前缀长度不可用时,较大的网络和第一个子网具有相同的地址,这可能会导致混淆。最后一个子网末尾的广播地址也可能出现类似的混淆。因此,建议在公共互联网上保留由全零和全一组成的子网值,[9]将每个子网的可用子网数量减少两个。这种低效现象被消除了,这种做法在1995年被宣布过时,只有在处理遗留设备时才适用。[10]
尽管全零和全一主机值分别保留给子网的网络地址及其广播地址,但在使用CIDR的系统中,所有子网都可以在细分的网络中使用。例如,/24网络可以划分为16个可用/28网络。每个广播地址,即*.15、*.31、…、*.255,仅减少每个子网中的主机计数。
子网主机计数
可以容易地计算网络中可用的子网的数量和可能的主机的数量。例如,192.168.5.0/24网络可以细分为以下四个子网/26。突出显示的两个地址位在此过程中成为网络号码的一部分。
Network | Network (binary) | Broadcast address |
---|---|---|
192.168.5.0/26 | 11000000.10101000.00000101.00000000 |
192.168.5.63 |
192.168.5.64/26 | 11000000.10101000.00000101.01000000 |
192.168.5.127 |
192.168.5.128/26 | 11000000.10101000.00000101.10000000 |
192.168.5.191 |
192.168.5.192/26 | 11000000.10101000.00000101.11000000 |
192.168.5.255 |
子网位之后的剩余位用于对子网内的主机进行寻址。在上面的例子中,子网掩码由26位组成,使其成为255.255.255.192,剩下6位作为主机标识符。这允许62个主机组合(26−2)。
通常,子网上可用主机的数量为2h−2,其中h是用于地址的主机部分的位数。可用子网的数量为2n,其中n是用于地址的网络部分的位数。
对于31位子网掩码,该规则有一个例外[11],这意味着对于两个允许的地址,主机标识符只有一位长。在这种网络中,通常是点对点链路,只有两个主机(端点)可以连接,并且不需要网络和广播地址的规范。
Mask | IP Addresses | Hosts | Netmask |
---|---|---|---|
/31 | 2 | 2 | 255.255.255.254 |
/30 | 4 | 2 | 255.255.255.252 |
/29 | 8 | 6 | 255.255.255.248 |
/28 | 16 | 14 | 255.255.255.240 |
/27 | 32 | 30 | 255.255.255.224 |
/26 | 64 | 62 | 255.255.255.192 |
/25 | 128 | 126 | 255.255.255.128 |
/24 | 256 | 254 | 255.255.255.0 |
/23 | 512 | 510 | 255.255.254.0 |
/22 | 1024 | 1022 | 255.255.252.0 |
/21 | 2048 | 2046 | 255.255.248.0 |
/20 | 4096 | 4094 | 255.255.240.0 |
/19 | 8192 | 8190 | 255.255.224.0 |
/18 | 16384 | 16382 | 255.255.192.0 |
/17 | 32768 | 32766 | 255.255.128.0 |
/16 | 65536 | 65534 | 255.255.0.0 |
Internet协议版本6
IPv6地址空间的设计与IPv4有很大不同。IPv4中的子网的主要原因是提高相对较小的可用地址空间的利用效率,尤其是对企业而言。IPv6中不存在这样的限制,因为即使对最终用户来说,可用的大地址空间也不是限制因素。
与IPv4一样,IPv6中的子网基于可变长度子网掩码(VLSM)和无类别域间路由方法的概念。它用于在全局分配空间之间以及子网和整个互联网之间的客户网络内路由流量。
兼容的IPv6子网总是使用主机标识符中包含64位的地址。[12] 给定128位的地址大小,因此它具有/64路由前缀。尽管在技术上可以使用较小的子网,[13]但对于基于以太网技术的局域网来说,它们是不切实际的,因为无状态地址自动配置需要64位。[14] 互联网工程任务组建议使用/127子网进行点对点链路,因为这些链路只有两个主机。[15][16]
IPv6没有为广播流量或网络号码实现特殊的地址格式[17],因此子网中的所有地址都可以用于主机寻址。全零地址保留为子网路由器选播地址。[18] 子网路由器选播地址是子网中最低的地址,所以它看起来像“网络地址”。如果一个路由器在同一链路上有多个子网,则该路由器在该链路上具有多个子网路由器选播地址。[19] 任何网络或子网中的第一个和最后一个地址都不允许分配给任何单个主机。
过去,IPv6客户站点的推荐分配是具有48位(/48)前缀的地址空间。[20] 然而,对该建议进行了修订,以鼓励更小的块,例如使用56位前缀。[21]住宅客户网络的另一种常见分配大小具有64位前缀。
另请参阅
- 登录 发表评论
- 6 次浏览
最新内容
- 2 days 15 hours ago
- 2 days 15 hours ago
- 2 days 15 hours ago
- 2 days 15 hours ago
- 3 days 16 hours ago
- 3 days 16 hours ago
- 3 days 16 hours ago
- 3 days 16 hours ago
- 3 days 16 hours ago
- 3 days 16 hours ago