37
1 HANNAM UNIVERSITY Http://netwk.hannam.ac.kr 18.1 연연 18.2 연연 18.3 연연연 연연 18.4 연연 연연 18.5 연연연 연연연연연 18.6 연연 FTP 18.7 연연 18 18 FTP FTP

18.1 연결 18.2 통신 18.3 명령어 처리 18.4 파일 전송 18.5 사용자 인터페이스 18.6 익명 FTP 18.7 요약

  • Upload
    mliss

  • View
    44

  • Download
    2

Embed Size (px)

DESCRIPTION

제 18 장 FTP. 18.1 연결 18.2 통신 18.3 명령어 처리 18.4 파일 전송 18.5 사용자 인터페이스 18.6 익명 FTP 18.7 요약. 파일 전송 프로토콜( FTP). FTP(File Transfer Protocol) TCP/IP 에 의해 제공되는 표준 기능 FTP 는 두개의 TCP 연결을 필요 제어 연결은 전체 상호 작용적인 FTP 세션 동안 연결 데이터 연결은 각 파일 전송동안 연결 상태 유지. Control : well-known port 21 - PowerPoint PPT Presentation

Citation preview

Page 1: 18.1  연결 18.2  통신 18.3 명령어 처리 18.4 파일 전송 18.5  사용자 인터페이스 18.6  익명  FTP  18.7  요약

1HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

18.1 연결

18.2 통신

18.3 명령어 처리

18.4 파일 전송

18.5 사용자 인터페이스

18.6 익명 FTP

18.7 요약

제 제 18 18 장 장 FTPFTP

Page 2: 18.1  연결 18.2  통신 18.3 명령어 처리 18.4 파일 전송 18.5  사용자 인터페이스 18.6  익명  FTP  18.7  요약

2HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

파일 전송 프로토콜파일 전송 프로토콜 ((FTP)FTP)

FTP(File Transfer Protocol)

TCP/IP 에 의해 제공되는 표준 기능 FTP 는 두개의 TCP 연결을 필요 제어 연결은 전체 상호 작용적인 FTP 세션 동안

연결 데이터 연결은 각 파일 전송동안 연결 상태 유지

Control: well-known port 21Data: well-known port 20

Page 3: 18.1  연결 18.2  통신 18.3 명령어 처리 18.4 파일 전송 18.5  사용자 인터페이스 18.6  익명  FTP  18.7  요약

3HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

파일 전송 프로토콜파일 전송 프로토콜 ((FTP)FTP)(( 계속계속 ))

Page 4: 18.1  연결 18.2  통신 18.3 명령어 처리 18.4 파일 전송 18.5  사용자 인터페이스 18.6  익명  FTP  18.7  요약

4HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

18.1 18.1 연결연결

제어 연결

서버는 포트 21 로 수동적 설정 후 응답을 기다림

클라이언트는 임시포트를 사용하여 능동적 설정을 시도

IP 프로토콜에 의해 사용되는 서비스는 지연 최소화

서버 프로세스가 자식 프로세스를 생성한다

클라이언트를 서비스할 책임 할당

Page 5: 18.1  연결 18.2  통신 18.3 명령어 처리 18.4 파일 전송 18.5  사용자 인터페이스 18.6  익명  FTP  18.7  요약

5HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

18.1 18.1 연결연결 (( 계속계속 ))

Page 6: 18.1  연결 18.2  통신 18.3 명령어 처리 18.4 파일 전송 18.5  사용자 인터페이스 18.6  익명  FTP  18.7  요약

6HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

18.1 18.1 연결연결 (( 계속계속 ))

데이터 연결

데이터 연결은 포트 20 을 사용 임시 포트를 사용하여 수동적 설정을 시도클라이언트가 파일을 전송하는 전송서버에 PORT 명령어를 사용하여 포트번호 전송서버는 포트 번호를 수신한 후 능동적 연결 설정자식 프로세스는 클라이언트를 서비스 하도록 함

Page 7: 18.1  연결 18.2  통신 18.3 명령어 처리 18.4 파일 전송 18.5  사용자 인터페이스 18.6  익명  FTP  18.7  요약

7HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

18.1 18.1 연결연결 (( 계속계속 ))

Page 8: 18.1  연결 18.2  통신 18.3 명령어 처리 18.4 파일 전송 18.5  사용자 인터페이스 18.6  익명  FTP  18.7  요약

8HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

18.2 18.2 통신통신

제어 연결 상의 통신

