Why is the negative acknowledgement process preferred over positive acknowledgement when a lot of data has to be sent over the transmission medium, provided that there is a reliable connection available?
Well, acknowledgements occupy a part of the bandwidth just like any other transmission. Positive acknowledgements will be sent back after every successful transmission to inform the sender it has been completed. Negative acknowledgements will only be sent when the receiver detects a problem with the transmission. That is less reliable than positive acknowledgement because it requires the receiver to be aware of the transmission in order to indicate failure, which is not possible in cases of a complete data loss. By using negative acknowledgement you retain some ability to deal with transmission errors and significantly reduce the amount of data transmitted, since the majority of successfully transmitted packets do not cause an acknowledgement. With positive acknowledgements, you'll have an acknowledgement for every successful message, which increases the reliability but is not worthy if the connection is reliable enough already.
ok...so it says that the end to end connection between host A and host B experiences a few losses. What does that mean, considering the fact that it also says that it is a reliable connection.
Well, it means that if the receiver was able to detect the loss then it would send a negative acknowledgement to the sender and the sender would resend the data once again. In case the receiver was not able to detect the loss, then it is a problem since the sender will not be able to know whether the transmission was successful or not and this has to be taken into consideration when designing the system.
Thankyou
You're welcome =)
Can you please help me witha another question? if it isn't too much trouble...
Join our real-time social learning platform and learn together with your friends!