Ouroboros and TCP/IP: Difference between revisions

From Ouroboros
Jump to navigation Jump to search
(Created page with "{{Under construction}}")
 
No edit summary
Line 1: Line 1:
{{Under construction}}
{{Under construction}}
= Problems and fixes =
Below is a list of problems, issues and nits present in the TCP/IP architecture and stack with a description how O7s approaches them. This list is in no particular order and without any implied gravity of these problems within TCP.
== Network ossification ==
=== The problem ===
=== O7s solution ===
== Protocol ossification ==
=== O7s solution ===
== IP fragmentation ==
=== The Problem ===
An application-layer message may span multiple TCP segments, which in turn may span many IP fragments. When an IP fragment is lost, retransmission in TCP will retransmit all IP fragments related to the TCP segment. IP fragmentation is mostly deprecated.
=== O7s solution ===
Fragmentation at the application end-to-end layer based on path MTU preserves the application-layer message size.
== TCP is byte-stream only ==
=== The problem ===
TCP sequence numbers are per-byte instead of per-packet. This is efficient for large bulk data transfers, but application protocols over TCP that are message-based have to manage message boundaries themselves. QUIC uses 2 sequence number spaces (to solve the transmission ambiguity problem), the stream offset also being per-byte. SCTP is a packet-based reliable protocol.
=== O7s solution ===
FRCP uses per-packet numbering and adds a byte-oriented read/write on top of this protocol. The use of 2 number spaces to solve transmission ambiguity is interesting and may be adopted.

Revision as of 07:17, 25 October 2023

Under contruction This page is under construction  

Problems and fixes

Below is a list of problems, issues and nits present in the TCP/IP architecture and stack with a description how O7s approaches them. This list is in no particular order and without any implied gravity of these problems within TCP.

Network ossification

The problem

O7s solution

Protocol ossification

O7s solution

IP fragmentation

The Problem

An application-layer message may span multiple TCP segments, which in turn may span many IP fragments. When an IP fragment is lost, retransmission in TCP will retransmit all IP fragments related to the TCP segment. IP fragmentation is mostly deprecated.

O7s solution

Fragmentation at the application end-to-end layer based on path MTU preserves the application-layer message size.

TCP is byte-stream only

The problem

TCP sequence numbers are per-byte instead of per-packet. This is efficient for large bulk data transfers, but application protocols over TCP that are message-based have to manage message boundaries themselves. QUIC uses 2 sequence number spaces (to solve the transmission ambiguity problem), the stream offset also being per-byte. SCTP is a packet-based reliable protocol.

O7s solution

FRCP uses per-packet numbering and adds a byte-oriented read/write on top of this protocol. The use of 2 number spaces to solve transmission ambiguity is interesting and may be adopted.