RFC 8406

Taxonomy of Coding Techniques for Efficient Network Communications

๐Ÿ“… published June 2018, from ietf

Taxonomy of Coding Techniques for Efficient Network Communications ๐ŸŽ€

Okay bestie, this one is from the IRTF (Internet Research Task Force), not the IETF, and it's RFC 8406, an Informational doc, published June 2018 ๐Ÿ“…. It was written by a whole squad: B. Adamson (NRL), C. Adjih (INRIA), J. Bilbao (Ikerlan), V. Firoiu (BAE Systems), F. Fitzek (TU Dresden), S. Ghanem (Independent), E. Lochin (ISAE - Supaero), A. Masucci (Orange), M-J. Montpetit (Independent), M. Pedersen (Aalborg University), G. Peralta (Ikerlan), V. Roca, Ed. (INRIA, as the editor), P. Saxena (AnsuR Technologies), and S. Sivakumar (Cisco). The ISSN is 2070-1721. The title block doesn't list anything this RFC obsoletes or updates, so it's standing on its own ๐Ÿ’….

Abstract โœจ

This doc gives you the recommended terminology for Network Coding concepts and constructs. It's a big set of terms so that future IRTF and IETF docs on Network Coding don't get confusing ๐Ÿง . It came out of the Coding for Efficient Network Communications Research Group (NWCRG), and it lines up with the terms used by the RFCs from the Reliable Multicast Transport (RMT) and FEC Framework (FECFRAME) IETF working groups. Iconic consistency ๐Ÿ™Œ.

Status of This Memo ๐Ÿ“

This one is not an Internet Standards Track specification. It's published just for info, so don't treat it like a standard ๐Ÿซถ.

It's a product of the Internet Research Task Force (IRTF), which shares the results of Internet-related research and development. Those results might not be ready for deployment. This RFC reflects the consensus of the Coding for Efficient Network Communications Research Group of the IRTF. Docs that the IRSG approves for publication aren't candidates for any level of Internet Standard. See Section 2 of RFC 7841 for the details ๐Ÿ”.

For the current status of this document, any errata, and how to send feedback, check https://www.rfc-editor.org/info/rfc8406 ๐ŸŒธ.

Copyright (c) 2018 IETF Trust and the persons identified as the document authors. All rights reserved.

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents, which you can find at https://trustee.ietf.org/license-info as they stood on the publication date. Please read these carefully, because they explain your rights and restrictions for this doc ๐Ÿงพ.

Table of Contents ๐Ÿ—‚๏ธ

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   3
   2.  General Definitions and Concepts  . . . . . . . . . . . . . .   4
   3.  Taxonomy of Code Uses . . . . . . . . . . . . . . . . . . . .   7
   4.  Coding Details  . . . . . . . . . . . . . . . . . . . . . . .   8
     4.1.  Coding Types  . . . . . . . . . . . . . . . . . . . . . .   8
     4.2.  Coding Basics . . . . . . . . . . . . . . . . . . . . . .   9
     4.3.  Coding in Practice  . . . . . . . . . . . . . . . . . . .  12
   5.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  12
   6.  Security Considerations . . . . . . . . . . . . . . . . . . .  13
   7.  Informative References  . . . . . . . . . . . . . . . . . . .  13
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  14

1. Introduction ๐Ÿ’–

Okay so this doc is the product of the collaborative work and consensus of the Coding for Efficient Network Communications Research Group (NWCRG). It is not an IETF product and it's not a standard ๐Ÿ™ˆ. Back in 2017, it got talked through on three audio calls, each with about 6 to 8 key experts. It was co-edited and went through an RG Last Call, and the general vibe was that it was ready โœจ. If you want more on Network Coding, check out the NWCRG pages at <https://irtf.org/nwcrg> and <https://datatracker.ietf.org/rg/nwcrg/about/> ๐Ÿฆ‹.

