首页 > 编程知识 正文

黑马java笔记,黑马前端笔记专栏

时间:2023-05-03 15:23:20 阅读:228726 作者:1042

44黑马QT笔记之IP地址的划分与是否在同一网段

前提:
1)网络ID:ip地址的第一个字节。
2)网络地址:在这里你可以认为它就是网络ID。
3)网段:用来区分网络上的主机是否在同一区段内,只要知道ip地址和子网掩码就知道该网段。在局域网中只有网段相同才能通信。是否在同一网段用网络标识来判断。
4)网络标识:将ip地址与子网掩码相与就是网络标识。
5)主机标识:将ip地址与子网掩码取反后相与,得出的就是主机标识。
6)子网掩码:用于决定每个网络ID所对应的主机数。

1 IP地址的划分:
每个IP地址包括两个标识码(ID),即网络ID和主机ID。IP地址根据网络地址的不同分为5种类型,A类地址、B类地址、C类地址、D类地址和E类地址。

1)A类地址:
一个A类IP地址由1字节的网络地址和3字节主机地址组成,它主要为大型网络而设计的,网络地址的最高位必须是“0”, 所以ip地址范围从0.0.0.0 到127.255.255.255。
由于A类默认子网掩码为255.0.0.0,将其转成二进制后用公式2^m-2求,m代表掩码转成二进制后的零的个数,减2因为第四个字节的0和255不能用。所以该子网掩码能容纳2的24次方-2=16777214台计算机主机。
注:
A:0-127,其中0代表任何地址,127为回环测试地址。因此,A类网络地址的实际范围是1-126。其中127.0.0.1是一个特殊的IP地址,表示主机本身,用于本地机器的测试。
总结A类:可用网络ID少(即1-127,0不能用但127能),但每个网络ID的主机数很多(一千多万)。

2)B类地址 :
一个B类IP地址由2个字节的网络地址和2个字节的主机地址组成,网络地址的最高位必须是“10”,所以ip地址范围从128.0.0.0到191.255.255.255。由于B类默认子网掩码为255.255.0.0,所以该子网掩码能容纳6万多个主机 。
注:
B:128-191,其中128.0.0.0和191.255.0.0为保留ip,因此,B类网络地址实际范围是128.1.0.0-191.254.0.0。
总结B类:可用网络Id一万多(即64*256-2=16382,减2代表两个保留ip),每个网络ID的主机数有六万多。

3)C类地址 :
一个C类IP地址由3字节的网络地址和1字节的主机地址组成,网络地址的最高位必须是“110”。所以ip地址范围从192.0.0.0到223.255.255.255。由于C类默认子网掩码为255.255.255.0,所以该子网掩码能容纳254台主机 。
注:C:192-223,其中192.0.0.0和223.255.255.0为保留ip,因此,C类网络地址实际范围是192.0.1.0–223.255.254.0。(实际范围本人这里看得不是很懂)
总结C类:可用网络Id有209万多(即32x256x256-2=2097152,减2代表两个保留ip),每个网络ID的主机数有254台主机。

4)D类地址 :
不划分网络地址和主机地址,用于广播(Multicast)。 D类IP地址第一个字节以“1110”开始,地址范围从224.0.0.0到239.255.255.255。它是一个专门保留的地址。广播地址用来一次寻址一组计算机,它标识共享同一协议的一组计算机。
总结D类:该类地址用于广播和组播。

5)E类地址:
以“1111”开始,为将来使用保留。地址范围从240.0.0.0到255.255.255.254。255.255.255.255用于广播地址。而且255.255.255.255在所有网段都属于广播地址。
注:
全零0.0.0.0地址对应于当前主机。全“1”的IP地址255.255.255.255是当前子网的广播地址。

2 总结记忆:
1)我们记忆3类常用的IP范围:
  A类IP段:  0.0.0.0 到127.255.255.255。
  B类IP段:  128.0.0.0 到191.255.255.255 。
  C类IP段:  192.0.0.0 到223.255.255.255。
  A类的默认子网掩码: 255.0.0.0。     一个子网最多可以容纳1677万多台电脑。
  B类的默认子网掩码: 255.255.0.0。    一个子网最多可以容纳6万多台电脑。
  C类的默认子网掩码: 255.255.255.0。   一个子网最多可以容纳254台电脑。
  
2)IP地址划分图:这里是二级划分,三级划分时多了一个子网号。由于我不是计算机专业,所以没深入了解。

3 如何判断IP是否在同一网段?
 1)例子1:
 相信好多人都和我一样,认为IP只要前三段相同,就是在同一网段了,其实,不是这样的。要想在同一网段,必需做到网络标识相同,那网络标识怎么算呢?
 算法只要把IP和子网掩码的每位数AND就可以了。这里就拿IP: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,这就是网络标识。
  
  其实,若我们再将子网掩码取反,也就是 00000000.00000000.00000000.11111111,与IP与后:
  得出结果00000000.00000000.00000000.00000001,转换为10进制,即0.0.0.1。这0.0.0.1就是主机标识。要想在同一网段,必需做到网络标识一样。
  
   2)重点看例子2:
  我们再来看看这个改为默认子网掩码的B类IP。
  如IP:188.188.0.111,188.188.5.222,子网掩码都设为255.255.254.0,在同一网段吗?
  先将IP与子网掩码转换成二进制:
  188.188.0.111 10111100.10111100.00000000.01101111
  188.188.5.222 10111100.10111100.00000101.11011010
  255.255.254.0 11111111.11111111.11111110.00000000
  分别AND,得出:
  10111100.10111100.00000000.00000000
  10111100.10111100.00000100.00000000
  网络标识不一样,即不在同一网段。所以不能单纯的看A类ip地址的第一段、B类前两段、C类前三段相同就是同一网段。必须转成网络标识才能准确的判断是否在同一网段。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。