Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Tags more
Archives
Today
Total
관리 메뉴

luke

[Network] - FTP 본문

Network/Network

[Network] - FTP

luke-king 2024. 8. 11. 23:13

FTP(File Transfer Protocol)

FTP란 하나의 호스트에서 다른 호스트로 파일을 복사하기 위해 TCP/IP에 의해 제공되는 표준 기능이다.

20번 포트는 데이터 전송을 위해 사용되고, 21번 포트는 명령과 응답 등의 제어정보를 위해 사용된다.

(FTP의 경우 평문전송을 수행하여 정보가 노출될 수 있기 때문에 SFTP(22/tcp) 또는 ftps(990/tcp) 사용을 권장한다.)

 

FTP 전송모드는 두 가지가 있다. 기본값인 Active Mode이고 클라이언트가  Active 또는 Passive Mode를 선택할 수 있다.

데이터 포트요청은 Active의 경우 클라이언트가 Passive인 경우 서버가 요청한다.

 

능동 연결 (Active Mode)

[작동 방식]

1. 클라이언트가 서버의 21번 포트로 접속 후 명령을 송수신 하기 위해 제어 채널을 생성한다. 이후 사용자가 ls 명령을 입력하면 클라이언트가 Data 전송할 5151포트(1024 이상의 포트)를 포함하여 서버에 알려준다.

2. 서버는 이에 대해 Ack로 응답한다.

(Ack란 데이터를 전송할 때 송신자는 수신자가 데이터를 제대로 받았는지 확인하는 "데이터를 잘 받았다" 라는 응답 이다.)

3. 서버의 20번 포트는 클라이언트가 알려준 두 번째 포트로 접속 후 데이터 채널을 생성한다.

4. 마지막으로 클라이언트가 Ack로 응답한다.

 

서버에서 클라이언트로 요청을 하기 때문에 클라이언트 PC에 방화벽이 설치되어 외부에서의 접속을 허용하지 않는다면 FTP 접속은 되지만 이후 데이터 채널 연결이 불가능하여 파일을 받을 수 없는 문제가 발생할 수 있다.

 

 

수동 연결(Passive Mode)

[작동 방식]

1. 클라이언트의 서버의 21번 포트로 접속 후 제어 채널을 생성한다. 이후 사용자가 명령어를 입력하면 클라이언트는 Passive Mode로 연결하기 위해 PASV명령어를 전송 한다.

2. 서버에서는 서버가 사용할 3267포트(1024 이상의 포트)를 알려준다.

3. 클라이언트는 서버가 알려준 포트번호로 접속을 시도하여 데이터 채널을 생성한다.

4. 서버는 Ack로 응답한 후 데이터를 송신한 후 데이터 채널 연결을 종료한다.

 

두 번째 data포트로서 active 모드가 사용했던 20번을 사용하지 않고 대신 1024 이후의 임의의 비 특권 포트를 사용한다.

서버에서 포트번호를 알려주기 때문에, 해당 대역의 방화벽 포트를 열어 두어야 한다.

대부분의 웹브라우저는 ftp://를 이용하여 FTP에 접속할 때 수동모드만 지원한다.

 

 

※ 출처: https://peemangit.tistory.com/66

 

FTP (File Transfer Protocol) 란?

1. FTP (File Transfer Protocol) 란?하나의 호스트에서 다른 호스트로 파일을 복사하기 위해 TCP/IP에 의해 제공되는 표준 기능이다.20번 포트는 데이터 전송을 위해 사용되고, 21번 포트는 명령과 응답

peemangit.tistory.com

(상세 내용)

'Network > Network' 카테고리의 다른 글

[Network] - NFS, NAS  (0) 2024.08.11