DHCPv6在Linux环境下的实现

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:neverneverland
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:随着互联网的不断发展,IPv6地址被设计用来解决IPv4地址空间不足的問题。本文介绍了IPv6和DHCPv6的基本概念,给出了Linux环境下一种DHCPv6服务器的配置方法,并在客户端上进行了验证。
  关键词:IPv6; IPv6动态主机配置协议; Linux
  中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2016)32-0020-02
  1 IPv6概述
  互联网协议版本6(IPv6)是因特网协议(IP)的最新版本,是为网络上的计算机和路由器提供识别和定位系统的通信协议。IPv6由互联网工程任务组(IETF)开发,用于处理IPv4地址耗尽的长期预期问题。 IPv6旨在最终替代IPv4。
  1.1 IPv6地址和地址前缀的表示法
  1)X:X:X:X:X:X:X:X
  IPV6地址长128比特,每一个X代表4位的16进制数,可以表示成由:隔开的8个16比特段。例如:FEDC:BA98:7654:FEDC:BA98:7654:3210
  2)压缩表示法
  ::标识一组或多组16进制的0,如下例所示:
  1080:0:0:0:8:800:200C:417A == 1080::8:800:200C:417A
  FF01:0:0:0:0:0:0:101 == FF01::101
  0:0:0:0:0:0:0:1 == ::1
  0:0:0:0:0:0:0:0 == ::
  3)当处理IPV6和IPV4混合环境的时候,可以有另一种便利的表示法:
  X:X:X:X:X:X:d.d.d.d
  X代表16进制数(用于嵌入在IPV6中的IPV4数据的表示),d代表10进制,4个d表示标准的IP地址格式。
  4)地址前缀的文本表述
  前缀是地址中具有固定值的位数部分或表示网络标识的位数部分。IPv6的子网标识、路由器和地址范围前缀表示法与IPv4采用的CIDR标记法相同,其前缀可书写为:地址/前缀长度。
  1.2 地址类型
  在IPv6地址类型中,有很多更具体的,更丰富的地址类型,这也是它具有更多性能的基础。IPv6地址中的前导位用来定义具体的IPv6地址类型,有一段变长字段包含了这些前导位,它们被称作格式前缀(FP)。
  具体的地址类型有:
  1)全局单播IPv6地址:用于标识单个接口。 这些是IPv4中的标准全局唯一单播地址(公共IPv4地址),每个主机接口一个。全球单播IPv6地址是互联网可路由的IPv6地址。
  2)链路本地IPv6地址:链路本地IPv6地址允许本地链路上的设备之间的通信。链路本地IPv6地址不可路由,它们在子网上使用。普通链路本地IPv6地址前缀为fe80::/10。
  3)组播地址:组播地址标识相同或不同主机上的零个或多个接口。IPv6组播地址以FF开头。
  4)任播地址:任播地址标识多个接口。任播传输仅向与地址相关联的接口中的一个发送分组,而不是向所有接口发送分组。该接口通常是由路由协议定义的最接近的接口。
  5)环回地址:由节点用于向其自身发送IPv6数据包。IPv6环回地址的功能与IPv4环回地址相同。IPv6环回地址为0000:0000:0000:0000:0000:0000:0000:0001/128,也可以表示为:: 1。
  2 DHCPv6协议概述
  2.1 DHCPv6概念
  动态主机配置协议版本6(DHCPv6)是用于配置具有IP地址、IP前缀以及在IPv6网络中操作所需的其它配置数据的因特网协议版本6(IPv6)主机的网络协议。和IPv4中的DHCP一样,DHCPv6所有的协议报文都是基于UDP的。但是由于在IPv6中没有广播报文,因此DHCPv6使用组播报文,客户端也无需配置服务器的IPv6地址。
  2.2 DHCPv6地址分配过程
  DHCPv6属于应用层通讯协议,使用UDP 来交换消息。它需要通过DHCPv6 协议来获取IP位址或其它参数的node。客户端会以client的角色来向DHCPv6 server发出请求,而DHCPv6 server会依据client的相关信息以及server的相关策略来配置client适当的参数值。
  DHCPv6 客户端和服务器端的信息交换分为4个消息和2个消息两种类型:
  1)4个消息类型
  为了请求1个或多个IP位址以及其他参数,首先客户端发送Solicit message到All_DHCP_Relay_Agents_and_Servers address来寻找可用的DHCP servers。任何服务器只要能符合客户端的请求,会将配置的IP位址以及其他参数通过Advertise message来回应客户端。客户端从收到的Advertise messages中选择最符合自己需求的配置,并将配置到的IP位址通过发送Request message要求服务器的确认。服务器通过Reply message将确认配置的IP位址以及其他参数回应客户端。此时即完成客户端和服务器之间的信息交换,客户端可以开始使用配置到的IP位址以及其他参数。 服务器分配给客户端的每个IP位址都指定了preferred lifetime以及valid lifetime。为了能持续使用分配到的IP位址,客户端可以在lifetime到期之前发送Renew message来要求延长lifetime。服务器将新的lifetime通过Reply message回应客户端,允许客户端继续使用该IP位址而不会被中断。   2)2个消息类型
  当客户端不需要服务器为其分配IP位址时,它可以使用2个消息的信息交换方式来获取其他的配置参数。首先客户端发送Information-Requestmessa到All_DHCP_Relay_Agents_and_Servers multicast address,服务器将配置给客户端的参数值通过Reply message回应客户端。此外,客户端也可以使用2个messages即Sloicit-Reply的交换方式来同时获取IP位址以及其他配置参数。在此情况下,客户端会在Solicit message中使用Rapid Commit option表明希望直接收到服务器即时分配且确认的Reply message。此种做法可加快客户端获取IP位址以及其他参数的速度。
  3 DHCPv6在Linux环境下的实现
  本文使用安装Fedora操作系统的一台服务器作为DHCPv6服务器,服务器的地址为2001:250:6001::1,服务器分配的IPv6网段地址为:2001:250:6001::2至2001:250:6001::10。服务器配置步骤如下:
  1)安装DHCPv6软件包
  #yum -y install dhcpv6
  2)安装IPv6模块
  #yum -y install dhcpv6
  3)在服务器上启用IPv6网络
  #cd /etc/sysconfig
  #vi network
  增加配置语句:
  IPv6_DEFAULTDEV=eth0
  NETWORKING_IPV6=yes
  4)给服务器网卡配置IPv6地址
  #vi /etc/sysconfig/network-script/ifcfg-eth0
  增加配置语句:
  IPV6INIT=yes
  IPV6ADDR=2001:250:6001::1/64
  5)配置服务器主配置文件
  #vi /etc/dhcpv6s.conf
  新建配置文件dhcpv6s.conf的内容为:
  interface eth0 {
  server-preference 255;
  renew-time 80;
  rebind-time 100;
  prefer-life-time 150;
  valid-life-time 210;
  allow rapid-commit;
  link AAA {
  range 2001:250:6001::2 to 2001:250:6001::10/64;
  prefix 2001:250:6001::/64;
  };
  };
  6)启动DHCPv6服务
  #service dhcp6s start
  4 DHCPv6客户端验证
  本文使用一台安装Fedora操作系统的PC作为DHCPv6客户端进行测试。配置步骤如下:
  1)安装DHCPv6软件包
  #yum -y install dhcpv6
  2)编辑配置文件
  #cd /etc
  #vi dhcp6c.conf
  增加配置语句:
  interface eth0 {
  send rapid-commit;
  };
  3)启动DHCPv6客户端
  # dhcp6c -f eth0
  通过以上配置,客户端可以通过DHCPv6服务器获得一个指定范围内的IPv6的地址。
  5 总结
  本文提出了一种Linux环境下通过DHCPv6服务器动态分配IPv6地址的方法,并在客户端上进行了验证。在客户端使用手工输入IPv6地址容易出错,使用DHCPv6协议不仅可以很好地解决这一问题,而且可以分配IPv6前缀等参数,更便于网络运维管理人员对IPv6网络进行管理和自动配置。
  参考文献:
  [1] 范小雨, 郑红霞, 谢高岗. DHCPv6协议一致性测试集的设计和实现[J]. 计算机工程, 2007(19).
  [2] 胡光武, 陈文龙, 徐恪. 一種基于IPv6的物联网分布式源地址验证方案[J]. 计算机学报, 2012(3).
  [3] 王霞, 高飞. 基于DHCPv6的大规模无线传感器网络地址管理协议的设计[J]. 云南民族大学学报(自然科学版), 2016(1).
