2020. 4. 16.

[Linux] FTP 기본개념

FTP

대용량의 파일 전송 서비스에 적합
웹 서비스의 일부로 통합 운영되는 추세
xinetd보다는 standalone 형태로 운영
시스템에 리소스를 많이 차지하는 서비스
Out of band
 - 21 : control connection
 - 20 : data connection(Active mode)
 - Passive mode : 임의의 포트를 이용 (1024 이후것으로)

FTP 
client 
TCP control connection 
port 21 
TCP data connection 
FTP 
port 20 
server

유닉스 시스템간에 파일교환을 위해서 나온것으로 현재는 엔지니어 말고는 쓰지 않는다.
예전에는 대용량(1MB) 전송에 쓰여졌다.


접속및 전송 과정

1. FTP client 21 port를 통해서 서버와 control connection
설정
2. 이 제어연결을 통해 사용자 계정과 비밀번호를 전송
3. Client는 제어연결을 통해 원격지의 디렉토리 변경과 같은 명령을 전
4. 서버측은 제어연결을 통해 파일 전송을 위한 명령을 받으면 TCP data
connection을 초기화
5. 하나의 파일 전송이 끝나면 data연결은 close된다.
6. 다음 파일 전송을 위해서는 새로운 TCP connection을 생성

Active mode(액티브 모드)

클라이언트가 데이터를 수신 받을 임의의 포트를 서버에 알려주면 서버는 20번 포트를 통해 클라이언트에게 데이터를 전송함
• Client에서 Server FTP 제어 연결 요청
• Client에서 제어 연결을 통해 자신의 Data 전송 Port(Random Port)
Server 측에 알려줌
• Server에서 Client Data 전송 연결 요청

Passive mode(패시브 모드)

서버가 데이터를 송신할 임의의 포트를 클라이언트에 알려주어 클라이언트가 서버의 임의의 포트에 접속하여 데이터를 가져감
• Client에서 제어 연결을 통해 Server 측에 Passive 연결요청
• Server에서 제어 연결을 통해 자신의 Data 전송 Port(Random
Port) Client 측에 알려줌

• Client에서 Server Data 전송 연결 요청

댓글 없음:

댓글 쓰기