class7 - Announcement Project1duelastnight,howisthat?

Info iconThis preview shows pages 1–8. Sign up to view the full content.

View Full Document Right Arrow Icon
Announcement Project 1 due last night, how is that ? Project 2 almost ready, out tomorrow, will post online Much harder than project 1, start early!
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Some slides are in courtesy of J. Kuros Review of Previous Lecture Transport-layer services Multiplexing and demultiplexing Connectionless transport: UDP Principles of reliable data transfer FEM Model ACK/NAK -> data corruption
Background image of page 2
Outline Reliable transfer protocols rdt2.1: sender, handles garbled ACK/NAKs rdt2.2: a NAK-free protocol rdt3.0: channels with errors and loss Pipelined protocols Go-back-N Selective repeat Connection-oriented transport: TCP Overview and segment structure
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
rdt2.0: FSM specification Wait for call from above snkpkt = make_pkt(data, checksum) udt_send(sndpkt) extract(rcvpkt,data) deliver_data(data) udt_send(ACK) rdt_rcv(rcvpkt) && notcorrupt(rcvpkt) udt_send(sndpkt) isNAK(rcvpkt) udt_send(NAK) rdt_rcv(rcvpkt) && corrupt(rcvpkt) Wait for ACK or NAK Wait for call from below sender receiver rdt_send(data) Λ
Background image of page 4
rdt2.0 has a fatal flaw! What happens if ACK/NAK  corrupted? sender doesn’t know what happened at  receiver! can’t just retransmit: possible  duplicate What to do? sender ACKs/NAKs receiver’s  ACK/NAK? What if sender  ACK/NAK lost? retransmit, but this might cause  retransmission of correctly received  pkt! Handling duplicates:  sender adds  sequence number  to each  pkt sender retransmits current pkt if  ACK/NAK garbled receiver discards (doesn’t deliver up)  duplicate pkt Sender sends one packet,  then waits for receiver  response stop and wait
Background image of page 5

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
rdt2.1: sender, handles garbled ACK/NAKs Wait for call 0 from above sndpkt = make_pkt(0, data, checksum) udt_send(sndpkt) rdt_send(data) Wait for ACK or NAK 0 udt_send(sndpkt) rdt_rcv(rcvpkt) && ( corrupt(rcvpkt) || isNAK(rcvpkt) ) sndpkt = make_pkt(1, data, checksum) udt_send(sndpkt) rdt_send(data) rdt_rcv(rcvpkt) && notcorrupt(rcvpkt) && isACK(rcvpkt) udt_send(sndpkt) rdt_rcv(rcvpkt) && ( corrupt(rcvpkt) || isNAK(rcvpkt) ) rdt_rcv(rcvpkt) && notcorrupt(rcvpkt) Wait for call 1 from above Wait for ACK or NAK 1 Λ Λ
Background image of page 6
rdt2.1: receiver, handles garbled 
Background image of page 7

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Image of page 8
This is the end of the preview. Sign up to access the rest of the document.

This note was uploaded on 12/20/2011 for the course COMPUTER 101 taught by Professor Dr.kahan during the Spring '11 term at Akademia Ekonomiczna w Krakowie.

Page1 / 24

class7 - Announcement Project1duelastnight,howisthat?

This preview shows document pages 1 - 8. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online