초보 dogfootruler

2. FTP(File Transfer Protocol) 본문

StudyRoom;/Network;

2. FTP(File Transfer Protocol)

킹갓우부 2018. 12. 23. 20:09

1. 정의

 -  TCP/IP 프로토콜을 가지고 서버와 클라이언트 사이의 파일 전송을 하기 위한 프로토콜




2. 특징


방식이 단순하고, 빠르게 파일 송수신 가능


두 연결의 라이프타임

 - 제어 연결은 전체 상호작용적인 FTP세션이 열려 있는 동안 연결된 상태로 유지

 - 데이터 연결은 제어연결이 설정된 이후에만 연결이 설정, 해제를 반복한다.


사용자 인증, 데이터의 전환, 디렉토리 검색 등과 같은 많은 기능 및 선택사항을 제공




3. 제어연결

 

NVT ASCII 문자집합을 사용한다. 

   *  최상위 비트가 0으로 지정된 8비트 문자집합 


통신은 명령과 응답을 통하여 이루어진다.


통신은 한번에 하나의 명령을 전송한다. 또한 명령은 적어도 하나의 응답을 생성한다.


명령은 클라이언트에서 서버로 전송되고, 응답은 서버에서 클라이언트로 전송된다.


각 줄은 CR(Carriage Return)이나 LF(Line Feed)로 된 EOL(End Of Line)토큰으로 끝난다.


FTP 명령 : ASCII대문자로 구성


FTP응답 : 세자리 숫자와 텍스트로 구성


포트번호는 21번(반이중 방식 연결)




4. 데이터 연결

 

클라이언트는  전송될 파일의 종류와 데이터의 구조, 전송모드로 구성


● 데이터구조

 - FTP는 데이터 연결을 통해 파일을 전송할 때, 데이터 구조에 대한 설명 중 하나 사용

   

파일구조 : 특정 구조를 갖지 않는다. 연속적인 바이트 흐름이다

레코드 구조 : 파일은 레코드들로 분할, 텍스트 파일에서만 사용할 수 있다.

페이지 구조 : 파일은 페이지들로 분할, 각 페이지는 번호와 헤더를 갖는다.


 파일 종류 

 - 연결을 통해 파일 종류 중 하나를 전송할 수 있다.

ex) ACSII파일, EBCDIC파일, 2진 파일


 전송모드


스트림 모드 : 기본 모드, 데이터는 연속된 바이트의 흐름으로 FTP에서 TCP로 전달된다.

                  헤더크기가 0byte

블록 모드 : 데이터는 블록의 형태로 FTP에서 TCP로 전달되며, 특별한 알고리즘 필요하다. 

   3bytes 헤더가 각 블록의 앞에 붙게 된다.  

   첫번째 바이트는 블록 설명자, 다음 두 바이트는 블록의 크기를 바이트 단위로 정의

압축모드 : run length encoding방식 사용 데이터의 연속된 패턴을 감지 데이터값과 데이터가 연속해서 나타난 개수로 표현



포트번호는 20번(전이중 방식 연결)




5. 명령어


open(주소 또는 도메인) → ftp 서버에 연결 
close : 해당ftp 접속종료 
bye : ftp 프로그램 종료 
ls : list, 목록보기 
cd(디렉토리명) → 디렉토리 바꾸기 
ascii : 텍스트 파일 전송모드 (자료를 내려받거나 올리기 이전에 작동시켜야 한다)
bin : 이진파일 전송 모드 (자료를 내려받거나 올리기 이전에 작동시켜야 한다)
get 파일명 : 하나의 파일 내려받기 
mget 파일명 : 여러 개의 파일 내려받기, wildcard 문자 사용가능 
put 파일명 : 하나의 파일 올리기 
mput 파일명 : 여러 개의 파일 올리기, wildcard 문자 사용가능 
pwd : 현재 경로보기 
hash : 파일전송과정 보여주기
? : 도움말 
rstatus : remote 시스템의 상황 표시 
status : 현재 연결된 ftp 세션 가지 모드에 대한 설정을 보여준다 
dir : remote 시스템의 디렉토리 내용을 디스플레이 




6. ftp 보안

- 비밀번호 요구하지만, 평문으로 전송되어 공격자가 가로챌수 있다.




7. ftp접속


기본접속  ftp://ftp주소

ex) ftp://ftp.icqa.or.kr


아이디로 접속 ftp://ID@서버의 ftp주소

  ex) ftp://network@icqa.or.kr 

    

아이디와 비밀번호로 접속 ftp://ID:PASSWORD@서버의 ftp주소
   ex) ftp://network:1234@icqa.or.kr 

   * 보안에 취약



출처 및 참고

 - 컴퓨터 네트워크

 - 정보통신기술용어해설

 - 객이님의 이글루

 - https://blog.naver.com/PostList.nhn?blogId=wisbj 








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

6. ICMP(Internet Control Message Protocol)  (0) 2019.01.08
5. IGMP(Internet Group Management Protocol)  (0) 2019.01.05
4. 정보교환방식  (0) 2018.12.29
3. IEEE 802 Protocol  (0) 2018.12.24
1. UDP(User Datagram Protocol)  (0) 2018.12.23
Comments