if anyone like me looking for a summery: The video discusses the challenges of reliable communication over an unreliable channel, exploring simple and increasingly realistic channel models. It goes on to explain the development of a reliable data transfer protocol, including the use of checksums and sequence numbers, and differentiates between unidirectional and bidirectional communication. The protocol's finite state machines and operations are also illustrated.
21:48 when receiver is in "wait for 1 from below" state and receives a packet from sender with sequence 0 it means... that the sender was looking for the ACK sequence 0 packet from receiver but it was corrupted in transmission. So the sender resends the sequence 0 packet and on receiving it uncorrupted receiver will resend the ACK sequence 0 packet so sender can move on to "wait for 0 from below"
I really appreciate breaking this down into FSMs and getting a better understanding of this process. However, I'm wondering how the receiver would know that the checksum is valid, and what would determine a non-corrupt checksum. I've used a checksum comparison in python before in the past but that relied on the sender receiving a packet back and then comparing that the sent and received packets have the same checksum. Using that logic, I'm wondering how we can determine that a packet is valid with a checksum if we don't know what to compare the checksum against. What would I be missing?
Granted I'm new to this topic but I'd think the checksum would be generated independently on the receiver side to compare against the checksum in the packet from sender. This could be done using a hash function similar to what is used with hash tables, applied on the data in the entire packet. With large enough prime numbers used in the hash function so the probability that an uncorrupted packet and corrupted packet will generate the same hash value/checksum will be very low. There is the possibility that the checksum in the packet from sender will be corrupted but that just causes a retransmit...
Question: at 13:40, for the sender fsm when the sender goes from 'wait for nak or ack' to 'wait for call from above' there is a event rat_rcv(rcvpkt),, does this mean the receiver sends a ACK/NAk messgae in the form of pkt ??
Yes, from the state "sender is waiting for ACK/NAK" from receiver, it only goes to "wait for call from above" when it receives an ACK from the receiver. If it receives a NAK, it will send a packet to the receiver and still be in in the "waiting for ACK/NAK" until it gets an ACK
In refer to important digital reliable data transfer, like digital money, value and important information (documents, ownership rights) exchange in the same setting, doesn't blockchain and PoW fit in here perfectly?
17:21
Worth listening to for a 100 times.
always makes me laugh :D
worth the wait
Really worth the wait. Don't know why, jar jar binks just flashed in my mind.
Its like chandler bing's blah balh blahh
Jim always smiling, makes the lessons so much more interesting
Made it so easy to understand , great work.
I can't believe that the father of all computer networks papers and courses has only 1.1k subscribers :(
Ong 😩
10k after 1 year, so it's not so bad
Your generation were just lacking. Dw GenZs here to fix yall 😂
Thank you for blessing us with such well crafted lessons!
if anyone like me looking for a summery: The video discusses the challenges of reliable communication over an unreliable channel, exploring simple and increasingly realistic channel models. It goes on to explain the development of a reliable data transfer protocol, including the use of checksums and sequence numbers, and differentiates between unidirectional and bidirectional communication. The protocol's finite state machines and operations are also illustrated.
This is pure gold!! Thank you so much Professor Ross :)
*Kurose. Ross is a different dude.
He's a little confused but he's got the spirit
21:48 when receiver is in "wait for 1 from below" state and receives a packet from sender with sequence 0 it means... that the sender was looking for the ACK sequence 0 packet from receiver but it was corrupted in transmission. So the sender resends the sequence 0 packet and on receiving it uncorrupted receiver will resend the ACK sequence 0 packet so sender can move on to "wait for 0 from below"
Thanks bro that was very helpful
you are smart
explained the concepts of the text book in a fun and easy manner
Excellent lesson, thanks a lot, Professor!
Great series!
I really appreciate breaking this down into FSMs and getting a better understanding of this process.
However, I'm wondering how the receiver would know that the checksum is valid, and what would determine a non-corrupt checksum. I've used a checksum comparison in python before in the past but that relied on the sender receiving a packet back and then comparing that the sent and received packets have the same checksum.
Using that logic, I'm wondering how we can determine that a packet is valid with a checksum if we don't know what to compare the checksum against. What would I be missing?
Granted I'm new to this topic but I'd think the checksum would be generated independently on the receiver side to compare against the checksum in the packet from sender. This could be done using a hash function similar to what is used with hash tables, applied on the data in the entire packet. With large enough prime numbers used in the hash function so the probability that an uncorrupted packet and corrupted packet will generate the same hash value/checksum will be very low. There is the possibility that the checksum in the packet from sender will be corrupted but that just causes a retransmit...
3.4-2: ua-cam.com/video/vxgH6r-II2Q/v-deo.html
i love you man
awesome !! Thanks a lot Professor
He has great taste in movies :)
Question:
at 13:40, for the sender fsm when the sender goes from 'wait for nak or ack' to 'wait for call from above' there is a event rat_rcv(rcvpkt),, does this mean the receiver sends a ACK/NAk messgae in the form of pkt ??
Yes, from the state "sender is waiting for ACK/NAK" from receiver, it only goes to "wait for call from above" when it receives an ACK from the receiver. If it receives a NAK, it will send a packet to the receiver and still be in in the "waiting for ACK/NAK" until it gets an ACK
How can bits be flipped ; Error with the hardware link layer(fibre optic for example)?
During link transmission , and during storage in router memory
Hi GIT students, one night before exam
ar 22:03
if it sends ACK , then the receiver will be like, now i should send next pkt so 1 is lost....is the sequnece 01010101?
UDP is reliable protocol or not?
unreliable
The Protocol itself is unreliable. But you can make adjustments just as in the video on the application Layer Level to implement a reliable Service
why do we send the packet through the unreliable channel ?
We can't just hope the channel is reliable every time, we need to be prepared to deal with an unreliable channel. This is how you compensate for that.
Sir I am big fan 🥰
In refer to important digital reliable data transfer, like digital money, value and important information (documents, ownership rights) exchange in the same setting, doesn't blockchain and PoW fit in here perfectly?
Save my life
goat
i hope i find it earlier
5141 Satterfield Mission
🥰
rdt 1 - 2
NAK or NACK? I thought it was NACK
:)
Chemistry is you touching my arm and setting fire to my mind.
ua-cam.com/video/nyUHUtmxWg0/v-deo.html
Wubba Dubba
ar 22:03
if it sends ACK , then the receiver will be like, now i should send next pkt so 1 is lost....is the sequnece 01010101?
ar 22:03
if it sends ACK , then the receiver will be like, now i should send next pkt so 1 is lost....is the sequnece 01010101?