SYSC_3303_TFTP_Design1.7

SYSC_3303_TFTP_Design1.7 - SYSC 3303 - TFTP Client-Server...

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

View Full Document Right Arrow Icon

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

View Full DocumentRight Arrow Icon

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

View Full DocumentRight Arrow Icon

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

View Full DocumentRight Arrow Icon

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

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

Unformatted text preview: SYSC 3303 - TFTP Client-Server Design Part 1 1 SYSC 3303 Real-Time Concurrent Systems TFTP Client-Server Design Part 1 Copyright 2000-2003 D.L. Bailey, Copyright 2002-2003 L.S. Marshall, Systems and Computer Engineering, Carleton University revised February 10 th , 2003 SYSC 3303 - TFTP Client-Server Design Part 1 2 About These Slides In this set of slides, we'll use UCMs to design a client- server system that implements TFTP Initially, we'll assume that packets are never lost, delayed or duplicated in the network Constraints for Version 1 of the System A TFTP client cannot transfer multiple files simultaneously; i.e., it does not support concurrent read or write connections A TFTP server handles one connection at a time; e.g., while sending/receiving a file to/from one client, it ignores connection requests from other clients SYSC 3303 - TFTP Client-Server Design Part 1 3 Scenarios 4 major scenarios can be identified from the TFTP spec.: establish WRQ connection write file from client to server (successful establishment of a WRQ connection is a prerequisite) establish RRQ connection read file from server to client (successful establishment of a RRQ connection is a prerequisite) SYSC 3303 - TFTP Client-Server Design Part 1 4 Establish WRQ Connection: Client Responsibilities form-WRQ: prepare a TFTP WRQ packet form-dgram: prepare a UDP datagram containing the TFTP WRQ packet send-dgram: send the UDP datagram (destination is port 69 on the server's host) rcv-dgram: receive a UDP datagram extract-msg: extract the message from the UDP datagram verify-ACK: verify that the received message is a valid TFTP ACK packet SYSC 3303 - TFTP Client-Server Design Part 1 5 Establish WRQ Connection: Server Responsibilities rcv-dgram: receive a UDP datagram extract-msg: extract the message from the UDP datagram verify-WRQ: verify that the received message is a valid TFTP WRQ packet create-socket: create a datagram socket to send TFTP ACK packets and receive TFTP Data packets form-ACK: prepare a TFTP ACK packet, with block number = 0 cont'd on next slide... SYSC 3303 - TFTP Client-Server Design Part 1 6 Establish WRQ Connection: Server Responsibilities form-dgram: prepare a UDP datagram containing the TFTP ACK packet send-dgram: send the UDP datagram (destination is the client's datagram socket) SYSC 3303 - TFTP Client-Server Design Part 1 7 UCM for Establishing a WRQ Connection Datagram Socket Datagram Socket (port 69) Datagram Socket Client Server f o r m- W R Q x f o r m- d g r a m s e n d- d g r a m x r c v- d g r a m x e x t r a c t- m s g x x x v e r i f y- W R Q x x f o r m- A C K x v e r i f y- A C K x x r c v- d g r a m s e n d- d g r a m x e x t r a c t- m s g f o r m- d g r a m x c r e a t e- s o c k e t SYSC 3303 - TFTP Client-Server Design Part 1 8 Things to Note We've shown only the key responsibilities if we need to show more, draw a larger UCM, or...
View Full Document

Page1 / 42

SYSC_3303_TFTP_Design1.7 - SYSC 3303 - TFTP Client-Server...

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

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