FTP 는 TELNET 과 SMTP 와 같은 방법을 사용하여 제어 연결상에 통신을 수행한다 .

NVT ASCII 글자 조합을 사용한다 . 파일의 형식이나 구조에 대해 무관함 각 줄은 두 글자 CR 이나 LF 로 된 EOL 토큰으로

끝남

Page 9: 18.1  연결 18.2  통신 18.3 명령어 처리 18.4 파일 전송 18.5  사용자 인터페이스 18.6  익명  FTP  18.7  요약

9HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

18.2 18.2 통신통신 (( 계속계속 ))

Page 10: 18.1  연결 18.2  통신 18.3 명령어 처리 18.4 파일 전송 18.5  사용자 인터페이스 18.6  익명  FTP  18.7  요약

10HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

18.2 18.2 통신통신 (( 계속계속 ))

데이터 연결상의 통신

클라이언트는 전송될 파일의 종류와 데이터의 구조 , 전송모드를 정의 한다 .

Page 11: 18.1  연결 18.2  통신 18.3 명령어 처리 18.4 파일 전송 18.5  사용자 인터페이스 18.6  익명  FTP  18.7  요약

11HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

18.2 18.2 통신통신 (( 계속계속 ))

파일 종류

ASCII 파일 : 텍스트 파일을 전송하는 기본 형식 EBCDIC 파일 : 연결의 한쪽 혹은 양쪽이

EBCDIC 부호화를 사용하는 경우 화상 파일 : 이진 파일을 전송하는 방식

Page 12: 18.1  연결 18.2  통신 18.3 명령어 처리 18.4 파일 전송 18.5  사용자 인터페이스 18.6  익명  FTP  18.7  요약

12HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

18.2 18.2 통신통신 (( 계속계속 ))

데이터 구조

파일 구조 ( 기본 ) : 파일은 특정 구조를 갖지 않는다 .

레코드 구조 : 파일은 레코드들로 분할된다 . 페이지 구조 : 파일은 페이지로 분할 된다 .

Page 13: 18.1  연결 18.2  통신 18.3 명령어 처리 18.4 파일 전송 18.5  사용자 인터페이스 18.6  익명  FTP  18.7  요약

13HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

18.2 18.2 통신통신 (( 계속계속 ))

전송 모드

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

블록 모드 : 데이터는 FTP 로 부터 TCP 로 블록들로 전달된다 .

압축 모드 : 만일 파일의 크기가 크다면 데이터는 압축될 수 있다 .

Page 14: 18.1  연결 18.2  통신 18.3 명령어 처리 18.4 파일 전송 18.5  사용자 인터페이스 18.6  익명  FTP  18.7  요약

14HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

18.3 18.3 명령어 처리명령어 처리

FTP 는 제어 프로세스간의 통신을 설정하기 위하여 제어 연결을 사용한다 .

Page 15: 18.1  연결 18.2  통신 18.3 명령어 처리 18.4 파일 전송 18.5  사용자 인터페이스 18.6  익명  FTP  18.7  요약

15HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

18.3 18.3 명령어 처리명령어 처리 (( 계속계속 )) 명령어

액세스 명령어 , 파일 관리 명령어 , 데이터 형식화 명령어 , 포트정의 명령어 , 파일 전송 명령어 , 기타

Abort the previous command

ABOR

Log out of the systemQUIT

ReinitializeREIN

Account information Account to be chargedACCT

Password User passwordPASS

User information User idUSER

DescriptionArgument(s)Command

Page 16: 18.1  연결 18.2  통신 18.3 명령어 처리 18.4 파일 전송 18.5  사용자 인터페이스 18.6  익명  FTP  18.7  요약

16HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

18.3 18.3 명령어 처리명령어 처리 (( 계속계속 ))

Mount a file systemFile system nameSMNT

Rename the fileFile name(new file name)RNTO

Identify a file to be renamedFile name(old file name)RNFR

Delete a directoryDirectory nameRMD

Display name of current directoryPWD

Create a new directoryDirectory nameMKD

List the names of subdirectories at files without other attributes

Directory nameNLIST

List subdirectories or filesDirectory nameLIST

Delete a fileFile nameDELE

Change to the parent directoryCDUP

Change to another directoryDirectory nameCWD

DescriptionArgument(s)Command

Page 17: 18.1  연결 18.2  통신 18.3 명령어 처리 18.4 파일 전송 18.5  사용자 인터페이스 18.6  익명  FTP  18.7  요약

17HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

18.3 18.3 명령어 처리명령어 처리 (( 계속계속 ))

Define the transmission mode S(Stream), B(Block), or C(Compressed)

MODE

Define the organization of the data

F(File), R(Record), or P(Page)

STRU

Define the file type and if necessary the print format

A(ASCII), E(EBDIC), I(Image), N(Nonprint), or T(TELENT)

TYPE

DescriptionArgument(s)Command

Server chooses a portPASV

Client chooses a port 6-digit identifierPORT

DescriptionArgument(s)Command

Page 18: 18.1  연결 18.2  통신 18.3 명령어 처리 18.4 파일 전송 18.5  사용자 인터페이스 18.6  익명  FTP  18.7  요약

18HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

18.3 18.3 명령어 처리명령어 처리 (( 계속계속 ))

Return the status of files. File name(s)STAT

Position the file marker at a specified data point.

File nameREST

Allocate storage space for the files at the server.

File namesALLO

Same as STOR except that the file name will be unique in the directory. However, the existion file should not be overwritten.

File nameSTOU

Similar to STOR except if the file exists, data must be appended to it.

File name(s)APPE

Store files. File(s) are transferred from the client to the server.

File name(s)STOR

Retrieve files. File(s) are transferred from server to the client.

File name(s)RETR

DescriptionArgument(s)Command

Page 19: 18.1  연결 18.2  통신 18.3 명령어 처리 18.4 파일 전송 18.5  사용자 인터페이스 18.6  익명  FTP  18.7  요약

19HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

18.3 18.3 명령어 처리명령어 처리 (( 계속계속 ))

서버에 의해 사용되는 운영 체제를 질의한다 .SYST

Specify the site-specific commands CommandsSITE

Check if server is aliveNOOP

Ask information about the serverHELP

DescriptionArgument(s)Command

Page 20: 18.1  연결 18.2  통신 18.3 명령어 처리 18.4 파일 전송 18.5  사용자 인터페이스 18.6  익명  FTP  18.7  요약

20HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

18.3 18.3 명령어 처리명령어 처리 (( 계속계속 ))

응답

모든 FTP 명령은 적어도 하나의 응답을 만들어 낸다 .

세자리 숫자와 텍스트로 이루어 진다 .

숫자는 코드를 정의하고 텍스트는 매개 변수나 추가 설명을

표시 한다 .

Page 21: 18.1  연결 18.2  통신 18.3 명령어 처리 18.4 파일 전송 18.5  사용자 인터페이스 18.6  익명  FTP  18.7  요약

21HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

18.3 18.3 명령어 처리명령어 처리 (( 계속계속 ))

첫번째 숫자 ( 명령의 상태 )

1yz( 긍정적 예비 응답 )

2yz( 긍정적 완료 응답 )

3yz( 긍정적 중간 응답 )

4yz( 임시 부정적 완료 응답 )

5yz( 영구적 부정적 완료 응답 )

Page 22: 18.1  연결 18.2  통신 18.3 명령어 처리 18.4 파일 전송 18.5  사용자 인터페이스 18.6  익명  FTP  18.7  요약

22HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

18.3 18.3 명령어 처리명령어 처리 (( 계속계속 ))

두 번째 숫자 ( 명령의 상태 )

x0y : 문법

x1y : 정보

x2y : 연결

x3y : 인증 및 계정

x4y : 미지정

x5y : 파일 시스템

Page 23: 18.1  연결 18.2  통신 18.3 명령어 처리 18.4 파일 전송 18.5  사용자 인터페이스 18.6  익명  FTP  18.7  요약

23HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

세 번째 숫자 ( 추가정보 제공 )

File status is OK; data connection will be open shortly150

Data connection open; data transfer will start shortly125

Service will be ready shortly120

Positive Preliminary Reply

DescriptionCode

18.3 18.3 명령어 처리명령어 처리 (( 계속계속 ))

Page 24: 18.1  연결 18.2  통신 18.3 명령어 처리 18.4 파일 전송 18.5  사용자 인터페이스 18.6  익명  FTP  18.7  요약

24HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

request file action OK250

User login OK230

Entering passive mode; server sends its IP address and port number

227

Closing data connection 226

Data connection open 225

Service closing221

Service ready220

Naming the system type(operating system)215

Help message214

File status213

Directory status212

System status or help reply211

Command OK200

Positive Completion Reply

18.3 18.3 명령어 처리명령어 처리 (( 계속계속 ))