其他文献
摘要:智慧校园具有全面智能感知、网络无处不在、数据资源互通共享等诸多优势,同时也存在诸多安全风险,对这些安全风险种类、特点及原因进行深入分析,研究预防、降低安全风险的一系列有效措施,保障智慧校园数据信息安全传输保存,以及提高师生用户使用网络、网页及平台系统的安全可靠性。  关键词:智慧校园;安全风险;措施  中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)27-00
本文从会计信息市场失灵和政府失灵两个方面进行分析,考虑到会计信息的特殊性,认为会计信息市场需要政府适度监管,而政府也只能适度监管.
摘要:云平台包括三个层次的服务,分别是:基础设施级服务,平台级服务,软件级服务。描述OpenStack云平台架构及其核心组件的相互关系 ;OpenStack旗下包含了一组由社区维护的开源项目,它们分别是OpenStackCompute(Nova),OpenStackObjectStorage(Swift),以及OpenStackImageService(Glance)。笔者就OpenStack单节
近年来,IP一词大热,特别是通过图书产品进行的影视、游戏等的IP开发,掀起了一波又一波热潮。作为一类典型的流行文化现象,IP出版使自身成为"融媒体"的重要组成部分,利用跨媒
软件项目管理在实际的应用过程中需要建立相关的参考模型,以此获得一些关键的信息。软件工程和项目管理在解决实际问题的过程中都离不开软件项目管理模型的作用。在相关的领