tcpprojects8

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
tcpprojects8 [2008/04/29 18:25] – the 'E' in ECN means Explicit, not Endpoint. RuiPaulotcpprojects8 [2021/03/30 07:40] (current) – Fix close italics KubilayKocak
Line 1: Line 1:
 ====== TCP Projects for FreeBSD 8.0 ====== ====== TCP Projects for FreeBSD 8.0 ======
- 
-[[TableOfContents(2)|TableOfContents(2)]] 
  
 This wiki page is a catalog of known major TCP projects underway for %%FreeBSD%% 8.0.  More detailed information on the projects may be found below. This wiki page is a catalog of known major TCP projects underway for %%FreeBSD%% 8.0.  More detailed information on the projects may be found below.
Line 8: Line 6:
 | TCP Offload | KipMacy | Merge to CVS in progress | desired | ? | Support for complete TCP connection offload to 10gbps network device drivers. | | TCP Offload | KipMacy | Merge to CVS in progress | desired | ? | Support for complete TCP connection offload to 10gbps network device drivers. |
 | TCP overhaul | AndreOppermann | ? | no | ? | Andre is planning a general cleanup of the TCP implementation. | | TCP overhaul | AndreOppermann | ? | no | ? | Andre is planning a general cleanup of the TCP implementation. |
