meta data for this page

This is an old revision of the document!

Assignment3: Notes

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


If the answer did provide at least 80% of the presented features one point was given, if the answer covered 50 - 80% of the features ½ point was given.

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.