meta data for this page
  •  

This is an old revision of the document!


UNDER CONSTRUCTION

Assignment3: Notes

These pages will contain notes about the third assignment and correct answers for questions.

Questions

  1. What are the major differences when comparing SCTP to UDP? How about TCP?
  2. Explain 3 benefits that SCTP offers when compared to existing transport layer protocols.
  3. What are the differences between SCTP one-to-one and one-to-many styles? Why there are 2 “different” styles?
  4. Explain the difference between a connection (TCP) and an association (SCTP).
  5. What benefits does the multihoming feature of SCTP give? Give at least 3 examples.

Use the protocol to its provided full extent

When working with SCTP the notifications are made to ease the programmers job by giving more detailed information about the associations (connections). On multi interfaced system the information might be more useful but on transmission errors and lost pathways they still provide valuable information about the state of e.g. current clients on the server - which are probably lost and which have lots of errors.

E.g. in case of transmission errors the SCTP_SEND_FAILED type notification provides sctp_send_failed struct which contains the undelivered message in ssf_data -field that can be used to buffer the unsent message or try to resend the message. Useful if a large amount of data (e.g. a large file) is sent and the receiver is missing a small portion of the file data because of errors in the transmission pathways - it takes less bandwidth to send this missing data instead of transmitting the whole file again.

Remember that the notifications are always originating from association 0 (SCTP kernel) and the 0 association id will not be given to any peer!

When using work of others (copying)

In this assignment a demonstration code was provided and it was ok to directly copy it. However, remember that when copying others code it is classified as plagiarism if the source is not stated anywhere, or the code is copied against its license. Generally it is not recommended to directly copy others work (nor it is allowed on this course!) but if you do (e.g. a company has some code base for most generic stuff) GO THROUGH THE CODE AND THINK WHAT IT DOES BEFORE COPYING IT INTO YOUR CODE! Only a few noticed that the incrementing the stream number in sctp_sendmsg was not necessary, just be more careful in the future.