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

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

파일 전송 프로토콜 (FTP)은 1985 년 10 월 출시, 959 RFC에 정의되어 있습니다. 파일 전송 프로토콜 (FTP)을 간단하고 계약을 쉽게 구현할 수 크로스 플랫폼으로 설계되었습니다. 파일 전송 프로토콜 (FTP)은 진화의 오랜 역사를 가지고, 그것은 인터넷에서 가장 중요한 응용 프로그램 중 하나입니다,하지만 지금, 그들은 감소에 있습니다. 저자는 파일 전송 프로토콜의 모든 측면의 수 (FTP) 단점 비판을 들었다.

(1) 데이터 전송 모드 불합리한

파일 자체의 내용을 고려하지 않는 맹목적으로 ASCII 모드를 사용하여 데이터가 부당 전송합니다. 파일 전송 프로토콜 (FTP)은 물론, 사용자는 사용자 정의 할 수 있습니다, 자동 감지 기능이 있어야합니다.

많은 리눅스와 윈도우 클라이언트가 이미 자동 전송 모드를 지원하지만, UNIX 및 Windows 클라이언트의 많은 세대는 기본적으로 ASCII 전송 모드를 사용하지만,이 파일 전송 모드도 손상의 원인이 될 수 있습니다.

2, 잘못 설계된 작업

파일 전송 프로토콜 (FTP)는 데이터 링크가 설정 방법을 결정 활성 모드 (PORT) 또는 수동 모드 (PASV)에서 작업 할 수 있습니다.

활성 모드에서 클라이언트는 먼저 서버에 IP 주소와 포트 번호를 전송하고, 서버가 TCP 연결을 설정할 때까지 기다립니다. 클라이언트가 데이터를 전송하기 위해 대기, 수동 모드에서 클라이언트는 먼저 같은 서버에 대한 링크를 설정하지만, 서버 (1024-5000 사이) 포트를 엽니 다.

파일 전송 프로토콜 (FTP)는 가장 믿을 수는 클라이언트가 서버에 수신하는입니다!

방화벽 3, 조정되지 않은 작업

네트워크 주소 변환 (NAT) 및 방화벽의 탄생 이전의 파일 전송 프로토콜 (FTP)에서, 다음 네트워크는 *** 악성 없습니다. 라우팅 할 수없는 IPv4 주소의 오늘날 대부분의 최종 사용자는이 때문에 부족 및 IPv4 주소를 사용하여 방화벽이다.

이 FTP 무엇을 의미합니까? 이것은 즉, 라우팅 할 수없는 IP 주소 후 FTP 클라이언트 또는 방화벽 뒤에, 당신은 데이터 전송을위한 수동 전송 모드를 사용할 수 있는지.

서버의 IP 주소는 라우팅, 또는 방화벽 뒤에 할 수없는 경우? FTP는 데이터를 전송 할 수 없습니다!

이제 NAT 환경에 적용 할 수있는 많은 방화벽, 당신은 FTP에 방화벽이 작동 할 수 있도록 몇 가지 특별한 기술 (해킹)를 사용할 수 있습니다. 물론, 이것은 방화벽 구성이 필요합니다.

4, 암호 보안 정책이 불완전

그리고 그것은 전송 프로토콜 파일, 초기 인터넷에서 암호 보안 (FTP)을 제공하지 않습니다. FTP 클라이언트와 서버, 일반 텍스트 데이터 전송에서, 사람이 통신 경로의 라우팅을 제어 할 수있는 능력을 가지고, 당신은 스니핑으로 암호와 데이터를 얻을 수 있습니다.

물론, 우리는 우리가 당신의 암호 보안을 보호하는 경우에도 구축을 통해 FTP 데이터 전송을 연결 여러 번 SSL FTP 패키지를 사용하지만입니다 수 있습니다, 데이터 전송의 보안을 보호하기는 어렵다.

파일 전송 프로토콜 (FTP) 출시, 안전한 데이터 전송도 경험 급속한 발전 때문에,이 파일 전송을위한 FTP를 대체하는 SCP를 사용하는 것이 좋습니다.

5, FTP 프로토콜의 낮은 효율

FTP 서버 복잡한 교환 핸드 셰이크 단계가 포함 된 파일 원본 주소 :
클라이언트는 TCP 소켓 연결 FTP 서버 컨트롤 포트를 설정을하고, 완료 TCP 핸드 쉐이크를 기다리는
고객이 영수증 보낼 수있는 서버를 기다리는
클라이언트를 서버에 사용자 이름을 전송하고 응답을 기다리는
응답의 서버 및 대기에 암호 클라이언트 보냅니다
클라이언트가 응답의 서버 및 대기에 SYST 명령을 보냅니다
클라이언트가 나는 응답을 서버와 대기에 명령을 입력을 보내는
사용자가 서버 측에서 디렉토리를 변경해야하는 경우, 클라이언트는 여전히 명령을 전송하고 응답을 기다리는
동작 모드, 클라이언트는 (활성 모드와 달리 수동 모드)의 응답을 기다리는 다음 서버에 PORT 명령을 전송하고, 필요
(세 방향은 TCP 소켓 연결을 설정하기 위해 핸드 쉐이크를 통해 갈) 데이터 전송 링크를 설정하는
데이터 전송 연결하여
클라이언트에 대한 대기 성공적인 데이터 전송을 보장하기 위해 제어 서버 접속 및 2xx 명령어로부터 송신
QUIT 커맨드 클라이언트, 서버는 응답을 기다리며

같은 상황은, 우리는 HTTP 프로토콜을 살펴 :
클라이언트가 HTTP 서버에 TCP 소켓 연결을 시도하기 HTTP
HTTP 클라이언트가 서버 측에 HTTP GET 명령을 전송, 등등 URL, HTTP 프로토콜 버전, 가상 호스트 이름 등을 포함하고, 응답을 기다리는
응답 HTTP 서버는 완료 할 모든 데이터를 포함하고 있습니다!

파일 전송, FTP가 필요하고 앞으로 10 번, 그리고 HTTP는 2 번 필요! 여러 파일을 전송하는 경우, FTP는 HTTP 소켓 (소켓), 같은 TCP에서 파일 전송 연결을 사용자 이름과 암호를 전송하는 단계를 생략 할 수 있으며, 고정 할 수 있습니다.

요약하면, 파일 전송 프로토콜 (FTP)를 한 번 강한,하지만 지금은 시대에 뒤 떨어진 있지만, 대체 될 수밖에 없다 안전도 쌀쌀하고, 비효율적 인 프로토콜도 아니다.

추천

출처blog.51cto.com/13609234/2402022