[Dibbler] Contents of Dibbler subnet

Tomasz Mrugalski thomson at klub.com.pl
Mon Jun 18 10:06:57 CEST 2012

On 18.06.2012 03:00, dqq wrote:
> Thanks for you help
> Maybe I  have not  described my questions clearly before
> my scenario is that I use a router to replace the relay server .
Let me check if I understand you correctly. You sa that you want to
replace "relay server". There is no such thing. Relay and server are two
different things. I will assume you meant "relay box" - a device that
used to run relay. So your network was looking like this:

            network1             network2

+--------+           +-------+
| server +-----------+ relay +----------- clients here
+--------+           +-------+

Now, you want the relay to be remove and replaced by a router:

            network1             network2

+--------+           +-------+
| server +-----------+ router+----------- clients here
+--------+           +-------+

Is this description accurate?

If that is so, I have bad news for you. It won't work as is. DHCPv6
clients communicate over link-local multicast. That means that either
server or a relay must be present on the link. Typical server-client
configuration will not work here. It is not all lost, thought. In such
deployment it is possible to run something that some CPE are doing. Your
router box could run both client and server. Its client gets
configuration (prefix) from upstream server. Once the pool is assigned,
it configures its own server to serve address from that received prefix
on its local (network2) interface. It is not trivial to get such setup,
but it can be done.

> Assume  that there are two subnets ,first subnet I want to assign it
> address 6000::2001:/80 and the second I want to assign it with addresses
I'm still not clear what is the relation between those two subnets.
Could you label the diagram that I wrote with your addressing scheme?

> I can't understand what you say about interface-id clearly.
> Router contain some interfaces,do you mean interface serial number.if so
> ,when we use it as interface-id,there will be conflict because two
> routers have the same interface serial number.
Sure, let me clarify. There is a clear distinction between a router (a
device that routes packets between its interfaces) and a relay (a DHCPv6
software that relays DHCPv6 traffic.) Traffic relayed by a relay is
encapsulated and provides additional information required for proper
server operation. It is quite common for routers to also feature relay
capability. So when you say "router", it would be great if you could say
"a router that also runs relay" or "a router that does not run relay".

DHCPv6 relays include additional information to messages passed from
clients to servers. One of such information is an option called
interface-id. It is used by a server to distinguish, where the original
client is connected. Relays is supposed to include some kind of
interface-id that is supposed to be unique in your network. Some time
ago Cisco used to include something like "relay-name%interface-name". It
had a high chance to be unique and describe where the client's message
originated from. Dibbler-relay uses interface indexes for that purpose.
That is less elegant that Cisco solution, but in many cases it is

Regardless of the content of the interface-id option they your relay
includes, your server is supposed to be configured to recognize that
specific interface-id value. If you don't know what interface-id your
relay includes, you can find out sniffing the traffic using e.g.
wireshark and invesigating RELAY-FORW message and looking for
INTERFACE-ID option. You can also enable guess-mode, so server will try
to guess which relay the message came from.

> p.s The dibbler version that I am using is 0.7.3
Please upgrade to 0.8.2.

You may want to look at the User's Guide. There are sections that
explain how to support relays, with server and relay configuration examples.


More information about the Dibbler mailing list