|PGM, Pragmatic General Multicast|
|Type:||Transport layer protocol.|
|MAC header||IP header||PGM header||Data :::|
|Source Port||Destination Port|
|Global Source ID|
|Global Source ID||TSDU Length|
Source Port. 16 bits.
Destination Port. 16 bits.
Flags. 8 bits.
Version. 2 bits.
PGM version number.
Type. 4 bits.
Type Description 0
Options. 8 bits.
E, Option Extensions. 1 bit.
N, Options are network-significant. 1 bit.
T, Packet is a parity packet for a transmission group of variable sized packets. 1 bit.
P, Packet is a parity packet. 1 bit.
Checksum. 16 bits.
(RFC 3208). The usual 1's complement of the 1's complement sum of the entire PGM packet including header. The checksum does not include a network-layer pseudo header for compatibility with network address translation. If the computed checksum is zero, it is transmitted as all ones. A value of zero in this field means the transmitter generated no checksum. Note that if any entity between a source and a receiver modifies the PGM header for any reason, it MUST either recompute the checksum or clear it. The checksum is mandatory on data packets.
Global Source ID. 48 bits.
(RFC 3208). A globally unique source identifier. This ID MUST NOT change throughout the duration of the transport session. A RECOMMENDED identifier is the low-order 48 bits of the MD5 signature of the DNS name of the source.
TSDU Length. 16 bits.
(RFC 3208). The length in bytes of the transport data unit exclusive of the transport header. Note that those who require the TPDU length must obtain it from sum of the transport header length (TH) and the TSDU length. TH length is the sum of the size of the particular PGM packet header (type_specific_size) plus the length of any options that might be present.
Data. Variable length.
AFI, Address Family Indicator.
ALF, Application Level Framing.
APDU, Application Protocol Data Unit.
ARQ, Automatic Repeat reQuest.
DLR, Designated Local Repairer.
FEC, Forward Error Correction.
NCF, NAK Confirmation.
NLA, Network Layer Address.
NNAK, Null Negative Acknowledgment.
ODATA, Original Data.
POLL, Poll Request.
POLR, Poll Response.
RDATA, Repair Data.
RSN, Receive State Notification.
SPM, Source Path Message.
SPMR, SPM Request.
TG, Transmission Group.
TGSIZE, Transmission Group Size.
TPDU, Transport Protocol Data Unit.
TSDU, Transport Service Data Unit.
TSI, Transport Session Identifier.
(RFC 3208) TSIs MUST be globally unique, and only one source at a time may act as the source for a transport session. (Note that repairers do not change the TSI in any RDATA they transmit). TSIs are composed of the concatenation of a Global Source ID and a source-assigned data-source port. Since all PGM packets originated by receivers are in response to PGM packets originated by a source, receivers simply echo the TSI heard from the source in any corresponding packets they originate. Since all PGM packets originated by network elements are in response to PGM packets originated by a receiver, network elements simply echo the TSI heard from the receiver in any corresponding packets they originate.
TSN, Transmit State Notification.
[RFC 3208] PGM Reliable Transport Protocol Specification.