引导协议BOOTP
是一种基于UDP的协议。主要用于无盘工作站从服务器得到自己的IP地址、服务器的IP地址、启动映像文件名、网关IP等等,其工作原理与RARP协议类似
获取IP地址的过程
首先,客户端使用广播形式以IP地址255.255.255.255向网络中发出IP地址查询要求。运行BOOTP协议的服务器接收到这个请求,会发送一个含有IP地址、服务器IP地址、网关等信息的FOUND帧。客户端会根据该FOUND帧来获得自己的IP地址
动态地址配置协议DHCP协议(Dynamic Host Configuration Protocol)
DHCP是BOOTP的扩展,基于客户/服务器模式的,提供了一种动态指定IP地址和配置参数的机制。
DHCP的工作原理
寻找DHCP服务器(发布一个DHCP广播包来得知DHCP服务器),提供IP租用地址(在某一时间段来使用的地址,并不是固定给这个客户使用),接受IP租约
RARP,BOOTP与DHCP的区别与联系
• BOOTP在某种意义上又是RARP协议的升级,DHCP是B0OTP协议的升级
• RARP是在数据链路层实现的,而B0OTP和DHCP是在应用层实现的
• RARP 直接封装在以太网帧中,协议类型置为0x0800以标识这个报文是ARP/RARP 报文,BOOTP/DHCP 报文是直接封装在UDP 报文中,作为UDP的数据段出现的
• RARP 只能实现简单的从MAC地址到IP地址的查询工作,RARP server上的MAC地址和IP地址是必须事先静态配置好的。但DHCP却可以实现除静态分配外的动态IP地址分配以及IP地址租期管理等等相对复杂的功能
• RARP是早期提供的通过硬件地址获取ip的解决方案,但它有自己的局限性,比如RARP客户与RARP服务器不在同一网段,中间有路由器等设备连接,这时候利用RARP就显得无能为力,因为RARP请求报文不能通过路由器,B0OTP/DHCP提供了很好的解决方法
• RARP、BOOT和DHCP都是动态学习IP地址的协议。起初,客户端主机要发送一个广播以启动发现进程,有一台专门的服务器负责监听这些请求并提供IP地址给客户端主机
• RARP使用的是和ARP相同的消息,只不过它的消息中列出的目标MAC地址是其自己的MAC地址,而目标IP地址是0.0.0.0。预先配置好的RARP 服务器(必须处于客户端同一子网中)接收请求并进行查询。如果目标MAC地址的匹配到,RARP服务器就发送ARP响应(包含配置的IP地址在其源IP地址字段中)
• BOOTP可以提升RARP的地址分配范围。它使用的是完全不同的消息集(在RFC 951中定义),其命令封装在IP和UDP包头中。只要路由器配置好了,BOOTP 消息包可以转发到其它子网。此外,B0OTP还支持其他信息(如子网掩码、默认网关等)的分配。不过,B0OTP仍然没有解决RARP的配置负担,它还是需要为每个客户端定义MAC地址和IP地址的映射
• DHCP大大减轻了配置工作,因为它是动态分配的。在DHCP中,不需要预先配置MAC地址,你只需要配置一个地址池,DHCP会动态地在地址池中选择地址进行分配。在路由器上配置ip helperraddress dhcp server address可以跨子网使用DHCP协议(DHCP中继代理)。另一种方法是将路由器配置为DHCP服务器,其步骤如下:
1)配置一个DHCP池
2)配置路由器在DHCP池中排除自身地址(ip dhcp excluded address
3)屏蔽DHCP冲突日志(noip dhcp conflict-logging或配置一个DHCP数据库代理(ip dhcp database
RARP、BOOTP和DHCP的比较

网友评论