理解子网掩码与ip地址

LG5 2024-4-14 195 4/14

一、子网掩码与ip地址定义

      子网掩码(subnet mask)又叫网络掩码地址掩码、子网络遮罩,它用来指明一个IP地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码。子网掩码不能单独存在,它必须结合IP地址一起使用。(百度百科解释)

注意:子网掩码的前几位必须是连续的1。

子网掩码是用于区分IP地址中的网络部分和主机部分的32位二进制数。在子网掩码中,连续的1代表网络部分,而0代表主机部分。这种设计是为了确保网络地址的唯一性和层次结构,同时也便于进行网络划分和管理。具体来说:

1.网络划分:通过子网掩码,可以将一个较大的网络划分为多个较小的子网。例如,一个B类地址默认的子网掩码是255.255.0.0,如果需要进一步划分子网,可以增加网络位的长度,如255.255.255.0(/24),这样就可以创建更多的子网。

2.地址分配:子网掩码还用于确定网络中的可用主机地址范围。网络管理员会根据子网掩码来分配IP地址,确保每个设备都有一个唯一的地址。

3.数据传输:在数据传输过程中,路由器会使用子网掩码来判断数据包应该发送到哪个子网。如果子网掩码的1不是连续的,那么就无法准确地识别网络地址,这会导致数据传输错误。

综上所述,子网掩码的设计原则确保了网络的稳定运行和有效管理。在实际应用中,子网掩码通常是连续的1后跟连续的0,以确保网络地址的清晰划分和正确识别。

      IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。(百度百科解释)

个人理解:ip地址类似于每个人的名字,子网掩码类似于地区。一个国家叫张三的人可能很多,但一个省叫张三的就没那么多了,再往下,一个市,一个区,一个街道叫张三的人就很少了。通过子网掩码和ip地址就可以精准的查到叫张三的人是谁了。

二、CIDR表示法

CIDR表示法是用于IPv4地址分配和路由选择的方法,它允许更灵活且高效的地址分配和路由聚合。

CIDR的核心在于使用一个“前缀/前缀长度”的格式来表示一个IP地址范围。这种表示法中,斜线后面的数字指明了网络地址的位数。例如,在地址192.168.0.0/16中,/16表示前16位是网络部分,即前两个八位字节(192.168)固定,后16位(即剩下的两个八位字节)用于指代该网络内的个别主机。这样的划分方式比早期的基于A类、B类、C类地址的固定分类方式要灵活得多。具体来说,CIDR具有以下优势:

1.减缓地址耗尽:传统的分类方式导致了大量的IP地址浪费,尤其是在分配给组织时常常只能使用一小部分。CIDR允许根据实际需求分配合适大小的地址块,从而减少了浪费。

2.提高路由效率:通过合并较小的地址块为更大的地址块,可以减少互联网路由器中的路由表项数量。这意味着路由器可以更快地查找目的地,从而提高了整体的网络性能。

3.支持层次化网络设计:CIDR允许创建层次化网络结构,这有助于网络管理和扩展。较大的组织可以根据其内部结构划分多个子网,每个子网都可以有自己的地址空间。

4.适应不同规模网络需求:不再局限于传统的类别划分,各种规模的组织都可以根据自己的需要获得合适的IP地址范围,无论它们的大小如何。

综上所述,CIDR表示法的出现是为了解决日益增长的互联网地址需求以及传统分类寻址模式带来的不便。通过提供一种无类别的、可变长度的网络前缀表示方法,CIDR极大地提高了IP地址分配的灵活性和效率。

三、网络地址

公式:IP地址 & 子网掩码 = 网络地址

计算公式理解,ip地址和子网掩码做与运算,得到网络地址,至于为什么做与运算,下面会讲。

四、广播地址

广播地址是用于在网络上发送信息给所有工作站的一种特殊地址。

在TCP/IP网络中,广播地址的主机标识部分(host ID)填充为全1,这样构造的IP地址即为广播地址。当一个数据包被发送到这个地址时,网络上的所有计算机都会接收到这个数据包。广播地址主要用于以下方面:

1.网络配置:在网络初始化时,可以通过广播地址来发现网络中的设备或者服务器。

2.资源共享:在某些情况下,服务器可能需要向网络中的所有客户端发送消息或数据,使用广播地址可以简化这一过程。

