sctp.TODO
上传用户:rrhhcc
上传日期:2015-12-11
资源大小:54129k
文件大小:4k
源码类别:

通讯编程

开发平台:

Visual C++

  1. sctp.TODO - TODO file for NS-2 SCTP module.
  2.    Armando L. Caro Jr.  <acaro@@cis,udel,edu>
  3.    Janardhan R. Iyengar <iyengar@@cis,udel,edu>
  4. @(#) $Header: /cvsroot/nsnam/ns-2/sctp/sctp.TODO,v 1.3 2006/06/23 14:28:40 tom_henderson Exp $
  5. ------------------------------------------------------------------------------
  6. - consolidate CMT variables. Introduce a single CMT switch, and a switch for the
  7.   DAC algorithm.
  8. - change trace to use 'C' for COOKIE_ECHO and COOKIE_ACK
  9. - change trace to add more info for bundled chunks. now only # chunks in
  10.   the packet is displayed. instead it should be
  11.   chunkNumInCurrPkt:NumChunks. So a packet with 3 chunks would have 3
  12.   lines per trace event, each labeled with 1:3, 2:3, and 3:3.
  13. - add the remaining changes submitted by Martin Duke
  14. - add support for draft-iyengar-sctp-cacc-00.txt
  15. - add more bundling... currently SACKs, FORWARD TSNs, etc can't be bundled
  16.   with DATA.
  17. - receiver (and sender) should handle tsn wrap arounds. don't forget about...
  18.    o  section 6.1
  19.       Note: The data sender SHOULD NOT use a TSN that is more than 2**31 -
  20.       1 above the beginning TSN of the current send window.
  21. - Timeout on window probes should not count as an error count (towards
  22.   failure). However, since the receiver currently consumes immediately,
  23.   probes shouldn't be possible. If you are seeing rwnd probes, then there
  24.   is something wrong (probably with the sctp code). ...anyway, this should
  25.   be fixed in case someone later implements a receiver which actually uses
  26.   the rwnd for something.
  27. ------------------------------------------------------------------------------
  28. ARE NOT (AND WILL NOT BE?) IMPLEMENTED:
  29.  
  30.   o section 6.1 - Before an endpoint transmits a DATA chunk, if any
  31.     received DATA chunks have not been acknowledged (e.g., due to delayed
  32.     ack), the sender should create a SACK and bundle it with the outbound
  33.     DATA chunk, as long as the size of the final SCTP packet does not
  34.     exceed the current MTU.  See Section 6.2.
  35.     Reason: Currently, we are not implementing bi-directional data traffic
  36.   o section 6.2 - A SCTP receiver MUST NOT generate more than one SACK for
  37.     every incoming packet, other than to update the offered window as the
  38.     receiving application consumes new data.
  39.     Reason: Currently, the application consumes immediately. There is no
  40.     process delay to cause advertise window updates.
  41.   o section 6.4 - When a receiver of a duplicate DATA chunk sends a SACK
  42.     to a multi- homed endpoint it MAY be beneficial to vary the
  43.     destination address and not use the source address of the DATA chunk.
  44.     The reason being that receiving a duplicate from a multi-homed
  45.     endpoint might indicate that the return path (as specified in the
  46.     source address of the DATA chunk) for the SACK is broken.
  47.     Reason: Extra complexity that we don't have need for at this point.
  48.   o section 6.10 - If its peer endpoint is multi-homed, the sending
  49.     endpoint shall choose a size no larger than the latest MTU of the
  50.     current primary path.
  51.     Reason: Currently, we don't have a way for specifying different MTUs
  52.     for different paths. We have one MTU for all destinations.
  53.   o section 6.2 - Under certain circumstances, the data receiver may need
  54.     to drop DATA chunks that it has received but hasn't released from its
  55.     receive buffers (i.e., delivered to the ULP).  These DATA chunks may
  56.     have been acked in Gap Ack Blocks.  For example, the data receiver may
  57.     be holding data in its receive buffers while reassembling a fragmented
  58.     user message from its peer when it runs out of receive buffer space.
  59.     It may drop these DATA chunks even though it has acknowledged them in
  60.     Gap Ack Blocks.  If a data receiver drops DATA chunks, it MUST NOT
  61.     include them in Gap Ack Blocks in subsequent SACKs until they are
  62.     received again via retransmission.  In addition, the endpoint should
  63.     take into account the dropped data when calculating its a_rwnd.
  64.     Reason: We don't need renegging in our simulation code.