彻底搞懂网络地址、广播地址、主机地址、网关、子网掩码、网络号、主机号

news/2024/10/8 18:03:56

1 网络地址、广播地址、主机地址名词解释

1.1 网络地址

  • 网络地址是指仅包含网络号而不包含主机号的IP地址。它用于唯一标识一个网络。在网络通信中,网络地址用于路由和寻址。例如,一个IP地址为192.168.0.0,IP掩码为255.255.255.0,那么它的网络地址就是192.168.0.0。
  • 它是指一个网络的起始地址,用于标识一个特定的网络。网络地址用于路由器将数据包发送到正确的网络。在网络地址中,主机部分全为0。
  • 例如,假设一个局域网使用 IP 地址范围是 192.168.0.0 - 192.168.0.255,其中子网掩码为 255.255.255.0。那么网络地址就是 192.168.0.0。在该网络中,所有以此开始的 IP 地址都属于同一个网络。

1.2 广播地址

  • 广播地址是指在特定网络上发送广播消息的地址。它用于向网络上的所有设备发送信息。广播地址通常是某个网络的最大可能地址,将主机号部分全部设置为1。例如,在 IP 地址为192.168.0.0,IP掩码为255.255.255.0 的情况下,广播地址就是192.168.0.255。
  • 广播地址在 IP 地址中用于向同一网络内的所有设备发送消息或数据包。它是一个特殊的地址,使得发送到该地址的数据包将被网络上的所有设备接收。
  • 广播通常用于一些特定的场景,比如局域网中的设备发出某个请求,希望获得同一网络下的所有设备的响应。一个常见的例子是 DHCP(动态主机配置协议)服务器,在启动时会向整个网络广播一个 DHCP 请求,以获取静态 IP 地址分配。同样地,ARP(地址解析协议)也使用广播来查找与给定 IP 地址关联的 MAC 地址。
  • 举个例子,假设你的局域网中有四台计算机,它们的 IP 地址范围是:192.168.0.1 - 192.168.0.4,子网掩码为 255.255.255.0。如果你想向整个局域网发送一个广播消息,你可以将目标地址设置为 192.168.0.255,这是该网络的广播地址。这样,所有四台计算机都能够接收到该消息,并根据需要作出响应。
  • 需要注意的是,广播只会在同一网络中传播,因此不会跨越路由器或互联网边界。所以,这仅适用于发送到同一局域网内的设备。

1.3主机地址

  • 主机地址是指除网络地址和广播地址之外的IP地址部分。
  • 它用于标识一个特定的主机或设备。
  • 主机地址可以是网络中的任意一个有效地址。
  • 例如,在 IP 地址为192.168.0.0,IP掩码为255.255.255.0 的情况下,可以有从192.168.0.1到192.168.0.254的主机地址。

注意网络地址和广播地址不能被节点和网络设备所使用
一个网段的可用地址为:2的n次方-2 (n为主机部分的比特位数)

1.4 示例说明:

  假设一个公司使用的IP地址段是192.168.0.0/24,其中的主机地址范围是从192.168.0.1到192.168.0.254(共有254个主机),IP掩码为255.255.255.0。那么在这个网络中:

网络地址是192.168.0.0,用于表示整个公司内部的网络。
广播地址是192.168.0.255,用于向公司内的所有设备发送广播消息。
主机地址是从192.168.0.1到192.168.0.254,用于标识公司内每个具体的设备。
在实际应用中,注意以下几点:

网络地址和广播地址不能被分配给具体的设备,否则会导致通信问题。
通常情况下,IP地址段中的第一个地址(如192.168.0.1)被分配给默认网关,用于连接不同网络之间的通信。
IP地址段中的最后一个地址(如192.168.0.254)通常用作保留地址或广播地址。
通过理解IP掩码和区分网络地址、广播地址以及主机地址,可以更好地进行网络规划、子网划分与路由配置,并提高网络安全性和性能。

2 ip地址

计算机要实现网络通信,就必须要有一个用于快速定位的网络地址。IP地址就是计算机在网络中的唯一身份ID,与现实世界中快递的配送需要有具体的住宅地址是一个道理。

ip地址以圆点分隔号的四个十进制数字表示,每个数字从0到255,如某一台主机的ip地址为:128.20.4.1

IP地址的组成

IP地址 = 网络地址 + 主机地址(又称:主机号和网络号组成)

想想,为什么会有行政区划的划定(国家、省市区、街道等),为了更加高效的进行管理、定位;

相同的,我们通常将网络也可以分为很多的子网络,每个子网络有自己的网络地址,每个子网络由很多的计算机组成(当然也可以包含另外一个子网络)。

