A Discrete-Event Network Simulator
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages

Transmission Control Protocol. More...

+ Collaboration diagram for Tcp:

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::TcpHighSpeed
 An implementation of TCP HighSpeed. More...
 
class  ns3::TcpIllinois
 An implementation of TCP Illinois algorithm. More...
 
class  ns3::TcpL4Protocol
 Tcp socket creation and multiplexing/demultiplexing. More...
 
class  ns3::TcpRxBuffer
 class for the reordering buffer that keeps the data from lower layer, i.e. More...
 
class  ns3::TcpScalable
 An implementation of TCP Scalable. More...
 
class  ns3::TcpSocketBase
 A base class for implementation of a stream socket using TCP. More...
 
class  ns3::TcpSocketFactoryImpl
 socket factory implementation for native ns-3 TCP More...
 
class  ns3::TcpTxBuffer
 class for keeping the data sent by the application to the TCP socket, i.e. More...
 
class  ns3::TcpVegas
 An implementation of TCP Vegas. More...
 
class  ns3::TcpVeno
 An implementation of TCP Veno. More...
 
class  ns3::TcpWestwood
 An implementation of a stream socket using TCP. More...
 
class  ns3::TcpYeah
 An implementation of TCP YeAH. 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...
 

Enumerations

enum  ns3::TcpSocket::TcpStates_t {
  ns3::TcpSocket::CLOSED = 0, ns3::TcpSocket::LISTEN, ns3::TcpSocket::SYN_SENT, ns3::TcpSocket::SYN_RCVD,
  ns3::TcpSocket::ESTABLISHED, ns3::TcpSocket::CLOSE_WAIT, ns3::TcpSocket::LAST_ACK, ns3::TcpSocket::FIN_WAIT_1,
  ns3::TcpSocket::FIN_WAIT_2, ns3::TcpSocket::CLOSING, ns3::TcpSocket::TIME_WAIT, ns3::TcpSocket::LAST_STATE
}
 Names of the 11 TCP states. More...
 

Detailed Description

Transmission Control Protocol.

See RFC 793 and others.

Typedef Documentation

typedef void(* ns3::TcpSocketState::TcpCongStatesTracedValueCallback)(const TcpCongState_t oldValue, const TcpCongState_t newValue)

TracedValue Callback signature for TcpCongState_t.

Parameters
[in]oldValueoriginal value of the traced variable
[in]newValuenew value of the traced variable

Definition at line 145 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.

Parameters
[in]oldValueoriginal value of the traced variable
[in]newValuenew value of the traced variable

Definition at line 1048 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.

Parameters
[in]oldValueoriginal value of the traced variable
[in]newValuenew value of the traced variable

Definition at line 261 of file tcp-socket.h.

Enumeration Type Documentation

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 64 of file tcp-socket.h.