The Network Coding literature, including the IETF docs, has produced a rich pile of concepts and constructs. This doc gathers the terms people use in the field, both inside and outside the IETF, gives concise definitions, and sketches a high-level taxonomy ๐Ÿงš. The main goal is to be useful to IETF and IRTF work. It also matches the terms already used by the RFCs from the Reliable Multicast Transport (RMT) and FEC Framework (FECFRAME) IETF working groups, especially [RFC5052], [RFC5740], [RFC5775], [RFC6363], and [RFC6726] ๐ŸŽ€. It's related to work in the PAYLOAD and TSVWG working groups (specifically extending FECFRAME to support Sliding Window Codes and the Random Linear Coding (RLC) sliding window FEC scheme), and to past work in the AVTCORE and MMUSIC working groups ๐ŸŒˆ. In the definitions, the "(IETF)" tag marks a term that's already used in IETF documents (Internet-Drafts and RFCs) ๐Ÿ’….

This doc is all about packet transmissions and losses ๐Ÿ“ฆ. Those losses are usually caused by networking issues or impairments, like congested routers or spotty wireless connections ๐Ÿ“ถ. The idea of a "packet" is kind of a shape-shifter ๐Ÿซ . It depends on the use case and on what "network" means. For example, which layer of the protocol stack is the coding middleware working at? A "packet" could be a data unit carried as a UDP payload, since the coding middleware sits between the application and UDP. If coding happens inside an overlay network, then "packet" means something totally different ๐Ÿ˜ญ. Either way, the goals of Network Coding can be to improve network throughput, efficiency, and latency, to boost scalability, and to give resilience against partitions, attacks, and eavesdropping (per the NWCRG charter) ๐Ÿ‘‘. This doc covers both End-to-End Coding and systems that also do recoding inside intermediate forwarding nodes ๐Ÿ“.

Last thing, and it's important ๐Ÿšจ: this doc does not cover physical-layer transmission issues, physical-layer codes, or error detection. If low-layer error codes detect bit errors but can't correct them, or if an upper-layer checksum (for example, within IP or UDP) flags a corrupted packet, then the packet is supposed to be dropped ๐Ÿ’€.

2. General Definitions and Concepts โœจ

okay bestie, this section is the vocab list ๐Ÿ“š๐ŸŽ€ we need before anything else makes sense. Every term here gets used all over the doc, so let's get them locked in.

Packet Erasure Channel: a communication path where packets either get dropped or arrive with zero errors ๐Ÿ’– A dropped packet is called an "erasure" or a "loss." "Channel" is just a generic word for any kind of communication tech, like an Ethernet link, a WiFi network, or a whole path between two nodes over the Internet ๐ŸŒ Now, "Error" channels are the opposite, where one or more bits can get flipped during a packet transmission. Those are out of scope for this doc ๐Ÿ™ˆ

Erasure Correcting Code (ECC) or (IETF) Forward Erasure Correction (FEC): this is a code made only for the Packet Erasure Channel ๐Ÿฆ‹ People also call these "Application-Level FECs" because they live up in the higher layers of the protocol stack and protect against packet losses. Meanwhile, "Error" correction codes can detect bit errors and maybe fix them, but those are out of scope โœจ

End-to-End Coding: coding happens at the source (or a coding middlebox), and decoding happens at the destination(s) (or a decoding middlebox) ๐Ÿ’… Nothing re-codes anything in the middle. This is the approach used by the FLUTE/ALC [RFC6726] [RFC5775], NORM [RFC5740], and FECFRAME [RFC6363] protocols ๐ŸŽ€

Network Coding: coding can happen at the source and at intermediate forwarding nodes (all of them, or just some) ๐Ÿ”ฅ End-to-End Coding is actually a special case of Network Coding, so it's giving "subset" energy ๐Ÿ‘‘ Depending on the use case, you can add extra assumptions. For example, if the destination knows the Coding Nodes' topology and coding operations, that can help a lot during decoding ๐Ÿง 

Packet versus Symbol: generally speaking, a Packet is the unit of data sent in the Packet Erasure Channel, and a Symbol is the unit of data that gets manipulated during encoding and decoding ๐Ÿงš Two different things, so don't mix them up, bestie ๐Ÿ˜ญ

Original Payload, Uncoded Payload, Systematic Symbol, or (IETF) Source Symbol: a unit of data that comes from the source and gets fed in as input to encoding โœจ

Coded Payload, Coded Symbol, or (IETF) Repair Symbol: a unit of data that results from a coding operation. It's applied to Source Symbols, or (when recoding) to Source and/or Repair Symbols ๐ŸŒธ When there's just one Repair Symbol per Repair Packet, that Repair Symbol corresponds to that Repair Packet ๐Ÿ’œ

