FTP(File Transfer Protocol)란?


FTP (File Transfer Protocol) 핵심 정리

1. FTP란?

  • 파일 전송 프로토콜: 인터넷(WWW) 상에서 클라이언트와 서버가 파일을 주고받기 위한 통신 규약
  • 응용 계층 프로토콜: TCP/IP 5계층 구조 중 응용 계층(Application Layer)에 위치
  • 목적: 네트워크에 연결된 컴퓨터 간 데이터 교환을 원활히 하기 위해 개발

2. FTP 구조

  • FTP는 두 개의 연결을 사용함:
구분 설명
제어 연결(Control Connection) 클라이언트 ↔ 서버 간 명령/응답 전달용 연결포트 번호 21번 사용
데이터 연결(Data Connection) 실제 파일 전송용 연결포트 번호는 20번 또는 임시 포트(1024 이후) 사용
  • 데이터 연결은 파일 전송 시마다 새로 설정되고 전송 후 종료됨

3. FTP의 전송 방식

  • Active Mode:
    • 클라이언트가 포트를 열고, 서버가 데이터 연결을 "적극적으로" 연결
  • Passive Mode:
    • 서버가 포트를 열고, 클라이언트가 데이터 연결을 "적극적으로" 연결
    • 방화벽 문제 해결용으로 더 많이 사용됨

4. 보안 문제

  • FTP는 암호화가 없는 평문(plain text)으로 정보 전송
    → 사용자 ID, 비밀번호, 전송 파일 내용이 그대로 노출
  • 패킷 분석 도구(Wireshark)로 보면 로그인 정보와 명령어가 그대로 보임
  • 보안 설계가 미흡해서 정보 탈취에 매우 취약
  • 현재는 보안이 강화된 SFTP 또는 FTPS 사용 권장

<참고자료>

RAON CTF - WEB Essential

Read more

클라이언트-서버(client-server) 구조 vs 피어-투-피어(peer-to-peer, P2P) 구조

* Application architectures * 클라이언트-서버(client-server) 구조 * 피어-투-피어(peer-to-peer, P2P) 구조 컴퓨터 네트워크에서 데이터를 주고받는 방식에 따라 나뉘는 대표적인 두 가지 아키텍처 1. 기본 개념 구분 클라이언트-서버 (Client-Server) 피어-투-피어 (Peer-to-Peer, P2P) 구조 중앙 서버가 클라이언트에 서비스를 제공 모든 노드가 동등하며 직접 통신 역할 서버: 제공자, 클라이언트: 요청자 각 노드가 클라이언트이자 서버 역할

By Youn

포워딩 vs 라우팅

1. 네트워크 코어: 패킷 교환 (Packet Switching) * 인터넷의 중심부에서는 데이터를 패킷(packet) 단위로 나눠서 전달함. * 각 패킷은 독립적으로 경로를 따라 전달되며, 최종 목적지에서 재조립됨. * 효율적인 자원 공유가 가능하고, 회선 설정이 필요 없어 유연함. 2. 패킷 교환의 특징 저장 후 전달 (Store-and-Forward) * 각 라우터는 전체 패킷을 받은 후 다음 라우터로 전송함.

By Youn