DHCPv6在Linux环境下的实现

2017-03-17 20:09邓荣
电脑知识与技术 2016年32期
关键词:链路客户端分配

邓荣

摘要:随着互联网的不断发展,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).

猜你喜欢
链路客户端分配
家纺“全链路”升级
应答器THR和TFFR分配及SIL等级探讨
遗产的分配
一种分配十分不均的财富
绩效考核分配的实践与思考
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
基于Vanconnect的智能家居瘦客户端的设计与实现
基于3G的VPDN技术在高速公路备份链路中的应用
高速光纤链路通信HSSL的设计与实现