Input Symbol and Output Symbol: a unit of data that's either used as input to an encoding operation or generated as output of one ๐Ÿฆ‹ At a recoding node, Repair Symbols count as Input Symbols too. With Systematic Coding, Source Symbols also show up in the Output Symbols ๐Ÿ’–

(IETF) Encoding Symbol: a Source Symbol or a Repair Symbol. That's it, that's the whole definition ๐Ÿ’…

(En)coding versus Recoding versus Decoding: (En)coding takes Source Symbols as input and produces Encoding Symbols as output ๐ŸŽ€ Recoding takes Encoding Symbols as input and produces Encoding Symbols as output ๐Ÿ” Decoding takes Encoding Symbols as input and produces Source Symbols as output ๐Ÿซถ

(IETF) Source Packet: a packet from the source that contributes to one or more Source Symbols ๐ŸŒˆ For example, an RTP packet as a whole can be one Source Symbol. In other situations (like handling variable size packets), a single RTP packet can contribute to several Source Symbols ๐Ÿ“

(IETF) Repair Packet: a packet containing one or more Repair Symbols ๐Ÿงš

Okay so Figure 1 shows how packets and symbols relate to each other when a Coding Node does Systematic Coding and encodes (instead of recoding) โœจ FEC decoding basically runs the same steps in reverse, which is so satisfying ๐Ÿ˜ญ

        Source Packet
              |
              | Source Packet to Source Symbols transform
              | (one or more symbols per packet)
              v
        Source Symbols
              |
              v Input Symbols
   +----------------------+
   |     FEC encoding     |
   +----------------------+
      | Output Symbols |
      v                v
Source Symbols   Repair Symbols
      |                |
      |                | symbol-to-packet transform
      |                | (one or more symbols per packet)
      v                v
Source Packet    Repair Packet

Figure 1: Packet and Symbol Relationships at a Coding Node That Performs Encoding (Rather Than Recoding)

Source Node: a node that generates one or more Source Flows ๐ŸŒŸ

Coding Node: a node that does FEC Encoding or Recoding operations ๐Ÿ’ซ It can be an end host or a middlebox (in the Encoding case), or a forwarding node (in the Recoding case) ๐Ÿ–ฅ๏ธ

(IETF) Flow: a stream of packets that are logically grouped together ๐ŸŽ€

(IETF) Source Flow: a flow of Source Packets coming from an application on a given host, where FEC encoding is going to be applied, possibly alongside other Source Flows ๐Ÿ’… Depending on the use case, Source Flows might come from the same application, from different applications on the same host, or from different applications on different hosts. the possibilities are wild, bestie ๐Ÿคฏ

(IETF) Repair Flow: a flow containing Repair Packets after FEC encoding ๐Ÿฆ‹


3. Taxonomy of Code Uses ๐Ÿ—‚๏ธ

okay, this section is basically the "ways you can use coding" tour ๐Ÿงญ It skips the nitty-gritty coding details (those come later, obviously ๐Ÿ˜Œ)

Source Coding versus Channel Coding: (check out Figure 2 for this one ๐Ÿ‘€) When people use both terms, "Source Coding" usually means compression techniques (like audio and video compression) inside the upper application that makes the Source Flow ๐ŸŽฌ "Channel Coding" means FEC encoding that makes transmission more robust. It might happen in the lower physical layer (out of scope for this doc) or as part of Network Coding ๐Ÿ“ก These terms shouldn't get confused with "FEC coding within the Source Node" and "FEC recoding within an intermediate Coding Node," respectively ๐Ÿ™…โ€โ™€๏ธ

raw data flow from camera     ^              video flow display
            |                 |                      ^
            v                 | upper                |
+------------------------+    |           +-------------------------+
|     source coding      |    | applica-  |  source (de)coding      |
|(e.g., mpeg compression)|    | tion      |(e.g., mpg decompression)|
+------------------------+    v           +-------------------------+
            |                                        ^
            v                                        |
