网络之IP的来源------DHCP协议

我们可以通过ifconfig或者ip addr来获取到IP的相关信息。

那么IP是怎么来的呢?

首先,我们肯定可以自己设置IP,那么IP可以随便设置吗?肯定可以设置的,但是如果设置一个和默认网关不是一个网络号码段的IP中,则本机器发出去的包,在局域网内的其他机器无法收到而已。

虽然我们可以设置自己的IP,但是如果每增加一台机器进来,都需要网络管理员手动配置,那会多么的麻烦。所以这个时候就有了DHCP——动态主机配置协议。

第一步:当新机器进来的时候,它需要IP,这个时候就大吼一声,这一步称之为:DHCP DISCOVER 发送报文如下:

这个时候,新机器只知道自己的MAC地址,0.0.0.0作为自己IP,广播IP为255.255.255.255,广播MAC:ff:ff:ff:ff:ff:ff:ff

 第二步:这个时候作为DHCP SERVER收到这个包后,会根据网络包中的MAC地址判断,该MAC地址是不是一台新机器(MAC地址作为一台计算机的唯一标识),如果是的话,则会为其分配一个ip,但这个时候新机器还没有被分配到IP,所以依然把255.255.255.255作为广播地址,将包发出去,目标MAC为新机器的MAC地址。这个过程称之为:DHCP OFFER

 

第三步:新机器收到该网络包,会接受该网络包。并向网络发出一个DHCP REQUEST,里面包含:客户端的MAC地址,租用的IP,提供IP的DHCP SERVER的地址,并且会告诉:我将使用那个DHCP SERVER为我分配的IP,并请求撤销其他DHCP SERVER为我分配的IP,以供其他新机器使用。

由于DHCP SERVER还没有进行确认所以这个时候新机器依然使用的是0.0.0.0作为源IP。

 第四步:DHCP SERVER收到该请求后,会将MAC地址以及分配的IP地址进行缓存。并回应一个网络包:DHCP ACK,表明已

确认客户端的选择。 同时为其他所有机器广播:这个新机器的IP。

 

DHCP除了可以分配IP外,还有一个作用:安装系统。

操作系统的启动,首先是BIOS。这是一个特别小的系统,主要:读取硬盘的MBR启动扇区,将GRUB启动起来,GRUB加载内核、作为根系统的initramfs文件,然后初始化整个系统。所以我们安装系统必须在BIOS系统后,不然连启动扇区都不存在。这个过程称之为PXE,预启动执行环境。

PXE协议分为启动端和服务端。

由于还没有操作系统,这个时候客户端存在于BIOS系统,当计算机启动的时候,会将客户端加载于内存中。这个时候,客户端要访问服务端,必须要有自己的ip。DHCP会为其分配一个IP地址。那么客户端如何获取服务端的IP地址。这些信息都在DHCP SERVER的配置。主要参数为:next-server的配置,代表可以使用PXE。

首先:客户端发送请求后,除了得到自己的IP地址,还可以得到服务端的IP。

其次:客户端去服务端下载文件,所以服务端还必须有一个下载服务器TFTP。下载的时候使用的是TFTP协议,下载完成后,TFTP会将文件传给客户端。

然后:客户端收到该文件,开始执行该文件。并且这个文件会向TFTP服务器请求计算机的配置信息prelinux.cfg.TFTP服务器会给客户端返回一个配置文件:内核在哪里,initramfs文件在哪里

最后:启动linux的内核。

整个工作流程如下图:

 

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值