【网络】- TCP/IP四层(五层)协议 – 网际层(网络层) – IP地址
一、概述
上篇文章简单介绍了网际协议IP。网际协议 IP 大致分为三大作用模块, ①IP寻址、 ②路由(最终节点为止的转发) 、③IP分包与组包。
这篇文章主要详细介绍IP地址的基础知识。包括IP地址的组成、分类、广播地址、多播、子网掩码等。在用 TCP/IP 通信时, 用 IP地址 识别主机和路由器。 为了保证正常通信, 有必要为每个设备配置正确的IP地址。 在互联网通信中, 全世界都必须设定正确的IP地址。 否则, 根本无法实现正常的通信。
因此, IP地址就像是TCP/IP通信的一块基石。
二、IP地址的定义
IP地址(IPv4地址) 由32位正整数来表示,在计算机内部以二进制(二进制是指用0、 1表示数字的方法)方式被处理。
现实中,更常使用
点分十进制
来表示IP地址,也就是将32位的IP地址以每8位为一组,分成4组, 每组以“.”隔开, 再将每组数转换为十进制数。
将表示成IP地址的数字整体计算, 会得出如下数值。
2
32
2^{32}
232 = 4294967296 。从这个计算结果可知, 最多可以允许43亿台计算机连接到网络。但是有些主机包含多个网卡,要设置多个IP地址,这样的话,可用的IP地址就变少了。而且,IP地址分成 网络部分 和 主机部分,使IP地址的可用个数又少了许多。那怎么解决这个IP地址个数的问题呢?可以使用 IPv6 将 IP 地址个数增多,但现在普遍使用的还是NAT技术(一种使用私有地址的技术,后面的文章会讲)。
三、IP地址的组成
IP地址由 网络标识(网络地址) 和 主机标识(主机地址)两部分组成。网络标识 在数据链路的每个段配置不同的值,也就是常用来区分网段的标识,相同段内相连的主机必须有相同的 网络地址。主机地址 则不允许在同一网段内重复出现。
那么,在32位的IP地址中,网络地址 和 主机地址 分别占用多少位呢?
最初,网络地址 和 主机地址 占用的位数,以分类方式进行区别。 而现在基本以子网掩码(网络前缀) 区分,子网掩码可以让用户设置 网络地址 和 主机地址 的占用位数,例如:192.168.128.10/24
的24就表示子网掩码有24位,也表示网络地址占用24位。
四、IP地址的分类
IP地址根据从第1位到第4位的比特列对其 网络标识 和 主机标识 进行区分,总共分为5类:
- A类地址:前8位是 网络地址(网络号),剩下24位是 主机地址(主机号);
网络地址 的首位以0
开头,剩余7位,总共有2
7
2^{7}
27=128个,用点分十进制表示A类网络地址范围为:0.0.0.0 ~ 127.0.0.0,其中
0.0.0.0
是个保留地址,意思为本网络;127.x.x.x
的地址保留作为本地软件环回测试,例如,127.0.0.1
就是环回地址。总共可用数位126个。
主机地址 有2
24
2^{24}
224=16,777,216个,减去
x.0.0.0
和x.255.255.255
,所以有 16,777,214 个。- B类地址:前16位是 网络地址(网络号),剩下16位是 主机地址(主机号);
网络地址 的前两位以10
开头,剩余14位,总共有2
14
2^{14}
214=16384个,用点分十进制表示B类网络地址范围为:128.0.0.0 ~ 191.255.0.0,其中
128.0.0.0
不可使用,可使用的B类最小地址为128.1.0.0
,总共可用网络地址数位2
14
2^{14}
214-1=16383个。
主机地址 有2
16
2^{16}
216=65536个,减去
x.x.0.0
和x.x.255.255
,所以有 65534 个。- C类地址:前24位是 网络地址(网络号),剩下8位是 主机地址(主机号);
网络地址 的前三位以110
开头,剩余21位,总共有2
21
2^{21}
221=2,097,152个,用点分十进制表示C类网络地址范围为:192.168.0.0 ~ 239.255.255.0,其中
192.0.0.0
不可使用,可使用的B类最小地址为192.0.1.0
,总共可用网络地址数位2
21
2^{21}
221-1==2,097,151个。
主机地址 有2
8
2^{8}
28=256个,减去
x.x.x.0
和x.x.x.255
,所以有 254个。- D类地址:32位都是 网络地址(网络号),没有主机地址,常用于 多播。
网络地址 的前四位为1110
开头,剩余28位,总共有2
28
2^{28}
228=268,435,456个,用点分十进制表示C类网络地址范围为:224.0.0.0 ~ 239.255.255.255。
- E类地址:前四位为
1111
开头,未使用,保留。
![]()
五、广播地址
广播地址用于在同一个链路(网段)中相互连接的主机之间发送数据包。
将IP地址中的主机地址部分全部设置为1, 就成为了广播地址,例如
192.168.1.255/24
就是一个广播地址。同样的,将MAC地址的所有位都设置为1,则形成
FF:FF:FF:FF:FF:FF
的广播地址,广播的IP包以数据链路的帧的形式发送时,需要通过MAC地址为全1比特的FF:FF:FF:FF:FF:FF
转发。广播分为本地广播和直接广播两种。在本网络内的广播叫做本地广播,在不同网络之间的广播叫做直接广播。
参考资料:
《计算机网络》第7版 谢希仁 编著
《图解TCP/IP》第5版
主机的定义应该是指“配置有IP地址, 但是不进行路由控制的设备。既配有IP地址又具有路由控制能力的设备叫做“路由器”,而节点则是主机和路由器的统称。