1 Comnet 2010 Communication Networks Recitation 7 RDT, CLOS & DV Revisited.

Slides:



Advertisements
Similar presentations
Assume that a file is transferred from a node A to a node B. The file has been fragmented in 5 frames (denoted as f0, f1, f2, f3, f4). Show the flow of.
Advertisements

Assume that a file is transferred from a node A to a node B. The file has been fragmented in 5 frames. Frame 0 is corrupted, the ACK of frame 1 is corrupted,
Transport Layer 3-1 Transport services and protocols  provide logical communication between app processes running on different hosts  transport protocols.
Transport Layer Transport Layer. Reliable data transfer: getting started send side receive side rdt_send(): called from above, (e.g., by app.).
1 Comnet 2010 Communication Networks Recitation 6 Routing.
EEC-484/584 Computer Networks Lecture 6 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
Transport Layer 3-1 Transport Layer r To learn about transport layer protocols in the Internet: m TCP: connection-oriented protocol m Reliability protocol.
1 Outline r Transport-layer services r Multiplexing and demultiplexing r Connectionless transport: UDP r Principles of reliable data transfer.
Transport Layer3-1 Data Communication and Networks Lecture 6 Reliable Data Transfer October 12, 2006.
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!
Announcement Project 1 due last night, how is that ? Homework 1 grade, comments out –Will be discussed in the next lecture Homework 2 out Project 2 almost.
Transport Layer3-1 Reliable Data Transfer. Transport Layer3-2 Principles of Reliable data transfer r important in app., transport, link layers r top-10.
1 Comnet 2006 Communication Networks Recitation 7 Lookups & RDT.
3-1 Sect. 3.4 Principles of reliable data transfer Computer Networking: A Top Down Approach Featuring the Internet, 1 st edition. Jim Kurose, Keith Ross.
CPSC 441: Reliable Transport1 Reliable Data Transfer Instructor: Carey Williamson Office: ICT Class.
Some slides are in courtesy of J. Kurose and K. Ross Review of Previous Lecture r Transport-layer services r Multiplexing and demultiplexing r Connectionless.
Reliable Data Transfer#1#1 Reliable Data Transfer.
1 Transport Layer goals: r understand principles behind transport layer services: m multiplexing/demultiplexing m reliable data transfer m flow control.
1 Reliable Data Transfer. 2 r Problem: Reliability  Want an abstraction of a reliable link even though packets can be corrupted or get lost r Solution:
Reliable Data Transfer#1#1 Reliable Data Transfer.
Error Checking continued. Network Layers in Action Each layer in the OSI Model will add header information that pertains to that specific protocol. On.
Principles of Reliable Data Transfer. Reliable Delivery Making sure that the packets sent by the sender are correctly and reliably received by the receiver.
The Transport Layer  introduction  fundamental problems in networking  communicating reliably over an unreliable channel  congestion and flow control.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Chapter 11 Data Link Control Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction.
14-1 Last time □ Mobility in Cellular networks ♦ HLR, VLR, MSC ♦ Handoff □ Transport Layer ♦ Introduction ♦ Multiplexing / demultiplexing ♦ UDP.
1 of 44 Week 2 Lecture 2 – Network Layers Transport Layer – Example: TCP/UDP.
CS 3830 Day 15 Introduction 1-1. Announcements r Quiz 3: Wednesday, Oct 10 r Prog3 due (in 1DropBox) on Wednesday, Oct 10 r Prog4: m Parts A and B m Work.
15-1 Last time □ Reliable Data Transfer ♦ Provide rdt over unreliable network layer ♦ FSM model ♦ rdt 1.0: rdt over reliable channels ♦ rdt 2.0: rdt over.
Review:. Chapter 3: The Data Link Layer –achieve reliable, efficient communication between two physically connected machines. –Example problems to be.
rdt2.2: a NAK-free protocol
Part 3: Transport Layer: Reliable Data Transfer CSE 3461/5461 Reading: Section 3.4, Kurose and Ross 1.
Transport Layer3-1 Chapter 3 outline r 3.1 Transport-layer services r 3.2 Multiplexing and demultiplexing r 3.3 Connectionless transport: UDP r 3.4 Principles.
Transport Layer3-1 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)
Transport Layer 3-1 Chapter 3 outline 3.4 Principles of reliable data transfer.
September 24 th, 2013 CS1652 The slides are adapted from the publisher’s material All material copyright J.F Kurose and K.W. Ross, All Rights.
Network Layer4-1 Distance Vector: link cost changes Link cost changes: r node detects local link cost change r updates distance table (line 15) r if cost.
11.1 Chapter 11 Data Link Control Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Reliable Data Transfer#1#1 Reliable Data Transfer.
Transport Layer: Sliding Window Reliability
Transport Layer Our goals:
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Principles of reliable data transfer 0.
9: Pipelined Protocols and RTT Transport Layer 3-1 Slides adapted from: J.F Kurose and K.W. Ross,
Tutorial 2 Solution. Q1. Consider a channel that can lose packets but has a maximum delay that is known. Modify protocol rdt2.1 to include sender timeout.
Data Link Layer. Data link layer The communication between two machines that can directly communicate with each other. Basic property – If bit A is sent.
Introduction 1 Lecture 11 Transport Layer (Reliable Data Transfer) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer Science.
DATA LINK CONTROL. DATA LINK LAYER RESPONSIBILTIES  FRAMING  ERROR CONTROL  FLOW CONTROL.
Computer Networking Lecture 16 – Reliable Transport.
Chapter 3 Transport Layer
Chapter 3 outline 3.1 transport-layer services
Last time Reliable Data Transfer
Reliable Data Transfer Reliable Data Transfer.
EEC-484/584 Computer Networks
rdt2.2: a NAK-free protocol
rdt2.2: a NAK-free protocol
rdt2.2: a NAK-free protocol
EEC-484/584 Computer Networks
EEC-484/584 Computer Networks
rdt2.2: a NAK-free protocol
EEC-484/584 Computer Networks
rdt2.2: a NAK-free protocol
Chapter 3 outline 3.1 transport-layer services
Communication Networks
EEC-484 Computer Networks
Never take life seriously. Nobody gets out alive anyway
9: Pipelined Protocols and RTT
EEC-484/584 Computer Networks
EEC-484/584 Computer Networks
Chapter 3 Transport Layer
CS 5565 Network Architecture and Protocols
rdt2.2: a NAK-free protocol
Presentation transcript:

