Internet DRAFT - draft-sjkoh-dykim-ectp
draft-sjkoh-dykim-ectp
Internet Draft Seok J. Koh
draft-sjkoh-dykim-ectp-00.txt Kyungpook National University
Expires: April 2006 Dae Young Kim
October 2005 Chungnam National University
Enhanced Communications Transport Protocol for One-to-Many Multicast
Applications with Unicast Reverse Data Channels
<draft-sjkoh-dykim-ectp-00.txt>
Status of this Memo
By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
Copyright Notice
Copyright (C) The Internet Society (2005).
Koh and Kim Expires: April 2006 [Page 1]
ECTP for Duplex Multicast October 2005
Abstract
This document is a part of the ITU-T Recommendation and ISO/IEC
International Standard, named the Enhanced Communications Transport
Protocol (ECTP), which is a multicast transport protocol designed to
support Internet multicast applications. This third part of ECTP
(ECTP-3) describes the protocol specification for the duplex
multicast transport. In a duplex connection, a single multicast
sender, named TC-Owner (TO), transmits multicast data to the other
group members, while some of the participating TS-users may send
unicast data to the TO over the reverse data channel.
Table of Contents
1. Introduction...................................................3
2. Terminology....................................................4
2.1 Definitions................................................4
2.2 Abbreviations..............................................5
2.3 Conventions................................................5
3. Protocol Overview..............................................6
4. Design Considerations..........................................9
4.1 Participants...............................................9
4.2 Control Tree..............................................10
4.3 Data Channels.............................................11
4.4 Addressing................................................12
4.5 Tokens....................................................13
5. Packets.......................................................14
5.1 Base Header...............................................14
5.2 Extension Elements........................................16
5.3 Packet Format.............................................18
6. Procedures....................................................19
6.1 Connection Creation.......................................19
6.2 Late Join.................................................20
6.3 Forward Data Transport....................................20
6.4 Token Control.............................................26
6.5 Backward Data Transport...................................27
6.6 Connection Management.....................................27
7. Timers and Parameters.........................................28
7.1 Timers....................................................28
7.2 Parameters................................................29
Security Considerations..........................................30
References.......................................................30
Author's Addresses...............................................30
Intellectual Property............................................31
Copyright Statement..............................................31
Disclaimer of Validity...........................................31
Koh and Kim Expires: April 2006 [Page 2]
ECTP for Duplex Multicast October 2005
1. Introduction
This document (Recommendation | International Standard) specifies the
Enhanced Communications Transport Protocol (ECTP), which is a
transport protocol designed to support Internet multicast
applications running over multicast-capable networks. ECTP shall be
provisioned over UDP.
ECTP is designed to support tightly controlled multicast connections
in simplex, duplex and N-plex applications. This part of ECTP (part
3: ITU-T X.607 | ISO/IEC 14476-3) specifies the protocol mechanisms
for reliability control in the duplex case.
In the ECTP-3 duplex multicast connection, the participants are
classified into one TC-Owner and many TS-users. TC-Owner will be
designated among the TS-users before the connection begins. In the
duplex multicast connection, the two types of data transports are
supported: multicast data transport from TC-Owner to all the other
TS-users and unicast data transport from TS-users to TC-Owner. After
the connection is created, TC-Owner can transmit multicast data to
the group, whereas each TS-user is allowed to send unicast data to
TC-Owner just after it gets a token from the TC-Owner.
In ECTP, TC-Owner is at the heart of multicast group communications.
It is responsible for overall connection management by governing the
connection creation and termination, connection pause and resumption
and the late join and leave operations.
The duplex multicast connection specified in ECTP-3 is targeted to
the multicast applications in which the TC-Owner (a single multicast
sender) transmits the data information to all the other TS-users, and
some of the TS-users respond to the multicast sender with the unicast
feedback data. Basically, the duplex multicast transport will be well
suited to the one-to-many multicast applications that need the
unicast feedback channels from some TS-users (e.g., remote education,
Internet broadcasting, etc). For example, in a remote education
application, the multicast sender (lecturer) transmits the data such
as voice, text and image to the student group, whereas some of the
students may respond to the lecturer with the unicast data like
questions for confirmation.
It is noted that this duplex multicast connection can also be used
for the æsome-to-manyÆ multicast applications (e.g., a panel
conferencing) in which a few of TS-users want to send multicast data
to the group. In this scenario, the multicast data from the TS-users
may first be delivered to the TC-Owner by unicast, and then TC-Owner
will transmit the received unicast data to the group by multicast.
Koh and Kim Expires: April 2006 [Page 3]
ECTP for Duplex Multicast October 2005
2. Terminology
2.1 Definitions
This document also applies the following definitions:
TO (TC-Owner)
TO can only transmit multicast data to the other TS-users, and it
manages overall operations of ECTP-3;
TU (TS-User)
TU can receive multicast data sent by TO;
SU (Sending TU)
A TU who gets a token from TO. Only the SU is allowed to send
unicast data to TO. In other words, before sending unicast data,
each TU must request a token to TO;
RA (Repair Agent)
It is located on the control tree of ECTP-3. One or more RAs
could be designated for scalable error recovery and status
monitoring in ECTP-3. An RA is also a TU, that is, it receives
multicast data from TO. RAs will be configured as a parent of the
local groups through the control tree configuration in ECTP-3;
Token
It represents the right for a TU to transmit data. The TU who has
a token is called SU. The tokens are managed by TC-Owner;
Forward Data Channel
It represents the multicast data channel from TO to the TUs. TO
sends multicast data to all the other group members over IP
multicast address.
Backward Data Channel
It represents the unicast data channel from a TU (SU) to TO. An
SU who has a token can send unicast data to TO over IP unicast
address.
Koh and Kim Expires: April 2006 [Page 4]
ECTP for Duplex Multicast October 2005
2.2 Abbreviations
The following acronyms for ECTP protocols are used in this document:
ECTP-1 ECTP part 1 (ITU-T X.606 | ISO/IEC 14476-1)
ECTP-2 ECTP part 2 (ITU-T X.606.1 | ISO/IEC 14476-2)
ECTP-3 ECTP part 3 (ITU-T X.607 | ISO/IEC 14476-3)
ECTP-4 ECTP part 4 (ITU-T X.607.1 | ISO/IEC 14476-4)
ECTP-5 ECTP part 5 (ITU-T X.608 | ISO/IEC 14476-5)
ECTP-6 ECTP part 6 (ITU-T X.608.1 | ISO/IEC 14476-6)
The following acronyms for ECTP-3 packets are used in this document:
CCR Connection Creation Request
CCC Connection Creation Confirm
TJR Tree Join Request
TJC Tree Join Confirm
DATA Data
NDATA Null Data
RDATA Retransmission Data
ACK Acknowledgment
HB Heartbeat
HBACK Heartbeat Acknowledgment
LJR Late Join Request
LJC Late Join Confirm
ULR User Leave Request
CTR Connection Termination Request
TGR Token Get Request
TGC Token Get Confirm
TRR Token Return Request
TRC Token Return Confirm
2.3 Conventions
In this document, the capital characters are used to represent a
packet of ECTP-3 (e.g., CCR for Connection Creation Request packet),
and the capital and italic characters are used for timers or
variables used in ECTP-3 (e.g., CCT for Connection Creation Timer,
and AGN for ACK Generation Number).
Koh and Kim Expires: April 2006 [Page 5]
ECTP for Duplex Multicast October 2005
3. Protocol Overview
The Enhanced Communications Transport Protocol (ECTP) is a transport
protocol designed to support Internet multicast applications. ECTP
operates over IPv4/IPv6 networks that have the IP multicast
forwarding capability with the help of IGMP and IP multicast routing
protocols.
As shown in Figure 1, the ECTP shall be provisioned over UDP.
+-------------------------+
| Multicast Applications |
+-------------------------+
| ECTP |
+-------------------------+
| UDP |
+-------------------------+
| IP |
+-------------------------+
Figure 1. ECTP Protocol Model
Figure 1 illustrates an example of the use of mobile SCTP for
seamless handover in IPv4 networks. Based on this figure, the
handover procedures are described in the succeeding sections.
This document describes the protocol specification of the ECTP part 3
(ECTP-3) for the duplex multicast connection. The duplex multicast
connection is used for supporting multicast data transport between
the participants that are classified into a single TC-Owner (TO) and
many TS-users. A duplex multicast connection supports the two types
of data channels between the participants: multicast data channel
(sent by TO toward all the other TS-users) and unicast data channel
(sent by a TS-user to TO). Such a TS-user is called Sending User (SU).
Figure 2 illustrates these two types of data transport channels used
in the duplex multicast connection. As shown in the figure, TO can
transmit multicast data to the other TS-users over IP multicast
(group) address. Some SUs may send unicast data to TO. The SU must
first get a token from the TO before sending the unicast data.
Koh and Kim Expires: April 2006 [Page 6]
ECTP for Duplex Multicast October 2005
/-----------------------------------\
| |
v /=============> TU (SU)
|
TO ==============================> TU
|
^ \=============> TU (SU)
| |
\-----------------------------------/
Figure 2. Data Flows in ECTP Duplex Connection
To establish a duplex multicast connection, TO transmits a CCR packet
to the group. The CCR packet contains the connection information
including general characteristics of the connection. In particular,
the CCR packet must indicate that the connection type is the duplex
multicast transport. Each TU who wants to participate in the
connection will respond to the TO with a CCC packet. The connection
creation operation will be completed when a pre-determined CCT timer
expires.
During the connection creation phase, a logical control tree is
configured between TO and TUs, or between TUs for providing the
scalable reliability control. With the root of the TO, the control
tree defines a parent-child relationship between any pair of two TUs.
The parent TU is called Repair Agent (RA). Based on the control tree,
the error recovery will be performed. To configure a control tree,
each TU sends a TJR message to a candidate parent node that has
already been connected to the tree. The parent node will respond to
the promising child TU with the TJC message. In this way, the control
tree will gradually be expanded from the root toward the leaf nodes.
Some of the prospective TUs may join the connection as late-joiners.
The late-joining TU participates in the connection by sending an LJR
message to TO. In response to the LJR message, TO sends an LJC
message to the TU. The late-joiner TU will also join the control tree
by using the TJR and TJC messages. For this purpose, the LJC message
of TO may include the information about the prospective parent RA
node for the late-joiner. The late-joining TU may try to connect to
the prospective RA node so as to configure the control tree.
After the connection is established, the data transmission phase
starts. ECTP-3 protocol supports two types of data channels: the
forward multicast channel from TO to the group and the backward
unicast channel from the TU to TO.
ECTP-3 also provides three kinds of reliability options: reliable
(error recovery), semi-reliable (partial error recovery), and
unreliable (no error recovery). In the reliable option, all the DATA
Koh and Kim Expires: April 2006 [Page 7]
ECTP for Duplex Multicast October 2005
packets will be recovered by the parent on the tree. In the semi-
reliable option, the retransmissions of the lost packets are limited
by the buffer status of the parent node. That is, the parent node
will retransmit only the DATA packets that are at present being
contained in the buffer. In the unreliable option, the RDATA packets
are not used. It is also noted that each ACK packet does not mean any
retransmission request to the parent. The ACK packets are instead
used for monitor the receiving status of the receivers.
In the forward multicast data transmission, TO can begin the
multicast data transmission to the group by using the IP multicast
address and group port number. The multicast data packets sent by TO
will be sequentially segmented and transmitted by DATA packets to the
receiving TUs. The TS-users will deliver the received DATA packets to
the upper-layer application in the order transmitted by TO.
For the forward multicast data channel of TO, the error control will
be performed based on the local group defined by the ECTP control
tree. If a child TU detects a data loss, it sends a retransmission
request to its parent via ACK packets. Each child generates an ACK
packet every ACK Generation Number (AGN) data packets. That is, an
ACK packet is generated for the AGN data packets of TO. An ACK
message contains a æBitmapÆ to indicate which data packets have been
received or not. In response to an ACK packet, each parent RA may
retransmit the RDATA packets to its children.
In the forward multicast data transport, the HB and HBACK packets are
used between a parent and children for the control tree maintenance.
A parent transmits HB packets to the children every HB Generation
Time (HGT). The HB contains which child must respond to this HB
packet with the HBACK packet. The corresponding child will send a
HBACK packet to the parent. The HB packet may also be used by the
parent to calculate the local RTT for the group. For this purpose,
the HB and HBACK packets contain a timestamp. The TO uses this RTT
information for the rate-based congestion control that is based on
the well-known TCP-Friendly Multicast Congestion Control (TFMCC)
equation. The transmission rate of TO will be adjusted based on the
RTT and the packet loss rate.
For the backward unicast data transport, a certain TU in the
connection may get a token from TO by sending a TGR message. The TO
will then respond to the TU with the TGC message that contains a
Token ID. Accordingly, the total number of tokens in the connection
is controlled by TO. The Token ID is used to identify the sender of
the unicast DATA packets at the TO side. The TU who has a token is
called Sending TU (SU).
The SU can send unicast DATA packets to TO. For the error recovery
and congestion control, the HB and HBACK packets are exchanged
Koh and Kim Expires: April 2006 [Page 8]
ECTP for Duplex Multicast October 2005
between SU and TO. The SU sends an HB message to TO. The TO then
responds with the HBACK packet that contains the acknowledgement
information, as done in ACK packets in the forward multicast channel.
It is noted that the HBACK is used for retransmission request in the
backward channel. The SU performs the rate-based congestion control,
as done in the forward data channel, which is based on the RTT and
packet loss rate.
After completing the unicast data transmission, the SU will return
the token to the TO by sending a TRR message. TO will respond to the
SU with a TRC message.
The connection management operations are taken in the connection;
user leave, the connection pause and resumption, and connection
termination. In the User Leave operation, a participating TU may
leave the connection by sending a ULR message to the parent. In a
certain case, the parent may enforce a specific child TU to leave the
connection by sending the ULR message, which is called the
troublemaker ejection. The TO may temporarily pause and resume the
connection. In the connection pause period, the TO will send NDATA
packets to the group.
After the TO has completed the data transport, it may terminate the
duplex connection by sending a CTR message to the group.
4. Design Considerations
This section describes some considerations for the design of ECTP-3.
4.1 Participants
The participants to an ECTP-3 connection can be classified into one
of the following nodes:
TO (TC-Owner)
ECTP-3 connection has a single TO. The TO is responsible for the
overall operations required for connection management including
connection creation and termination, control tree creation, late join,
and connection maintenance. TO is also a single sender of the forward
multicast data channel. Only the TO is allowed for sending the
original multicast data to the other participants.
TU (TS-User)
An ECTP-3 connection has one or more TUs. Each of them receives
multicast data from TO.
Koh and Kim Expires: April 2006 [Page 9]
ECTP for Duplex Multicast October 2005
RA (Repair Agent)
In the ECTP-3 connection, an RA is a TU who is responsible for error
recovery to the local group by retransmission of data. On the control
tree hierarchy of ECTP-3, an RA is a parent node and has its children
nodes. Note that an RA is also a TU. That is, an RA also receives
multicast data from TO. In ECTP-3, a TU may act as an RA in the
connection, or some designated RAs may be used for the error recovery
in the connection. It depends on the deployment of ECTP-3.
SU (Sending TS-User)
An SU is a TU who can send unicast data to TO. In ECTP-3 connection,
a TU becomes an SU when it has a token and it can thus transmit
unicast data to TO.
4.2 Control Tree
An ECTP-3 connection may configure a control tree for scalable
reliability control as follows.
TO
^^^
/ | \
ACKs / | \
/ | \
/ | \
/ | \
/ | \
RA RA RA
^^ ^^^ ^^
/ | / | \ | \
/ | / | \ | \
/ | / | \ | \
TU TU TU TU TU TU TU
Figure 3. ECTP-3 Control Tree
In the ECTP-3 control tree, TO is on the top of the tree, which is in
the Tree Level 0. RA is a parent node on the tree and has one or more
children. The TU nodes, not designated as RA, cannot have its
children. Such a control tree will be configured in the connection
creation phase.
Koh and Kim Expires: April 2006 [Page 10]
ECTP for Duplex Multicast October 2005
Error recovery in ECTP-3 will be performed within each local group
defined by the control tree. A child can request retransmission to
its parent RA. In response to the request, the parent RA will
retransmit the data packets to the children, if it has them in the
buffer. An RA is also a TU, and it thus receives the multicast data
from the TO. The control tree is applied only for forward multicast
data channel. The control tree does not apply to the backward unicast
data channel.
4.3 Data Channels
In ECTP-3, the two types of data channels are used: forward and
backward data channels.
Forward Data Channel
The forward data channel is used for TO to send multicast data to the
other TUs. The forward data channel can also be used for an RA to
send Retransmission Data to its children TUs.
The forward data channel address consists of the group (multicast) IP
address and the group port. TO sends multicast data via DATA packets
by using the forward data channel address. TO and RAs can also
retransmit multicast data via RDATA packets by using the forward data
channel address.
The following figure illustrates the use of the forward multicast
data channels in ECTP-3.
Backward Data Channel
The backward data channel is used by an SU to send unicast datat to
TO. The backward channel address consists of the IP address of TO and
the ægroupÆ port.
The following figure illustrates the use of the backward unicast data
channels in ECTP-3.
Each SU must send unicast data via DATA and RDATA packets to TO by
using this backward data channel address as the destination address.
On the other hand, TO must bind its backward data channel address to
receive the unicast data from any SU in the connection.
Koh and Kim Expires: April 2006 [Page 11]
ECTP for Duplex Multicast October 2005
4.4 Addressing
In ECTP-3, each packet uses the following types of IP addresses and
port number for its source and destination address:
- Group IP address and Local IP address;
- Group port and Local port.
Group and Local IP Addresses
The group IP address is the IP multicast address (e.g., Class D
address for IPv4), whereas a local IP address represents the unicast
IP address for each of the ECTP participants: TO, RAs and TUs.
The group IP address is used as the destination address of the
packets that need to be multicast by TO and RAs. For example, the CCR
and DATA packets of TO will use the group IP address as the
destination address of the associated IP packets. Each RA also uses
the group IP address as the destination address of the RDATA and HB
packets.
The local IP address of each participant is used as the source and
destination IP address for the unicast packets, and also the source
address for the multicast packets.
It is noted that the group IP address and the local IP address of TO
must be announced to all the prospective participants via an out-of-
band signaling such as Web announcement.
Group and Local Ports
The group port represents the port number that has been announced to
all of the ECTP-3 participants before the connection. In ECTP-3, the
group port will typically be used as the ædestination portÆ of the
ECTP-3 multicast packets transmitted by TO or RAs, such as CCR and
DATA. That is, each TU should bind to the group IP address and port
so as to receive the relevant ECTP-3 multicast packets.
The group port number is also used by SU to send unicast data to TO.
That is, TO will bind to the local port with its local IP address so
as to receive the unicast data from any SU. In particular, the group
port is also used as the destination port of the packet that requests
a certain action, such as LJR.
On the other hand, in the other cases that are not described above,
the ECTP-3 packet will use the local port number as source and/or
destination ports. For example, in response to the Late Join Request
from a TU, the TO will respond with the Late Join Confirm message
that use the local port of the TU as the destination port.
Koh and Kim Expires: April 2006 [Page 12]
ECTP for Duplex Multicast October 2005
The detailed use of the local IP address and port will be specified
for each of the ECTP-3 packets in the later section.
Addresses of Data Channels
In ECTP-3, all the data packets use the group port number as the
destination port. Accordingly, before the connection creation, the
following information must be announced to all of the ECTP-3
participants via an out-of-band signaling such as Web announcement.
- Group IP address and Group port;
- Local IP address of TO.
The following figure describes the use of IP address and port for the
forward and backward data channels. The forward multicast data
packets use the group IP address and port number as the destination
address of the data packets, whereas the backward data packets use
the local IP address of TO and the group port number as the
destination address.
4.5 Tokens
In ECTP-3, a token represents the right for a TU to send a unicast
data to TO. Before transmitting the data, each TS-user must get a
token from the TO, as per the Token Control procedures of ECTP-3.
Each token is represented as a 1-byte non-negative integer in ECTP-3.
Such a token number (or Token ID) will be assigned by TO when a TU
requests a token in the connection. Token ID is ranged between 1 and
255. The Token ID of æ0Æ is reserved for use of TO. At the TO side,
the Token ID can be used to identify who is sending the unicast data.
Koh and Kim Expires: April 2006 [Page 13]
ECTP for Duplex Multicast October 2005
5. Packets
An ECTP packet contains a 16-byte base header together with either
extension elements or user data. It is noted that the data packets do
not include any extension elements.
In this section, we give a brief sketch of the ECTP-3 packet format.
More detailed description on the packet format is given in [6].
5.1 Base Header
The 16-byte base header contains the information helpful to all the
protocol operations, in particular for the data packets.
The base header contains the following information:
Next Element (4 bits)
This specifies the type of the extension element immediately
following the base header. The encoding values of the extension
elements will be described later. The extension element value of
æ0000Æ means that the next part of this packet contains the user data,
if any.
Version (2 bits)
This defines the version of the ECTP-3 protocol. Its current version
is encoded as æ00Æ.
CT (Connection Type): (2 bits)
This specifies the type of the ECTP connection. The encoding value
for the connection type is as follows:
01 û simplex multicast connection (for ECTP-1 and ECTP-2);
10 û duplex multicast connection (for ECTP-3 and ECTP-4);
11 û N-lex multicast connection (for ECTP-5 and ECTP-6);
The value 00 is reserved for future use. In this ECTP-3 specification,
the CT must be set as 10. It is noted that this definition is
compatible with the specifications of ECTP-1 and ECTP-2.
Packet Type (8 bits)
It indicates the type of this ECTP-3 packet. The encoding values of
the ECTP-3 packets will be described later.
Koh and Kim Expires: April 2006 [Page 14]
ECTP for Duplex Multicast October 2005
Checksum (16 bits)
This is used to check the validity of the ECTP-3 packet that includes
the base header, extension header and/or user data. The ECTP-3
checksum is calculated by using the conventional complement
arithmetic operation, as done in TCP and UDP.
Connection ID (32 bits)
The Connection ID is used to identify an ECTP connection by the ECTP
host. It may also be used to verify the connection. In the connection
setup phase, this information must first be informed by TO to the
other participants via the CCR or LJC packets. All the otherECTP-3
packets must set this field to be the value announced by TO.
PSN (32 bits)
This value represents the sequence number of the data packet for the
ECTP-3 DATA or RDATA packets. For some control packets such as NDATA
or HB packets, this value has a different semantic, which will be
described later. For the other control packets, it is ignored. This
sequence number is a 32-bit unsigned number that starts with the
initial sequence number and increases by 1, and wraps back around to
1 after reaching 232-1.
Payload Length (16 bits)
This value indicates the total length of the extension headers or
user data in byte, following the base header.
F (1 bit)
It is a flag bit. The use of this flag depends on the packet types:
For the LJC (Late Join Confirm), TJC (Tree Join Confirm), Token
Get Confirm (TGC), Token Return Confirm (TRC) packets, the F = 1
indicates that each of the corresponding join request is accepted.
F is set to 0, otherwise;
For the ULR (User Leave Request) packet, F is set to 1 for the
user-invoked leave, or set to 0 for the troublemaker ejection;
For the CTR (Connection Termination Request) packet, F is set to
1 for an abnormal termination, or set to 0 for the normal
termination after all the data have been transmitted;
For the token control operations, TGR and TRR request messages
use this flag so as to indicate whether this is the TO-initiated
or TU-initiated token control.
Koh and Kim Expires: April 2006 [Page 15]
ECTP for Duplex Multicast October 2005
For the other packets, the detailed description is given in the
protocol procedure section. Otherwise, if any usage is not specified,
this field will be ignored.
Reserved (7 bit)
This field is reserved for future use.
Token ID (8 bit)
The Token ID is valid only for data packets: DATA and RDATA packets.
This represents who is the source of the data packets. The Token ID
value is ranged between 0 and 255. Each SU receives a Token ID from
TO via the token get procedure and sets this field to be the number
assigned by TO. The forward multicast data packets of TO set this
field to be æ0Æ.
5.2 Extension Elements
The ECTP packets used for control may contain one or more extension
elements along with the base header. The based header and each
extension element has the field of Next Element that points to the
immediately succeeding extension element, if any.
The Next Element field is encoded as shown in the following table. It
is noted that the 0000 means No Element. Accordingly, the last
extension element of an ECTP packet must set its Next Element field
to æ0000Æ.
Table 1. Extension Elements
+-------------------+---------+-----------------+
| Extension Element | Encoding| Length (bytes) |
+-------------------+---------+-----------------+
| End of Element | 0000 | 0 |
+-------------------+---------+-----------------+
| Connection | 0001 | 4 |
+-------------------+---------+-----------------+
| Acknowledgement | 0010 | Variable |
+-------------------+---------+-----------------+
| Membership | 0011 | 4 |
+-------------------+---------+-----------------+
| Timestamp Report | 0100 | 12 |
+-------------------+---------+-----------------+
| IP Address | 0101 | 8 or 20 |
+-------------------+---------+-----------------+
Koh and Kim Expires: April 2006 [Page 16]
ECTP for Duplex Multicast October 2005
It is noted that all the extension elements other than Address
element have already been defined in ECTP-1 and ECTP-2. Accordingly,
the encoding values of those extension elements will be reused in
ECTP-3. It is noted that the encoding value of 0101 is reserved for
the QoS extension element, which is not used in ECTP-3, and may be
defined for the QoS management in ECTP-4.
All the extension elements described in the table will be defined in
this section by encompassing the requirements for the ECTP-3 protocol.
Connection Element
The connection extension element contains overall information on the
ECTP-3 transport connection. It is encoded as 0001 in the Next
Element field of the preceding element or based header. This
extension element must be included in the CCR, LJC and TGR packets.
Acknowledgement Element
This extension element provides information on the status of the
packet reception at the child node, which will be referred to by the
parent node for the error, flow and congestion control. This
extension header is attached to the ACK packet. It is encoded as
æ0010Æ in the Next Element field of the preceding element or based
header.
Membership Element
This 4-byte extension element contains information on the tree
membership. It is encoded as 0011 in the Next Element field of the
preceding element or based header.
Timestamp Element
The Timestamp element is encoded as 0100 in the Next Element field of
the preceding element or based header. The ECTP-3 uses the 8-byte
timestamp so as to calculate Round Trip Time (RTT).
Address Element
The Address extension element is encoded as 0110 in the Next Element
field of the preceding element or based header. This element is
attached to the packet when the protocol needs to specify the IPv4 or
IPv6 address of the participant concerned. For example, the LJC
packet of TO may include this element so as to inform a late-joining
TU about the IP address of the promising RA that the TU may connect.
Koh and Kim Expires: April 2006 [Page 17]
ECTP for Duplex Multicast October 2005
5.3 Packet Format
ECTP-3 defines the total 18 packet types: 3 types of data packets and
15 types of control packets. The following table summarizes the
packets used in ECTP-3.
Table 2. ECTP-3 Packets
+----------------------------+-------+----------+-----------+---+
| Full Name |Acronym| From | To |M/U|
+----------------------------+-------+----------+-----------+---+
|Connection Creation Request | CCR | TO | TUs | M |
+----------------------------+-------+----------+-----------+---+
|Connection Creation Confirm | CCC | TU | TO | U |
+----------------------------+-------+----------+-----------+---+
| Tree Join Request | TJR | Child | Parent | U |
+----------------------------+-------+----------+-----------+---+
| Tree Join Confirm | TJC | Parent | Child | U |
+----------------------------+-------+----------+-----------+---+
| Data | DATA | TO/SU | TUs/TO |M/U|
+----------------------------+-------+----------+-----------+---+
| Null Data | NDATA | TO | TUs | M |
+----------------------------+-------+----------+-----------+---+
| Retransmission Data | RDATA |Parent/SU |Children/TO|M/U|
+----------------------------+-------+----------+-----------+---+
| Acknowledgement | ACK | Child | Parent | U |
+----------------------------+-------+----------+-----------+---+
| Heartbeat | HB |Parent/SU |Children/TO|M/U|
+----------------------------+-------+----------+-----------+---+
| Heartbeat ACK | HBACK | Child/TO | Parent/SU | U |
+----------------------------+-------+----------+-----------+---+
| Late Join Request | LJR | TU | TO | U |
+----------------------------+-------+----------+-----------+---+
| Late Join Confirm | LJC | TO | TU | U |
+----------------------------+-------+----------+-----------+---+
| User Leave Request | ULR |Child/Par.|Par./Child | U |
+----------------------------+-------+----------+-----------+---+
| Connection Term. Request | CTR | TO | TUs | M |
+----------------------------+-------+----------+-----------+---+
| Token Get Request | TGR | SU | TO | U |
+----------------------------+-------+----------+-----------+---+
| Token Get Confirm | TGC | TO | SU | U |
+----------------------------+-------+----------+-----------+---+
| Token Return Request | TRR | SU | TO | U |
+----------------------------+-------+----------+-----------+---+
| Token Return Confirm | TRC | TO | SU | U |
+----------------------------+-------+----------+-----------+---+
(*) In the table, M/U means Multicast and Unicast.
Koh and Kim Expires: April 2006 [Page 18]
ECTP for Duplex Multicast October 2005
In the table, the parent node represents TO or RA, and the packets
used for token control can be initiated by SU as well as TO. As also
shown in the table, all of the ECTP-3 packets are exchanged between
the participants in the request-and-conform manner. For example, the
CCR request expects to receive the corresponding CCC confirm message.
The ACK messages will be used to confirm the DATA and RDATA messages.
On the other hand, ULR and CTR messages do not require any responding
confirm messages.
6. Procedures
This section describes the protocol procedures of ECTP-3. Before an
ECTP-3 connection is created, the following address information
should be announced to the prospective participants: TU and RA.
- Multicast IP address of the group
- Group port number
- IP address of TO
This information may be announced to the prospective participants via
an out-of-band signaling mechanism such as Web announcement.
Accordingly, the prospective TU should be able to bind the group IP
address and port so as to receive the CCR packet from the TO. A
prospective late-joiner TU should also send a LJR packet to the TO.
6.1 Connection Creation
An ECTP-3 connection will begin when TO sends the first ECTP-packet,
CCR, to the group over the multicast group IP address and port. An
ECTP-3 control tree is also configured in the connection creation
phase.
TO begins the connection creation operation by sending the CCR packet
to the group. The CCR packet contains the generic information on the
connection element such as TCO (Tree Configuration Option), RO
(Reliability Option), and MSS (Maximum Segment Size).
After sending the CCR packet, TO starts the CCT (Connection Creation
Timer). Only the CCC packets will be allowed during the CCT timer.
Each TU should join the control tree before responding with a CCC
packet. In the connection creation phase, each TU can join only the
TO as the parent.
To join the control tree, each TU sends a TJR packet to TO. TO then
responds to the TU with the TJC packet. The TJC packet should
Koh and Kim Expires: April 2006 [Page 19]
ECTP for Duplex Multicast October 2005
indicate whether the tree join request is accepted or not by using
the F flag of the base header.
The TJC packet should also contain the Child ID and Tree Level in the
membership element. The TJC packet may optionally contain the address
element to represent a promising parent RA for the TU. It needs to
ensure that the parent RA has already been on the tree.
6.2 Late Join
Some of the prospective participants may join the ECTP-3 connection
as a late joiner. In particular, any TU is allowed to join the
connection as a late joiner, after the CCT timer expires.
The late joiner TU sends an LJR packet to TO. In response to the LJR
packet, the TO sends an LJC packet to the TU, which should indicate
that the request is accepted or not by using the F flag of the base
header.
The LJC packet should contain the connection element. It may also
contain the address element so as to recommend the promising parent
RA for the TU. If no address element is indicated the TU may try to
join the TO in the control tree configuration.
If the LJC packet does not arrive within the RXT (Retransmission
Timeout), the late joiner may try to send the LJR packet again.
To join the control tree, the TU should send a TJR packet to the
promising parent RA, as indicated by TO via the LJC packet, or to the
parent TO. The TO then responds with the TJC packet to the TU.
If the TJC packet does not arrive within the RXT, the late joiner may
try to send the TJR packet again.
In this way, the ECTP-3 control tree will be configured in the
hierarchical manner.
6.3 Forward Data Transport
In the ECTP-3 forward data channel, the TO sends multicast DATA
packets to the group. When a data packet loss is detected by the
receiving TU, the retransmission for error recovery will be performed
within a local group that is defined by the control tree.
On the other hand, ECTP-3 provides three kinds of Reliability Option
(RO) for error control operations: reliable, semi-reliable, and
unreliable. The semantics of the RO are as follows:
1) Reliable Transport (error recovery)
Koh and Kim Expires: April 2006 [Page 20]
ECTP for Duplex Multicast October 2005
In the reliable option, all the DATA packets will be recovered by
the parent on the tree. Each child requests the retransmission
via ACK packet, and the parent sends the corresponding RDATA
packet over the multicast address.
2) Semi-reliable Transport (partial error recovery)
In the semi-reliable option, the retransmissions of the lost
packets are limited by the buffer status of the parent node. That
is, the parent node will retransmit only the DATA packets that
are at present being contained in the buffer. It is noted that
the parent node need not keep all the DATA packets in the buffer.
The parent will rather delete the old DATA packets from the
buffer, which have not been acknowledged by the children.
It is noted in the semi-reliable option that the parent should
announce its children about which DATA packets could be recovered
in the error recovery. For this purpose, the parent node will use
the periodic HB packets. Specifically, the PSN filed of the base
header of the HB packet will indicate the lowest sequence number
of DATA packets that are contained in the buffer.
3) Unreliable Transport (no error recovery)
In the unreliable option, the RDATA packets are not used. It is
also noted that each ACK packet does not mean any retransmission
request to the parent. The ACK packets are instead used by the
parent to monitor the status of the connection such as ADN.
6.3.1 Multicast Data Transmission
After the connection creation, the TO can send multicast DATA packets
to the group members.
TO will generate DATA packets by the segmentation procedure. To do
this, TO splits a multicast data stream of application into multiple
DATA packets. Each DATA packet has its own sequence number. When TO
has no data to transmit, TO may transmit the periodic NDATA packets
in the connection pause period.
Each TU delivers all the data packets received to the application in
the order sent by TO. Each receiver reassembles the received packets.
Corrupted and lost packets are detected by using a checksum and
sequence number. A corrupted packet is also considered as a loss. The
lost DATA packets are recovered in the error control function.
Koh and Kim Expires: April 2006 [Page 21]
ECTP for Duplex Multicast October 2005
ECTP-3 uses the flow control based on a fixed-size window. The window
size represents the number of unacknowledged data packets in the
sending buffer. TO can maximally transmit the window size of data
packets at the configured data transmission rate. In ECTP-3, the
transmission rate of multicast data is controlled by the rate-based
congestion control mechanisms.
A new DATA packet is sequentially numbered by TO. The sequence number
of the DATA packet starts from Initial PSN and increases by 1. The
sequence number is used to detect lost data packets by receivers. The
Initial PSN is randomly generated other than 0. The sequence number
of 0 is reserved. The packet sequence number is increased for each
new DATA packet. Modulo 232 arithmetic is used and the sequence
number wraps back around to 1 after reaching <232 û 1>. The Initial
PSN number will be informed to the TUs by way of CCR or LJC packet.
6.3.2 Reliability Control for Reliable Transport
When the reliability option for the connection indicates Reliable (RO
= 10), all the DATA packets should be recovered in the error recovery
operations.
Error Detection
The checksum field of the base header is used for detection of packet
corruption, and the PSN field is for detection of a packet loss. When
a data packet is received, each receiver examines the checksum. If
the checksum field is invalid, the packet is regarded as a corruption
and shall be discarded. A corruption is treated as a loss. The loss
can be detected as a gap of two consecutive sequence numbers for DATA
packets. The loss information is recorded into the ACK bitmap, which
is attached to the subsequent ACK packets.
ACK packets are used for the retransmission requests. When a receiver
detects a gap in the sequence numbers of received packets, it sets to
zero the bit of the ACK bitmap that corresponds to the lost DATA
packet. The ACK bitmap is included into the acknowledgement element,
which is attached to the subsequent ACK packet and delivered to the
parent by the ACK generation mechanisms.
For a local group, a parent and its children maintain the Lowest
Sequence Number (LSN) variables to determine the status of DATA
packets. For a child, the LSN represents the sequence number of the
lowest numbered DATA packet that the child has not received. For a
parent, the LSN represents the sequence number of the lowest numbered
DT packet that has not been acknowledged by its children.
Koh and Kim Expires: April 2006 [Page 22]
ECTP for Duplex Multicast October 2005
To request the retransmissions of lost data, each child makes an
acknowledgement element containing the LSN, Valid Bitmap Length and
ACK Bitmap. The ACK Bitmap specifies a success or a failure of a
packet delivery for each DATA packet; 1 for success and 0 for failure.
Suppose Bitmap = 01101111, LSN = 15. Then the DATA packets with the
sequence number 15 and 18 are lost.
Retransmission Request by ACK Generation
Each child generates an ACK packet by ACK Generation Number (AGN).
Each child sends an ACK packet to its parent every AGN number of
packets. To do this, a child receives a Child ID from its parent in
tree configuration, which is contained in the tree membership element
of the TJC packet.
Each child sends an ACK packet to its parent, if the PSN number of a
DATA packet modulo AGN equals Child ID modulo AGN, i.e., if
PSN % AGN = Child ID % AGN.
Suppose AGN = 8 and Child ID = 2. The child generates an ACK packet
for the DT packets whose sequence numbers are 2, 10, 18, 26, etc.
This ACK generation rule is applied when the corresponding DT packet
is received or detected as a loss by the child.
Retransmissions and ACK Aggregation by RA
Each parent uses ACK packets to gather status information for the
error recovery. Each time a parent receives an ACK packet from any of
its children, it records and updates the status information on which
packets have been successfully received by its children.
A DATA packet is defined as a æstableÆ packet if all of the children
have received it. The stable DATA packets are released out of the
buffer memory of the parent. When a parent receives an ACK packet
from one of its children, if one or more packet losses are indicated,
the parent transmits the corresponding RDATA packets to all of its
children over its multicast control address.
After a parent retransmits an RDATA packet, it will ignore any
subsequent retransmission requests for the same packet during the RXT
period.
An ACK packet contains information on the number of active
descendants (ADN). The parent aggregates the ADN variables for all of
its children, and sends the aggregated information to its parent
(when it sends an ACK to the parent.
Koh and Kim Expires: April 2006 [Page 23]
ECTP for Duplex Multicast October 2005
6.3.3 Reliability Control for Semi-Reliable Transport
When the reliability option for the connection indicates <Semi-
Reliable> (RO = 01), the error recovery against the data loss is
limited to the DATA packets that the parent is at present containing
in the buffer. The other procedures are the same with those for the
reliable data transport.
To inform the children about which DATA packets can be recovered
against loss event, the parent uses the periodic HB packet. The PSN
value of the HB packet represents the lowest sequence number of the
DATA packets that can be contained in the buffer of the parent.
Each child node should construct its ACK bitmap based on the
announced PSN value. The data packets with the sequence number lower
than the PSN may be delivered to its upper layer application at the
child side.
6.3.4 Reliability Control for Unreliable Transport
When the reliability option for the connection indicates Unreliable
(RO = 00), the error recovery is not performed; hence no RDATA
packets of the parents are used. Accordingly, each TU will deliver
the DATA packets to the application, as they are received, even when
a data loss is detected.
6.3.5 Control Tree Maintenance
The ECTP-3 control tree is maintained using the HB and HBACK packets.
Each parent RA advertises periodic HB packets using Heartbeat
Generation Time (HGT), after it becomes an on-tree node. The default
HGT is 3 second. The HB packet contains the information (Child ID of
the membership element) about which child should respond to this HB
packet. The corresponding child should respond with the HBACK packet.
In ECTP-3, the exchange of HB and HBACK packets between a parent and
children is done with the following three purposes:
1) Check whether the tree node is still alive
A child detects the failure of its parent, if it cannot receive
any packets such as HB and RDATA packets from the parent during
the time interval of FDN (Failure Detection Number) x Heartbeat
Generation Time (HGT). Then the child begins to find an alternate
parent. The default FDN is 3.
A parent detects the failure of a child, if it cannot hear any
HBACK packets from the child for the FDN consecutive HB packets.
Koh and Kim Expires: April 2006 [Page 24]
ECTP for Duplex Multicast October 2005
If a child is detected as a failure, the parent sends an ULR
packet (for troublemaker ejection) to the failed child, and
clears the child out of its children list.
2) Information on DATA packets that can be recovered
The HB packet of the parent contains the information in the PSN
field of the header, which represents the lowest sequence number
of DATA packet that is contained in the buffer. This information
will be referred to by the children in the ACK generation.
3) Calculation of local RTT
On the other hand, the HB and HBACK can also be used for
calculate the Round Trip Time (RTT) for a local group. A parent
RA sends a HB packet containing a timestamp element to its
children every HGT interval. The corresponding child will also
contain the timestamp element as it is in the HBACK packet.
Receiving an HBACK packet from a child, the parent RA calculates
the RTT by subtracting Timestamp from the current time. The RTT
is recorded into the children list. The parent determines the
Local RTT by the maxim RTT value for its children.
6.3.5 Congestion Control for Forward Data Channel
For the forward multicast data transport, the congestion control will
be done by TO to adjust the data transmission rate. The adjustment of
transmission rate of TO is controlled based on the packet loss rate
and the RTT for the local group. The RTT for the local group may be
calculated using the HB and HBACK packets.
The congestion control algorithm (i.e., the algorithm for
transmission rate adjustment of TO) follows the well-known TCP-
Friendly Multicast Congestion Control (TFMCC) algorithm, which has
been developed in the IETF RMT WG. The TFMCC algorithm is featured
by:
ôTFMCC is a congestion control mechanism for multicast
transmissions in a best-effort Internet environment. It is a
single-rate congestion control scheme, where the sending rate is
adapted to the receiver experiencing the worst network conditions.
TFMCC is reasonably fair when competing for bandwidth with TCP
flows and has a relatively low variation of throughput over time,
making it suitable for applications such as streaming media where a
relatively smooth sending rate is of importance.ö
Koh and Kim Expires: April 2006 [Page 25]
ECTP for Duplex Multicast October 2005
In ECTP-3, the TO will calculate the sending rate X, which is based
on the s (MSS), R (local RTT), and p (packet loss rate). It is noted
that the packet loss rate will be determined by TO as æthe number of
loss events as a fraction of the number of packets transmitted.Æ The
RTT will also be calculated in the Control Tree Maintenance operation.
TO will take the maximum value of the RTTs and packet loss rate that
have been reported from its children.
6.4 Token Control
In ECTP-3, a token represents the right to send a data to the TO in
the backward unicast data channel. Each TU who wants to transmit a
data to TO must get a token from the TO. The TU will be an SU after
getting a token from TO. In this way, TO can control the maximum
number of tokens simultaneously active for the connection.
An SU returns the token after completing the unicast data
transmission to TO.
6.4.1 Token Get
The TU can get a token from TO. In this Token Get operation, the TU
first requests a token to TO. The following figure shows the
operations for Token Get.
To get a token in the Token Get operation, a TU sends a TGR message
to TO, and then waits for the corresponding TGC message. In response
to the TGR packet, the TO should send a TGC message to the TU. The
TGC message should indicate whether the request is accepted or not by
using the F flag of the base header. In case of the acceptance, the
message will also contain a valid Token ID and Initial PSN in the
base header. If the responding TGC message has not arrived until the
RTO timer expires, the TU may send the TGR message again.
The TU (i.e., SU) should respond with the TGC message that sets the F
flag to æ0Æ (acceptance). If the responding TGC message has not
arrived from the SU until the RTO timer expires, the TO may send the
TGR message to SU again.
6.4.2 Token Return
When completing data transmission, the SU may return the token to TO.
The SU can return its token to TO. In this Token Return operation,
the TU sends the TRR packet to TO.
In the Token Return case, the SU sends a TRR message to TO. The TO
then responds with the TRC message. On the other hand, in the Token
Withdrawal case, the TO may enforce the concerned SU to return the
Koh and Kim Expires: April 2006 [Page 26]
ECTP for Duplex Multicast October 2005
token by sending a TRR message. If the responding TRC message has not
arrived until the RTO timer expires, the TRR message may be sent
again.
6.5 Backward Data Transport
After getting a token from TO, an SU can transmit unicast DATA
packets to TO.
6.5.1 Unicast Data Transmission
In the backward unicast data channel, the initial sequence number
(ISN) of SU is indicated in the PSN field of the header of the TGR
(in the Token Get case) or TGC (in the Token Give case). The ISN is
randomly generated other than æ0Æ, as done in the forward data
channel.
The DATA packets transmitted by SU must indicate the Token ID that is
allocated by TO.
6.5.2 Reliability Control for Unicast Data Channel
The reliability control for the unicast data channel will be done
between SU and TO. In the data transmission phase, the SU sends a HB
packet to the TO every HGT time interval. The TO should respond with
the HBACK packet to the SU. The HBACK packet may indicate the
retransmission request in the Acknowledgement element. In this case,
the SU sends the corresponding RDATA packet.
The HB and HBACK packet will also be used to calculate the RTT
between SU and TO.
6.5.3 Congestion Control for Unicast Data Channel
The congestion control (sending rate adjustment) of SU is performed,
as done in the forward data channel. Based on the packet loss rate
and RTT, the SU calculate the transmission rate.
6.6 Connection Management
6.6.1 User Leave
In the User Leave case, the child node will send a ULR message to its
parent (RA or TO). In the Troublemaker Ejection case, the parent will
request the concerned child to leave the connection. In both cases,
the ULR message does not require the corresponding confirm message.
It is noted that the User Leave operation is performed between a
Koh and Kim Expires: April 2006 [Page 27]
ECTP for Duplex Multicast October 2005
parent and a child over the control tree, rather than between TO and
TU. The troublemaker ejection may be applied to the child that has
not been responding during a certain time interval in the HB and
HBACK operation for tree maintenance. It is not recommended to apply
the troublemaker ejection to an RA node that has one or more children.
6.6.2 Connection Pause and Termination
In ECTP-3, the TO may pause the connection temporarily for a certain
reason. For example, when it has no user data to transmit, the TO may
pause the connection. The connection may also resume. During the
connection pause period, the TO may send NDATA packet. The TO may
also terminate the connection when it has completed the data
transmission. The TO performs the connection termination by sending a
CTR message to the group.
7. Timers and Parameters
This section summarizes the timers and variables used for ECTP-3 for
information.
7.1 Timers
CCT (Connection Creation Time)
TO triggers the CCT timer when sending the CCR packet to the group.
The TO will process only the CCC packets that arrive from the
prospective TUs before the CCT timer.
A specific value of CCT will be configured by the TO.
LJT (Late Join Time)
When a promising late-joining TU starts an ECTP connection, if it
cannot receive any CCR message during the LJT time, it will try to
join the ECTP connection as a late-joiner by sending an LJR message
to the TO.
A specific value of LJT will be configured by the TU.
HGT (Heartbeat Generation Time)
Each parent node transmits the HB packet to its children every HGT
second. Each child will respond with the HBACK packet if the Child ID
of the HB packet is equal to its Child ID. The SU also sends the HB
packets every HGT interval. The TO will respond with the HBACK packet.
The choice of HGT depends on the parent node and SU.
Koh and Kim Expires: April 2006 [Page 28]
ECTP for Duplex Multicast October 2005
RXT (Retransmission Time)
In ECTP, the RXT timer is used by the packet initiator to wait for
the corresponding confirm packet. For example, a late joiner TU sends
an LJR packet to TO and waits for the LJC packet until the RXT timer
expires. When the timer expires and the confirm packet has not
arrived until then, it may send the request packet again.
The RXT timer can also be used by a parent node to back off the
retransmission request from the children for the RDATA packets that
have already been retransmitted.
A specific value of RXT depends on the implementation.
7.2 Parameters
ADN (Active Descendants Number)
This represents the number of the active descendants on the tree.
Each RA calculates the ADN value and delivers it via the ACK packet
to the parent. In this way, the TO can be informed about the total
number of active participants in the connection.
AGN (ACK Generation Number)
The AGN value will be informed to the TUs via the Connection
Information element. This AGN value is referred to by each child node
to realize when it should generate its ACK packet toward its parent.
FDN (Failure Detection Number)
The FDN number is used for a tree node to detect whether its parent
or child node is still alive. In the tree maintenance, the parent may
eject a child if the child has not been responding during the FDN
consecutive times of HB packets.
PSN (Packet Sequence Number)
Each DATA packet has its own PSN value in the header. This is used
for the receiving TU to check the packet loss event and to rearrange
the DATA packet in the order transmitted.
ISN (Initial Sequence Number) is the initial PSN of the data sender,
whereas the LSN (Lowest Sequence Number) represents the lowest
sequence number of the DATA packets contained in the buffer.
Koh and Kim Expires: April 2006 [Page 29]
ECTP for Duplex Multicast October 2005
Security Considerations
TBD
References
[1]ITU-T Recommendation X.601 (2000), Multi-Peer Communications
Framework
[2]ITU-T Recomendation X.602 (2004) | ISO/IEC 16511: 2005,
Information Technology û Group Management Protocol (GMP)
[3]ITU-T Recommendation X.605 (1998) | ISO/IEC 13252: 1999,
Information Technology û Enhanced Communications Transport Service
Definition
[4]ITU-T Recommendation X.606 (2001) | ISO/IEC 14476-1: 2002,
Information Technology ù Enhanced Communications Transport
Protocol: Specification of simplex multicast transport (ECTP-1)
[5]ITU-T Recommendation X.606.1 (2002) | ISO/IEC 14476-2: 2003,
Information Technology ù Enhanced Communications Transport
Protocol: Specification of QoS Management for Simplex Multicast
Transport (ECTP-2)
[6]ITU-T draft Recommendation X.607 | ISO/IEC CD 14476-3, Working in
Progress, Information Technology ù Enhanced Communications
Transport Protocol: Specification of Duplex Multicast Transport
(ECTP-3), available from http://protocol.knu.ac.kr/pub/ECTP-3-WD-
01.pdf, 2005
Author's Addresses
Seok J. Koh
Department of Computer Science, Kyungpook National University, KOREA
sjkoh@knu.ac.kr
Dae Young Kim
Chungnam National University, KOREA
Qiaobing.Xie@motorola.com
Koh and Kim Expires: April 2006 [Page 30]
ECTP for Duplex Multicast October 2005
Intellectual Property
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at ietf-
ipr@ietf.org.
Copyright Statement
Copyright (C) The Internet Society (2005). This document is subject
to the rights, licenses and restrictions contained in BCP 78, and
except as set forth therein, the authors retain all their rights.
Disclaimer of Validity
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Koh and Kim Expires: April 2006 [Page 31]