kjh00n의 기록저장소
FTP 본문
FTP (File Transfer Protocol)
- 파일공유를 목적으로 개발되었다.
- 네트워크 상에서 파일을 전송하기 위한 TCP 기반의 프로토콜
- 사용자인증과 명령전달을 위한 제어연결과 파일 전송을 위한 DATA 연결이 분리되어 있다.
- 제어 연결용 Port : TCP 21번 (핵심)
- Data 전송용 Port : TCP 20번 or Random Port
- 데이터 연결과 제어 연결이 둘 다 맺어져야 서비스 구동가능
제어 연결
- FTP 세션이 연결될 때 생성되는 TCP연결
▪ FTP 세션이 유지되는 동안 계속 연결상태를 유지한다.
- FTP 명령과 응답과 같은 제어정보를 전달
- PI (Protocol Interpreter, 프로토콜 해석기)가 제어 연결을 관리하고 명령을 처리한다.
▪ 허용된 사용자만 서버에 접근하도록 통제한다.→ 접근제어
▪ 허용된 사용자가 사용할 수 있는 자원의 종류를 선정한다.→ 자원선별
데이터 연결★
- 서버와 클라이언트간 공유되는 데이터가 전달될 때마다 따로 생성되는 TCP연결
- 실제파일을 보내고 받는 작업을 처리한다.
- DTP (Data Transfer Process, 데이터 전송 프로세스)가 실제 데이터를 전달하는 동작을 처리한다.
▪ DTP 사이에서 연결을 수립한다.
▪ 서버의 디렉토리 목록 출력등의 데이터 전송에도 데이터 연결이 필요한다.
- 연결 방식
▪ ACTIVE 방식
>Client에서 데이터전송 port를 지정하여 Server에게 전달
>Server에서 데이터 연결을 시도한다. (Client쪽이 시도하는 것이 아니다.)
(Server가 Client측의 열려 있는 port를 알고 있다는 의미 → Server의 포트는 고정되어 있기 때문이다.)
>Client측에서 방화벽이 동작 중 이면 Server가 시도하는 데이터 연결 요청이 차단될 수 있다.
★ Port를 알려주는 것은 Client
★ Server가 먼저 데이터 연결을 한다.
제어 연결용으로 21 port를 사용하다가 Data를 전송하기 위해 20 port로 변환한다.
▪ PASSIVE 방식
>Server에서 데이터연결 port를 지정하여 Client에게 전달
>Client에서 데이터 연결을 시도한다.
★ Port를 알려주는 것은 Server
★ Client가 먼저 데이터 연결을 한다.
'시스템 보안 구축' 카테고리의 다른 글
FTP 실습 (0) | 2024.11.05 |
---|---|
FTP 명령어 및 구축 (0) | 2024.11.05 |
DHCP 실습 (0) | 2024.11.04 |
Relay Agent 정의 / 실습 (0) | 2024.11.04 |
DHCP 설정 실습 (0) | 2024.11.04 |