+------------------------+    ^           +-------------------------+
| network/AL-FEC coding  |    | middle-   | network/AL-FEC coding   |
|  (e.g., RLC encoding)  |    | ware      |  (e.g., RLC decoding)   |
+------------------------+    v           +-------------------------+
            |                                        ^
            v                                        |
+------------------------+    ^           +-------------------------+
|     packetization      |    |           |    depacketization      |
|     (e.g., UDP/IP)     |    | communi-  |     (e.g., UDP/IP)      |
+------------------------+    | cation    +-------------------------+
            |                 |                      ^
            v                 | layers               |
+-----------------------+     |           +-------------------------+
|       PHY layer       |     |           |       PHY layer         |
|    (channel coding)   |     |           |   (channel decoding)    |
+-----------------------+     v           +-------------------------+
            |                                         ^
            |          source + repair traffic        |
            +-----------------------------------------+

Figure 2: Example of End-to-End Flow Manipulation with Network Coding

Figure 2 shows Network Coding sitting between the application and UDP layers (like with RMT or FECFRAME architectures) ๐Ÿงฉ Other architectures are totally possible too. For instance, Network Coding can go below the transport layer, which allows recoding inside the network itself ๐ŸŒ

Intra-Flow Coding or Single-Source Network Coding: a process where the packets coming into the Coding Node all belong to the same flow ๐ŸŽฏ

Inter-Flow Coding or Multi-Source Network Coding: a process where the packets coming into the Coding Node belong to different flows ๐ŸŒˆ

Single-Path Coding: Network Coding over a route that has one single path from the source to each destination ๐Ÿ›ค๏ธ For multicast or broadcast traffic, that route is a tree ๐ŸŒณ Coding may happen end to end and/or at intermediate forwarding nodes โœจ

Multi-Path Coding: Network Coding over a route that has multiple paths from the source to each given destination, and those paths are at least partially disjoint ๐Ÿ›ฃ๏ธ Again, coding may happen end to end and/or at intermediate forwarding nodes ๐Ÿ’œ

4. Coding Details ๐Ÿงฎ

4.1. Coding Types โœจ

okay bestie, this is the taxonomy section and it's giving organization ๐Ÿ—‚๏ธ๐Ÿ’… Each of these is a different flavour of coding, so let's go through them ๐Ÿ’–

Linear Coding: Linear combination of a set of Input Symbols (i.e., Source and/or Repair Symbols) using a given set of coefficients and resulting in a Repair Symbol. Many linear codes exist that differ from the way coding coefficients are drawn from a Finite Field of a given size. ๐Ÿฆ‹

Random Linear Coding (RLC): Particular case of Linear Coding using a set of random coding coefficients. literally just Linear Coding but the coefficients are random ๐ŸŽฒโœจ

Adaptive Linear Coding: Linear Coding that utilizes cross-layer adaptation. For instance, an adaptive coding scheme may adapt the generation and transmission of Repair Packets according to the channel variations over time, accounting for the predictive loss of degrees of freedom due to erasures. ngl the channel-adapting energy is so main character ๐Ÿ“ก๐Ÿ‘‘

Block Coding: Coding technique where the input Flow(s) must first be segmented into a sequence of blocks; FEC encoding and decoding are performed independently on a per-block basis. The term "Chunk Coding" is sometimes used, where a "Chunk" denotes a block. ๐Ÿงฑ So each block is its own little world, and "Chunk Coding" is just another name for it ๐Ÿ“

Sliding Window Coding or Convolutional Coding: General class of coding techniques that rely on a sliding encoding window. This is an alternative solution to Block Coding. ๐ŸชŸ๐ŸŒŠ

Fixed or Elastic Sliding Window Coding: Coding technique that generates Repair Symbol(s) on the fly, from the set of Source Symbols present in the sliding encoding window at that time, usually by using Linear Coding. The sliding window may be either of fixed size or of variable size over the time (also known as "Elastic Sliding Window"). For instance, the size may depend on acknowledgments sent by the receiver(s) for a particular Source Symbol or Source Packet (received, decoded, or decodable). the elastic version literally adjusts based on what the receivers acknowledge, which is so iconic ๐Ÿงšโœจ

Systematic Coding: A coding technique where Source Symbols are part of the output Flow generated by a Coding Node. the source stuff just rides along in the output, no hiding ๐ŸŒธ

