최근 수정 시각 : 2024-08-13 19:48:17

미디어 전송 프로토콜

1. 개요2. 특징3. 장점4. 단점5. 사용 시 주의사항


Media Transfer Protocol

1. 개요

기존의 PIP를 Microsoft가 보다 여러 종류의 장치에서 쓸 수 있도록 확장한 것으로 Windows Media Player에 내장된 기능[1]이다. 그렇게 유명한 것은 아니었으나 안드로이드 4.0부터 이동식 디스크 (USB Mass Storage)에서 MTP로 대체하면서 널리 알려지게 되었다.

2. 특징

호스트가 되는 장치에 파티션을 직접 마운트 하지 않으며, 일종의 "파일서버"로서 동작한다. 컴퓨터는 단지 해당 장치를 원격 조작할 뿐 모든 작업 자체는 장치의 자원을 이용해서 이뤄진다. 그래서 안드로이드 장치를 컴퓨터와 연결해 사용할 경우 충전이 진행됨에도 불구하고 파일 관리 등을 하다 보면 오히려 배터리 양이 줄어들기도 한다. 원격 서버나 마찬가지기 때문에 USB 저장소 마운트 해제 기능도 없다. 파일 전송만 안 한다면 안전 제거 없이 그냥 빼도 된다.

이동식 디스크와의 차이를 도서관에 비유하면 이렇다.
  • 이동식 디스크 (UMS)
    • 이 도서관은 관리인(주인)이 없다. 마음대로 자료를 뒤지고 제거하거나 추가할 수 있으며 책을 읽으며, 다른 책을 버리는 등 여러 작업을 동시에[2] 해도 무방하다.
    • 자료를 버리거나 추가하던 중 갑자기 문으로 돌진해 나가버리면 도서관 시스템에 문제가 생길 수 있다. 또한, 도서관의 자료 정리 방법을 모르면 자료를 찾아볼 수 없다.
    • 도서관 관리인이 없기 때문에 편리한 대신 이용자가 무슨 짓을 하던 막을 수가 없으므로 위험하다. 심지어 이용대장처럼 관리에 중요한 서류를 훔치거나 도서관에 도청장치를 심어도 아무 대응도 못 한다.
  • 미디어 전송 프로토콜 (MTP)
    • 출입이 엄격히 통제된 도서관. 직접 들어가진 못하지만 입구에서 관리인을 만날 수 있으며 관리인에게 명령을 내려서 필요한 작업을 수행할 수 있다. 관리인이 작업에 들어가면 끝나기 전까지 다른 명령을 내릴 수 없다.
    • 도중에 나가버리더라도 애당초 도서관 안으로는 들어가지도 못하고 입구에만 있었으므로 별 문제가 생기지 않으며, 모르는 언어로 쓰인 글도 관리인이 아는 언어라면 알아서 읽어준다.
    • 이게 전부라면 좋겠지만 하단의 '문제점' 문단처럼 관리인이 살짝 어리숙한지 깜빡하고 문을 닫거나, 분명 있는 책을 없다고 하거나, 작업 도중에 멍 때린다던지, 심지어는 책을 흘리고 이 중에 몇 권은 아예 찢어져서 못 보게 되는 등의 문제가 있다.

Windows Vista부터 기본으로 지원한다. Windows XP에서는 Windows Media Player 11과[3][4] 제조사에서 제공하는 USB 드라이버가 설치되어 있어야 인식된다.

마이크로소프트에서 개발한 프로토콜이어서 그런지 macOS에서는 내장되어 있지 않아서, Mac에서 사용하려면 구글에서 개발한 macOS용 클라이언트인 "Android 파일 전송 (Android File Transfer)"을 따로 설치해 줘야 한다. 구글에서 직접 만들었으니 Windows보다 나을 거라고 생각할 수도 있겠지만, 사실은 놀라울 정도로 많은 버그에도 불구하고 사실상 방치 상태로, 2011년 처음 출시된 이후 11년의 세월 동안 업데이트라곤 단 3번 이루어졌다. 2022년 현재 최신 버전은 2018년 10월에 나온 1.0.12.

3. 장점

