- 在TCP/IP四层协议中,网络层主要实现逻辑地址与物理地址的转换。目前IP协议主要有两种:IPv4和IPv6,两种协议最基本的区别就是IPv4为32位,而IPv6为128位。
- 目前IPv4最为广泛,但是由于网络的普及,IPv4地址已经有些不够用了,所以IPv6也越来越广泛。
下面对于IP和子网掩码的介绍主要基于IPv4(32位)。
IP介绍
TCP/IP协议网络上的每一个网络适配器都有一个唯一的IP地址。
IP地址将32位分为四段,每8个二进制为一段,段与段之间用点分隔,日常使用中通常用十进制来表示。如大多数路由器使用的192.168.0.1
一、IP地址分为两个部分:
- 网络ID
- 主机ID
二、根据两种地址的位数不同,通常将IP地址分为3类:
- A类:前8位代表网络ID,后24位代表主机ID
- B类:前16位代表网络ID,后16位代表主机ID
- C类:前24位代表网络ID,后8位代表主机ID
三、如何识别IP属于哪一类
IP地址分类规则其他情况
对于任意一类IP地址,都有
- 全0的主机号字段表示该IP地址是“本主机”所连接到的单个网络地址(例如,一主机的IP地址为5.6.7.8,则该主机所在的网络地址就是5.0.0.0)。
- 全1的主机号字段表示该IP地址是“所有的”,即该网络上的所有主机。
A类
- 前八位网络ID全为0代表本网络
- 网络号为127(即01111111)时环回地址。目的地址是环回地址的消息,其实是由本地发送和接收的。主要是用于测试 TCP/IP 软件是否正常工作。我们用 ping 功能的时候,一般用的环回地址是 127.0.0.1
B类
- B类网络地址128.0.0.0是不指派的,而可以指派的B类最小网络地址是128.1.0.0
C类
- C类网络地址192.0.0.0是不指派的,而可以指派的C类最小网络地址是192.0.1.0
子网掩码介绍
子网掩码其实是为了分割网络,比如一个A类地址能容纳的主机数有2^24-2个主机,一般一个组织是不可能用到这么多地址的,势必会造成浪费。但是我们可以通过子网掩码来将一个A类地址划分成多个子网,根据IP和子网掩码可以判断同一个网络地址下的主机是否在同一个网段。
划分采用借位的方法,从主机最高位开始借位变为新的子网络,剩余部分仍然为主机位,使本来应当属于主机号的部分改变为网络号,这样就实现了划分子网的目的。借位使得IP地址的结构分为3部分:网络位、子网位和主机位。
例-A类地址的IP划分
例-子网掩码的划分
网络 IP 仍是由之前的分类来决定到底是多少位,主机 IP 则是由子网掩码值为 0 的位数来决定,剩下的则是子网 IP。
一、根据某一类地址计算子网掩码
(1)根据子网数
在求子网掩码之前必须先搞清楚要划分的子网数目,以及每个子网内的所需主机数目。
如欲将B类IP地址168.195.0.0划分成27个子网:
- 27=11011
- 该二进制为五位数,N = 5
- 将B类地址的子网掩码255.255.0.0的主机地址前5位置1(B类地址的主机位包括后两个字节,所以这里要把第三个字节的前5位置1),得到 255.255.248.0
(2)根据主机数
- 将主机数目转化为二进制来表示
- 如果主机数小于或等于254(注意去掉保留的两个IP地址),则取得该主机的二进制位数,为 N,这里肯定N<8。如果大于254,则 N>8,这就是说主机地址将占据不止8位。
- 使用255.255.255.255来将该类IP地址的主机地址位数全部置1,然后从后向前的将N位全部置为 0,即为子网掩码值。
如欲将B类IP地址168.195.0.0划分成若干子网,每个子网内有主机700台:
- 700=1010111100
- 该二进制为十位数,N = 10
- 将该B类地址的子网掩码255.255.0.0的主机地址全部置1,得到255.255.255.255
- 然后再从后向前将后10位置0,即为: 11111111.11111111.11111100.00000000
- 即255.255.252.0。这就是该欲划分成主机为700台的B类IP地址168.195.0.0的子网掩码。
二、根据IP和子网掩码确定网络号和主机号
子网号计算主机号计算
参考:
https://blog.csdn.net/qq_25827845/article/details/70946041
https://www.cnblogs.com/RzCong/p/5458962.html
网友评论