1 Comnet 2010 Communication Networks Recitation 7 RDT, CLOS & DV Revisited

2 Comnet 2010 Reliable Transmission How do we send a packet reliably when it can be lost and/or corrupted in the network?How do we send a packet reliably when it can be lost and/or corrupted in the network? MechanismsMechanisms –Acknowledgements –Timeouts Simplest reliable protocol: Simple Stop and WaitSimplest reliable protocol: Simple Stop and Wait –send a packet –stop and wait until an ACK arrives from the receiver –retransmit if timeout occurs before ACK arrives Is this protocol CORRECT ?!Is this protocol CORRECT ?!

3 Comnet 2010 Simple Stop and Wait

4 Comnet 2010 Recovering from Errors packet duplicate +missingduplicate

5 Comnet 2010 Problems with Simple Stop and Wait Duplicate packets:Duplicate packets: –How does the receiver recognize a duplicate transmission (e.g. in the case of a lost ACK)? Missing Packet:Missing Packet: –In early timeout case. –Duplicate ACK. Solution: Put sequence number in packetSolution: Put sequence number in packet

6 Comnet 2010 Sequence Numbers Detect retransmissions using sequence numbersDetect retransmissions using sequence numbers –both packets and ACKs Simple: unbounded #Simple: unbounded # Realistic: sequence # in packet is finiteRealistic: sequence # in packet is finite –Assuming FIFO channel How many bits do we need?How many bits do we need? –1 bit for stop and wait –Won’t send seq #1 until receive ACK for seq #0

7 Comnet 2010 Stop and Wait: unbounded seq # Sender:Sender: Init: n=1Init: n=1 Wait for data(n)Wait for data(n) –Send data(n) –Receive ACK(m) –If m=n Then n = n+1 When timeoutWhen timeout –Send data(n) ReceiverReceiver Init: n=1Init: n=1 Receive data(k)Receive data(k) IF k=n thenIF k=n then –Deliver data(n) –n = n+1 Send ACK(n-1)Send ACK(n-1)

