This is an implementation of various Transmission Control Protocol flavors. More...
Modules | |
Congestion Control Algorithms. | |
The various congestion control algorithms, also known as "TCP flavors". | |
Classes | |
class | ns3::PendingData |
class for managing I/O between applications and TCP More... | |
class | ns3::RttEstimator |
Base class for all RTT Estimators. More... | |
class | ns3::RttHistory |
Helper class to store RTT measurements. More... | |
class | ns3::RttMeanDeviation |
The "Mean--Deviation" RTT estimator, as discussed by Van Jacobson. More... | |
class | ns3::TcpHeader |
Header for the Transmission Control Protocol. More... | |
class | ns3::TcpL4Protocol |
TCP socket creation and multiplexing/demultiplexing. More... | |
class | ns3::TcpOption |
Base class for all kinds of TCP options. More... | |
class | ns3::TcpOptionEnd |
Defines the TCP option of kind 0 (end of option list) as in RFC 793 More... | |
class | ns3::TcpOptionTS |
Defines the TCP option of kind 8 (timestamp option) as in RFC 1323 More... | |
class | ns3::TcpOptionUnknown |
An unknown TCP option. More... | |
class | ns3::TcpOptionWinScale |
Defines the TCP option of kind 3 (window scale option) as in RFC 1323 More... | |
class | ns3::TcpRxBuffer |
Rx reordering buffer for TCP. More... | |
class | ns3::TcpSocket |
(abstract) base class of all TcpSockets More... | |
class | ns3::TcpSocketBase |
A base class for implementation of a stream socket using TCP. More... | |
class | ns3::TcpSocketFactory |
API to create TCP socket instances. More... | |
class | ns3::TcpSocketFactoryImpl |
socket factory implementation for native ns-3 TCP More... | |
class | ns3::TcpTxBuffer |
Tcp sender buffer. More... | |
class | ns3::TcpTxItem |
Item that encloses the application packet and some flags for it. More... | |
Typedefs | |
typedef void(* | ns3::TcpSocketState::TcpCongStatesTracedValueCallback) (const TcpCongState_t oldValue, const TcpCongState_t newValue) |
TracedValue Callback signature for TcpCongState_t. More... | |
typedef void(* | ns3::TcpCongStatesTracedValueCallback) (const TcpSocketState::TcpCongState_t oldValue, const TcpSocketState::TcpCongState_t newValue) |
TracedValue Callback signature for TcpCongState_t. More... | |
typedef void(* | ns3::TcpStatesTracedValueCallback) (const TcpSocket::TcpStates_t oldValue, const TcpSocket::TcpStates_t newValue) |
TracedValue Callback signature for TcpStates_t. More... | |
This is an implementation of various Transmission Control Protocol flavors.
Each TCP flavors is studied to match a specific environment, and they differ mainly in the congestion control algorithms used.
See RFC 793 and others.
typedef void(* ns3::TcpSocketState::TcpCongStatesTracedValueCallback) (const TcpCongState_t oldValue, const TcpCongState_t newValue) |
TracedValue Callback signature for TcpCongState_t.
[in] | oldValue | original value of the traced variable |
[in] | newValue | new value of the traced variable |
Definition at line 163 of file tcp-socket-base.h.
typedef void(* ns3::TcpCongStatesTracedValueCallback) (const TcpSocketState::TcpCongState_t oldValue, const TcpSocketState::TcpCongState_t newValue) |
TracedValue Callback signature for TcpCongState_t.
[in] | oldValue | original value of the traced variable |
[in] | newValue | new value of the traced variable |
Definition at line 1257 of file tcp-socket-base.h.
typedef void(* ns3::TcpStatesTracedValueCallback) (const TcpSocket::TcpStates_t oldValue, const TcpSocket::TcpStates_t newValue) |
TracedValue Callback signature for TcpStates_t.
[in] | oldValue | original value of the traced variable |
[in] | newValue | new value of the traced variable |
Definition at line 262 of file tcp-socket.h.
TCP flag field values.
Enumerator | |
---|---|
NONE |
No flags. |
FIN |
FIN. |
SYN |
SYN. |
RST |
Reset. |
PSH |
Push. |
ACK |
Ack. |
URG |
Urgent. |
ECE |
ECE. |
CWR |
CWR. |
Definition at line 279 of file tcp-header.h.
enum ns3::TcpOption::Kind |
The option Kind, as defined in the respective RFCs.
Enumerator | |
---|---|
END |
END. |
NOP |
NOP. |
MSS |
MSS. |
WINSCALE |
WINSCALE. |
SACKPERMITTED |
SACKPERMITTED. |
SACK |
SACK. |
TS |
TS. |
UNKNOWN |
not a standardized value; for unknown recv'd options |
Definition at line 53 of file tcp-option.h.
Names of the 11 TCP states.
Enumerator | |
---|---|
CLOSED |
Socket is finished. |
LISTEN |
Listening for a connection. |
SYN_SENT |
Sent a connection request, waiting for ack. |
SYN_RCVD |
Received a connection request, sent ack, waiting for final ack in three-way handshake. |
ESTABLISHED |
Connection established. |
CLOSE_WAIT |
Remote side has shutdown and is waiting for us to finish writing our data and to shutdown (we have to close() to move on to LAST_ACK) |
LAST_ACK |
Our side has shutdown after remote has shutdown. There may still be data in our buffer that we have to finish sending |
FIN_WAIT_1 |
Our side has shutdown, waiting to complete transmission of remaining buffered data. |
FIN_WAIT_2 |
All buffered data sent, waiting for remote to shutdown. |
CLOSING |
Both sides have shutdown but we still have data we have to finish sending. |
TIME_WAIT |
Timeout to catch resent junk before entering closed, can only be entered from FIN_WAIT2 or CLOSING. Required because the other end may not have gotten our last ACK causing it to retransmit the data packet (which we ignore) |
LAST_STATE |
Last state, used only in debug messages. |
Definition at line 65 of file tcp-socket.h.