컴퓨터공학/컴퓨터망

[컴퓨터망] File Transfer: FTP and TFTP

NIMHO 2022. 7. 10. 13:55
728x90

복습하기 위해 학부 수업 내용을 필기한 내용입니다.
이해를 제대로 하지 못하고 정리한 경우 틀린 내용이 있을 수 있습니다.
그러한 부분에 대해서는 알려주시면 정말 감사하겠습니다.

FTP

  • FTP(File Transfer Protocol)는 한 호스트에서 다른 호스트로 파일을 복사하기 위해 TCP/IP에서 제공하는 표준 메커니즘이다.
  • 한 시스템에서 다른 시스템으로 파일을 전송하는 것은 간단하고 간단해 보이지만 일부 문제는 먼저 해결해야 한다.
  • 예를 들어 두 시스템에서 서로 다른 파일 이름 규칙을 사용할 수 있다.
  • 두 시스템은 텍스트와 데이터를 나타내는 다른 방법을 가질 수 있다.
  • 두 시스템은 서로 다른 디렉터리 구조를 가질 수 있다.
  • 이 모든 문제들은  FTP에 의해 해결되었다.
FTP는 TCP 서비스를 사용한다. 두 개의 TCP 연결이 필요하다.
well-known port 21은 control connection을 위해 사용되고 well-known port 20은 data connection을 위해 사용한다.

FTP

 

Opening the control connection

control 먼저 보내고 그다음에 필요하면 data up/download 한다.

Creating the data connection

  1. client가 임시 포트를 사용하여 passive open을 실행 client가 파일 전송을 원하기 때문에 passive open을 client가 한다.
  2. client는 PORT 명령을 사용하여 이 포트 번호를 서버에 보낸다.
  3. 서버는 포트 번호를 수신하고 well-known port 20과 수신된 임시 포트 번호를 사용하여 active open을 실행한다.

Using the control connection
Using the data connection
Command processing

command가 다양하게 와도 response는 정해져 있다.
100번대는 진행 중, 200번대는 끝, 300번대는 더 필요하다는 의미이다.
400번대는 임시적으로 안된다는 것이고, 500번대는 완전히 안된다는 것을 의미한다.

File transfer
Example 21.1

 

TFTP

  • FTP 프로토콜의 모든 기능을 사용하지 않고 단순히 파일을 복사해야 하는 경우가 있다.
  • 예를 들어 diskless workstation이나 router가 부팅되면 부트스트랩과 구성 파일을 다운로드해야 한다.
  • 여기서는 FTP로 제공되는 모든 정교함이 필요한 것은 아니다.
  • 단순히 파일을 빨리 복사하는 프로토콜만 있으면 된다.
  • TFTP는 well-known port 69에서 UDP 서비스를 사용한다.

Message categories
Connection establishment

뒷부분의 내용은 교수님께서 배우는 입장에서는 알 필요 없다고 하셔서 넘어가겠다.

하지만 나중에 내가 구현을 해야 하는 경우에는 공부를 해야 할 것 같다.

728x90