Download
slide1 n.
Skip this Video
Loading SlideShow in 5 Seconds..
Application PowerPoint Presentation
Download Presentation
Application

Application

154 Views Download Presentation
Download Presentation

Application

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Application Transport you are here Network Link Physical

  2. Application Transport (process-to-process) Network (unreliable, host-to-host)

  3. Transport (process-to-process) Network (unreliable, host-to-host)

  4. Transport (process-to-process) Network (unreliable, host-to-host)

  5. src port dst port :

  6. UDP vs TCP

  7. Connection-Oriented Socket (Src Port, Src Addr, Dest Port, Dest Addr)

  8. Connectionless Socket (Dest Addr, Dest Port)

  9. UDP Segment Header src port dst port length checksum

  10. UDP Checksum 0110011001100000 0101010101010101

  11. UDP Checksum 1011101110110101 1000111100001100

  12. UDP Checksum 0100101011000010

  13. UDP detects errors (no recovery)

  14. Reliable Data Transfer rdt1.0, rdt2.0, rdt3.0

  15. Application Application Transport Transport rdt_send() deliver_data() Network Network udt_send() rdt_recv()

  16. Finite State Machine Event Action

  17. hungry get up & eat sleep awake stomach full go back to bed

  18. rdt 1.0 underlying channel is reliable

  19. rdt 1.0 sender rdt_send(data) wait for call pkt = make_pkt(data) udt_send(pkt)

  20. rdt 1.0 receiver rdt_recv(pkt) wait for call extract(pkt, data) deliver_data(data)

  21. send data recv pkt send pkt deliver wait for call wait for call

  22. rdt 2.0 channels with bit-errors

  23. ARQ: AutomaticRepeat reQuest Error detection Receiver feedback (ACK NAK) Retransmission

  24. rdt 2.0 sender wait for call wait for ACK/NAK

  25. rdt 2.0 receiver wait for call

  26. Stop-and-Wait

  27. What if ACK/NAK is corrupted?

  28. Idea : Retransmit if ACK/NAK is corrupted

  29. rdt 2.1 channels with bit-errors

  30. rdt 2.1 sender wait for call 0 wait for ACK/NAK 0

  31. wait for call 0 wait for ACK/NAK 0 wait for ACK/NAK 1 wait for call 1

  32. rdt 2.1 receiver wait for 0 wait for 1

  33. wait for call 0 wait for 0 wait for ACK/NAK 0 wait for 1 wait for ACK/NAK 1 wait for call 1

  34. wait for call 0 wait for 0 wait for ACK/NAK 0 wait for 1 wait for ACK/NAK 1 wait for call 1

  35. rdt 2.2 NAK-free

  36. No NAK Send ACK of last correctly received packet instead

  37. rdt 3.0 lossy channels with bit-errors

  38. How to tell if a packet is loss? (can’t know for sure)

  39. Use Timeout (may lead to dup. packets)

  40. rdt 3.0 sender wait for call 0 wait for ACK 0

  41. Alternating-bit Protocol

  42. R = 6000 kbpsL = 1500 bytesRTT = 300 ms