IP(Internel Protocol)网际协议,是网络层最主要的协议。
IP地址: IPv4、IPv6(128位)
IPv4: 32位的无符号整数(4个字节),通常,每个字节以十进制表示,中间以.连接——点分法
也是当下主流的
IPv6国家正在大力发展,本章知识点都是基于IPv4。
IP地址由:网络号 + 主机号 组成。
怎么把IP地址拆解成网络号和主机号?
1.静态方法(提前规定好)-------------已经过时了,做了解。
A类: 网络号共8位,首位固定为 0,接下来连续的7位可以自由设定;主机号为24位
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
这里举个例子:10.138.25.184
第一步:转换成二进制:00001010 138 25 184
对照上图发现,这是一个A类因为二进制第一个是0
第二步:则是用点分发表示网络号和主机号为:
网络号 10.0.0.0 主机号 0.138.25.184
这种方式淘汰的原因也很好看出来:就是太过于浪费!还是那上面这个例子说,网络号 10.0.0.0 是网络号,那么主机号就有 2^24个,这样算下来,将近两千万台主机,试问哪个公司由两千万台主机?
2.动态的方式,添加一个网络掩码(network mask)的因素
网络掩码是由一台主机或路由器使用的分配位,用以确定如何从一台主机对应的IP地址中获得网络和子网信息,更通俗点说,通过它可以确定一个IP地址的网络/子网部分的结束和主机部分的开始。
子网掩码跟IP地址的长度相等(IPv4位32位,IPv6为128位),对于IPv4来说,子网掩码也是用点分四组十进制来表示的。当子网掩码用二进制表示时,结构非常简单且容易记忆,从左边开始由一段连续的1组成,紧接着又一段连续的0组成直到最后。其中连续的1的长度称为前缀长度,用: /长度 来表示
举个例子
十进制表示 | 前缀长度 | 二进制表示 |
128.0.0.0 | /1 | 10000000 00000000 00000000 00000000 |
255.192.0.0 | /10 | 11111111 11000000 00000000 00000000 |
具体的计算公式是:
IP地址 + 网络掩码 --> 保留前 n 位 (这里的 n 就是有多少个1的意思)为网络号,剩下的是主机号
标准公式:
ip地址 & mask = 网络号 ip地址 & (取反)mask = 主机号
公式有点晦涩难懂不如来个栗子,美滋滋
特殊的IP地址
1.主机号全0的IP,不会分配给主机使用——网络号 192.168.13.193/24 192.168.13.0
2.主机号全1的IP,不会分配给主机使用——广播号 192.168.13.193/24 192.168.13.255
3.127.0.0.0/8,保留为环回地址,一般使用的是127.0.0.1