일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- mysql #min() #max() #최소값 #최대값 #코린이 #개발자 #study
- 프로그래머스 #mysql #동명 동물 수 찾기 #알고리즘 #코린이 #개발자
- 프로그래머스 #알고리즘 #mysql #인기있는 아이스크림 #코린이 #개발자 #study
- 백준 #
- 프로그래머스 #동명 동물 수 찾기 #mysql #데이터베이스 #db #코린이 #개발자 #알고리즘
- 프로그래머스 #python 개발자 찾기 #알고리즘 #mysql #코린이 #개발자 #study
- 프로그래머스 #mysql #알고리즘 #이름이 있는 동물의 아이디 #코린이 #개발자 #study
- 프로그래머스 #알고리즘 #mysql #
- 프로그래머스 #mysql #흉부외과 또는 일반외과 의사 목록 출력하기 #알고리즘 #코린이 #개발자 #study
- 프로그래머스 #mysql #알고리즘 #어린 동물 찾기 #코린이 #개발자 #study
- 프로그래머스 #mysql #경기도에 위치한 식품창고 목록 출력하기 #알고리즘 #코린이 #개발자 #study
- 프로그래머스 #아픈 동물 찾기 #mysql #알고리즘 #코린이 #개발자 #study
- 백준 #다이얼 #5622 #알고리즘 #자바 #java #코린이 #개발자 #study
- 프로그래머스 #한 해에 잡은 물고기 수 구하기 #mysql #알고리즘 #코린이 #개발자 #study
- 백준 #4153 #직각삼각형 #알고리즘 #자바 #java #코린이 #개발자 #study
- 특정 옵션이 포함된 자동차 리스트 구하기 #코린이 #개발자 #study
- 프로그래머스 #나이 정보가 없는 회원 수 구하기 #mysql #알고리즘 #코린이 #개발자 #study
- 백준 #일곱 난쟁이 #2309 #자바 #java #알고리즘 #코린이 #개발자 #study
- 프로그래머스 #잡은 물고기 중 가장 큰 물고기의 길이 구하기 #알고리즘 #mysql #코린이 #개발자 #study
- 프로그래머스 #가장 큰 물고기 10마리 구하기 #mysql #알고리즘 #코린이 #개발자 #study
- 프로그래머스 #잡은 물고기의 평균 길이 구하기 #mysql #알고리즘 #코린이 #개발자 #study
- 백준 #네 번째 점 #3009 #자바 #java #알고리즘 #코린이 #개발자 #study
- 프로그래머스 #mysql #12세 이하인 여자 환자 목록 출력하기 #알고리즘 #코린이 #개발자 #study
- 프로그래머스 #mysql #알고리즘 #자동차 대여 기록에서 장기/단기 대여 구분하기 #코린이 #개발자 #study
- 프로그래머스 #mysql #역순 정렬하기 #알고리즘 #코린이 #개발자 #study
- 프로그래머스 #모음 제거 #알고리즘 #자바 #java #코린이 #개발자 #study
- 코린이 #개발자 #study
- 프로그래머스 #mysql #알고리즘 #코린이 #개발자 #study
- 프로그래머스 #조건에 맞는 회원수 구하기 #mysql #알고리즘 #코린이 #개발자 #study
- 프로그래머스 #과일로 만든 아이스크림 고르기 #mysql #알고리즘 #코린이 #개발자 #study
- Today
- Total
luke
[Network] - FTP 본문
FTP(File Transfer Protocol)
FTP란 하나의 호스트에서 다른 호스트로 파일을 복사하기 위해 TCP/IP에 의해 제공되는 표준 기능이다.
20번 포트는 데이터 전송을 위해 사용되고, 21번 포트는 명령과 응답 등의 제어정보를 위해 사용된다.
(FTP의 경우 평문전송을 수행하여 정보가 노출될 수 있기 때문에 SFTP(22/tcp) 또는 ftps(990/tcp) 사용을 권장한다.)
FTP 전송모드는 두 가지가 있다. 기본값인 Active Mode이고 클라이언트가 Active 또는 Passive Mode를 선택할 수 있다.
데이터 포트요청은 Active의 경우 클라이언트가 Passive인 경우 서버가 요청한다.
능동 연결 (Active Mode)
[작동 방식]
1. 클라이언트가 서버의 21번 포트로 접속 후 명령을 송수신 하기 위해 제어 채널을 생성한다. 이후 사용자가 ls 명령을 입력하면 클라이언트가 Data 전송할 5151포트(1024 이상의 포트)를 포함하여 서버에 알려준다.
2. 서버는 이에 대해 Ack로 응답한다.
(Ack란 데이터를 전송할 때 송신자는 수신자가 데이터를 제대로 받았는지 확인하는 "데이터를 잘 받았다" 라는 응답 이다.)
3. 서버의 20번 포트는 클라이언트가 알려준 두 번째 포트로 접속 후 데이터 채널을 생성한다.
4. 마지막으로 클라이언트가 Ack로 응답한다.
서버에서 클라이언트로 요청을 하기 때문에 클라이언트 PC에 방화벽이 설치되어 외부에서의 접속을 허용하지 않는다면 FTP 접속은 되지만 이후 데이터 채널 연결이 불가능하여 파일을 받을 수 없는 문제가 발생할 수 있다.
수동 연결(Passive Mode)
[작동 방식]
1. 클라이언트의 서버의 21번 포트로 접속 후 제어 채널을 생성한다. 이후 사용자가 명령어를 입력하면 클라이언트는 Passive Mode로 연결하기 위해 PASV명령어를 전송 한다.
2. 서버에서는 서버가 사용할 3267포트(1024 이상의 포트)를 알려준다.
3. 클라이언트는 서버가 알려준 포트번호로 접속을 시도하여 데이터 채널을 생성한다.
4. 서버는 Ack로 응답한 후 데이터를 송신한 후 데이터 채널 연결을 종료한다.
두 번째 data포트로서 active 모드가 사용했던 20번을 사용하지 않고 대신 1024 이후의 임의의 비 특권 포트를 사용한다.
서버에서 포트번호를 알려주기 때문에, 해당 대역의 방화벽 포트를 열어 두어야 한다.
대부분의 웹브라우저는 ftp://를 이용하여 FTP에 접속할 때 수동모드만 지원한다.
※ 출처: https://peemangit.tistory.com/66
(상세 내용)
'Network > Network' 카테고리의 다른 글
[Network] - NFS, NAS (0) | 2024.08.11 |
---|