我们要找到指定的IP地址,只要先找到指定的网络地址,然后再该网络内找到对应的主机地址即可。

IP地址是一个 4 * 8bit(1字节)由 0/1 组成的数字串(IP4协议)

2.1网络号和主机号

ABC类地址网络号不同
A类是前8位
B类是前16位
C类是前24位

里介绍的是ipv4版本的ip地址,也是大家现阶段都在用的ip地址。

ip地址是由32位二进制数,即4个字节组成的,由网络号和主机号两个字段组成。总的来说,寻址的过程是:先按网络号把网络找到,再按主机号把主机找到。

为了便于对ip地址进行管理,同时还考虑到网络的差异很大,ip地址分为5类,即A类到E类,如下所示

2.2建立子网

现在所有的主机都支持子网编址,不是把ip地址看成单纯的网络号+主机号,而是把主机号再分成一个子网号和一个主机号。这个分配的过程就是管理员建立子网的过程。

举个例子,假设这里有个A类网络地址(120.252),在剩下的16bit中,8bit用于子网号,8bit用于主机号,格式如下所示。

这样就允许有254个子网,每个子网有254台主机。

子网对于外部来说隐藏了内部网络组织的细节。在我们的网络例子中,所有的ip地址都有一个B类网络号120.252。但是其中有超过30多个子网,多于400台主机分配在这些子网中,由一台路由器提供Internet的接,在各子网之间用路由器互连。

3子网掩码

什么是子网掩码 ?子网掩码不能单独存在,它必须结合IP地址一起使用。子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。子网掩码的设定必须遵循一定的规则。与IP地址相同,子网掩码的长度也是32位,左边是网络位,用二进制数字“1”表示;右边是主机位,用二进制数字“0”表示。

3.1 子网掩码的规则

长度 为 4 * 8bit(1字节),由 连续的1 以及 连续的0 两部分组成,

例如:11111111.11111111.11111111.00000000,对应十进制:255.255.255.0

假设,局域网中 计算机A 的IP地址为 192.168.1.1,子网掩码为 255.255.255.0, 如下图所示:

“192.168.1.1”和子网掩码为“255.255.255.0”的二进制对照。其中,“1”有24个,代表与此相对应的IP地址左边24位是网络号;“0”有8个,代表与此相对应的IP地址右边8位是主机号。

255.255.255.0 这个子网掩码将网络化分为一个子网,这个子网的容量是254(2^8-2)台主机+一个网络地址(255.255.255.0)+一个广播地址(255.255.255.255)

3.2 子网掩码的表示方法

①、点分十进制表示法
二进制转换十进制,每8位用点号隔开
例如:子网掩码二进制11111111.11111111.11111111.00000000,表示为255.255.255.0
②、CIDR斜线记法
IP地址/n
例1:192.168.1.100/24,其子网掩码表示为255.255.255.0,二进制表示为11111111.11111111.11111111.00000000
例2:172.16.198.12/20,其子网掩码表示为255.255.240.0,二进制表示为11111111.11111111.11110000.00000000
不难发现,例1中共有24个1,例2中共有20个1,所以n是这么来的。

3.3 如何根据IP地址和子网掩码,计算网络地址:

1、将IP地址与子网掩码转换成二进制数。

2、将二进制形式的 IP 地址与子网掩码做“与&”运算。
与运算符°(&)
运算规则:
0&0=0;0&1=0;1&0=0;1&1=1
即:两个同时为1,结果为1,否则为0

例如:
算法只要把IP和子网掩码的每位数AND就可以了。(AND方法:0和1=0 0和0=0 1和1=1)
如:And 192.168.0.1,255.255.255.0,先转换为二进制,然后AND每一位。
IP: 11000000.10101000.00000000.00000001
子网掩码: 11111111.11111111.11111111.00000000
得出AND结果:  11000000.10101000.00000000.00000000
转换为十进制192.168.0.0,这就是网络标识。
3、将得出的AND结果转化为十进制,便得到网络地址(每个子网的第一个地址)。

3.4 其他信息:

A类地址来说,默认的子网掩码是255.0.0.0;对于B类地址来说默认的子网掩码是255.255.0.0;对于C类地址来说默认的子网掩码是255.255.255.0。

4 如何判断是否为同一网段

ip地址:192.168.1.1 子网掩码:255.255.255.0
ip地址:192.168.1.2 子网掩码:255.255.255.0
他们是同属于一个网段的ip地址。

想在同一网段,必须做到网络标识相同。各类IP的网络标识算法都是不一样的,需要根据子网掩码的位数来判断。

算法只要把IP和子网掩码的每位数AND就可以了。(AND方法:0和1=0 0和0=0 1和1=1)