Rateless and Non-rateless Coding: Rateless Coding can generate an unlimited number of Repair Symbols (in practice, this number can be limited by practical considerations or because of use-case requirements) from a given set of Source Symbols, meaning that the code rate is null. RLC codes are an example of Rateless Codes. Alternately, Non-rateless Coding usually has a predefined maximum number of Repair Symbols that can be generated from a given set of Source Symbols. ๐ŸŒˆ rateless = basically endless repair symbols (realistically capped by practical stuff), and RLC is the poster child for it ๐Ÿ‘‘


4.2. Coding Basics ๐ŸŽ€

this section is the low-level tea, bestie. we're defining the building blocks here ๐Ÿง

Code Rate: In case of a Block Code, the Code Rate is the k/n ratio between the number of Source Symbols, k, and the number of Source plus Repair Symbols, n. With a Sliding Window Code, the Code Rate is defined similarly over a certain time interval, since the Code Rate may change dynamically. By definition, the Code Rate is such that: 0 < Code Rate <= 1. A Code Rate close to 1 indicates that a small number of Repair Symbols have been produced during the encoding process and vice versa. the rate is always a number above zero and at most one, and the closer to 1, the fewer repair symbols you made ๐Ÿ“Š๐Ÿ’–

(En)coding Window: A set of Source (and Repair in the case of recoding) Symbols used as input to the coding operations. The set of symbols will typically change over time, as the Coding Window slides over the input Flow(s). ๐ŸชŸ the window slides, so the set of symbols keeps changing ๐ŸŒŠ

(En)coding Window Size: The number of Source (and Repair in case of recoding) Symbols in the current Encoding Window. This size may change over the time. ๐Ÿ“

Payload Set: The set of Source and Repair Symbols available (i.e., received or previously decoded) at the receiver and used during FEC decoding operations. ๐ŸŽ

Decoding Window: The set of Source Symbols (only) that are considered in the current linear system of a receiver, independently of the fact these Source Symbols have been received, decoded, or lost. The Decoding Window will typically change over time, as transmissions and decoding progress, and may be different for different receivers of a session where content is multicast or broadcast. it's only the source symbols, and it doesn't care whether they arrived, got decoded, or got lost ๐Ÿ™ˆ

Decoding Window Size: The number of Source Symbols (only) in the current Decoding Window. This size may change over time. ๐Ÿ“

Rank of a Payload Set or Rank of the Linear System: At a receiver, number of linearly independent members of a Payload Set, or equivalently the number of linearly independent equations of the linear system. It is also known as "Degrees of Freedom". The system may be of "full rank" where decoding is possible or "partial rank" where only partial decoding is possible. the rank is basically how many independent equations you've got, and full rank means you can decode ๐Ÿ’…

Seen Payload or Seen Symbol: A Source Symbol is Seen when the receiver can compute a linear combination with this symbol and Source Symbols that are strictly more recent (i.e., with logically higher Encoding Symbol Identifiers). Otherwise, the Source Symbol is considered as "Unseen". ๐Ÿ‘€ seen means you can combine it with newer source symbols, otherwise it's unseen ๐Ÿซฃ

Generation or (IETF) Block: With Block Codes, the set of Source Symbols of the input Flow(s) that are logically grouped into a Block, before doing encoding. ๐Ÿงบ

Generation Size, Code Dimension, or (IETF) Block Size: With Block Codes, the number of Source Symbols, k, belonging to a Block. ๐Ÿ”ข

Coding Matrix or Generator Matrix: A matrix G that transforms the set of Input Symbols X into a set of Repair Symbols: Y = X * G. Defining a Generator Matrix is typical with Block Codes. The set of Input Symbols X can consist only of Source Symbols (e.g., with End-to-End Coding) or can consist of Source and Repair Symbols (e.g., with recoding in an intermediate node). the matrix G turns X into Y, and X can be just source symbols or a mix with repair symbols ๐Ÿงฎ

Coding Coefficient: With Linear Coding, this is a coefficient in a certain Finite Field. This coefficient may be chosen in different ways: for instance, randomly, in a predefined table, or using a predefined algorithm plus a seed. ๐ŸŽฏ