3.故障排查:网络管理员可以使用广播地址来测试网络的连通性,检查哪些设备在线。

需要注意的是,广播地址不能作为数据包的源地址使用,因为这样会导致网络上的所有设备回应,从而产生广播风暴,影响网络性能。此外,由于广播会被子网中的所有设备接收,因此也可能成为安全风险,应当在设计网络和安全策略时予以考虑。

在计算广播地址时,通常会用到子网掩码。子网掩码帮助确定网络地址的范围,从而可以推导出相应的广播地址。例如,如果一个子网的掩码是255.255.255.0,那么这个子网的广播地址就是该子网地址的最后一个地址,即把主机部分的位全部置为1的地址。

综上所述,广播地址是网络通信中的一个重要概念,它允许一次性向网络中的所有设备发送信息,但同时也需要谨慎使用,以避免网络拥塞和安全风险。

五、与或运算(以计算机二进制为例)

1、与运算:

运算符:&

运算规则:0&0=0;0&1=0;1&0=0;1&1=1

即:两个同时为1,结果为1,否则为0

由此可以看出,限定其中一个数为1时,计算结果与另一个数相关,即在设定1后,计算结果唯一。

2、或运算

运算符:|

运算规则:0|0=0;  0|1=1;  1|0=1;   1|1=1;

即 :参加运算的两个对象,一个为1,其值为1。

由此可以看出,限定其中一个数为0时,计算结果与另一个数相关,即在设定0后,计算结果唯一。

那么为什么不考虑将子网掩码设定为0.0.0.255,再与ip地址进行或运算得到唯一值呢?

根据chatgpt3.5的解释,主要原因是:

1.复杂性: 使用货运算的方式可能会使网络地址计算变得更加复杂。每次计算网络地址时,都需要将IP地址与不同的子网掩码进行货运算,这会增加计算的复杂度和时间成本。

2. 易读性:与运算更直观和易于理解。在与运算中,1与1为1,0与1为0,这样可以更清晰地确定网络地址。而或运算中,每个位置上只要有一个1就会得到1,这可能会导致结果的可读性较差。

3. 标准化: 在网络工程中,与运算是一个被广泛接受的标准做法,而或运算并不常见。网络管理员更倾向于使用标准化的方法,这样可以减少混淆和错误。

这里我们不在做深入讨论,我们仅仅需要记住,通过子网掩码和ip地址进行与运算,可以得到唯一的网络地址。

六、计算实例

1、网络地址计算

以202.112.14.137,子网掩码255.255.255.224 为例

  • 将子网掩码转换为二进制形式:255.255.255.224 转换为二进制是 11111111.11111111.11111111.11100000。这表示前27位是网络位,后5位是主机位。
  • 将IP地址转换为二进制形式:202.112.14.137 转换为二进制是 11001010.01110000.00001110.10001001。
  • 进行逻辑与运算:将IP地址与子网掩码的二进制形式对应位进行逻辑与(AND)运算,以确定网络地址。网络地址的二进制形式为 IP 地址的前27位,即11001010.01110000.00001110.100,转换回十进制就是 202.112.14.128。

因此,这个网络的网络地址是 202.112.14.128。这个地址代表该子网的起点,通常用于标识子网本身,而不分配给任何具体的设备或服务。

2、广播地址计算

同样以202.112.14.137,子网掩码255.255.255.224 为例

该网络的广播地址是202.112.14.159

  • 将子网掩码转换为二进制形式,即11111111.11111111.11111111.11100000。这意味着IP地址的前27位是网络部分,后5位是主机部分。
  • 将IP地址202.112.14.137转换为二进制形式,得到11001010.01110000.00001110.10001001。然后根据子网掩码确定的网络位数,保留IP地址的网络部分,并将主机部分(最后5位)置为1,以获得广播地址的二进制形式:11001010.01110000.00001110.10011111(二进制)
  • 将这个二进制数转换回十进制形式,就得到了广播地址202.112.14.159。

通过这个计算过程,可以确定所询问的网络的广播地址为202.112.14.159。这个地址在网络通信中用于向该子网内的所有设备发送数据包。

由此可见,使用CIDR表示法可以快速的判断ip地址中的网络部门的位数,从而快速的计算出广播地址。

- THE END -
Tag:

LG5

4月14日16:14

最后修改:2024年4月14日
0

非特殊说明,本博所有文章均为博主原创。