如:And 192.168.0.1,255.255.255.0,先转换为二进制,然后AND每一位。
IP: 11000000.10101000.00000000.00000001
子网掩码: 11111111.11111111.11111111.00000000
得出AND结果:  11000000.10101000.00000000.00000000
转换为十进制192.168.0.0,这就是网络标识。

其实很容易理解,只要两个ip地址的网络号和子网号都一样就是同一网段。 而网络号和子网号的位数是需要根据子网掩码才可以知道了,上述算法的原理也是基于此。

举例: 假设我们的主机地址是140.252.1.1(一个B类地址),而子网掩码是255.255.255.0(子网号8位,主机号8位主机号)

如果目的ip地址为140.252.1.5,那么我们就知道b类网络号是相同的(140.252),子网号是相同的(1),属于同一网段
如果目的ip地址为140.252.4.5,那么我们就知道b类网络号是相同的(140.252),但是子网号是不同的(1和4)。不属于同一网段
如果目的ip地址为140.251.4.5,那么我们就知道b类网络号是不相同的(140.252和140.251),后面比较就没必要了,不属于同一网段。
一般来说,如果主机没有设置防火墙禁止别人访问的话,位于同一网段是主机是可以直接访问的。

5 A B C 类地址

A类		地址范围(10进制) 						子网掩码1.0.0.1~127.255.255.254				255.0.0.0
二进制表示为:
00000001 00000000 00000000 00000001~ 
01111111 11111111 11111111 11111110
B类		地址范围(10进制) 						子网掩码128.0.0.1~191.255.255.254			255.255.0.0
二进制表示为:
10000000 00000000 00000000 00000001~ 
10111111 11111111 11111111 11111110
C类		地址范围(10进制) 						子网掩码192.0.0.1~223.255.255.254			255.255.255.0
二进制表示为:
11000000 00000000 00000000 00000001~ 
11011111 11111111 11111111 11111110

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hjln.cn/news/42487.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

PTA第二阶段三次作业总结

前言 第二阶段的三次大作业明显对设计的要求进一步提高了。我三次作业一共得到了196分,答题判断程序-4有两个测试点未通过,其他两次作业均通过所有测试点,但程序仍有许多不足,下面开始逐题分析。 7-1 答题判题程序-4 答题判断程序-4增加的多选题,填空题,本质是考察了字符…

HarmonyOS ArkTS组件 | Flex 以弹性方式布局子组件的容器组件 学习记录

HarmonyOS ArkTS组件 | Flex 以弹性方式布局子组件的容器组件 学习记录 前言:最近需要用到弹性布局,记录一下。(忽略图片水印QAQ) 说明:Flex组件在渲染时存在二次布局过程,因此在对性能有严格要求的场景下建议使用Column、Row代替。 Flex组件主轴默认不设置时撑满父容器,…

2024计算机组成原理复习——第一章

计算机组成原理复习——第一章一、计算机系统概括 本笔记不用于商业用途,内容参考《2025年计算机组成原理——考研复习指导》以及其对应的b站免费视频课(图文信息主要来自于此) (一)计算机系统结构层次 1. 计算机系统的基本组成硬件:有形的物理设备,计算机系统中实际物理…

[转帖]Linux Kernel 6.6 确认成为 LTS 版本

https://www.kernel.org/category/releases.html Greg Kroah-Hartman 已经宣布 Linux Kernel 6.6 版本为长期支持 (LTS) 版本;支持期限到 2026 年 12 月。 Linux Kernel 6.6 于 10 月 29 日正式发布,是一次包含了新功能、硬件支持、安全增强和性能改进的重大更新。具体包括有…

第4-6次大作业BLOG

目录前言第四次大作业blog设计与分析踩坑心得改进建议总结第五次大作业设计与分析踩坑心得改进建议总结第六次大作业设计与分析踩坑心得改进建议 前言 第四次作业考察了我们list和map的使用,以及对正则表达式的掌握情况,类的设计与方法的使用,第五次作业和第六次作业是电路模…

第二阶段PTA总结

前言 本阶段面向对象程序设计又进行了三次PTA训练,第一次(总第四次)还是接续上轮训练的试卷判分系统的程序设计,后两次都是新的电路设计训练题目。相对来说,第二次电路设计的第一次练习最为简单,第一次和第三次相对复杂。在这个阶段,我已经适应了PTA训练的题量和训练模式…

python-数据分析-Numpy-2

数组对象的方法应用 # -*- coding: utf-8 -*- #数组对象的方法 import matplotlib.pyplot as plt import numpy# 1、 获取描述统计信息 array1 = numpy.random.randint(1, 100, 10) print(array1) #随机数组 [64 84 10 52 3 66 4 31 79 7]#计算总和、平均值、中位数 pri…