Coding Vector: A set of Coding Coefficients used to generate a certain Repair Symbol through Linear Coding. The number of nonzero coefficients in the Coding Vector defines its density. the density is just how many of the coefficients are nonzero ๐Ÿซง

Finite Field, Galois Field, or Coding Field: Finite Fields, used in Linear Codes, have the desired property of having all elements (except zero) invertible for the + and * operators, and all operations over any elements do not result in an overflow or underflow. Examples of Finite Fields are prime fields {0..p^m-1}, where p is prime. The most used fields use p=2 and are called binary extension fields {0..2^m-1}, where m often equals 1, 4, or 8 for practical reasons. ๐ŸŒˆ every nonzero element is invertible for + and *, nothing overflows, and the binary ones are the fan favourites ๐Ÿ’œ

Finite Field size or Coding Field size: The number of elements in a Finite Field. For example, the binary extension field {0..2^m-1} has size q=2^m. ๐Ÿ”ขโœจ

Feedback: Feedback information sent by a decoding node to a Coding Node (or from a receiver to a source in case of End-to-End Coding). The nature of information contained in a feedback packet varies, depending on the use case. It can provide reception and/or FEC decoding statistics, the list of available Source Packets received or decoded (acknowledgement), the list of lost Source Packets that should be retransmitted (negative acknowledgement), or a number of additional Repair Symbols needed to have a Full Rank Linear System. ๐Ÿ“ฃ feedback is the receiver telling the sender what's up, whether that's stats, what arrived, what got lost, or how many more repair symbols it needs ๐Ÿ’Œ


4.3. Coding in Practice ๐Ÿ› ๏ธ

