TFTP(Trivial File Transfer Protocol) 서버는 네트워크를 통해 연결된 시스템간 파일을 송수신 하는데 사용된다. 특히 아주 예전에 임베디드 시스템에서는 부트로더에서 tftp를 통해 시스템이미지를 다운로드하여 플래시메모리에 기록하는 용도로 주로 사용되었다. 그리고 리눅스 BSP를 개발하는 개발자는 tftp로 커널까지 기록(퓨징)하고 이후 nfs를 통해서 파일시스템을 연결하여 테스트한 다음 모든 확인이 완료되면 이미지 파일로 생성하여 tftp를 통해 플래시에 올려서 릴리즈를 진행하고 또한 vxworks에서는 시스템 이미지를 개발시 시스템 이미지를 로딩해서 사용하는 용도로 이용하기도 한다.
그런데 windows에서는 예전에는 서비스가 있어서 등록해서 사용했었는데, 업데이트 이후 사라진 듯 하다. 찾아보니 윈도우 v1803 버전 이후로 제거되었다고 한다. 뭐 어쨌든 필자는 Zynq 때문에 십 수년 전에 사용했던 tftp를 리눅스가 아닌 윈도우에 설치해야 되는 상황이 발생되었다. 물론, 예전에도 급하게 다운로드만 할 경우에는 리눅스가 아닌 windows에 tftp기능을 설정하고 사용하기도 했지만, 최근에는 USB를 이용하여 시스템 이미지를 퓨징하는 형태로 개발하고 사용하는 것이 일반적이라 사실상 최근 10년내에는 써본 적이 없다. 아무래도 윈도우에서도 보안기능이 없는 tftp를 소수의 사람들을 위해서 놔두긴 뭣했을 것 같다는 생각을 해본다.
사용할 TFTP 서버 소프트웨어를 찾아보자. 이때 회사에서 사용해도 괜찮을 만한 녀석을 찾아야 되는 것이 관건이다.
소프트웨어 명 | 지원 | 파일제한 | 오픈소스 | 정책 | 가격 | 특징 |
SolarWinds TFTP Server | IPv4 | 4GB | No | 무료 플랜 | $ 2,995~ | 높은 확장성 |
WhatsUp Gold | IPv4 | 4GB | No | 확인불가 | 무료/구매 | GUI 인터페이스 |
Open TFTP Server | Unknown | Unknown | Yes | 무료 | 무료 | 공개 소프트웨어 |
WinAgents | IPv4 | 32MB | No | 무료 플랜/ | $ 99~ | 관리자를위한 설계 |
Spiceworks TFTP | IPv4 | 33MB | No | 확인불가 | 확인불가 | IT 전문가 설계 |
TFTPD64 | IPv4/6 | 32MB | Yes | 확인불가 | 확인불가 | Syslog 서버 |
위의 소프트웨어들 중 몇가지를 설치해보았다.
1. TFTP 서버 설치
1.1. TFTPD64
포트 여는데 문제 발생됨.아래의 링크를 참조하여 69(UDP)번 포트를 열어줄 것.
https://ansan-survivor.tistory.com/408
1.2. SolarWinds TFTP Server
설정 화면이 열리지 않는다. 마찬가지로 포트번호 69번을 허용해야 정상적으로 포트설정등 다이얼로그가 출력됨을 알수 있다.
1.3. Open TFTP Server
마지막 릴리즈가 2019년도 버전이었는데 실행되지 않는듯 하다.
어찌되었거나, 서버를 설치하고 tftpboot 폴더를 만들고 설정해주면 준비가 끝난다. 다음은, 윈도우에서 TFTP 클라이언트 기능을 활성화 시켜주어야 한다.
2. Windos TFTP Client 추가
윈도우 시작버튼을누르고 "Wndows 기능 켜기/끄기"를 실행한다. 그다음 아래의 그림과 같이 TFTP 클라리언트를 찾아 체크 해주면 된다.
설치가 진행되면 다음과 같이 표시된다.
정상적으로 설치가 되면 다음과 같이 표시된다.
3. 테스트
3.1. 테스트 준비
필자는 C:\TFTP-Root 디렉터리를 생성하고, TFTP 서버에서 해당 디렉터리를 서비스 디렉터리로 설정하였다.
따라서 아래와 같이 해당 디렉터리에 파일을 하나 복사해 두었다.
3.2. 다운로드
클라이언트가 파일을 받아갈 수 있는지 확인해야 하므로 CMD를 통해 tftp 명령을 테스트 한다.
1) IP 확인
현재 테스트 중에는 서버와 클라이언트가 모두 하나의 PC에서 동작하므로 현재 필자 PC의 ip만 확인하면 되겠다.
C:\> ipconfig
2) tftp 클라이언트 명령 확인
C:\> tftp
3) 다운로드 확인
폴더를 하나 생성후 이동한 다음 tftp를 통해서 파일을 다운로드 받는다. 다운로드가 완료되면 dir 명령을 이용하여 파일 사이즈를 확인한다
디렉터리 생성후 이동.
C:\> mkdir tftp_test
C:\> cd tftp_test
파일 다운로드(서버에 업로드 하려면 put옵션을 사용하면된다.)
C:\> tftp 192.168.10.117 get test.docx
파일이 다운로드 되었는지 확인.
C:\ dir
명령창 말고 윈도우의 파일 브라우저에서 파일을 열어서 정상적으로 다운로드 되었는지 한번더 확인해 보는 것도 좋다. 물론, 오류 메시지가 없었다면 당연히 정상적으로 다운로드 되었을 것이다.
즐거운 하루 되시길...
최근댓글