8 Comnet 2010 What if packets are reordered? Never reuse a seq #? Finite…Never reuse a seq #? Finite… Require in order delivery? Unreliable network …Require in order delivery? Unreliable network … Prevent very late delivery?Prevent very late delivery? –TTL: Decrement hop count per packet, discard if exceeded –Seq # not reused within delay bound

9 Comnet 2010 Problems with Stop and Wait PerformancePerformance –No pipeline effect –Example For a l.5 Mbps link with 45 ms RTTFor a l.5 Mbps link with 45 ms RTT Bandwidth-delay product = 67.5 Kb (~8KB)Bandwidth-delay product = 67.5 Kb (~8KB) 1KB packets imply 1/8th link utilization1KB packets imply 1/8th link utilization

10 Comnet 2010 Reliable Data Transfer#10 rdt3.0 sender: Stop and Wait

11 Comnet 2010 Reliable Data Transfer#11 rdt_rcv(rcvpkt) && notcorrupt(rcvpkt) && has_seq1(rcvpkt) rdt_rcv(rcvpkt) && notcorrupt(rcvpkt) && has_seq1(rcvpkt) rdt_rcv(rcvpkt) && notcorrupt(rcvpkt) && has_seq0(rcvpkt) rdt 3.0 receiver: Stop and Wait rdt_rcv(rcvpkt) && corrupt(rcvpkt) udt_send(ACK[1]) Extract(rcvpkt,data) deliver_data(data) udt_send(ACK[1]) udt_send(ACK[0]) Extract(rcvpkt,data) deliver_data(data) udt_send(ACK[0]) rdt_rcv(rcvpkt) && corrupt(rcvpkt) rdt_rcv(rcvpkt) && notcorrupt(rcvpkt) && has_seq0(rcvpkt) Wait for 0 Wait for 1

12 Comnet 2010 Lecture 6: Network Layer Distance Vector Routing: Basic Idea At node i, the basic update rule for dest. vAt node i, the basic update rule for dest. vwhere - d i (v) denotes the distance estimation from i to the destination v, - d i (v) denotes the distance estimation from i to the destination v, - N(i) is set of neighbors of node i, and - N(i) is set of neighbors of node i, and - d ij is the distance of the direct link from i to j; assume positive - d ij is the distance of the direct link from i to j; assume positive i j v destination

13 Comnet 2010 Lecture 6: Network Layer Distance Vector: poisoned reverse If Z routes through Y to get to X : r Z tells Y its (Z’s) distance to X is infinite (so Y won’t route to X via Z) r will this completely solve count to infinity problem? X Z Y 60 algorithm terminates

14 Comnet 2010 Example: poisoned reverse fails AB C D When link breaks, C marks D as unreachable and reports that to A and BWhen link breaks, C marks D as unreachable and reports that to A and B Suppose A learns it first. A now thinks best path to D is through B. A reports a route of cost=3 to C.Suppose A learns it first. A now thinks best path to D is through B. A reports a route of cost=3 to C. C thinks D is reachable through A at cost 4 and reports that to B.C thinks D is reachable through A at cost 4 and reports that to B. B reports a cost 5 to A who reports new cost to C.B reports a cost 5 to A who reports new cost to C. etc...etc...

15 Comnet 2010 Clos Network Clos(N, n, k) : N - inputs/outputs; cross-points: 2 (N/n)nk + k(N/n) 2 nxk(N/n)x(N/n) kxn N=6 n=2 k=2 3x3 2x2 N k N/n

16 Comnet 2010 Example Clos(8,2,3) N=8 n=2 k=3 4x4 3x2 2x3 4x43x2 Need to route a new call

17 Comnet 2010 Clos Network nxk(N/n)x(N/n) kxn N=6 n=2 k=2 3x3 2x2 Why is k=n NOT strict sense non-blocking? Blocking means NOT rearrangeable (NOT strict sense non-blocking) Proof gives counter example:

18 Comnet 2010 Clos Network nxk(N/n)x(N/n) kxn N=6 n=3 k=2 3x3 2x3 3x2 Why is k<n NOT rearrangeable? Blocking means NOT rearrangeable (NOT strict sense non-blocking) Proof gives counter example: