文档详情

嵌入式网络设备DHCP的设计.doc

发布:2018-10-13约4.08千字共9页下载文档
文本预览下载声明
嵌入式网络设备DHCP的设计   摘 要:本文主要描述基于linux软件系统硬件防火墙的DHCP功能的构建。DHCP功能是智能网络设备中最重要的服务之一,帮助被认证客户很简单的接入互联网,对于提高设备易用性上都有积极的作用。   关键词:嵌入式;linux;DHCP   中图法分类号:TP319   1 简介   基于linux环境的嵌入式网络设备越来越多的出现在市场上,DHCP功能是网络服务设备中比较重要的功能之一。在网络设备主打功能的基础上,做到更有特色的附属功能,对设备的销售和营销买点会有很大的帮助。   本文主要在linux环境搭建DHCP服务器,设定开发产品为硬件防火墙,具有更加多样化的网络功能,为该类设备打造具有基础的DHCP功能外,特色化的DHCP Server和DHCP Relay功能。   2 开发环境   开发环境是基于linux的交叉编译环境,采用内核版本2.6.25。编译器版本gcc 4.3.0。编辑器采用vim 7.1,能更好的支持linux程序的开发。   3 开发目标   主要用来实现DHCP Server功能和DHCP Relay功能。   DHCP:动态主机配置协议。   DHCP Server:当一台连接到TCP/IP网络上的计算机启动时,能够自动地为这台计算机配置有关的TCP/IP参数,包括IP地址、子网掩码、缺省网关、DNS等等。   DHCP Relay:如果DHCP客户机与DHCP服务器在同一个物理网段,则客户机可以正确地获得动态分配的ip地址。如果不在同一个物理网段,则需要DCHP Relay Agent(中继代理)。用DHCP Relay代理可以免去在每个物理的网段都要有DHCP服务器的必要,它可以把客户机的消息传递到不在同一个物理子网的DHCP服务器,也可以将服务器的消息传回给不在同一个物理子网的DHCP客户机。   4 系统架构   4.1 系统DHCP设计原理   DHCP采用客户/服务器模型,当DHCP客户端程序发出一个广播信息,请求一个动态的IP地址时,DHCP服务器会根据目前已经配置的地址范围中选择一个IP地址,以地址租约形式提供一个可供使用的IP地址和子网掩码给客户端,图1给出的是一个最简单的情况。   客户计算机从DHCP服务器获得租约要经过以下四个步骤:   (1)请求IP租约   当DHCP客户计算机第一次启动或初始化IP时,其IP地址并没有任何设置,使用作为源地址,将DHCP DISCOVER消息广播发送给本地子网。   DHCP DISCOVER消息中还包含客户的MAC地址和客户机名称,这样DHCP服务器可以确定是哪个客户机发来的请求。   (2)提供IP租约   DHCP服务器收到DHCP DISCOVER消息后,将DHCP OFEER信息直接送到客户机。DHCP OFEER信息中包含了客户机的MAC地址,所提供IP地址,子网掩码以及DHCP服务器的IP地址。   DHCP服务器发送DHCP OFEER信息之后仍暂时保留发送给客户计算机的地址,并等待该地址客户的确认信息。   如果在一秒钟内DHCP客户机没有收到IP地址,就将DHCPDISCOVER消息重复广播四次,四次重试的间隔时间为2、4、8、16秒。四次之后,如果仍未能收到服务器的回应,则运行Windows 2000的DHCP客户机将从/16这个自动保留的私有IP地址(APIPA)中选用一个IP地址,而运行其他操作系统的DHCP客户机将无法获得IP地址。DHCP客户机仍然每隔5分钟重新广播一次,如果收到某个服务器的回应,则继续IP租用过程。   (3)选择IP租约   因为客户可能收到网络上多个DHCP服务器的DHCP OFEER消息,要决定使用哪一条消息。一般情况下,客户机使用第一条接到的信息,然后广播DHCP REQUEST消息作为响应,消息中还包括它所接受的IP租约的DHCP服务器的MAC地址,这样,其他DHCP服务器可在收到广播后将它们的IP地址释放回可用的地址池。   (4)确认IP租约   当被选择IP租约的DHCP服务器收到DHCPREQUEST消息后,将用DHCP ACK消息应答。DHCP ACK消息告诉客户计算机它现在具有有效租约。一旦客户机接收到DHCP ACK消息,就完成自己的IP配置并成为一个完全受租的客户。   当DHCP客户机在租约期限过了一半的时候,尝试更新租约。DHCP客户机直接给DHCP服务器发送DHCP REQUEST消息。如果DHCP服务器可用,将发回DHCP ACK消息,其中包含新的租约和已更新的参数。DHCP客户机在收到DHCP ACK消息后更新配置。如果DHCP服务器不可用,客户机将继续使用它的
显示全部
相似文档