Page 25: 18.1  연결 18.2  통신 18.3 명령어 처리 18.4 파일 전송 18.5  사용자 인터페이스 18.6  익명  FTP  18.7  요약

25HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

Action aborted; insufficient storage452

Action aborted; local error451

File action not taken; file not available450

Connection closed; transfer aborted426

Cannot open data connection425

Transient Negative Completion Reply

The file action is pending; more information needed350

Need account for logging332

User name OK; password is needed331

Positive Intermediate Reply

18.3 18.3 명령어 처리명령어 처리 (( 계속계속 ))

Page 26: 18.1  연결 18.2  통신 18.3 명령어 처리 18.4 파일 전송 18.5  사용자 인터페이스 18.6  익명  FTP  18.7  요약

26HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

18.3 18.3 명령어 처리명령어 처리 (( 계속계속 ))

Permanent Negative Completion Reply

500 Syntax error; unrecognized command

501 Syntax error in parameters or arguments

502 Command not implemented

503 Bad sequence of commands

504 Command parameter not implemented

530 User not logged in

532 Need account for storing file

550 Action is not done; file unavailable

552 Requested action aborted; exceeded storage allocation

553 Requested action not taken; file name not allowed

Page 27: 18.1  연결 18.2  통신 18.3 명령어 처리 18.4 파일 전송 18.5  사용자 인터페이스 18.6  익명  FTP  18.7  요약

27HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

18.4 18.4 파일 전송파일 전송

파일 전송 제어 연결에서 전송되는 명령의 제어 하에서

데이터 연결을 통해 수행 된다 .

Page 28: 18.1  연결 18.2  통신 18.3 명령어 처리 18.4 파일 전송 18.5  사용자 인터페이스 18.6  익명  FTP  18.7  요약

28HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

18.4 18.4 파일 전송파일 전송 (( 계속계속 ))

항목들의 목록을 검색하기 위한 예

1. 포트 21 에 대한 연결을 생성한 후 , FTP 서버는 제어 연결로 220( 서비스 준비됨 ) 응답을 송신한다 .

2. 클라이언트는 USER 명령을 보낸다 .3. 서버는 331( 사용자이름 OK, 패스워드 요구 ) 을 응답한다 . 4. 클라이언트는 PASS 명령을 보낸다 . 5. 서버는 230( 사용자 로그인 OK) 을 응답한다 . 6. 클라이언트는 임시 포트로 수동적 설정을 하고 서버에 이

포트 번호를 보내기 위해 PORT 명령을 ( 제어 연결로 ) 보낸다 .

7. 서버는 연결을 설정하지 않으나 , 클라이언트로부터 받은 임시 포트와 포트 20( 서버측 ) 사이에 데이터 연결을 위한 능동적 설정을 시도하기 위해 스스로 준비 한다 .

Page 29: 18.1  연결 18.2  통신 18.3 명령어 처리 18.4 파일 전송 18.5  사용자 인터페이스 18.6  익명  FTP  18.7  요약

29HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

18.4 18.4 파일 전송파일 전송 (( 계속계속 ))

8. 클라이언트는 LIST 메시지를 전송한다 .

9. 서버는 125 로 응답하고 , 데이터 연결을 설정한다 .

10. 서버는 데이터 연결로 파일 혹은 디렉토리의 목록을 ( 파일로서 ) 전송한다 . 모든 목록 ( 파일 )이 전송되면 , 서버는 제어 연결로 226( 데이터 연결 해제 ) 를 응답한다 .

11. 클라이언트는 QUIT 명령을 전송한다 .

12. 서버는 QUIT 명령을 받은 후 , 221( 서비스 종료 ) 로 응답하고 제어연결을 해제한다 .

Page 30: 18.1  연결 18.2  통신 18.3 명령어 처리 18.4 파일 전송 18.5  사용자 인터페이스 18.6  익명  FTP  18.7  요약

30HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

18.4 18.4 파일 전송파일 전송 (( 계속계속 ))

Page 31: 18.1  연결 18.2  통신 18.3 명령어 처리 18.4 파일 전송 18.5  사용자 인터페이스 18.6  익명  FTP  18.7  요약

31HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

18.4 18.4 파일 전송파일 전송 (( 계속계속 ))

화상 (2 진 ) 파일을 저장하는 방법의 예

1. 포트 21 에 대한 제어 연결이 생성된 후 , FTP 서버는 220 ( 서비스 준비됨 ) 응답을 제어 연결로 보낸다 .

