Go back to the NTPv6 index

Disclaimers

Note that this service is provided as an experimental service, as a part of an research project, and should therefore not be used for production purposes. Use of said service is subject to the following terms and conditions. Access and use of this service is provided "as is"  and at the user's risk. Your access and continued use of said services constitute acceptance of a compliance with the following provisions. Users who do not agree should immediately discontinue any use of the services.


THE PROVIDER OF THIS SERVICE DOES NOT GUARANTEE THE QUALITY, ACCURACY, RELIABILITY OF THE SERVICES, OR THAT THE RESULTS WILL BE ERROR-FREE OR THAT SAID SERVICE WILL OPERATE WITHOUT INTERRUPTION. GIVEN THE FACT THAT THIS SERVICE IS PROVIDED AS AN EXPERIMENTAL SERVICE, THE PROVIDER HEREBY EXCLUDES ALL WARRANTIES, EXPRESS OR IMPLIED, AND SHALL NOT BE RESPONSIBLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES WHATSOEVER AND HOWEVER CAUSED, ARISING OF OR IN CONNECTION WITH THE USE OF THE SERVICE, INCLUDING ANY LOSS OF USE, LOST DATA, LOST BUSINESS PROFITS, BUSINESS INTERRUPTION OR ANY OTHER PECUNIARY LOSS, WHETHER IN CONTRACT OR TORT.


How to use the experimental IPv6 NTP primary (stratum 1) server

Network Time protocol over IPv6 (NTP)

Table of content


1. Description

The main goal of this milestone is to provide a Network Time Protocol (NTP) compliant server to the IPv6 community. The Network Time Protocol is a protocol designed for clock synchronization between computers over a network. Usually, a NTP client queries a NTP server and will adjust its system clock on the server's reply. The protocol describes how to accuratly adjust the client's time and will take into account the various delays (round trip delay, for example). NTP servers are hooked to devices (Atomic clock, GPS...) that give the exact time. When we started the project no implementation was known to provide NTP services on IPv6.

2. Simple Network Time Protocol (SNTP)

This was our first shot at providing network time synchronization to IPv6 hosts. This protocol was chosen for its simplicity. SNTP is very much like NTP, but less complex. We have made a SNTP implementation which is "protocol independant" (it can use both IPv4 and IPv6). This implementation uses the Trimble Palissade GPS driver provided in the NTP distribution of David L. Mills. After coding this implementation we went after the real NTP.

A SNTP package with both the client and the server is available. To try it, download this file sntp-ipv6-1.0.tar.gz and follow these instructions:

  1. unpack the archive
    tar zxf sntp-ipv6-1.0.tgz
  2. change to the newly created directory
    cd sntp6
  3. read the README file and LEGAL file
    more README
    more LEGAL
  4. build the package
    make all
  5. read the man pages on how to use the programs
    more sntpdate.txt
    more sntpd.txt

Viagénie does not provide a public IPv6 SNTP service because it has ported a NTP server and client to IPv6: it is offering this service instead. See next section for more details.

3. Network Time Protocol (NTP)

We ported the NTP implementation of David L. Mills. Porting this implementation to IPv6 was not trivial. Usage of IPv4 address structures were scattered accross the source code. We had to modify common libraries, daemon and client source code. We ported 2 of the programs provided in that implementation: ntpd (the server) and ntpdate (the client). The modifications made do not interfer with the IPv4 capabilities of the package. Our IPv6 NTP server is a primary (stratum 1) public server hooked to a Trimble Palissage GPS. This server only respond to IPv6 NTP queries. Our set-up looks like this :
setup-ntp

The NTP version ported is 4.1.0 wich is the latest release. The new version is not an official branch of David L. Mills package but an experimental project. We hope our work will be part of David's new release in the future.

The patch has been tested only with FreeBSD 4.3 RELEASE and Solaris 8 operating systems.

To try the IPv6 version of David L. Mills NTP package, follow these instructions :
  1. Download David's original package : ntp-4.1.0.tar.gz (HTTP or FTP) and patch file ntp-4.1.0-ipv6.patch.tar.gz

  2. Unpack the archive
    tar zxf ntp-4.1.0.tar.gz
  3. Change to the newly created directory
    cd ntp-4.1.0
  4. Unpack the patch
    tar zxf ntp-4.1.0-ipv6.patch.tar.gz
  5. Apply the patch
    patch -p0 < ntp-4.1.0-ipv6.patch
  6. Follow NTP's package instructions in INSTALLv6.txt provided with the patch
    more INSTALLv6.TXT
  7. Try the new ntpdate on our IPv6 NTP server at ntp.ipv6.viagenie.qc.ca
    ntpdate/ntpdate -q ntp.ipv6.viagenie.qc.ca

4. References