IP地址分类以及子网划分「建议收藏」

IP地址分类以及子网划分「建议收藏」IP地址:是网络层的概念,IP地址长度为32位,分为四个8位,用点分十进制来表示,每部分范围0~255(0~255.0~255.0~255.0~255)。一个可有2的32次方个IP地址。1、IP地址的分类最初设计互联网络时,为了便于寻址以及层次化构造网络,每个IP地址包括两个标识码(ID),即网络ID和主机ID。同一个物理网络上的所有主机都使用同一个网络ID,网络上的一个主机(包括网络上工作站,服务器和路由器等)有一个主机ID与其对应。IP地址根据网络ID的不同分为5种类型,A类地址、B

大家好,又见面了,我是你们的朋友全栈君。

IP地址:是网络层的概念,IP地址长度为32位,分为四个8位,用点分十进制来表示,每部分范围0~255(0~255 . 0~255 . 0~255 . 0~255)。一个可有2的32次方个IP地址。
在这里插入图片描述


1、IP地址的分类

最初设计互联网络时,为了便于寻址以及层次化构造网络,每个IP地址包括两个标识码(ID),即网络ID和主机ID。同一个物理网络上的所有主机都使用同一个网络ID,网络上的一个主机(包括网络上工作站,服务器和路由器等)有一个主机ID与其对应。IP地址根据网络ID的不同分为5种类型,A类地址、B类地址、C类地址、D类地址和E类地址。

1. A类IP地址 一个A类IP地址由1字节的网络地址和3字节主机地址组成,网络地址的最高位必须是“0”, 地址范围从1.0.0.0 到126.0.0.0。可用的A类网络有126个,每个网络能容纳1亿多个主机。一般用于大型网络。

2. B类IP地址 一个B类IP地址由2个字节的网络地址和2个字节的主机地址组成,网络地址的最高位必须是“10”,地址范围从128.0.0.0到191.255.255.255。可用的B类网络有16382个,每个网络能容纳6万多个主机。一般用于中型网络。

3. C类IP地址 一个C类IP地址由3字节的网络地址和1字节的主机地址组成,网络地址的最高位必须是“110”。范围从192.0.0.0到223.255.255.255。C类网络可达209万余个,每个网络能容纳254个主机。一般用于小型网络。

4. D类地址用于多点广播(Multicast)。 D类IP地址第一个字节以“lll0”开始,它是一个专门保留的地址。它并不指向特定的网络,目前这一类地址被用在多点广播(Multicast)中。多点广播地址用来一次寻址一组计算机,它标识共享同一协议的一组计算机。224.0.0.0到239.255.255.255用于多点广播 。

5. E类IP地址 以“llll0”开始,为将来使用保留。240.0.0.0到255.255.255.254
在这里插入图片描述网络号和主机号加起来是32位(即4字节),正好表示一个ip地址,我们可以根据网络号来判断ip地址是属于哪一类。你可以认为网络号表示主机当前处于哪一个网段,而主机号则表示这个网段下具体的某一台主机。也就是说,通过ip地址的网络号和主机号可以找到某一个网段下的具体的某一台主机。

1、特殊的主机号:

  • 主机号全0表示当前网络段,不可分配位特定主机
  • 主机号全1表示广播地址,向当前网络段所有主机发消息,也是不能分配给主机的

上述的“0”和“1“指的是二进制状态下的0和1,对应的是(以A类地址举例)1.0.0.0和1.255.255.255。

2、特殊的网络号:

  • A类地址网络段全0(00000000)表示特殊网络,不能使用
  • A类地址网络段后七位全为1(01111111换成十进制也就是127)表示回环地址,也是不能使用的。如:127.0.0.1可以代表本机IP地址,ping 127.0.0.1 可以测试本机TCP/IP是否正常
  • B类地址网络段(10000000.00000000 : 128.0)不能使用
  • C类地址网络段(192.0.0)不能使用

在这里插入图片描述
私有地址:
在这里插入图片描述
在现在的网络中,IP地址分为公网IP地址和私有IP地址。公网IP是在Internet使用的IP地址,而私有IP地址则是在局域网中使用的IP地址。

问题:如何判断一个IP地址属于哪一类?
取点分十进制的头一段转化为8位的二进制即可。(或者看地址范围也行)
如:
125.125.3.60 其中125转化为01111101,第一位二进制是0,所以是A类地址
163.70.31.23 其中163转化为10100011,前两位二进制是10,所以是B类地址
210.36.127.11其中210转化为11010010,前三位二进制是110,所以是C类地址

2、IP地址的子网划分

问题:如果一个公司有256名员工,一人一个计算机,申请哪种网络段呢?(在没有NAT技术的情况下)
如果分配C类地址则只能分配254个主机号,不能满足需求,但是分配B类地址的话又会造成极大的地址空间浪费。于是我们提出了子网划分的概念。

