FTP(File Transfer Protocol)
운영체제에서 그래픽환경을 지원하기 이전에 만들어진 파일을 전송하기 위한 프로토콜
TCP/IP 네트워크(인터넷)상의 장치가 파일을 전송할 때 사용하는 규칙
동작 방식이 매우 단순하고 직관적이여서 사용하기 쉽고 편리
대용량 파일을 빠르게 전송할 수 있지만 평문으로 전송(암호화X)하기 때문에 악의적인 사용자에게 노출될 위험 존재
FTP 내장명령을 통해 쉘에서 사용하는 ls, pwd, cd, mkdir와 같은 간단한 명령어 사용 가능
FTP 서버
파일을 하나의 장치에서 다른 장치로 전송하는 소프트웨어 어플리케이션
간단히 FTP 주소를 가지고 있고 FTP 연결을 수신하는 데 사용되는 컴퓨터
클라이언트는 FTP 서버로부터 파일을 '받거나', FTP 서버로 파일을 '보낸다'
기본적인 관점에서 보면 FTP 서버는 수신자와 전송자 사이에 위치한 중간 지점
FTP 원리
FTP는 클라이언트 - 서버 프로토콜
클라이언트가 파일을 요청 하면 서버가 요청된 파일을 제공
FTP의 연결 설정을 위해서는 명령을 내리고 어떤 파일에 접근할 수 있는지 등의 기본 정보를 전달하는 명령 채널(제어 채널)과 2개의 장치 간에 데이터를 전송하는 데이터 채널 2개의 기본 채널이 필요
연결 설정을 위해선 사용자는 FTP 서버에게 로그인 정보를 제공해야 하는데, 일반적으로 21번 포트를 기본 통신 모드로 사용
연결 포트
FTP가 기본적으로 사용하는 포트는 20번과 21번이며, 서로 다른 역할을 수행
20번 포트는 데이터 포트이며, 데이터 전송에 사용
21번 포트는 제어 포트이며, 클라이언트의 접속 및 제어에 사용
제어 채널
상대방의 연결을 기다리거나 연결을 시도하고, 다른 장치와 연결을 맺고 명령어 입력 시에 해당 명령어를 전달하는 데에 사용
FTP가 사용되는 동안은 연결이 지속적으로 유지되고, 명령과 응답 방식으로 작동
반이중(Half Duplex) 전송방식을 사용하기 때문에 단방향 통신만 가능
데이터 채널
데이터를 주고받는 용도로 사용하는 포트
동작 모드에 따라 사용하는 포트가 다름
액티브 모드 -> 20번 포트, 패시브 모드 -> 1024번 이상의 임의의 포트
연결된 이후 파일을 전송할 때에만 연결하고 사용하지 않을 경우 폐쇄
전송하는 데이터는 파일의 종류, 데이터 구조, 전송 방식에 따라 달라짐
전이중(Full Duplex) 전송방식을 사용하기 때문에 양방향 통신 가능
SFTP(Secure FTP), FTPS(FTP Secure, FTP-SSL)
FTP는 데이터를 네트워크에 평문으로 전송하기 때문에 보안에 취약
보안적 요소가 추가된 SFTP, FTPS등을 사용하는 것이 권장
SFTP는 22번 포트를 사용하고 SSH 프로토콜을 사용하여 연결하기 때문에 암호화된 데이터로 통신
FTPS는 기존의 전송 방식에서 TLS 또는 SSL을 사용한 암호화 통신을 지원
Reference
https://velog.io/@honghwahyeong/Network-FTPFile-Transfer-Protocol
https://peemangit.tistory.com/66
'네트워크' 카테고리의 다른 글
ICMP (0) | 2023.10.28 |
---|---|
SMTP, IMAP, POP3 (1) | 2023.10.28 |
OSI 계층 별 장비 (1) | 2023.10.27 |
TCP / UDP (0) | 2023.10.26 |
프로토콜 Protocol (1) | 2023.10.21 |