CINXE.COM

RFC 4824 - The Transmission of IP Datagrams over the Semaphore Flag Signaling System (SFSS)

<!DOCTYPE html> <html data-bs-theme="auto" lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title> RFC 4824 - The Transmission of IP Datagrams over the Semaphore Flag Signaling System (SFSS) </title> <meta name="viewport" content="width=device-width, initial-scale=1"> <link href="https://static.ietf.org/fonts/inter/import.css" rel="stylesheet"> <link href="https://static.ietf.org/fonts/noto-sans-mono/import.css" rel="stylesheet"> <link rel="stylesheet" href="https://static.ietf.org/dt/12.28.2/ietf/css/document_html_referenced.css"> <script type="module" crossorigin="" src="https://static.ietf.org/dt/12.28.2/assets/embedded-e653257c.js"></script> <link href="https://static.ietf.org/dt/12.28.2/assets/create-pinia-singleton-091c62b7.js" type="text/javascript" crossorigin="anonymous" rel="modulepreload" as="script" /> <link href="https://static.ietf.org/dt/12.28.2/assets/Scrollbar-7de50899.js" type="text/javascript" crossorigin="anonymous" rel="modulepreload" as="script" /> <script src="https://static.ietf.org/dt/12.28.2/ietf/js/document_html.js"></script> <script src="https://static.ietf.org/dt/12.28.2/ietf/js/theme.js"></script> <link rel="alternate" type="application/atom+xml" title="Document changes" href="/feed/document-changes/rfc4824/"> <meta name="description" content="The Transmission of IP Datagrams over the Semaphore Flag Signaling System (SFSS) (RFC 4824, )" > <link rel="apple-touch-icon" sizes="180x180" href="https://static.ietf.org/dt/12.28.2/ietf/images/ietf-logo-nor-180.png"> <link rel="icon" sizes="32x32" href="https://static.ietf.org/dt/12.28.2/ietf/images/ietf-logo-nor-32.png"> <link rel="icon" sizes="16x16" href="https://static.ietf.org/dt/12.28.2/ietf/images/ietf-logo-nor-16.png"> <link rel="manifest" href="/site.webmanifest"> <link rel="mask-icon" href="https://static.ietf.org/dt/12.28.2/ietf/images/ietf-logo-nor-mask.svg" color="#ffffff"> <meta name="msapplication-TileColor" content="#ffffff"> <meta name="theme-color" content="#ffffff"> <meta property="og:title" content="RFC 4824: The Transmission of IP Datagrams over the Semaphore Flag Signaling System (SFSS)"> <meta property="og:url" content="https://datatracker.ietf.org/doc/html/rfc4824"> <link rel="canonical" href="https://datatracker.ietf.org/doc/html/rfc4824"> <meta property="og:site_name" content="IETF Datatracker"> <meta property="og:description" content="This document specifies a method for encapsulating and transmitting IPv4/IPv6 packets over the Semaphore Flag Signal System (SFSS). This memo provides information for the Internet community."> <meta property="og:type" content="article"> <meta property="article:section" content="Individual Internet-Draft"> <meta property="article:author" content="Aaron Bachmann"> <style> .diff-form .select2-selection__rendered { direction: rtl; text-align: left; } </style> </head> <body> <noscript><iframe class="status" title="Site status" src="/status/latest"></iframe></noscript> <div class="vue-embed" data-component="Status"></div> <div class="btn-toolbar sidebar-toolbar position-fixed top-0 end-0 m-2 m-lg-3 d-print-none"> <div class="dropdown"> <button class="btn btn-outline-secondary btn-sm me-1 dropdown-toggle d-flex align-items-center" id="bd-theme" type="button" aria-expanded="false" data-bs-toggle="dropdown" aria-label="Toggle theme"> <i class="theme-icon-active bi bi-circle-half"></i> </button> <ul class="dropdown-menu" aria-labelledby="bd-theme"> <li> <button type="button" class="dropdown-item d-flex align-items-center" data-bs-theme-value="light" aria-pressed="false"> <i class="me-2 opacity-50 theme-icon bi bi-sun-fill"></i> Light<i class="bi bi-check2 ms-auto d-none"></i> </button> </li> <li> <button type="button" class="dropdown-item d-flex align-items-center" data-bs-theme-value="dark" aria-pressed="false"> <i class="me-2 opacity-50 theme-icon bi bi-moon-stars-fill"></i> Dark<i class="bi bi-check2 ms-auto d-none"></i> </button> </li> <li> <button type="button" class="dropdown-item d-flex align-items-center active" data-bs-theme-value="auto" aria-pressed="true"> <i class="me-2 opacity-50 theme-icon bi bi-circle-half"></i> Auto<i class="bi bi-check2 ms-auto d-none"></i> </button> </li> </ul> </div> <button class="btn btn-outline-secondary btn-sm sidebar-toggle" type="button" data-bs-toggle="collapse" data-bs-target="#sidebar" aria-expanded="true" aria-controls="sidebar" aria-label="Toggle metadata sidebar" title="Toggle metadata sidebar"> <i class="bi bi-arrow-bar-left sidebar-shown"></i> <i class="bi bi-arrow-bar-right sidebar-collapsed"></i> </button> </div> <nav class="navbar bg-light-subtle px-1 fixed-top d-print-none d-md-none"> <a class="nav-link ps-1" href="/doc/rfc4824/"> RFC 4824 <br class="d-sm-none"> <span class="ms-sm-3 badge rounded-pill badge-inf"> Informational </span> </a> <button class="navbar-toggler p-1" type="button" data-bs-toggle="collapse" data-bs-target="#docinfo-collapse" aria-controls="docinfo-collapse" aria-expanded="false" aria-label="Show document information"> <span class="navbar-toggler-icon small"></span> </button> <div class="navbar-nav navbar-nav-scroll overscroll-none collapse pt-1" id="docinfo-collapse"> <div class="bg-light-subtle p-0"> <table class="table table-sm table-borderless small"> <tbody class="meta align-top"> <tr> <th scope="row"></th> <th scope="row">Title</th> <td class="edit"></td> <td>The Transmission of IP Datagrams over the Semaphore Flag Signaling System (SFSS)</td> </tr> </tbody> <tbody class="meta align-top "> <tr> <th scope="row">Document</th> <th scope="row">Document type</th> <td class="edit"></td> <td> <span class="text-success">RFC - Informational </span> <br>April 2007 <br> <a class="btn btn-primary btn-sm my-1" href="https://www.rfc-editor.org/errata_search.php?rfc=4824" title="Click to view errata." rel="nofollow"> View errata </a> <a class="btn btn-sm btn-warning" title="Click to report an error in the document." href="https://www.rfc-editor.org/errata.php#reportnew" target="_blank"> Report errata </a> <div class="alert alert-warning small p-2 mt-2" role="alert"> This RFC was published on the Independent Submission stream. This RFC is <strong>not endorsed by the IETF</strong> and has <strong>no formal standing</strong> in the <a href="/doc/rfc2026/">IETF standards process</a>. </div> </td> </tr> <tr> <td></td> <th scope="row">Select version</th> <td class="edit"></td> <td> <ul class="revision-list pagination pagination-sm text-center flex-wrap my-0"> <li class="page-item rfc active"> <a class="page-link" href="/doc/html/rfc4824"> RFC 4824 </a> </li> </ul> </td> </tr> <tr> <td></td> <th scope="row">Author</th> <td class="edit"> </td> <td> <span ><a title="Datatracker profile of Aaron Bachmann" href="/person/ip-sfs@mur.at" >Aaron Bachmann</a> <a href="mailto:ip-sfs%40mur.at" aria-label="Compose email to ip-sfs@mur.at" title="Compose email to ip-sfs@mur.at"> <i class="bi bi-envelope"></i></a></span> <br> <a class="btn btn-primary btn-sm mt-1" href="mailto:rfc4824@ietf.org?subject=rfc4824" title="Send email to the document authors">Email authors</a> </td> </tr> <tr> <td></td> <th scope="row"> RFC stream </th> <td class="edit"> </td> <td > <a href="/stream/ise/"> Independent Submission </a> </td> </tr> <tr> <td></td> <th scope="row"> Other formats </th> <td class="edit"> </td> <td> <div class="buttonlist"> <a class="btn btn-primary btn-sm" target="_blank" href="https://www.rfc-editor.org/rfc/rfc4824.txt"> <i class="bi bi-file-text"></i> txt </a> <a class="btn btn-primary btn-sm" target="_blank" href="https://www.rfc-editor.org/rfc/rfc4824.html"> <i class="bi bi-file-code"></i> html </a> <a class="btn btn-primary btn-sm" download="rfc4824.pdf" target="_blank" href="https://www.rfc-editor.org/rfc/pdfrfc/rfc4824.txt.pdf"> <i class="bi bi-file-pdf"></i> pdf </a> <a class="btn btn-primary btn-sm" target="_blank" href="https://www.rfc-editor.org/rfc/inline-errata/rfc4824.html"> <i class="bi bi-file-diff"></i> w/errata </a> <a class="btn btn-primary btn-sm" target="_blank" href="/doc/rfc4824/bibtex/"> <i class="bi bi-file-ruled"></i> bibtex </a> </div> </td> </tr> </tbody> <tr> <th scope="row"></th> <th scope="row"></th> <td class="edit"></td> <td> <a class="btn btn-sm btn-warning mb-3" target="_blank" href="https://github.com/ietf-tools/datatracker/issues/new/choose"> Report a bug <i class="bi bi-bug"></i> </a> </td> </tr> </table> </div> </div> </nav> <div class="row g-0"> <div class="col-md-9 d-flex justify-content-center lh-sm" data-bs-spy="scroll" data-bs-target="#toc-nav" data-bs-smooth-scroll="true" tabindex="0" id="content"> <div class="rfcmarkup"> <br class="noprint"> <!-- [html-validate-disable-block attr-quotes, void-style, element-permitted-content, heading-level -- FIXME: rfcmarkup/rfc2html generates HTML with issues] --> <div class="rfcmarkup"><pre>Network Working Group J. Hofmueller, Ed. Request for Comments: 4824 A. Bachmann, Ed. Category: Informational IO. zmoelnig, Ed. 1 April 2007 <span class="h1">The Transmission of IP Datagrams</span> <span class="h1">over the Semaphore Flag Signaling System (SFSS)</span> Status of This Memo This memo provides information for the Internet community. It does not specify an Internet standard of any kind. Distribution of this memo is unlimited. Copyright Notice Copyright (C) The IETF Trust (2007). Abstract This document specifies a method for encapsulating and transmitting IPv4/IPv6 packets over the Semaphore Flag Signal System (SFSS). Table of Contents <a href="#section-1">1</a>. Introduction ....................................................<a href="#page-2">2</a> <a href="#section-2">2</a>. Definitions .....................................................<a href="#page-2">2</a> <a href="#section-3">3</a>. Protocol Discussion .............................................<a href="#page-3">3</a> <a href="#section-3.1">3.1</a>. IP-SFS Frame Description ...................................<a href="#page-3">3</a> <a href="#section-3.2">3.2</a>. SFS Coding .................................................<a href="#page-4">4</a> <a href="#section-3.3">3.3</a>. IP-SFS Data Signals ........................................<a href="#page-5">5</a> <a href="#section-3.4">3.4</a>. IP-SFS Control Signals .....................................<a href="#page-6">6</a> <a href="#section-3.5">3.5</a>. Protocol Limitations .......................................<a href="#page-7">7</a> <a href="#section-3.6">3.6</a>. Implementation Limitations .................................<a href="#page-7">7</a> <a href="#section-4">4</a>. Interface Discussion ............................................<a href="#page-7">7</a> <a href="#section-4.1">4.1</a>. Data Link Control ..........................................<a href="#page-8">8</a> <a href="#section-4.2">4.2</a>. Establishing a Connection ..................................<a href="#page-8">8</a> <a href="#section-4.3">4.3</a>. State Idle .................................................<a href="#page-8">8</a> <a href="#section-4.4">4.4</a>. Session Initiation .........................................<a href="#page-8">8</a> <a href="#section-4.5">4.5</a>. State Transmitting .........................................<a href="#page-9">9</a> <a href="#section-4.6">4.6</a>. State Receiving ...........................................<a href="#page-10">10</a> <a href="#section-4.7">4.7</a>. Terminating a Connection ..................................<a href="#page-11">11</a> <a href="#section-4.8">4.8</a>. Further Remarks ...........................................<a href="#page-11">11</a> <a href="#section-5">5</a>. Security Considerations ........................................<a href="#page-11">11</a> <a href="#section-6">6</a>. Acknowledgements ...............................................<a href="#page-11">11</a> <a href="#section-7">7</a>. References .....................................................<a href="#page-12">12</a> <span class="grey">Hofmueller, et al. Informational [Page 1]</span></pre> <hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-2" ></span> <span class="grey"><a href="/doc/html/rfc4824">RFC 4824</a> IP over SFSS April 2007</span> <span class="h2"><a class="selflink" id="section-1" href="#section-1">1</a>. Introduction</span> This document specifies IP-SFS, a method for the encapsulation and transmission of IPv4/IPv6 packets over the Semaphore Flag Signaling System (SFSS). The SFSS is an internationally recognized alphabetic communication system based upon the waving of a pair of hand-held flags [<a href="#ref-JCroft">JCroft</a>, <a href="#ref-Wikipedia">Wikipedia</a>]. Under the SFSS, each alphabetic character or control signal is indicated by a particular flag pattern, called a Semaphore Flag Signal (SFS). IP-SFS provides reliable transmission of IP datagrams over a half- duplex channel between two interfaces. At the physical layer, SFSS uses optical transmission, normally through the atmosphere using solar illumination and line-of-sight photonics. A control protocol (<a href="#section-4">Section 4</a>) allows each interface to contend for transmission on the common channel. This specification defines only unicast transmission. Broadcast is theoretically possible, but there are some physical restrictions on channel direction dispersion. This is a topic for future study. The diagram in Figure 1 illustrates the place of the SFSS in the Internet protocol hierarchy. +-----+ +-----+ +-----+ | TCP | | UDP | ... | | Host Layer +-----+ +-----+ +-----+ | | | +-------------------------------+ | Internet Protocol &amp; ICMP | Internet Layer +-------------------------------+ | +-------------------------------+ | SFSS | Link Layer +-------------------------------+ Figure 1: Protocol Relationships <span class="h2"><a class="selflink" id="section-2" href="#section-2">2</a>. Definitions</span> Link: A link consists of two (2) interfaces that share a common subnet. Link Partner: The opposite interface. Session: The transmission of an entire IP datagram. <span class="grey">Hofmueller, et al. Informational [Page 2]</span></pre> <hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-3" ></span> <span class="grey"><a href="/doc/html/rfc4824">RFC 4824</a> IP over SFSS April 2007</span> SFS: One Semaphore Flag Signal, i.e., one flag pattern (<a href="#section-3.2">Section</a> <a href="#section-3.2">3.2</a>). SFSS: The Semaphore Flag Signaling System. IP-SFS: IP over Semaphore Flag Signaling System. <span class="h2"><a class="selflink" id="section-3" href="#section-3">3</a>. Protocol Discussion</span> IP-SFS adapts the standard SFSS to encode an alphabet of 16 signals (flag patterns) to represent data values 0-15 (<a href="#section-3.2.1">Section 3.2.1</a>) and 9 signals to represent control functions (<a href="#section-3.2.2">Section 3.2.2</a>). With 16 data signals, IP-SFS transmission is based upon 4-bit nibbles, two per octet. Each of the signal patterns defined in <a href="#section-3.2">Section 3.2</a> is called an SFS. <span class="h3"><a class="selflink" id="section-3.1" href="#section-3.1">3.1</a>. IP-SFS Frame Description</span> IP datagrams are formatted into IP-SFS frames by adding IP-SFS headers and trailers. Figure 2 shows the format of one IP-SFS frame. The frame is delimited by a control SFS called FST (Frame Start) and a control SFS called FEN (Frame End). It is composed of a series of 4-bit nibbles, one per SFS. An IP datagram will be fragmented into multiple successive IP-SFS frames if necessary. When an IP datagram is fragmented into N frames, the first frame will be sent with frame number N-1, the second with frame number N-2, ..., and the last with frame number 0. 0 1 2 3 +--------+--------+--------+--------+--------+ | FST |Protocol|CksumTyp|Frame No|Frame No| +--------+--------+--------+--------+--------+ | | // DATA Payload // | | +--------+--------+--------+--------+---------+ | CRC | CRC | CRC | CRC | FEN | +--------+--------+--------+--------+---------+ Note that each field represents one SFS or 4 bits. Figure 2: IP-SFS Frame Format FST: Frame Start control SFS <span class="grey">Hofmueller, et al. Informational [Page 3]</span></pre> <hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-4" ></span> <span class="grey"><a href="/doc/html/rfc4824">RFC 4824</a> IP over SFSS April 2007</span> Protocol: 4 bits -- Internetwork-layer protocol code 0 None. 1 For IPv4. 2 For IPv6. 3 For IPv4 frame gzip-compressed. 4 For IPv6 frame gzip-compressed. 5...15 Reserved for future use. CksumTyp: 4 bits (one data SFS) -- Checksum Type 0 none. 1 CCITT CRC 16 (polynomial: x^16 + x^12 + x^5+1). 2...15 Reserved for future use. Frame No: 8 bits (2 data SFSs): Frame number for fragmented IP datagram. DATA: 0 to 510 data SFSs (<a href="#section-3.2.1">Section 3.2.1</a>) representing 0 to 255 octets of payload. CRC: 16 bits as four data SFSs. CRC checksum. Preset to 0xFFFF. One&#x27;s complement of checksum is transmitted. FEN: Frame ENd control SFS. The number of transmitted SFSs per minute (Spm) depends on the experience of participating interfaces. Resulting link speed in bits per second for IP-SFS is (Spm/60)*4, not counting framing overhead. <span class="h3"><a class="selflink" id="section-3.2" href="#section-3.2">3.2</a>. SFS Coding</span> Data signals and control signals are based upon standard SFS encoding, as described by [<a href="#ref-JCroft">JCroft</a>], [<a href="#ref-Wikipedia">Wikipedia</a>], and other sources on the Internet. The 16 data signals are interpreted as 4-bit nibbles, while the 9 control signals are used for data link control. IP-SFS defines the 16 data signals by the original SFSS encodings for letters A to P and the 9 control signals represented by SFSS encodings Q to X. <span class="grey">Hofmueller, et al. Informational [Page 4]</span></pre> <hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-5" ></span> <span class="grey"><a href="/doc/html/rfc4824">RFC 4824</a> IP over SFSS April 2007</span> <span class="h3"><a class="selflink" id="section-3.3" href="#section-3.3">3.3</a>. IP-SFS Data Signals</span> Figure 3 illustrates the 16 SFSs used to transmit data frames over the link. The illustrations show each SFS as seen from the receiving side. SFS 0 __0 \0 |0 /|| || || || / \ / \ / \ / \ A B C D IP-SFS 0x00 0x01 0x02 0x03 ----------------------------------------- SFS 0/ 0__ 0 __0 || || ||\ /| / \ / \ / \ / \ E F G H IP-SFS 0x04 0x05 0x06 0x07 ----------------------------------------- SFS \0 |0__ 0| 0/ /| | /| /| / \ / \ / \ / \ I J K L IP-SFS 0x08 0x09 0x0A 0x0B ----------------------------------------- SFS 0__ 0 _\0 __0| /| /|\ | | / \ / \ / \ / \ M N O P IP-SFS 0x0C 0x0D 0x0E 0x0F Figure 3: IP-SFS Data Signals. <span class="grey">Hofmueller, et al. Informational [Page 5]</span></pre> <hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-6" ></span> <span class="grey"><a href="/doc/html/rfc4824">RFC 4824</a> IP over SFSS April 2007</span> <span class="h3"><a class="selflink" id="section-3.4" href="#section-3.4">3.4</a>. IP-SFS Control Signals</span> Nine control signals are used to signal special IP-SFS conditions. Their meanings are listed in Figure 4. The illustrations show each SFS as seen from the receiving side. SFS __0/ __0__ __0 \0| | | |\ | / \ / \ / \ / \ Q R S T IP-SFS FST FEN SUN FUN ----------------------------------------- SFS \0/ \0__ 0/_ 0/ | | | |\ / \ / \ / \ / \ U V W X IP-SFS ACK KAL NAK RTR ----------------------------------------- SFS 0__ 0__ /| |\ / \ / \ Y Z IP-SFS RTT unused ----------------------------------------- SFS _\0/_ /|\ / \ Error IP-SFS unused Figure 4: IP-SFS Control Signals. FST: Frame STart. Signals the start of a new frame. FEN: Frame ENd. Signals the end of one frame. SUN: Signal UNdo. Cancels the transmission of one or more individual SFSs within the current frame. This signal will be unacknowledged by the receiver. <span class="grey">Hofmueller, et al. Informational [Page 6]</span></pre> <hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-7" ></span> <span class="grey"><a href="/doc/html/rfc4824">RFC 4824</a> IP over SFSS April 2007</span> FUN: Frame UNdo. As long as Frame ENd is not sent, the transmitter or the receiver may send a FUN to restart the transmission of the current frame. This signal will be unacknowledged and may be ignored by the receiver. ACK: Frame ACK. Acknowledges reception of one frame. KAL: KeepALive. Keep a connection alive. Is to be transmitted in State Idle at a frequency of at least KAL_FREQ (see <a href="#section-4.2">Section 4.2</a>). This signal will be unacknowledged. NAK: Frame No AcK. The frame received is incorrect. RTR: Ready To Receive. Receiver acknowledges it is ready to receive. RTT: Ready To Transmit. Sender requests permission to initiate transmission. <span class="h3"><a class="selflink" id="section-3.5" href="#section-3.5">3.5</a>. Protocol Limitations</span> Due to the physical characteristics of the transfer channel, bit error rates are expected to be in the range of 1e-3 (boy scout) to 1e-4 (professional sailor), and also depend a number of physical factors. Poor visibility due to weather conditions or lack of illumination (e.g., night time) can drastically increase the error rate. IP-SFS provides no means to handle frame reordering or dual (multiple) frame reception. Thus, the protocol is not suitable in environments where interfaces are moving fast and/or when the path of light is long. <span class="h3"><a class="selflink" id="section-3.6" href="#section-3.6">3.6</a>. Implementation Limitations</span> Maximum payload per frame: 510 SFS (0...510) nibbles (0 to 255 octets) Maximum SFS per frame: 518 Maximum frames per session: 255 (0...254) <span class="h2"><a class="selflink" id="section-4" href="#section-4">4</a>. Interface Discussion</span> An interface is constructed through the participation of one or more humans. A knowledge of the SFSS is recommended, but its absence can be compensated by a well-designed GUI. <span class="grey">Hofmueller, et al. Informational [Page 7]</span></pre> <hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-8" ></span> <span class="grey"><a href="/doc/html/rfc4824">RFC 4824</a> IP over SFSS April 2007</span> <span class="h3"><a class="selflink" id="section-4.1" href="#section-4.1">4.1</a>. Data Link Control</span> This section describes the control protocol used to allocate the half-duplex data link to either interface. Interfaces know three States: Idle, Transmitting (TX), and Receiving (RX). <span class="h3"><a class="selflink" id="section-4.2" href="#section-4.2">4.2</a>. Establishing a Connection</span> IP-SFS is strictly point-to-point. Unless interface members are acquainted with each other, a brief introduction of both sides is suggested prior to setting up a link to reduce the likelihood of interface-spoofing attacks. Interfaces must agree on two different IP addresses on the same subnet. Interfaces are free to negotiate any period of time as TIMEOUT. Possible values for TIMEOUT are the time it takes to smoke a cigarette or the time it takes to drink a glass of water. If negotiation fails, TIMEOUT defaults to 60 seconds. The same procedure may be applied for the KeepALive FReQuency (KAL_FRQ). The period of KAL_FRQ (1/KAL_FRQ) should be at least 5*TIMEOUT. <span class="h3"><a class="selflink" id="section-4.3" href="#section-4.3">4.3</a>. State Idle</span> Interfaces in State Idle must be ready to send an IP datagram provided by a local higher-level protocol or to receive a datagram from the link-partner. Interfaces in State Idle must send keep-alive signals KAL at a frequency of at least KAL_FRQ. There are no further definitions for State Idle, but we recommend staying away from alcoholic beverages or other types of drugs that could lead to an increased number of FUN and/or SUN signals, a decrease in bandwidth, or an increase of line latency. If the number of IP datagrams in the transmission queue is &gt;0, the interface may try to initiate a session by sending an RTT to the link partner. If the link partner ready to receive, it returns an RTR signal. <span class="h3"><a class="selflink" id="section-4.4" href="#section-4.4">4.4</a>. Session Initiation</span> An interface receiving a datagram from an Internet layer protocol level may start signaling RTT. <span class="grey">Hofmueller, et al. Informational [Page 8]</span></pre> <hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-9" ></span> <span class="grey"><a href="/doc/html/rfc4824">RFC 4824</a> IP over SFSS April 2007</span> If the link partner does not respond with RTR within TIMEOUT, or the link partner responds with RTT, the interface switches to State Idle for a random period of time between 2 seconds and TIMEOUT, before resending the RTT. If the link partner transmits RTR, the interface transmits the number of IP-SFS frames to be transmitted in this session as two SFSs followed by another RTT. If the link partner does not transmit the same number of IP-SFS frames followed by RTR within 3*TIMEOUT, the interface switches to State Idle. If the link partner transmits the same number of IP-SFS frames followed by RTR, the interface switches to State Transmitting. Unless obstructed through environmental noise or great distance, hollering can be used to request line discipline from the link partner in State Idle. The use of cellphones is also an option, whereas throwing objects or using guns is not recommended, since it could result in interface damage or destruction. This would be counterproductive. <span class="h3"><a class="selflink" id="section-4.5" href="#section-4.5">4.5</a>. State Transmitting</span> Transmission of one IP-SFS frame starts with FST. After FST and before FEN have been transmitted, the interface may acknowledge a received FUN and restart the transmission of the active frame or discard the signal and continue transmission of the active IP-SFS frame. If an error occurs by transmitting a wrong data SFS, the interface may invalidate the last data SFS by transmitting SUN followed by the correct signal. A series of incorrectly transmitted data SFSs may be invalidated by sending a SUN for each invalid SFS, effectively back- spacing the sequence. Control SFSs cannot be invalidated. If an error occurs, the interface may also transmit FUN and restart transmission of the active IP-SFS frame. Whether the interfaces choose SUN or FUN for error correction is up to the interface, but it is suggested to use SUN for a single invalid SFS, and FUN whenever the interface failed to transmit several SFSs in a row. After FEN has been transmitted, the transmitting interface waits for the link partner to transmit ACK or NAK. <span class="grey">Hofmueller, et al. Informational [Page 9]</span></pre> <hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-10" ></span> <span class="grey"><a href="/doc/html/rfc4824">RFC 4824</a> IP over SFSS April 2007</span> If ACK has been received, the transmitting interface removes the active frame and starts transmitting the next IP-SFS frame. If no frames are left, the interface switches to State Idle. If NAK has been received, the transmission failed, and the interface must start transmitting the active frame again. If the link partner does not transmit ACK or NAK within TIMEOUT, the transmission failed, and the interface must start retransmitting the active IP-SFS frame. If transmission of the same IP-SFS frame fails 5 times, the interface leaves the IP datagram in the transmission queue and switches to State Idle. <span class="h3"><a class="selflink" id="section-4.6" href="#section-4.6">4.6</a>. State Receiving</span> In State Receiving, the interface stores each SFS received from the link partner in the receiving queue in the order of appearance. After FST and before FEN have been received, the interface may transmit FUN at any time to request a retransmission of the entire IP-SFS frame. If the time between two received SFSs exceeds TIMEOUT, the receiving interface must discard all data from the active IP-SFS frame and may additionally transmit FUN. If the link partner does not continue transmitting within a second TIMEOUT period, the interface must clear the receiving queue and switch to State Idle. If the interface receives SUN from the link partner, it must discard the last received data SFS (if any). If N SUNs are received in a row, then the last N data SFS must be discarded, unless there are no more data SFS in the frame. If there are no more data SFS in the frame to be discarded, the SUN signal must be ignored by the interface. If the receiving interface receives FUN from the link partner, it is free to discard the frame received thus far. We suggest honoring FUN since discarding the signal will decrease bandwidth. After FEN has been received, the receiving interface evaluates the checksum. If the checksum is good, the interface transmits ACK. If the Frame Number of the active frame is 0, the interface passes the entire data from the receiving queue to the higher level protocol, clears the receiving queue, and switches to State Idle. If the checksum is incorrect, the interface transmits NAK. <span class="grey">Hofmueller, et al. Informational [Page 10]</span></pre> <hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-11" ></span> <span class="grey"><a href="/doc/html/rfc4824">RFC 4824</a> IP over SFSS April 2007</span> <span class="h3"><a class="selflink" id="section-4.7" href="#section-4.7">4.7</a>. Terminating a Connection</span> If the interface is in State Idle and the link partner did not transmit any kind of SFS for at least five times 1/KAL_FRQ, the connection is terminated and the interfaces are free to disband. <span class="h3"><a class="selflink" id="section-4.8" href="#section-4.8">4.8</a>. Further Remarks</span> Interfaces are connected to computer hardware by means of a suitable input device (RX) and a suitable output device (TX). Possible devices include keyboard, mouse, and monitor. Other means of connection are subject to availability and budget. Although it is theoretically possible to combine the TX and RX parts of an interface in one human being, we suggest dividing the operations among at least two people per interface. For longer transmissions (multimedia streaming, video conferencing, etc.), consider rotating and providing substitutes. Bandwidth tends to vary. Typically TX starts at about 2-4 bits/s and will decrease over time due to exhaustion and lack of concentration. When an interface in TX State signals at a rate higher than the RX interface is able to receive, signal loss occurs. <span class="h2"><a class="selflink" id="section-5" href="#section-5">5</a>. Security Considerations</span> By its nature of line-of-sight signaling, IP-SFS is considered insecure. The transmission of sensitive data over IP-SFS is strongly discouraged unless security is provided by higher level protocols. Interfaces tend to keep data in their memory. There is no way to determine the lifetime of data in memory. As a side effect, data might show up in unwanted locations at undesired times. We are currently not aware of a technique to reliably delete data from interfaces&#x27; memory without permanent interface destruction. <span class="h2"><a class="selflink" id="section-6" href="#section-6">6</a>. Acknowledgements</span> We thank Eva Ursprung and Doris Jauk-Hinz from Womyn&#x27;s Art Support (WAS), Anita Hofer, Reni Hofmueller, Ulla Klopf, Nicole Pruckermayr, Manfred Rittler, Martin Schitter, and Bob Braden for all their contributions and support of this project. <span class="grey">Hofmueller, et al. Informational [Page 11]</span></pre> <hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-12" ></span> <span class="grey"><a href="/doc/html/rfc4824">RFC 4824</a> IP over SFSS April 2007</span> <span class="h2"><a class="selflink" id="section-7" href="#section-7">7</a>. References</span> [<a id="ref-JCroft">JCroft</a>] Croft, J., &quot;Semaphore Flag Signalling System&quot;, &lt;<a href="http://www.anbg.gov.au/flags/semaphore.html">http://www.anbg.gov.au/flags/semaphore.html</a>&gt;. [<a id="ref-Wikipedia">Wikipedia</a>] Wikipedia, &quot;Modern semaphore&quot;, &lt;<a href="https://en.wikipedia.org/wiki/Semaphore#Modern_semaphore">http://</a> <a href="https://en.wikipedia.org/wiki/Semaphore#Modern_semaphore">en.wikipedia.org/wiki/Semaphore#Modern_semaphore</a>&gt;. Authors&#x27; Addresses Jogi Hofmueller (editor) Brockmanngasse 65 Graz 8010 AT EMail: ip-sfs@mur.at Aaron Bachmann (editor) Ulmgasse 14 C Graz 8053 AT EMail: ip-sfs@mur.at IOhannes zmoelnig (editor) Goethestrasse 9 Graz 8010 AT EMail: ip-sfs@mur.at <span class="grey">Hofmueller, et al. Informational [Page 12]</span></pre> <hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-13" ></span> <span class="grey"><a href="/doc/html/rfc4824">RFC 4824</a> IP over SFSS April 2007</span> Full Copyright Statement Copyright (C) The IETF Trust (2007). This document is subject to the rights, licenses and restrictions contained in <a href="/doc/html/bcp78">BCP 78</a>, and except as set forth therein, the authors retain all their rights. This document and the information contained herein are provided on an &quot;AS IS&quot; basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST 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. 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 <a href="/doc/html/bcp78">BCP 78</a> and <a href="/doc/html/bcp79">BCP 79</a>. 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 <a href="http://www.ietf.org/ipr">http://www.ietf.org/ipr</a>. 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. Acknowledgement Funding for the RFC Editor function is currently provided by the Internet Society. Hofmueller, et al. Informational [Page 13] </pre></div> </div> </div> <div class="d-print-none col-md-3 bg-light-subtle collapse show" id="sidebar"> <div class="position-fixed border-start sidebar overflow-scroll overscroll-none no-scrollbar"> <div class="d-flex flex-column vh-100 pt-2 pt-lg-3 ps-3 pl-md-2 pl-lg-3"> <div> <a class="btn btn-primary btn-sm" href="/doc/rfc4824/">Datatracker</a> <p class="fw-bold pt-2"> RFC 4824 <br> <span class="text-success">RFC - Informational </span> </p> </div> <ul class="nav nav-tabs nav-fill small me-2" role="tablist"> <li class="nav-item" role="presentation" title="Document information"> <button class="nav-link px-2" id="docinfo-tab" data-bs-toggle="tab" data-bs-target="#docinfo-tab-pane" type="button" role="tab" aria-controls="docinfo-tab-pane" aria-selected="true"> <i class="bi bi-info-circle"></i><span class="d-none d-md-block d-xl-inline ms-xl-1">Info</span> </button> </li> <li class="nav-item" role="presentation" title="Table of contents"> <button class="nav-link px-2" id="toc-tab" data-bs-toggle="tab" data-bs-target="#toc-tab-pane" type="button" role="tab" aria-controls="toc-tab-pane" aria-selected="false"> <i class="bi bi-list-ol"></i><span class="d-none d-md-block d-xl-inline ms-xl-1">Contents</span> </button> </li> <li class="nav-item" role="presentation" title="Preferences"> <button class="nav-link px-2" id="pref-tab" data-bs-toggle="tab" data-bs-target="#pref-tab-pane" type="button" role="tab" aria-controls="pref-tab-pane" aria-selected="false"> <i class="bi bi-gear"></i><span class="d-none d-md-block d-xl-inline ms-xl-1">Prefs</span> </button> </li> </ul> <div class="overflow-auto tab-content pt-2 me-2"> <div class="tab-pane" id="docinfo-tab-pane" role="tabpanel" aria-labelledby="docinfo-tab" tabindex="0"> <table class="table table-sm table-borderless"> <tbody class="meta align-top "> <tr> <th scope="row">Document</th> <th scope="row">Document type</th> <td class="edit"></td> <td> <span class="text-success">RFC - Informational </span> <br>April 2007 <br> <a class="btn btn-primary btn-sm my-1" href="https://www.rfc-editor.org/errata_search.php?rfc=4824" title="Click to view errata." rel="nofollow"> View errata </a> <a class="btn btn-sm btn-warning" title="Click to report an error in the document." href="https://www.rfc-editor.org/errata.php#reportnew" target="_blank"> Report errata </a> <div class="alert alert-warning small p-2 mt-2" role="alert"> This RFC was published on the Independent Submission stream. This RFC is <strong>not endorsed by the IETF</strong> and has <strong>no formal standing</strong> in the <a href="/doc/rfc2026/">IETF standards process</a>. </div> </td> </tr> <tr> <td></td> <th scope="row">Select version</th> <td class="edit"></td> <td> <ul class="revision-list pagination pagination-sm text-center flex-wrap my-0"> <li class="page-item rfc active"> <a class="page-link" href="/doc/html/rfc4824"> RFC 4824 </a> </li> </ul> </td> </tr> <tr> <td></td> <th scope="row">Author</th> <td class="edit"> </td> <td> <span ><a title="Datatracker profile of Aaron Bachmann" href="/person/ip-sfs@mur.at" >Aaron Bachmann</a> <a href="mailto:ip-sfs%40mur.at" aria-label="Compose email to ip-sfs@mur.at" title="Compose email to ip-sfs@mur.at"> <i class="bi bi-envelope"></i></a></span> <br> <a class="btn btn-primary btn-sm mt-1" href="mailto:rfc4824@ietf.org?subject=rfc4824" title="Send email to the document authors">Email authors</a> </td> </tr> <tr> <td></td> <th scope="row"> RFC stream </th> <td class="edit"> </td> <td > <a href="/stream/ise/"> Independent Submission </a> </td> </tr> <tr> <td></td> <th scope="row"> Other formats </th> <td class="edit"> </td> <td> <div class="buttonlist"> <a class="btn btn-primary btn-sm" target="_blank" href="https://www.rfc-editor.org/rfc/rfc4824.txt"> <i class="bi bi-file-text"></i> txt </a> <a class="btn btn-primary btn-sm" target="_blank" href="https://www.rfc-editor.org/rfc/rfc4824.html"> <i class="bi bi-file-code"></i> html </a> <a class="btn btn-primary btn-sm" download="rfc4824.pdf" target="_blank" href="https://www.rfc-editor.org/rfc/pdfrfc/rfc4824.txt.pdf"> <i class="bi bi-file-pdf"></i> pdf </a> <a class="btn btn-primary btn-sm" target="_blank" href="https://www.rfc-editor.org/rfc/inline-errata/rfc4824.html"> <i class="bi bi-file-diff"></i> w/errata </a> <a class="btn btn-primary btn-sm" target="_blank" href="/doc/rfc4824/bibtex/"> <i class="bi bi-file-ruled"></i> bibtex </a> </div> </td> </tr> </tbody> </table> <a class="btn btn-sm btn-warning mb-3" target="_blank" href="https://github.com/ietf-tools/datatracker/issues/new/choose"> Report a datatracker bug <i class="bi bi-bug"></i> </a> </div> <div class="tab-pane mb-5" id="toc-tab-pane" role="tabpanel" aria-labelledby="toc-tab" tabindex="0"> <nav class="nav nav-pills flex-column small" id="toc-nav"> </nav> </div> <div class="tab-pane mb-5 small" id="pref-tab-pane" role="tabpanel" aria-labelledby="pref-tab" tabindex="0"> <label class="form-label fw-bold mb-2">Show sidebar by default</label> <div class="btn-group-vertical btn-group-sm d-flex" role="group"> <input type="radio" class="btn-check" name="sidebar" id="on-radio"> <label class="btn btn-outline-primary" for="on-radio">Yes</label> <input type="radio" class="btn-check" name="sidebar" id="off-radio"> <label class="btn btn-outline-primary" for="off-radio">No</label> </div> <label class="form-label fw-bold mt-4 mb-2">Tab to show by default</label> <div class="btn-group-vertical btn-group-sm d-flex" role="group"> <input type="radio" class="btn-check" name="deftab" id="docinfo-radio"> <label class="btn btn-outline-primary" for="docinfo-radio"> <i class="bi bi-info-circle me-1"></i>Info </label> <input type="radio" class="btn-check" name="deftab" id="toc-radio"> <label class="btn btn-outline-primary" for="toc-radio"> <i class="bi bi-list-ol me-1"></i>Contents </label> </div> <label class="form-label fw-bold mt-4 mb-2">HTMLization configuration</label> <div class="btn-group-vertical btn-group-sm d-flex" role="group"> <input type="radio" class="btn-check" name="htmlconf" id="txt-radio"> <label class="btn btn-outline-primary" for="txt-radio" title="This is the traditional HTMLization method."> <i class="bi bi-badge-sd me-1"></i>HTMLize the plaintext </label> <input type="radio" class="btn-check" name="htmlconf" id="html-radio"> <label class="btn btn-outline-primary" for="html-radio" title="This is the modern HTMLization method."> <i class="bi bi-badge-hd me-1"></i>Plaintextify the HTML </label> </div> <label class="form-label fw-bold mt-4 mb-2" for="ptsize">Maximum font size</label> <input type="range" class="form-range" min="7" max="16" id="ptsize" oninput="ptdemo.value = ptsize.value"> <label class="form-label fw-bold mt-4 mb-2">Page dependencies</label> <div class="btn-group-vertical btn-group-sm d-flex" role="group"> <input type="radio" class="btn-check" name="pagedeps" id="inline-radio"> <label class="btn btn-outline-primary" for="inline-radio" title="Generate larger, standalone web pages that do not require network access to render."> <i class="bi bi-box me-1"></i>Inline </label> <input type="radio" class="btn-check" name="pagedeps" id="reference-radio"> <label class="btn btn-outline-primary" for="reference-radio" title="Generate regular web pages that require network access to render."> <i class="bi bi-link-45deg me-1"></i>Reference </label> </div> <label class="form-label fw-bold mt-4 mb-2">Citation links</label> <div class="btn-group-vertical btn-group-sm d-flex" role="group"> <input type="radio" class="btn-check" name="reflinks" id="refsection-radio"> <label class="btn btn-outline-primary" for="refsection-radio" title="Citation links go to the reference section."> <i class="bi bi-arrow-clockwise"></i> Go to reference section </label> <input type="radio" class="btn-check" name="reflinks" id="citation-radio"> <label class="btn btn-outline-primary" for="citation-radio" title="Citation links go directly to the cited document."> <i class="bi bi-link-45deg me-1"></i>Go to linked document </label> </div> </div> </div> </div> </div> </div> </div> <script type="text/javascript"> var _paq = window._paq || []; _paq.push(['disableCookies']); _paq.push(['trackPageView']); _paq.push(['enableLinkTracking']); (function() { var u="//analytics.ietf.org/"; _paq.push(['setTrackerUrl', u+'matomo.php']); _paq.push(['setSiteId', 7]); var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s); })(); </script> <noscript><p><img src="//analytics.ietf.org/piwik.php?idsite=7" style="border:0;" alt="" /></p></noscript> <script>(function(){function c(){var b=a.contentDocument||a.contentWindow.document;if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'8e93ca1b1c209fb0',t:'MTczMjcyODAzMy4wMDAwMDA='};var a=document.createElement('script');a.nonce='';a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script></body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10