趣谈网络协议——DHCP与PXE:IP是怎么来的,又是怎么没的?(笔记)

配置IP地址

方法一

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

方法二

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

如果配置的IP地址和局域网不再同一个网段会导致网络包发不出去。原因是不知道目标服务器的MAC地址,具体原因是Linux 首先会判断,要去的这个地址和我是一个网段的吗,或者和我的一个网卡是同一网段的吗?只有是一个网段的,它才会发送 ARP 请求,获取 MAC 地址。如果发现不是,Linux 默认的逻辑是,如果这是一个跨网段的调用,它便不会直接将包发送到网络上,而是企图将包发送到网关。而网关地址要和当前的网络至少一个网卡是同一个网段的。

动态主机配置协议(DHCP)

有了这个协议,网络管理员只需要配置一段共享的IP地址,每一台新加入的机器都会通过该协议获得一个IP地址,当该机器退出时,将该IP地址归还,如果还想继续使用就会自动续约。

解析 DHCP 的工作方式

(1)当一台机器新加入一个网络的时候,通过DHCP Discover协议,使用IP地址0.0.0.0发送一个广播包,目标IP地址为255.255.255.255。广播包封装了 UDP,UDP 封装了 BOOTP,其实 DHCP 是 BOOTP 的增强版。
(2)当一台机器带着自己的 MAC 地址加入一个网络的时候,网络管理员通过MAC地址判断该机器是否已经加入到该网络中。只有 MAC 唯一,IP 管理员才能知道这是一个新人,需要租给它一个 IP 地址,这个过程我们称为DHCP Offer。同时,DHCP Server 为此客户保留为它提供的 IP 地址,从而不会为其他 DHCP 客户分配此 IP 地址。
(3)DHCP Server 仍然使用广播地址作为目的地址,因为,此时请求分配 IP 的新人还没有自己的 IP。DHCP Server 回复说,我分配了一个可用的 IP。除此之外,服务器还发送了子网掩码、网关和 IP 地址租用期等信息。
(4)如果新加入的机器收到多个,它会选择其中一个 DHCP Offer,一般是最先到达的那个,并且会向网络发送一个 DHCP Request 广播数据包,包中包含客户端的 MAC 地址、接受的租约中的 IP 地址、提供此租约的 DHCP 服务器地址等,并告诉所有 DHCP Server 它将接受哪一台服务器提供的 IP 地址,告诉其他 DHCP 服务器,并请求撤销它们提供的 IP 地址,以便提供给下一个 IP 租用请求者。
(5)由于还没有得到 DHCP Server 的最后确认,客户端仍然使用 0.0.0.0 为源 IP 地址、255.255.255.255 为目标地址进行广播。在 BOOTP 里面,接受某个 DHCP Server 的分配的 IP。
(6)当 DHCP Server 接收到客户机的 DHCP request 之后,会广播返回给客户机一个 DHCP ACK 消息包,表明已经接受客户机的选择,并将这一 IP 地址的合法租用信息和其他的配置信息都放入该广播包,发给客户机。
(7)客户机会在租期过去 50% 的时候,直接向为其提供 IP 地址的 DHCP Server 发送 DHCP request 消息包。客户机接收到该服务器回应的 DHCP ACK 消息包,会根据包中所提供的新的租期以及其他已经更新的 TCP/IP 参数,更新自己的配置。

注:还可以通过类似的方式安装linux服务器,但是此处没有太看明白,有时间再看。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值