ppp model description
authorCraig Dowell <craigdo@ee.washington.edu>
Wed, 21 May 2008 21:20:30 -0700
changeset 3086 5370849d0b76
parent 3085 dd7a6e76c739
child 3088 5260a46ff439
ppp model description
src/devices/point-to-point/point-to-point-channel.cc
src/devices/point-to-point/point-to-point-net-device.cc
src/devices/point-to-point/point-to-point-net-device.h
src/devices/point-to-point/point-to-point.h
--- a/src/devices/point-to-point/point-to-point-channel.cc	Tue May 20 22:04:38 2008 +0100
+++ b/src/devices/point-to-point/point-to-point-channel.cc	Wed May 21 21:20:30 2008 -0700
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2007 University of Washington
+ * Copyright (c) 2007, 2008 University of Washington
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 as
@@ -14,8 +14,6 @@
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- *
- * Author: Craig Dowell <craigdo@ee.washington.edu>
  */
 
 #include "point-to-point-channel.h"
--- a/src/devices/point-to-point/point-to-point-net-device.cc	Tue May 20 22:04:38 2008 +0100
+++ b/src/devices/point-to-point/point-to-point-net-device.cc	Wed May 21 21:20:30 2008 -0700
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2005,2006 INRIA
+ * Copyright (c) 2007, 2008 University of Washington
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 as
@@ -14,9 +14,6 @@
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- *
- * Author:  Craig Dowell <craigdo@ee.washington.edu>
- * Revised: George Riley <riley@ece.gatech.edu>
  */
 
 #include "ns3/log.h"
@@ -389,5 +386,4 @@
   m_rxCallback = cb;
 }
 
-
 } // namespace ns3
--- a/src/devices/point-to-point/point-to-point-net-device.h	Tue May 20 22:04:38 2008 +0100
+++ b/src/devices/point-to-point/point-to-point-net-device.h	Wed May 21 21:20:30 2008 -0700
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2007 University of Washington
+ * Copyright (c) 2007, 2008 University of Washington
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 as
@@ -14,8 +14,6 @@
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- *
- * Author: Craig Dowell <craigdo@ee.washington.edu>
  */
 
 #ifndef POINT_TO_POINT_NET_DEVICE_H
--- a/src/devices/point-to-point/point-to-point.h	Tue May 20 22:04:38 2008 +0100
+++ b/src/devices/point-to-point/point-to-point.h	Wed May 21 21:20:30 2008 -0700
@@ -1,11 +1,45 @@
 /**
  * \ingroup devices
- * \defgroup PointToPoint Point-to-Point Models
+ * \defgroup PointToPoint Point-to-Point Model
+ *
+ * \section Point-to-Point Model
+ *
+ * The ns-3 point-to-point model is of a very simple point to point data link
+ * connecting exactly two ns3::PointToPointNetDevice devices over an
+ * ns3::PointToPointChannel.  This can be viewed as equivalent to a full
+ * duplex RS-232 or RS-422 link with null modem and no handshaking.
  *
- * \section Point-to-Point Models
+ * Data is encapsulated in the Point-to-Point Protocol (PPP -- RFC 1661),
+ * however the Link Control Protocol (LCP) and associated state machine is 
+ * not implemented.  The PPP link is assumed to be established and 
+ * authenticated at all times.
+ *
+ * Data is not framed, therefore Address and Control fields will not be found.
+ * Since the data is not framed, there is no need to provide Flag Sequence and
+ * Control Escape octets, nor is a Frame Check Sequence appended.  All that is
+ * required to implement non-framed PPP is to prepend the PPP protocol number
+ * for IP Version 4 which is the sixteen-bit number 0x21 (see
+ * http://www.iana.org/assignments/ppp-numbers).
  *
- * The set of Point-to-Point models provides an abstrated point-to-point link
- * model, that simulates transmission delay (finite data rate) and 
- * propagation delay, and can also optionally include an error model
- * (ns3::ErrorModel).
+ * The ns3::PointToPointNetDevice provides following Attributes:
+ *
+ * - Address:       The ns3::Mac48Address of the device (if desired);
+ * - DataRate:      The data rate of the device;
+ * - TxQueue:       The trasmit queue used by the device;
+ * - InterframeGap: The optional time to wait between "frames";
+ * - Rx:            A trace source for received packets;
+ * - Drop:          A trace source for dropped packets.
+ *
+ * The ns3::PointToPointNetDevice supports the assignment of a "receive error 
+ * model."  This is an ns3::ErrorModel object that is used to simulate data
+ * corruption on the link.
+ *
+ * The point to point net devices are connected via an 
+ * ns3::PointToPointChannel.  This channel models two wires transmitting bits
+ * at the data rate specified by the source net device.  There is no overhead
+ * beyond the eight bits per byte of the packet sent.  That is, we do not 
+ * model Flag Sequences, Frame Check Sequences nor do we "escape" any data.
+ *
+ * The ns3::PointToPointChannel does model a speed-of-light delay which can
+ * be accessed via the attribute "Delay."
  */