[네트워크]FTP

정태규·2023년 4월 11일
0

네트워크

목록 보기
8/19

FTP

FTP(file transfer protocol)
서버와 클라이언트 사이에서 TCP/IP를 통해 파일을 송수신하기 위해 고안된 프로토콜

FTP는 TCP/IP 프로토콜 테이블의 응용 계층에 속한다.

FTP 특징

client/server model

clinet: 전송을 시작하는 쪽 (원격에서 혹은 원격으로)
server: 원격 호스트

Authentication control(인증 제어)

login & password

Control & Data connections

FTP process model
control connection: 세션 내내 지속한다.
data connections: 필요할때마다 생성될 수 있다.

Connection 분리

  • FTP client는 TCP를 사용해서 21번port에서 FTP server와 접촉한다.

  • client가 control connection을 통해 인증받는다.

  • client는 remote 디렉토리를 탐색하기도하고, control connection을 통해서
    명령어를 보낸다.

  • sever가 file 전송 명령을 받으면, server는 client로 두번째 TCP data연결을 연다(파일용)

  • 한파일을 전송한후, 서버는 data connection을 닫는다.

  • 서버는 다른 파일을 보내기 위해 또다른 TCP data connection을 연다.

  • control connection: out of band -> data 연결과 별도의 연결로 제어(인증)하는 것을 말한다.

  • FTP server는 상태를 유지한다: 최근 directory와 이전 인증

commands 와 response

  • sample commands
    control chnnel을 통해 ASCII text로 보낸다.

USER: username
PASS:password
LIST:현재 디렉토리에서 list를 반환
RETR:file 검색
STOR:remote host로 file 저장

  • sample return codes
    status code 와 phrase(HTTP 같은)

1XX - 긍정적으로 미리 답변
ex) 125 data connection already open, transfer starting
2XX - 긍정적인 완료 답변
3XX - 긍정 중간 답변
ex) 331 Username OK,password required
4XX - 일시적으로 부정적인 완료 답변
ex) 425 Can't open data connection
452 Error writing file
5XX,6XX

0개의 댓글