100 likes | 235 Views
제 15 장. Trivial File Transfer Protocol. 목 차. 15.1 Introduction 15.2 Protocol 15.3 Example 15.4 정보보호 15.5 Summary. 15.1 Introduction. 정 의
E N D
제 15 장 Trivial File Transfer Protocol
목 차 15.1 Introduction 15.2 Protocol 15.3 Example 15.4 정보보호 15.5 Summary
15.1 Introduction • 정 의 • - Server로부터 필요한 File을 읽어와 자신의 Memory에 Load 시킬때 필요한 • Protocol • - ROM에 맞도록 설계된 단순한 Protocol • - Disk 없는 System의 가동 프로세서에 이용 • - TFTP는 UDP를 이용하여 Client와 Server 사이의 통신 • * RFC 1350 [ Sollins 1992 ]는 TFTP Version 2의 공식규격 • 필요성 • - Booting에 필요한 간단한 Program과 RARP, TFTP만 탑재한 ROM • - Disk 없는 시스템의 초기 가동시 IP주소를 설정
15.1 Cont’d • 장 점 • - 시스템이 단순하고 간단함 • - 어떤 형태의 전달서비스상에서도 동작이 가능 • - 시스템 가격이 저렴 • 단 점 • - 정보보호 기능이 없음. • - Data에 대한 보장성이 없음 • TFTP는 별도의 신뢰성 제어기능을 가지고 있음. • - Message Sequencing System, Timeout, Retransmission 등이 사용
15.2 Protocol FTP TFTP OP Code RRQ WRQ Data ACK Error Value 1 2 3 4 5 TCP UDP IP Message Format IP datagram UDP datagram IP Header UDP Header TFTP message 20 8 OP Code(1, 2) File name 0 mode 0 2 n 1 n 1 Data (3) Block 번호 전송 Data 2 2 0 - 512 ACK (4) Block 번호 2 2 Error (5) Error 번호 Error Message 0 2 2 n 1
15.3 Example • Server에 있는 1000 Byte File을 읽어 오라고 할 때의 Flow Client Server 1 RRQ ( file-name, mode ) 2 Data ( 1, 512 bytes ) 3 ACK ( 1 ) 4 Data ( 2, 488 bytes ) 5 ACK ( 2 )
15.3 Example (Cont’d ) • Client가 Server의 Hard Disk에 1000 Byte File을 Write 할 때 Client Server 1 WRQ ( file-name, mode ) 2 ACK ( 0 ) 3 Data ( 1, 512 bytes ) 4 ACK ( 1 ) 5 Data ( 2, 488 bytes ) 6 ACK ( 2 )
15.3 Example (Cont’d ) • Client가 RRQ나 WRQ를 요청한 뒤 작업수행 중 Error 발생 Client Server 1 RRQ ( file-name, mode ) 2 Data ( 1, 512 bytes ) 3 ACK ( 1 ) 4 Error ( error-number, error-message ) 1 WRQ ( file-name, mode ) 2 ACK ( 0 ) 3 Data ( 1, 512 bytes ) 4 Error ( error-number, error-message )
15.3 Example (Cont’d ) Bsdi % tftp svr4 TFTP 클라이언트를 시작 tftp> get test1.c 서버로부터 파일을 가져 옴 Received 962 bytes in 0.3 seconds tftp> quit 종료 bsdi % ls - 1 test1.c 몇 바이트를 가져왔는가? -rw-r--r-- 1 rstevens staff 914 Mar 20 11:41 test1.c bsdi % wc -l test1.c 몇 줄을 가져왔는가? 48 test1.c 1 0.0 bsdi.1106 > svr4.tftp: 19 RRQ “test1.c” 2 0.287080(0.2871) SVR4.1077 > bsdi.1106:udp 516 3 0.291178(0.0041) bsdi.1106 > svr.1077:udp 4 4 0.299446(0.0083) svr4.1077 > bsdi.1106:udp 454 5 0.312320(0.0129) bsdi.1106 > svr4.1077:udp 4 [그림] TFTP에 의한 FILE의 패킷 교환
15.4 정 보 보 호 • 정보보호 기능이 없음 -- “ security hole “ • TFTP는 시스템 가동 프로세스 동안에만 사용 가능 • Client는 Server에서 제공되는 읽기, 쓰기 허가가 있는 File만 Access • 그 외의 접근을 방지하기 위해 TFTP 서버 시스템관리자에게 의존 15.5 Summary • TFTP는 ROM에 맞도록 설계된 단순한 Protocol로서, Disk없는 시스템의 가동 • 프로세스에 이용 • TFTP는 UDP 이용하므로 Client와 Server 사이에 여러 개의 포트를 할당하여 • 동시성을 실현 • 따라서 Client가 Server의 UDP 모듈에 따라서 역다중화 하는 데이터그램을 • 입력할 수 있음 • TFTP 프로토콜은 정보보호 기능을 제공하지 않음