본문 바로가기

네트워크

FTP (File Transfer Protocol)

FTP 통신

파일 사전 체크 명령을 내리는 Control connection(NVT ASCII : 가상 터미널 아스키 코드)

실제 Data(File) 가 오고가는 Data connection이 있다.

 
 

Control connection은 Command가 오고간다.

Command 종류

- Access Commands

- Port defining

- 등등

Client-> Server Command: 숫자

Server -> Client Command: 문자 (ASKII)

 
 

Data Connection 에 들어갈 내용

- File type (ASCII /EBCDIC) (Image/Video)

- Data structure

- Transmission mode

 
 

순서

* Server의 FTP Port 번호는 20.

  1. Client는 능동적으로 일시적인 port번호를 연다.
  2. Client는 port command를 통해 자신의 port 번호를 server에게 알린다.
  3. Server는 수동적으로 20번 port를 연다.
  4. Server는 child server나 port 번호를 만들어서 client에 넘긴다.
  5. 통신

상세 순서

  1. Server -> Client : 220 (나 준비되었어)
  2. Client -> Server : User id
  3. Server -> Client : 331 (나에게 등록된 Client 맞네. password도 알려줘)
  4. Client -> Server : Password
  5. Server -> Client : 230 (Client의 password도 올바르다. 너 통과! .)
  6. Client -> Server : Client의 data transfer port 번호
  7. Server -> Client : 150 (Data connection이 오픈될거야)
  8. Client -> Server : List /~/~/ (여기 안에 너꺼 파일 리스트 좀 보여줘)
  9. Server -> Client : 125 (OK)
  10. Server -> Clinet : client에게 보여주기, 받기
  11. Server -> Client : 226 (data connection을 끊을게)
  12. Client -> Server : QUIT (나도 종료)
  13. Server -> Client : 221 (나 서비스 종료 시킴!)

* 굵은 글씨는 Data connection, 얇은 글씨는 Control connection

'네트워크' 카테고리의 다른 글

Multiplexing + demultiplexing  (0) 2022.07.17
Transport protocol (TCP/UDP)  (0) 2022.07.15
Video + Multimedia (Steaming)  (0) 2022.07.15
TCP/UDP 차이 (+SSL)  (0) 2022.07.15
Socket이란?  (0) 2022.07.15