NUS.SOC.CS2105 - PowerPoint PPT Presentation

1 / 44
About This Presentation
Title:

NUS.SOC.CS2105

Description:

(unreliable, host-to-host) NUS.SOC.CS2105. Ooi Wei Tsang ... NAK-free. NUS.SoC.CS2105. Ooi Wei Tsang. No NAK. Send ACK of last correctly received packet instead ... – PowerPoint PPT presentation

Number of Views:28
Avg rating:3.0/5.0
Slides: 45
Provided by: WeiTsa6
Category:
Tags: nus | soc | cs2105 | free | hosting | web

less

Transcript and Presenter's Notes

Title: NUS.SOC.CS2105


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
Connection-Oriented Socket
  • (Src Port, Src Addr,
  • Dest Port, Dest Addr)

7
Connectionless Socket
  • (Dest Addr, Dest Port)

8
UDP Segment Header
src port dst port length checksum
9
UDP Checksum
0110011001100000
0101010101010101
10
UDP Checksum
1011101110110101
1000111100001100
11
UDP Checksum
0100101011000010
12
UDP detects errors
  • (no recovery)

13
Reliable Data Transfer
  • rdt1.0, rdt2.0, rdt3.0

14
Application
Application
Transport
Transport
rdt_send()
deliver_data()
Network
Network
udt_send()
rdt_recv()
15
Finite State Machine
Event
Action
16
hungry
get up eat
sleep
awake
stomach full
go back to bed
17
rdt 1.0
  • underlying channel is reliable

18
rdt 1.0 sender
rdt_send(data)
wait for call
pkt make_pkt(data) udt_send(pkt)
19
rdt 1.0 receiver
rdt_recv(pkt)
wait for call
extract(pkt, data) deliver_data(data)
20
send data
recv pkt
send pkt
deliver
wait for call
wait for call
21
rdt 2.0
  • channels with bit-errors

22
ARQ AutomaticRepeat reQuest
  1. Error detection
  2. Receiver feedback (ACK NAK)
  3. Retransmission

23
rdt 2.0 sender
wait for call
wait for ACK/NAK
24
rdt 2.0 receiver
wait for call
25
(No Transcript)
26
Stop-and-Wait
27
What if ACK/NAK is corrupted?
28
Idea Retransmit if ACK/NAK is corrupted
29
(No Transcript)
30
rdt 2.1
  • channels with bit-errors

31
rdt 2.1 sender
wait for call 0
wait for ACK/NAK 0
32
wait for call 0
wait for ACK/NAK 0
wait for ACK/NAK 1
wait for call 1
33
rdt 2.1 receiver
wait for 0
wait for 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
wait for call 0
wait for 0
wait for ACK/NAK 0
wait for 1
wait for ACK/NAK 1
wait for call 1
36
rdt 2.2
  • NAK-free

37
No NAK
  • Send ACK of last correctly received packet instead

38
rdt 3.0
  • lossy channels with bit-errors

39
How to tell if a packet is loss?
  • (cant know for sure)

40
Use Timeout
  • (may lead to dup. packets)

41
(No Transcript)
42
rdt 3.0 sender
wait for call 0
wait for ACK 0
43
Alternating-bit Protocol
44
R 6000 kbpsL 1500 bytesRTT 300 ms
Write a Comment
User Comments (0)
About PowerShow.com