MTP는 연결되는 장치의 파일 시스템에 관계없이 파일을 읽고 쓸 수 있다는 큰 특징이 있다. 안드류이드 2.3까지는 안드로이드를 구동하는 시스템 파티션과 유저 데이터를 저장하는 파티션으로 나뉘어져 있었고 유저 파티션을 FAT 파일 시스템을 이용하여서 PC에서 이동식 디스크로 할애할 수 있었다. 하지만 이는 폰 제작시 리눅스 파티션 배분을 "용량 낭비" vs "미래를 위한 대비" 사이에서 고민을 하게 만들었으며, 많은 안드로이드 기기들이 파티션 용량 부족으로 OS 업그레이드를 받지 못하는 사태를 낳고 말았다.[5] 혹은 모든 데이터를 날리고 파티션을 재생성해야했다.[6] 안드로이드 4.0 탑재 기기부터는 저장소를 모두 리눅스 포맷으로 이용하고 시스템과 사용자 공간을 폴더로 나누었다. 앞서 언급한 OS 업그레이드에 파티션 용량에 발목 잡힐 일이 없어졌으며, 파일도 FAT보다는 안정적으로 저장할 수 있게 되었고, 보안 설정도 가능하게 되었다. 그런데 윈도우에서는 리눅스 파티션을 읽을 수 없기 때문에 과거의 "이동식 디스크" 자체가 불가능해졌으며, 설사 된다 하더라도 포맷 하라고 뜨게 된다. 따라서 파일 시스템에 관계없이 서버와 같은 방식으로 파일들에 접근할 수 있도록 미디어 전송 프로토콜을 이용하게 되었다.

보안에도 긍정적이다. 이동식 디스크는 안드로이드가 관리하다가 윈도우가 관리하다가 다시 안드로이드가 관리하는 것이 가능한데, 윈도우 쪽에서 저장공간을 헤집어 놓으면 안드로이드가 관리하지 못하는 사이 파일의 위변조 등이 가능할 수 있는 문제가 상주한다. MTP는 저장소 관리가 안드로이드 아래 일률적으로 관리되기 때문에 치명적인 파일 변조나 샌드박스 무력화 등에서 한결 안전하다.

같은 이유로 과정의 처음부터 끝까지 전부 기기에서 관리하고, 처리하기 때문에 과거 이동식 디스크 시절과 달리 복사한 파일이 보이지 않아 미디어 스캔 작업을 해야 하는 경우도 없다.

4. 단점

지금은 조금 나아진 것 같지만 Android에 처음 지원되었을 때부터 모두가 이동식 디스크를 그리워했다. 기존의 FAT 방식으로 저장소를 쓸 경우 4 GiB 이상의 파일을 쓸 수 없다는 단점은 어느 정도 극복할 수 있었지만(내부 저장소에 한정), 느리고, 잘 뻗고, 한 번에 한 작업만 되는 문제는 여전히 개선되지 않았다.

일단 전송 속도가 너무나도 느리다. 특히 작은 파일 여러개를 옮길 때에는 일반 이동식 디스크나 FTP 전송도 느리긴 하지만 MTP의 경우는 훨씬 심하게 느려진다.

특정 사용자의 시스템에서는 이름 바꾸기, 새 디렉토리 생성, 파일 이동 등 내부적으로 파일 이름을 변경하는 것으로 보이는 작업을 걸면 작동이 멈추는 경우가 있다.

데이터의 보존에 있어서도 불안정한데, 예를 들어 대량의 디렉토리나 파일에 대해 잘라내기(to PC)를 했다간 간헐적으로 파일이 사라진다. PC로 파일이 전송되지는 않은 채, 기기에서 파일을 지우라는 명령은 전달되어 파일만 사라지는 것이다.

게다가 일부 파일을 읽을 수 없는 경우도 존재한다. microSD카드나 내장 메모리나 둘다 음악 파일을 예로 들면, 이어폰을 꽂아서 방금 전까지 들은 노래 파일을 컴퓨터로 옮기려고 MTP로 연결을 하면 파일이 보이지 않는다. microSD 카드를 지원하고 이동식 디스크로 연결을 하면 멀쩡히 나오는 파일이 MTP로 연결만 하면 보이지 않는 것.

PC 메인보드 하드웨어마다 차이가 있겠지만, USB 포트마다 안정성이 다르다. 일부 PC 케이스의 있는 전면 USB 포트의 경우 굉장히 불안정하다. 이 경우 메인보드에 직결된 후면 USB 포트를 사용하는 것을 추천한다.

이 때문에 직접 파일전송을 피하고 FTP[7], NAS, 클라우드 스토리지, 모바일 메신저, OTG[8]로 우회하는 경우가 MTP 도입 이전보다 늘었다.

