Python数据分析与可视化:实战案例解析
142
2023-10-25
【摘要】 本书摘自《零基础Python 从入门到精通》一书中第16章,第1节,编者是壹零快学。
16.1.3 什么是IP地址?
目前,IP协议被广泛使用,究其原因在于IP具有介质无关性,因为TCP/IP协议栈已经表示了通向下面物理层和数据链路层的网络接口。这样,IP就可以在几种不同的介质技术组成的网络架构上进行操作。对于每台计算机而言, 一个网络接口对应一个IP地址。
目前IP地址有两种——IPv4地址和IPv6地址,由于IPv4使用32bit表示IP地址,在理论上只能提 供232个不同的主机地址(事实上,这个数量由于一些历史原因,还要更少) ,所以IPv6地址将会逐 步取代IPv4。不过由于目前还是以IPv4为主流,本章重点介绍的还是IPv4地址。
IPv4地址被分为A、B、C、D、E五类,下面是每一类对应的IP地址的范围。
A类地址范围: 1.0.0.1到126.255.255.254
B类地址范围: 128.0.0.1到191.255.255.254
C类地址范围: 192.0.0.1到223.255.255.254
D类地址范围: 224.0.0.1到239.255.255.254
E类地址范围: 240.0.0.1到255.255.255.255
乍一看似乎看不出什么规律,但它其实是按照IP地址首字节(8位)的最高位为1的个数进行 划分的,也就是:
A类地址范围:0xxxxxxx
B类地址范围:10xxxxxx
C类地址范围:110xxxxx
D类地址范围:1110xxxx
E类地址范围:11110xxx
这五类地址中,A、B、C三类地址用作单播地址,也就是用于单个信源到单个目的的通信,D 类地址是为IP组播应用保留的,E类地址是为实验保留的。
特殊的是,单播地址中又有地址块被另外保留下来,作为私有地址使用,也就是不能与公共 的Internet进行连接。以下地址被规定为私有地址:
10.0.0.0到10.255.255.255
172.16.0.0到172.31.255.255
192.168.0.0到192.168.255.255
讲完了IPv4的地址分类后,再简单介绍一下IP地址的构成:前8位,即首字节,用于标示网络 的ID。后24位,用于表示主机ID。比如1.0.0.1和2.0.0.1表示不在同一网段内的不同主机,因为其前8 位不一样;而1.0.0.2和1.0.0.3则表示了在同一网段的不同主机。其中除去表示网络ID的字节,剩余 表示主机ID的字节如果是全0和全1的话,则分别表示的是网络地址和广播地址。在计算一个网段 内能有多少不同主机的时候,需要减去2,即网络地址和广播地址。
16.1.4 什么是子网掩码?
上一小节介绍了IP地址的分类,这样的分类会造成一个问题。比如, 一个组织内总共有两台主机,主机A的IP地址为10.0.0.1,主机B的IP地址为10.0.0.2,除去前8位表示网络ID,后24位中一 共可以表示224-2台主机,但因为只有两台主机,所以浪费了大量的IP资源。为解决这一问题,人们提出了子网掩码的概念。
子网掩码的技术其实就是用主机ID的位数来标示网络ID,从而对IP地址进行更细的分类。通 常用1表示网络位,用0表示主机位,比如192.168.1.0 和255.255.255.0,有的时候会用192.168.1.0/24来表示,其中“24”表示子网掩码中1的个数。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们 18664393530@aliyun.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~