IP 分类
A类:0.0.0.0 -- 127.255.255.255
前8位为网络号,后24位为主机号,可用私有ip数是2的24次方
B类:128.0.0.0.0 --191.255.255.255
前16位为网络号,后16位为主机号。可以用私有ip数是2的16次方
C类:192.0.0.0 -- 233.255.255.255
前24位为网络号,后8位为主机号,可用私有ip数为
=254个
A类一般用于大型网络,B类一般用于中型网络,C类一般用于小型网络。但是尴尬的情况是C类IP可用ip数只有254个,除去网关ip,广播ip就更少了,可能大一点的网吧都不够用。但是B类IP的私有ip数是2的16次方又太多了,很多ip都会浪费掉。于是乎互联网工作小组这个组织在1993年制定了CIDR协议。它是一个按位的,基于前缀计算ip的标准。简单来说就是跳出了以前IP前缀 24位,16位,8位的限制,可以分配任意长度的前缀。
伴随的CIDR的一个是广播地址还有一个子网掩码。例如10.100.122.2/24 这个ip,广播地址是10.100.122.255,如果发送广播包到之歌地址,所有10.100.122网络里的主机都能都到信息。子网掩码是255.255.255.0.看看为什么,将子网掩码跟ip按位与计算,子网掩码翻译成二进制就是11111111.11111111.11111111.00000000,前面24位都是1,1跟任何说按位与都是原来数,所以前面10.100.122不变,最后一位0与任何数按位与都是0,所以最后一位还是0,这样得到最后计算结果是10.100.122.0,这个就是网络号。将ip与子网掩码按位与计算得到网络号。ip剩下的位数表示主机号。
IP 分配
会用Linux的系统的人应该都会用ifconfig或者 ip addr 命令给自己的机器配置个ip。但是如果你的机器身在一个局域网中,有时你会发现ip是配上了,但是网络还是不可用的。你关掉机器后从其他机器ping这个ip还ping的通,说明这个ip已经被别人捷足先登先霸占了。那你咋办呢,一个方法是你配置子网的某个ip之前,先ping一下你想用的ip,ping不同的话说明你可以用。然后再去配。不过也不一定,万一人家恰巧在这个时候是关机状态呢?等人家一开机,你俩又冲突了。
还有个方法就是你去DHCP 服务器上获取ip,DHCP server一般部署在路由器或者三层交换机上。从DHCP上获取ip流程如下:
具体经历一下步骤
1. 主机发送广播包,广播包中包含UDP包,UDP保重包含BOOTP包,BOOTP中就是你的request内容,大概是我是新来的,MAC地址是啥啥啥,我还没有ip,我来请求个ip,这里一定要带上MAC地址,这样DHCP server才知道相应谁。这一步成为DHCP Discovery
2. DHCP server收到主机发过来的BOOTP后,给你分配个空闲的ip,并把他标为已用,这样不会再分配给其他主机这个ip,同样发送个广播包,大概是 MAC地址是啥啥啥的主机,给你分配之歌ip地址如何。这一步称为DHCP OFFER
3. 主机收到DHCP 响应通知后,很高兴,不过还是发DHCP request给DHCP说我用了这个ip了,这一步称为Request
4. DHCP收到 request通知后,确认主机使用这个IP 就发个确认通知,子网中所有主机都知道这个ip被这个主机使用了。这一步称为DHCP ACK
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/118959.html