2. 클라이언트는 USER 명령을 보낸다 . 3. 서버는 331( 사용자 이름 OK, 패스워드 요구 ) 로 응답한다 . 4. 클라이언트는 PASS 명령을 보낸다 . 5. 서버는 230( 사용자 로그인 OK) 으로 응답한다 . 6. 클라이언트는 임시 포트로 수동적 설정을 시도하고 , 이 포트

번호를 서버에게 보내기 위해 PORT 명령을 ( 제어 연결 ) 전송한다 .

7. 서버는 연결을 설정하지 않으나 , 클라이언트로부터 받은 임시 포트와 포트 20( 서버측 ) 사이에 데이터 연결을 위한 능동적 설정을 시도하기 위해 스스로 준비 한다 .

Page 32: 18.1  연결 18.2  통신 18.3 명령어 처리 18.4 파일 전송 18.5  사용자 인터페이스 18.6  익명  FTP  18.7  요약

32HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

18.4 18.4 파일 전송파일 전송 (( 계속계속 ))

8. 클라이언트는 TYPE 명령을 보낸다 .

9. 서버는 응답 200 ( 명령 OK) 으로 응답한다 .

10. 클라이언트는 STRU 명령을 보낸다 .

11. 서버는 200 ( 명령 OK) 으로 응답한다 .

12. 클라이언트는 STRU 명령을 보낸다 .

13. 서버는 데이터 연결을 열고 메시지 250 을 보낸다 .

14. 클라이언트는 데이터 연결로 파일을 전송 한다 . 전체 파일이 전송된 후 데이터 연결을 해제한다 .

15. 서버는 응답 226 을 제어 연결로 전송한다 .

16. 클라이언트는 QUIT 명령을 전송한다 .

17. 서버는 221 ( 서비스 종료 ) 로 응답하고 제어 연결을 닫는다 .

Page 33: 18.1  연결 18.2  통신 18.3 명령어 처리 18.4 파일 전송 18.5  사용자 인터페이스 18.6  익명  FTP  18.7  요약

33HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

18.4 18.4 파일 전송파일 전송 (( 계속계속 ))

Page 34: 18.1  연결 18.2  통신 18.3 명령어 처리 18.4 파일 전송 18.5  사용자 인터페이스 18.6  익명  FTP  18.7  요약

34HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

18.4 18.4 사용자 인터페이스사용자 인터페이스

사용자 인터페이스

FTP 의 서비스를 받기 위한 사용자 편의적 인터페이스를 제공한다 . 인터페이스가 적절한 입력을 물어본다 .

사용자가 한 라인의 입력 FTP 인터페이스가 이에 일치하는 FTP 명령으로

반환한다 .

FTP 의 명령은 축약될 수 있다 .

Page 35: 18.1  연결 18.2  통신 18.3 명령어 처리 18.4 파일 전송 18.5  사용자 인터페이스 18.6  익명  FTP  18.7  요약

35HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

18.4 18.4 사용자 인터페이스 사용자 인터페이스 (( 계속계속 ))

유닉스 인터페이스에서 사용되는 명령어

CommandsCommands

!, $, account, append, ascii, bell, binary, bye, case, cd, cdup, close, cr, deledte, debug, dir, discount, form, get, glob, hash, help, lcd, ls, macdef, mdelete, mget, mkdir, mls, mode, mput, nmap, ntrans, open, prompt, proxy, sendport, put, pwd, quit, quote, recv, remotehelp, rename, reset, rmdir, runique, send, status, struct, sunique, tenex, trace, type, user, verbose, ?

Page 36: 18.1  연결 18.2  통신 18.3 명령어 처리 18.4 파일 전송 18.5  사용자 인터페이스 18.6  익명  FTP  18.7  요약

36HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

18.6 18.6 익명 익명 FTPFTP

Anonymous FTP

FTP 를 사용하기 위해 계정과 패스워드가 필요하다 .

공개된 접근을 하기 위해서는 계정이나 패스워드가

필요하지 않다 .

익명의 접근을 위해서 대부분 “ anonymous” 의

사용자 이름을 사용한다 .

익명의 접근은 사용자 액세스를 매우 제한한다 .

Page 37: 18.1  연결 18.2  통신 18.3 명령어 처리 18.4 파일 전송 18.5  사용자 인터페이스 18.6  익명  FTP  18.7  요약

37HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

18.7 18.7 요약요약