Windows 10부터는 어느정도 나아졌지만, 이전 버전의 Windows에서는 기본적으로 잡히는 드라이버에 오류가 많아서 인식이 안 되거나 연결이 끊기는 등의 문제가 자주 발생했었다. 이는 제조사에서 제공하는 드라이버를 새로 설치하면 개선된다. 삼성전자 통합 USB 드라이버

MTP로 전송 시 파일의 타임스탬프(바뀐 날짜)가 전송하는 시간으로 바뀌기 때문에 갤러리나 파일 관리앱에서 순서가 뒤섞이기도 한다. 갤러리 앱의 경우 EXIF 정보를 읽어와서 EXIF에 기록된 시간을 우선시하기 때문에 그나마 낫지만, 해당 파일의 EXIF에 시간정보가 없거나 이외의 앱에선 문제가 된다.

5. 사용 시 주의사항

필요한 폴더는 PC에서 먼저 만들고 복사할 파일의 이름도 미리 바꾸고 장치로 복사하자. 프리징을 처음 겪는 유저라면 십중팔구 무슨 문제 생긴 줄 알고 강제 종료하게 될 것이다. 혹시 MTP로 연결해서 파일 이름을 바꿨다가 프리징이 걸렸다면 풀릴 때까지 놔두는 수 밖에 없다.

프리징이 생긴다면 PC에서 새 폴더 만들기, 이름 바꾸기 작업 등을 하지 말고 파일 관리 앱에서 사용하는 것이 낫다. 더불어서 한번에 여러 폴더를 복사하지 않는 것이 좋다. 복사할 폴더가 여러개라면 좀 귀찮아도 하나씩 직접 옮겨주는 것이 더 빠르다. 한번에 많은 폴더를 복사하는 경우 한참 복사할 파일을 확인하다가 장치와의 연결이 끊기는 경우도 있다.

잘라내기 기능(CTRL + X)은 절대로 쓰지 말 것! 윗 문단에서도 서술했듯이 디렉토리나 파일에 대해 잘라내기(to PC)를 했다간 간헐적으로 파일이 사라진다! PC로 파일이 전송되지는 않은 채, 기기에서는 파일을 지우라는 명령은 전달되어 파일만 사라지는 것이다. 문제가 있는 PC에선 매우 불안정한 경우가 많으므로 아예 쓰지 말고 파일을 복사 후 파일 전송 누락이나 깨진 파일이 있는지 확인 후 직접 삭제하는 것을 적극 권장한다.

Windows 에디션 중 N이나 KN으로 끝나는 버전은 Windows Media Player가 제외되어 있는데, 이 과정에서 MTP 프레임워크도 빠졌기 때문에 MTP 연결이 되지 않는 문제가 발생한다. 이 문제는 Windows 7 이상인 경우 마이크로소프트 홈페이지에서 미디어 기능 팩을 설치하면 해결된다. Windows XPWindows Vista N/KN에서는 Windows XP용 Windows Media Player 11을 설치하면 된다. 비스타에 XP용을 설치한다는 게 이상하게 느껴지겠지만 어쨌든 그렇다.

[1] 엄밀히는 이를 구동하기 위한 프레임워크의 일부.[2] 엄밀히는 아니다. 멀티태스킹 참고.[3] Windows Media Player 10에서도 작동 가능하지만, Windows Media Player 11을 설치하는 것이 더 호환성이 좋다. 다만 예외적으로 Windows XP 미디어 센터 에디션 2005에서는 업데이트된 MTP 기능이 내장되어있는지 Windows Media Player 11을 설치하지 않아도 일반 XP에서 WMP11을 설치한 것과 같은 효과가 난다.[4] 만약 Windows Media Player 9 이하를 사용하고 싶은데 MTP도 사용해야 한다면 WMP10의 설치 파일에서 MTP 관련 드라이버, DLL 및 INF 파일을 추출해서 수동으로 설치해야 한다. #[5] 대표적인 사례가 갤럭시 S이다.[6] 갤럭시 S2가 4.1 젤리빈 업데이트시 모든 데이터를 초기화 후 리파티셔닝해서 시스템 영역을 조절하였다.[7] 단말기를 FTP 서버로 만드는 앱을 이용한다.[8] USB Type A 어댑터를 장착한 뒤 USB 드라이브외장 HDD를 연결하면 된다.