Source string Source string

English Actions
Practice
Reliable protocols depend on error detection algorithms to detect transmission errors. The following questions will reinforce your understanding of these algorithms.
Reliable protocols rely on different types of checksums to verify whether frames have been affected by transmission errors. The most frequently used checksums are :
the Internet checksum used by UDP, TCP and other Internet protocols which is defined in :rfc:`1071` and implemented in various libraries.
the 16 bits or the 32 bits Cyclical Redundancy Checks (CRC) that are often used on disks, in zip archives and in datalink layer protocols. See http://rosettacode.org/wiki/CRC-32 for CRC-32 implementations in various languages.
the Fletcher checksum [Fletcher1982]_, see https://en.wikipedia.org/wiki/Fletcher%27s_checksum for implementation details.
By using your knowledge of the Internet checksum, can you find a transmission error that will not be detected by these checksums?
The Cyclic Redundancy Checks (CRCs) are efficient error detection codes that are able to detect :
all errors that affect an odd number of bits
all errors that affect a sequence of bits which is shorter than the length of the CRC
Implement a small software that computes the CRC-32 for a text file. Then, modify the contents of the file to change an even number of bits or an odd number of bits inside the file. When modifying the file, remember that an ASCII file is composed of 8 bits characters that are encoded by using the ASCII table that you can find at : http://en.wikipedia.org/wiki/ASCII . You can also write a small program that produces binary files that are a small variation of each other.
Checksums and CRCs should not be confused with secure hash functions such as MD5 defined in :rfc:`1321` or SHA-1 described in :rfc:`4634`. Secure hash functions are used to ensure that files or sometimes frames/packets/segments have not been modified. Secure hash functions aim at detecting malicious changes while checksums and CRCs only detect random transmission errors. Use the `shasum <http://linux.die.net/man/1/shasum>`_ or `md5sum <http://linux.die.net/man/1/md5sum>`_ programs on Linux to perform the same tests as above.
Discussion questions
Consider two high-end servers connected back-to-back by using a 10 Gbps interface. If the delay between the two servers is one millisecond, what is the throughput that can be achieved by a reliable protocol that is using 10,000 bits frames and a window of
one frame
ten frames
hundred frames
Is it possible for a go-back-n receiver to inter-operate with a selective-repeat sender ? Justify your answer.
Is it possible for a selective-repeat receiver to inter-operate with a go-back-n sender ? Justify your answer.
A go-back-n sender has sent :math:`2^n` data frames. All the frames have been received correctly and in-order by the receiver, but all the returned acknowledgments have been lost. Show by using a time sequence diagram (e.g. by considering a window of four frames) what happens in this case. Can you fix the problem on the go-back-n sender ?
Same question as above, but assume now that both the sender and the receiver implement selective repeat. Note that the answer can be different from the above question.

Loading…

No matching activity found.
Browse all component changes

Glossary

English English
No related strings found in the glossary.

String information

Flags
read-only
Source string location
../../exercises/reliability.rst:73
String age
5 years ago
Source string age
5 years ago
Translation file
locale/pot/exercises/reliability.pot, string 37