子网划分是通过借用IP地址的若干位主机地址来充当子网地址(从左面第一位不是网络号的位开始借,而且借位必须是连续的不能跳跃),从而将原网络划分为若干子网而实现的。 划分子网时,随着子网地址借用主机位数的增多,子网的数目随之增加,而每个子网中的可用主机数逐渐减少。

这样P地址就被分为:网络号、子网号、主机号。
在这里插入图片描述
比如:一个C类网络段193.10.10.0,在主机号的八位中取第一位来当子网号,则子网号为0可取到的主机号范围193.10.10.1~193.10.10.126(0或者127不取,取0代表网段,取127是广播),共126个;子网号为1可取的主机号范围193.10.10.129~193.10.10.254(128和255不去,取128代表网段,取255是广播)。我们把子网分配给只有100人左右的公司的话,就可以减少IP地址的浪费。

对于上面提出的问题,我们可以在B类地址的基础上,借几位主机号来当子网号,将子网分配给公司。

划分子网的好处:
1、节约IP地址,避免浪费。
2、限定广播的传播。
3、保证网络的安全。
4、有助于覆盖大型地理区域。

2.1 子网掩码

子网掩码是用来判断任意两台计算机的 IP 地址是否属于同一子网络的根据。
最为简单的理解就是两台计算机各自的 IP 地址与子网掩码进行 and 运算后,得出的结果是相同的,则说明这两台计算机是处于同一个子网络上的,可以进行直接的通讯。
在这里插入图片描述

子网掩码和IP地址一样,也是32位。由连续的1和连续的0组成,表示网络号或者子网号的位是1,表示主机号的位数是0。
比如,没有划分子网的C类地址的子网掩码就是11111111.11111111.11111111.00000000,用点分十进制表示则为255.255.255.0,用CIDR斜线记法表示为/24

根据是否有划分子网,将子网掩码分为缺省子网掩码自定义子网掩码

1、缺省子网掩码
未做子网划分的IP地址:网络号+主机号

  • A类网络缺省子网掩码: 255.0.0.0,用CIDR表示为/8
  • B类网络缺省子网掩码: 255.255.0.0,用CIDR表示为/16
  • C类网络缺省子网掩码: 255.255.255.0,用CIDR表示为/24

2、自定义子网掩码
做子网划分后的IP地址:网络号+子网号+子网主机号
如:192.168.1.100/25,其子网掩码为11111111.11111111.11111111.10000000,点分十进制表示:255.255.255.128


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/140038.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • Coordinator Layout使用

    Coordinator Layout使用

  • 安卓开发个人小作品(3) – 多功能音乐播放器[通俗易懂]

    安卓开发个人小作品(3) – 多功能音乐播放器[通俗易懂]这次介绍一个多功能音乐播放器,记得是大二那年寒假写的,实现的主要功能就是音乐播放,带进度条控制,扫描本地音乐,上一曲下一曲,播放类型(单曲循环,顺序播放,随机播放),APP主题换肤,背景图更换等,功能都比较基础,基本上如果你不会的话,跟着我的思路,应该都是能实现的,预计会在以后加入歌词的功能。在开始前,先放一张最后的效果图吧,我个人喜欢的风格,简约,美观。目录1.实现扫描本地音乐…

  • IntelliJ IDEA 如何设置黑色主题,界面字体大小以及内容字体大小

    IntelliJ IDEA 如何设置黑色主题,界面字体大小以及内容字体大小IntelliJIDEA如何设置黑色主题,界面字体大小以及内容字体大小

  • python中griddata_python – 来自xyz数据的Matplotlib轮廓:griddata无效索引[通俗易懂]

    python中griddata_python – 来自xyz数据的Matplotlib轮廓:griddata无效索引[通俗易懂]我正在尝试使用具有以下格式的文件的matplotlib来绘制等高线图:x1y1z1x2y2z2等等我可以用numpy.loadtxt加载它来获取向量.到目前为止,没有麻烦.我读这个是为了学习如何绘图,并且可以通过复制粘贴来重现它,所以我确定我的安装没有错:我知道我必须输入x和y作为矢量,z作为数组输入,这可以用griddata完成.这也是我在这个网站上找到的.文件说:zi=gridda…

  • C语言将int强制转换为char_C语言char数组长度

    C语言将int强制转换为char_C语言char数组长度今天遇到一个小陷阱。本来想看一个字符转成整型之后对应的值,结果竟意外的发现,转成的整型大于256。我:????字符不是只有一个字节么?我把这个字符的前后字符都置0,结果还是一样。我就懵逼了。一查才知道,和signedchar转成int的“潜规则”有关。原来,对于signedchar,将其转化为int时,最高位为符号位,那么扩展时,就会对符号位进行扩展,即将整型比字符多出来的位全部设置成与…

  • 动态规划——背包问题(c语言)

    动态规划——背包问题(c语言)/*背包问题:背包所能容纳重量为10;共五件商品,商品重量用数组m存储m[5]={2,2,6,5,4},每件商品的价值用数组n存储,n[5]={6,3,5,4,6};求背包所能装物品的最大价值。

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号