Transcript TFTP

TFTP
2조
 TFTP(Trivial File Transfer
Protocol)
◦
◦
◦
◦
일반 FTP 와 비슷하지만 보다 단순, 간이적인 기능
RFC 1350 에서 공식화.
UDP 방식을 사용 ( 69 PORT )
Embedded System ( 또는 WorkStation )
에서 운영 체제의 업로드용으로 주로 사용.
2
Message
RRQ
WRQ
DATA
ACK
ERROR
• RRQ ( Read request )
• WRQ ( Write request )
• DATA
• ACK ( Acknowledge )
• ERROR
3
4
 RRQ(Read request)

클라이언트가 서버로부터 데이터를 읽기 위한
연결을 설정 하는데 사용
5
 WRQ(Write request)

클라이언트가 서버에 데이터를 쓰기 위한 연결 요청
6
 DATA
 데이터 블록을 전송하기 위해 사용
7
 ACK( Acknowledge : 확인 응답 )
 데이터 블록을 수신하였음을 응답해 준다.
 4byte의 길이.
8
 ERROR

연결을 설정하지 못했거나 데이터 전송 중에 문제가
발생할 때 사용.
 RRQ나 WRQ에 대한 부정 응답으로도 사용.
9
 ERROR Number
Number
Meaning
0
Not defiend
1
File not Found
2
Access Violation
3
Disk Full quota
Or disk exceeded
4
Illegal operation
5
Unknown port number
6
File already exists
7
No such user
10
 UDP를 사용

TCP방식의 FTP에 비해서 간단한 전송형태.
 부트로더(BOOTP) 등과 연동하여 네트워크 부트,
OS설치 등에 사용.
 쌍방 연결 설정과 종료를 제공하지 않음.
 데이터 블록을 사용자 데이터그램으로 캡슐화.
11
 모든 데이터 블록을 전송할 수 있는 연결 필요
 RRQ, WRQ, ACK, ERROR 사용
 메시지 사용연결 종료를 위해 512 바이트보다
적은 DATA 메시지 사용
12

연결 흐름
13
 데이터 전송 과정
 연결과 종료 사이에 수행
 전송 과정
파일을 데이터 블록으로 나눈다.
ASCII나 2진 파일 형태 전송
 흐름 제어와 오류 제어 기능이 없음
14
 데이터 흐름 제어
 데이터 블록 하나를 DATA 메시지로 전송하고 ACK
메시지를 기다림
 응답이 있으면 다음 블록 전송
 정지 – 대기 프로토콜 사용
15
 데이터 오류 제어
 유실 응답 메시지를 재전송
 중복된 메시지 검출 및 제거
16
 UDP Port
 TFTP 는 69번 포트를 사용.
 연결을 긴 시간 유지 ( 수 초~ 수 분 )
- 그 동안 해당 포트에 다른 클라이언트가 접속하면
서비스를 사용할 수 없는 문제점 발생.
 신뢰성이 부족하므로, 대용량의 파일이나
패킷 손실이 많은 환경에서는 불편하다.
17
 PORT 해결책 : 임시 포트
18
 RRQ와 WRQ 메시지에 옵션 추가
- 블록 크기와 초기 순서번호 변경
- 옵션이 없으면 항상 512byte( 마지막 블록 제외 )
옵션이 있으면 UDP 데이터그램에 수용될 수 있는 수

OACK(Option Acknowledgement)
- 상대방의 옵션 수용 여부
19
 보안에 대한 구체적 고려가 부족
 핵심 파일에 대한 접근자 권한 설정
 Telnet 과 같은 타 응용 프로그램을 사용
20
 간단한 TFTP 환경 구축
- Yum 또는 rpm으로 관련 패키지 설치
21
 서버 가동
- TFTP 서비스를 사용하기 위해 환경 설정 파일 수정
22
관련 데몬 재시작 후 파일 준비
23
XP에서 CentOS의 TFTP서버에서 파일을 다운받는다.
서버는 Wireshark 를 켜고 패킷을 관찰한다.
24
 마법사 견습생 신드롬
 마법사의 초보적 버그라는
의미로, 판타지아라는 영화의
세그먼트 부분을 따서 붙은 이름.
ACK 메시지가 지연되는 경우에 발생
이후의 모든 데이터 블록과 응답이
중복 송/수신
25
Install.log 파일의 크기에 비슷하게 블럭화되어 전송
데이터 전송 블록의 크기
IP 영역에서의 크기
마지막 전송 블록의 크기
UDP 영역에서의 크기
26
27