-| TCP pluggable congestion control | SamLeffler, RuiPaulo, AndreOppermann, KipMacy, James Healy, Lawrence Stewart | Prototype in P4 | desired | [http://perforce.freebsd.org/depotTreeBrowser.cgi?FSPC=//depot/user/jhealy/tcpcc/... tcpcc P4 project] | Abstract the congestion control mechanism so that they may be plugged; provide alternative algorithms, and support algorithms present for TOE cards. |+| TCP pluggable congestion control | SamLeffler, RuiPaulo, AndreOppermann, KipMacy, James Healy, LawrenceStewart | Prototype in svn | desired | [[http://svn.freebsd.org/viewvc/base/projects/tcp_cc_8.x/|tcp_cc svn project]] | Abstract the congestion control mechanism so that they may be plugged; provide alternative algorithms, and support algorithms present for TOE cards. |
 | TCP locking granularity/parallelism | RobertWatson | Planning phase | partially | ? | Improve the granularity of TCP locking, and create new opportunities for parallel execution. | | TCP locking granularity/parallelism | RobertWatson | Planning phase | partially | ? | Improve the granularity of TCP locking, and create new opportunities for parallel execution. |
-| TCP ABI cleanup | RobertWatson | Planning phase | desired | [http://perforce.freebsd.org/depotTreeBrowser.cgi?FSPC=//depot/user/rwatson/tcpabi/... tcpabi P4 project] | Clean up data structures exported to userspace by TCP sysctls. | +| TCP ABI cleanup | RobertWatson | Planning phase | desired | [[http://perforce.freebsd.org/depotTreeBrowser.cgi?FSPC=//depot/user/rwatson/tcpabi/...|tcpabi P4 project]] | Clean up data structures exported to userspace by TCP sysctls. | 
-| TCP ECN | RuiPaulo | Testing phase | ? | [http://perforce.freebsd.org/depotTreeBrowser.cgi?FSPC=//depot/projects/tcpecn/... tcpecn P4 project] | TCP Explicit Congestion Notification (ECN) | +| TCP ECN | RuiPaulo | Committed to HEAD | no | [[http://perforce.freebsd.org/depotTreeBrowser.cgi?FSPC=//depot/projects/tcpecn/...|tcpecn P4 project]] | TCP Explicit Congestion Notification (ECN) | 
-| TCP ABC | Lawrence Stewart, RuiPaulo | Planning phase | desired |  | TCP Appropriate Byte Counting |+| TCP ABC | LawrenceStewart, RuiPaulo | Committed to HEAD | desired | N/A | TCP Appropriate Byte Counting | 
 +| TCP UTO | RuiPaulo / FangWang | In preparation to be committed | no | ? | Per-connection timeout period defined by the user. | 
 +| TCP LO | RuiPaulo (?) | Waiting for RFC | no | ? | Extension of the TCP options field. | 
 +| TCP AO | RuiPaulo (?) | Waiting for RFC | no | ? | Replacement of TCP-MD5 and more. |
  
 ====== Schedule ====== ====== Schedule ======
Line 31: Line 32:
  
 ===== TCP pluggable congestion control ===== ===== TCP pluggable congestion control =====
- 
-Perforce: %%//%%depot/user/jhealy/tcpcc/... 
  
 Several plans exist to merge support for pluggable congestion control for TCP, as well as provide support for algorithm selection for TOE device drivers. This may require moderate restructuring of TCP to abstract congestion control decisions currently scattered implicitly around the TCP implementation. Several plans exist to merge support for pluggable congestion control for TCP, as well as provide support for algorithm selection for TOE device drivers. This may require moderate restructuring of TCP to abstract congestion control decisions currently scattered implicitly around the TCP implementation.
Line 51: Line 50:
  
 TCP ECN is a small modification to TCP end hosts and routers that notifies the peers when congestion is about to occur, allowing them to reduce the sending rate. TCP ECN is a small modification to TCP end hosts and routers that notifies the peers when congestion is about to occur, allowing them to reduce the sending rate.
 +
 +===== TCP ABC =====
 +
 +TCP appropriate byte counting (RFC 3465) addresses a congestion control (CC) related issue introduced by the early TCP specs. It suggests increasing the congestion window by the number of bytes ACK'ed by a TCP ACK, as opposed to the current scheme which relies on an approximation driven by ACK clocking. ABC will also benefit the modular CC work as many of the new CC algorithms break some of the implicit assumptions required for the currently used approximation to function correctly.
 +
 +===== TCP UTO =====
 +
 +http://www.rfc-editor.org/rfc/rfc5482.txt
 +
 +From the Abstract:
 +
 +//The TCP user timeout controls how long transmitted data may remain//
 +//unacknowledged before a connection is forcefully closed.  It is a//
 +//local, per-connection parameter.  This document specifies a new TCP//
 +//option - the TCP User Timeout Option - that allows one end of a TCP//
 +//connection to advertise its current user timeout value.  This//
 +//information provides advice to the other end of the TCP connection to//
 +//adapt its user timeout accordingly.  Increasing the user timeouts on//
 +//both ends of a TCP connection allows it to survive extended periods//
 +//without end-to-end connectivity.  Decreasing the user timeouts allows//
 +//busy servers to explicitly notify their clients that they will//
 +//maintain the connection state only for a short time without connectivity.//
 +
 +===== TCP Long Options =====
 +
 +http://www.ietf.org/internet-drafts/draft-eddy-tcp-loo-04.txt
 +
 +From the Abstract:
 +
 +//This document describes a method for increasing the space available//
 +//for TCP options.  Two new TCP options (LO and SLO) are detailed which//
 +//reduce the limitations imposed by the TCP header's Data Offset field.//
 +//The LO option provides this extension after connection establishment,//
 +//and the SLO option aids in transmission of lengthy connection//
 +//initialization and configuration options.//
 +
 +===== TCP Authentication Option =====
 +
 +http://www.ietf.org/internet-drafts/draft-ietf-tcpm-tcp-auth-opt-04.txt
 +
 +From the Abstract:
 +
 +//This document specifies a TCP Authentication Option (TCP-AO) which is//
 +//intended to replace the TCP MD5 Signature option of RFC-2385 (TCP//
 +//MD5). TCP-AO specifies the use of stronger Message Authentication//
 +//Codes (MACs) and provides more details on the association of security//
 +//associations with TCP connections. TCP-AO assumes an external, out-//
 +//of-band mechanism (manual or via a separate protocol) for session key//
 +//establishment, parameter negotiation, and rekeying, replicating the//
 +//separation of key management and key use as in the IPsec suite. The//
 +//result is intended to be a simple modification to support current//
 +//infrastructure uses of TCP MD5, such as to protect BGP and LDP, and//
 +//to support a larger set of MACs with minimal other system and//
 +//operational changes. TCP-AO uses a new option identifier, even though//
 +//it is intended to be mutually exclusive with TCP MD5 on a given TCP//
 +//connection. It supports IPv6, and is fully compatible with//
 +//requirements under development for an update to TCP MD5.//
 +
 +----
 +
 +{{tag>Historical}}
  
  • tcpprojects8.1209493534.txt.gz
  • Last modified: 2008/04/29 18:25
  • by RuiPaulo