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.
- Client는 능동적으로 일시적인 port번호를 연다.
- Client는 port command를 통해 자신의 port 번호를 server에게 알린다.
- Server는 수동적으로 20번 port를 연다.
- Server는 child server나 port 번호를 만들어서 client에 넘긴다.
- 통신
상세 순서
- Server -> Client : 220 (나 준비되었어)
- Client -> Server : User id
- Server -> Client : 331 (나에게 등록된 Client 맞네. password도 알려줘)
- Client -> Server : Password
- Server -> Client : 230 (Client의 password도 올바르다. 너 통과! .)
- Client -> Server : Client의 data transfer port 번호
- Server -> Client : 150 (Data connection이 오픈될거야)
- Client -> Server : List /~/~/ (여기 안에 너꺼 파일 리스트 좀 보여줘)
- Server -> Client : 125 (OK)
- Server -> Clinet : client에게 보여주기, 받기
- Server -> Client : 226 (data connection을 끊을게)
- Client -> Server : QUIT (나도 종료)
- 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 |