RFC 8406
Taxonomy of Coding Techniques for Efficient Network Communications
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 Notice ยฉ๏ธ
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
- ietf: rfc8406 2018-06
- ๐ girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms