DHCP: IP地址从哪里来

2019-04-16  本文已影响0人  枯树恋

如何配置IP地址

net-tools:

liulongyang$ sudo ifconfig eth1 10.0.0.1/24
liulongyang$ sudo ifconfig eth1 up

iproute2:

liulongyang$ sudo ip addr add 10.0.0.1/24 dev eth1
liulongyang$ sudo ip link set up eth1

IP地址的配置自由度较大,但是也不是随意配置的。比如旁边的电脑的IP为192.168.1.x,你把自己的IP配置成16.158.23.6。尝试去:

liulongyang$ ping 192.168.1.6

就会出现数据包发不出去的问题。须知,只要在网络上传输的包,都是完整的,可以有下层信息没有上层信息绝对不可以有上层信息而没有下层信息。删除情况,我们发出去的包源IP和目标IP都知道,源MAC地址也知道,但是目标MAC地址填写什么呢?

Linux的机制是如果目标IP和本机IP处于同一网段,是的话就发送ARP请求获取MAC地址;如果不是则不会将包发送到网络上,而是企图发送给网关。

这种情况下,如果配置网关则目标MAC地址填写的是网关地址。所以对于你的旁边的机器来讲,IP地址是它的,但是MAC地址不是它的,所以它的网卡不会接收这些数据包。如果没有配置网关,包压根发不出去。网关要和当前网络的至少一个网卡在同一个区段。

真正配P地址的配置是通过修改配置文件实现的,基本都包括CIDR、子网掩码、广播地址和网关地址。

DHCP(Dynamic Host Configuration Protocol):动态主机配置协议

  1. DHCP Discover
    新加入的机器使用IP地址为0.0.0.0发送广播包,目标IP为255.255.255.255。广播包封装了UDP,UDP封装了BOOTP,DHCP是BOOTP的增强版。新加入的机器对大家说:我是新来的(Boot Request),这是我的MAC地址,还没有IP地址,哪位可以租给我一个?

    新人请求租借IP.jpg
  1. DHCP Offer
    DHCP server根据MAC知道这个机器刚加入进来,需租借给他IP地址,并且保留记录,不会为其他机器分配此IP.
DHCP服务器提供IP.jpg
  1. IP地址选取
    如果有多个DHCP server,新来的机器会收到多个IP地址,他一般回选取那个最早到达的那个IP,并向网络发送DHCP Request广播包,包含MAC地址、接受的IP地址、提供此IP的DHCP Server的地址等,目的是通知其他的DHCP Server自己的选择,请求撤销它们提供的IP地址,以便租给其他IP租用请求者。
新人确定租借IP.jpg
  1. DHCP Server ACK
    DHCP server收到客户机的DHCP request后,广播返回给客户机一个 DHCP ACK包,表明接受客户机选择,并将IP地址的合法租用信息以及其他配置信息放入此包。

    DHCP服务器确认租借IP.jpg

IP地址的收回和续租

如果不再使用,IP地址到期会被DHCP服务器收回。

续租流程:客户机在IP租期过去50%的时候,向DHCP server发送DHCP request包,DHCP server收到后返回确认包,客户端据此更新租期和网络参数,续租完成。

上一篇下一篇

猜你喜欢

热点阅读