IP地址
IP作用于OSI参考模型中的网络层,在终端通信中作为唯一标识,便于确定数据的传递目标。
IP地址分为:IPv4 、IPv6;大多数用户熟悉并且流行的IP地址是IPv4,其是用点分四组十进制的表示方法展示的,例如,==192.168.23.4==,==117.43.56.3==等。而IPv6的位数就比较大了,是128位的,长度是IPv4的4倍,并且其表示方式是分块的八组四个十六进制数,例如:5f05:2000:80ad:5800:0058:0800:2023:1d71
,每个块儿之间都是用 :
隔开的。如果把IPv6和端口号一起使用的话,可能会出现这样的情况:http://2001:0db8:85a3:08d3:1319:8a2e:0370:7344:443/
这样就没法区分端口号和地址了,所以就用这样的方式来表示一个地址和端口号:http://[2001:0db8:85a3:08d3:1319:8a2e:0370:7344]:443/
ip寻址
在长度为32位的IPv4地址中,有一段连续位称为网络号,还有一段连续位称为主机号。
网络号就是用来表示主机所处的网络区域,而主机号是用来确认表示主机所处当前网络中的特定主机。这样在寻址的时候就可以识别一台主机所处网络以及在网络区域中的具体地址了!
ipv4分类
在IPV4中,网络地址可以分为5类:A类,B类,C类,D类,E类;
- A类:网络号共8位,首位固定为
0
,接下来连续的7位可以自由设定;主机号为24位;地址范围:0.0.0.0~127.255.255.255
;因为B类最小值就是前两位为10,后面全为0的数值,也就是128.0.0.0;后面的地址范围依次类推; - B类:网络号共16位,前两位固定为
1 0
,接下来连续的14位可以自由设定;主机号为16位; - C类:网络号共24位,前三位固定为
1 1 0
,接下来连续的21位可以自由设定;主机号为8位; - D类:为组播地址,共32位,前四位固定为
1 1 1 0
; - E类: 为保留地址,共32位,前四位固定为
1 1 1 1;
A 、B 、C类地址大多都是单播地址,因此它们可用于接口分配。
就拿A类地址来说,因为A类地址网络号占8位,而首位固定是0,那么剩下的7位都是可以自由分配的,而主机号位数是24位,那么就有2^24个主机数,意思就是A类地址可以分配2 ^7个网络区域,每个网络区域可以有2 ^24台主机。
既然ip地址划分为5类,那么他们地址范围是什么呢?
子网寻址
在一些特殊的场景下,如果一个区域的主机数不能跟实际需求想符合,比如如果我们在C类网络下需要他所能承受范围内的主机数;那么就会造成ip不足;另一方面,如果我们在A类网络区域下,但是主机却只有几台,那么就会造成浪费,这实在是暴殄天物啊!于是我们就采用了子网寻址的方法解决这个问题。
所谓子网寻址就是将一个类别的子网继续划分成多个子网区域,每个区域各自有对应的子网号和主机号;例如,B类网络网络号有16位,主机号有16位,我们可以将16位主机号分为8位子网号和8位主机号,这样将B类网络划分为了很多个子网,更加适用于我们实际的生产环境。
子网掩码
确定一个ip地址的网络/子网部分的结束和主机部分的开始;他的长度和ip地址长度相等(IPV4是32位,ipv6是128位),对于IPv4来说,子网掩码也是用点分四组十进制来表示的。当子网掩码用二进制表示时,结构非常简单且容易记忆,从左边开始由一段连续的1组成,紧接着又一段连续的0组成直到最后。其中连续的1的长度称为前缀长度,用 /长度
来表示
十进制表示 | 前缀长度 | 二进制表示 |
---|---|---|
128.0.0.0 | /1 | 10000000 00000000 00000000 00000000 |
255.0.0.0 | /8 | 11111111 00000000 00000000 00000000 |
255.192.0.0 | /10 | 11111111 11000000 00000000 00000000 |
255.255.0.0 | /16 | 11111111 11111111 00000000 00000000 |
255.255.254.0 | /23 | 11111111 11111111 11111110 00000000 |
255.255.255.224 | /27 | 11111111 11111111 11111111 11100000 |
255.255.255.255 | /32 | 11111111 11111111 11111111 11111111 |
子网掩码二进制位1对应ip地址的网络/子网部分;0对应主机号部分,以子网寻址的例子为例,将B类网络的主机位划分为8位子网号和8位主机位号,那么就会提前设置好一个长度为16+8=24的子网掩码,即255.255.255.0,表示前24位是网络/子网部分,那么路由器在处理ip地址的时候会手先查看子网掩码,将ip地址与子网掩码进行与运算就可以得出该IP地址所属的子网区域。例如,校验128.32.1.14,这个ip就是8位子网号8位主机号,那么与子网掩码255.255.255.0进行与运算就得到128.32.1.0,可以发现该结果和128.32.1.14属于同一网段,也就是处于相同子网。
在实际使用中子网掩码的长度是可变的,我们可以根据实际所需支持的主机数来设置子网掩码的长度。
广播地址
广播地址是专门用于同时向网络中所有工作站进行发送的一个地址。在使用TCP/IP 协议 协议/2116790)的网络中,主机标识段host ID 为全1 的IP 地址为广播地址,广播的分组传送给host ID段所涉及的所有计算机。简单的说该子网段中数值最大的那个数就是广播地址。那么如何取得这个地址呢,就是将子网掩码的所有位取反,然后与子网内的ip进行或运算得到的结果就是广播地址。
本文转载自: 掘金