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