[ Manpage overview ] [ To start of mcntp pages ]
Table of Contents

Name

MCNTP - Multicast News Transport Protocol

Description

Packet format of data packets

Packet format of the transmitted articles. For the packet format of the announcement see below.

         +---------------------------------------+
         |                 Magic                 |
         +----+----+---------+---------+---------+
         | Ver|Rev |  Comp   |  Crypt  |  Offset |
         +----+----+---------+---------+---------+
         |            Original length            |
         +---------------------------------------+
         |             Length as sent            |
         +---------------------------------------+
         |                  Crc                  |
         +---------------------------------------+
         |              Message-id               |
         +---------------------------------------+
         |               Data                    |
         +---------------------------------------+

All entries are in network byte order. The fields have the following mean- ing and types:

·
Magic (32-bit): The String ``McNt''

·
Ver (4-bit): Protocol version currently 1

·
Rev (4-bit): Protocol revision currently 1

·
Comp (8-bit): Compression method used. Currently are only 2 methods defined:

0
Article is not compressed

1
Article is compressed via zlib

·
Crypt (8-bit): Encryption method used. See below

·
Offset (8-bit): Offset of article data from packet start

·
Original length (32-bit): Length of article before compression and encryption

·
Length as sent (32-bit):

·
Length of the ``Data'' field (see below)

·
Crc (32-bit): Checksum over the original articles. See also be- low.

·
Message-ID: The message id of the article in the form it is de- fined in RFC 1036 [7], terminated by a null byte.

·
Data: The article data after possible compression and encryp- tion.

This memo does not specify a encryption method for the case that the field ``Crypt'' is set to anything other than 0; the involved parties (i.e. the senders of encrypted news and their receivers) have to agree on a method they want to use. If encryption and compression is used then the article data is first to be compressed and then the result to be encrypted.

The checksum is computed over the original article data (i.e. before possi- ble compression and encryption) by the algorithm of IEEE Std1003.2-1992 which is also used in 4.4 BSD cksum(1) tool.

Format of announcement packets is:

         +-----------+------+-----+--------+
         |   Magic   | Vers | Rev | Offset |
         +-----------+------+-----+--------+
         |             Length              |
         +---------------------------------+
         |               Crc               |
         +---------------------------------+
         |            Sender-ID            |
         +-----------------+------+---+-----------+       -+
         | Multicast group | Port |TTL| Newsgroup |        |
         +-----------------+------+---+-----------+        |
          ...  repeat ...                                  |  NG lines
         +-----------------+------+---+-----------+        |
         | Multicast group | Port |TTL| Newsgroup |        |
         +-----------------+------+---+-----------+       -+

All numbers are in network byte order. The fields have the following mean- ing and types:

·
Magic (16-bit): The Bytes 0xab

·
Vers (4-bit): Protocol version

·
Rev (4-bit): Protocol revision (currently 1)

·
Offset (8-bit): Offset of NG-lines from packet start.

·
Length (32-bit): Total packet length.

·
Crc (32-bit): Checksum over the rest of the packet.

·
Sender-ID : Identification of sender host, terminated by a null byte (see below).

·
Multicast group (32-bit *): The associated multicast group

·
Port (8-bit): UDP Port to use for this group

·
TTL (8-bit): Time to live for multicast packets.

·
Newsgroup: Name of the Newsgroup in wildmat(3) format, terminated by a null byte.

The protocol version (Vers) is currently 1 for IPv4 and 11 for IPv6. The multicast group field (*) is 32 bit in size for IPv4 and 128-bit for IPv6 in size.

The lenght field is 32 bit in size to support IPv6 jumbo datagrams.

The sender-ID is normally the fully qualified domain name of the hosts that sends the announcement. As is common practice with NetNews, this can also be the (possibly shorter) entry that the host puts in the ``Path:'' header when an article passes through it. The checksum is computed over all lines with newsgroup to multicast group relations in the packet by the algorithm of IEEE Std1003.2-1992 which is also used in 4.4 BSD cksum(1) tool.

The lines with newsgroup to multicast group relations are repeated as often as needed to announce all groups. The TTL can be used by clients to find out if packets that come from this source can reach them, or if the sender is too far away.

History

MCNTP is the diploma thesis Transport of NetNews via IP-multicast of the author.

* Copyright (c) 1997 Heiko W.Rupp <hwr@pilhuhn.de> * See file COPYING for details on acceptable use

Author

Heiko W.Rupp (hwr@pilhuhn.de)

Bugs

None known yet. If you find any, then please report them via the respec- tive trackers at http://sourceforge.net/projects/mcntp/


Table of Contents

$Id: mcntp.5.html,v 1.6 2001/11/22 10:24:37 pilhuhn Exp $