this part is the practical stuff, bestie. a real solution has to nail down exactly how encoding and decoding happen, and also all the side stuff, like how the encoder tells the decoder which parameters it used for a repair packet (that's the signaling) ๐Ÿ“จ

(IETF) FEC Scheme: A specification that defines a particular FEC code as well as the additional protocol aspects required to use this FEC code. In particular, the FEC Scheme defines in-band (e.g., information contained in Source and Repair Packet header or trailers) and out-of-band (e.g., information contained in an SDP description) signaling needed to synchronize encoders and decoders. ๐Ÿ“œ the FEC Scheme is the whole package: the code plus the signaling, both in-band and out-of-band, so the encoders and decoders stay in sync ๐Ÿค

Payload Index or (IETF) Encoding Symbol Identifier (ESI): An identifier of a Source or Repair Symbol. With Block Coding, each symbol of a given block is identified by a unique ESI value. With Sliding Window Coding, a continuous Source Flow and a limited field size to hold the ESI, wrapping to zero is unavoidable and the same integer value will be reused several times. ๐Ÿ†” with block coding every symbol in a block gets its own unique ESI, but with sliding windows the ESI wraps back to zero and gets reused, which is unavoidable once the field is limited ๐Ÿ”

(IETF) FEC Payload ID: Information that identifies the contents of a packet with respect to the FEC Scheme. The FEC Payload ID of a packet containing Source Symbol(s) is usually different from that of a packet containing Repair Symbol(s). The FEC Payload ID typically contains at least an ESI. ๐Ÿชช the FEC Payload ID tells you what's inside the packet, and it usually has at least an ESI in there ๐Ÿ’œ

Coding Vector and Encoding Window Signaling: With Sliding Window Codes, the FEC Payload ID of a Repair Packet contains information needed and sufficient to identify the Coding Vector and Coding Window. Concerning the Coding Vector, this may consist of a full list of Coding Coefficients (that may or may not be compressed), or a piece of information (e.g., a seed) that can be used to generate the list of Coding Coefficients thanks to a predefined algorithm known by encoders and decoders (e.g., a Pseudorandom Number Generator, or PRNG) or an ESI that points to a given entry in a Generator Matrix in case of a Block Code. Concerning the Coding Window, this may consist of the full list of ESI of symbols in the Coding Window (that may or may not be compressed) or the ESI of the first Source Symbol along with their number (assuming there is no gap). ๐Ÿช„ the repair packet's FEC Payload ID has to carry enough info to pin down the Coding Vector and the Coding Window, and that can be a full coefficient list, a seed for a shared PRNG, or an ESI pointing into a Generator Matrix for block codes. for the window, you can list every ESI, or just give the first one plus a count if there are no gaps ๐ŸŽ€


5. IANA Considerations ๐ŸŒท

this document has no IANA actions. nothing to register, bestie ๐Ÿ’…

6. Security Considerations ๐Ÿšจ

โš ๏ธ okay this one's serious, so listen up ๐Ÿซถ this document introduces a recommended terminology for Network Coding and therefore does not contain any security considerations. this does not mean that Network Coding systems do not have any security implication. ๐Ÿ’€ the terminology doc itself has no security stuff, but the systems built on network coding absolutely can have security implications, so don't skip this part!

7. Informative References ๐Ÿ“š

[RFC5052] Watson, M., Luby, M., and L. Vicisano, "Forward Error Correction (FEC) Building Block", RFC 5052, DOI 10.17487/RFC5052, August 2007, <https://www.rfc-editor.org/info/rfc5052>.

[RFC5740] Adamson, B., Bormann, C., Handley, M., and J. Macker, "NACK-Oriented Reliable Multicast (NORM) Transport Protocol", RFC 5740, DOI 10.17487/RFC5740, November 2009, <https://www.rfc-editor.org/info/rfc5740>.

[RFC5775] Luby, M., Watson, M., and L. Vicisano, "Asynchronous Layered Coding (ALC) Protocol Instantiation", RFC 5775, DOI 10.17487/RFC5775, April 2010, <https://www.rfc-editor.org/info/rfc5775>.

[RFC6363] Watson, M., Begen, A., and V. Roca, "Forward Error Correction (FEC) Framework", RFC 6363, DOI 10.17487/RFC6363, October 2011, <https://www.rfc-editor.org/info/rfc6363>.

[RFC6726] Paila, T., Walsh, R., Luby, M., Roca, V., and R. Lehtonen, "FLUTE - File Delivery over Unidirectional Transport", RFC 6726, DOI 10.17487/RFC6726, November 2012, <https://www.rfc-editor.org/info/rfc6726>.

Authors' Addresses ๐Ÿ’Œ

Brian Adamson ๐ŸŒธ NRL, United States of America. Email: brian.adamson@nrl.navy.mil โœจ

Cedric Adjih ๐Ÿฆ‹ INRIA, France. Email: cedric.adjih@inria.fr ๐Ÿ’–

Josu Bilbao ๐Ÿ“ Ikerlan, Spain. Email: jbilbao@ikerlan.es ๐Ÿ’œ

Victor Firoiu ๐ŸŽ€ BAE Systems, United States of America. Email: victor.firoiu@baesystems.com ๐Ÿ‘‘

Frank Fitzek ๐Ÿงš TU Dresden, Germany. Email: frank.fitzek@tu-dresden.de ๐Ÿซถ

Samah A. M. Ghanem ๐Ÿ’… Independent. Email: samah.ghanem@gmail.com ๐ŸŒˆ

Emmanuel Lochin โญ ISAE - Supaero, France. Email: emmanuel.lochin@isae-supaero.fr ๐Ÿ”ฅ

Antonia Masucci ๐ŸŒธ Orange, France. Email: antoniamaria.masucci@orange.com ๐Ÿ’–

Marie-Jose Montpetit ๐Ÿฆ‹ Independent, United States of America. Email: marie@mjmontpetit.com โœจ

Morten V. Pedersen ๐Ÿงš Aalborg University, Denmark. Email: mvp@es.aau.dk ๐Ÿ’œ

Goiuri Peralta ๐Ÿ“ Ikerlan, Spain. Email: gperalta@ikerlan.es ๐Ÿซถ

Vincent Roca (editor) ๐Ÿ‘‘ INRIA, France. Email: vincent.roca@inria.fr ๐ŸŒˆ The editor of this one, iconic! ๐Ÿ’…

Paresh Saxena ๐ŸŽ€ AnsuR Technologies, Norway. Email: paresh.saxena@ansur.es โญ

Senthil Sivakumar ๐Ÿ’€ Cisco, United States of America. Email: ssenthil@cisco.com ๐Ÿ™ˆ That's the whole cast, bestie, and the end of RFC 8406! ๐Ÿฆ‹๐Ÿ’–

๐Ÿ“ฆ where this page comes from