IT 프로그래밍/AI

[컴퓨터네트워크] part2-4 FTP

기술1 2024. 10. 6. 20:19
반응형

FTP : the file transfer protocol

FTP의 동작방식은 전형적인 client/server방식입니다. 그리고 21번 포트로 동작을 합니다.

 

FTP의 가장 큰 특징은 전송 프로토콜로 tcp를 명시하고 

  • 제어연결 : 제어연결의 전달이 됨
  • 데이터연결 : 실제 파일은 데이터 연결로 전송

이것이 out of band라고 합니다.

 

Electronic Mail

이메일을 위한 3가지 요소

  1. 사용자 에이전트(user agent)
  2. 메일 서버(mail server)
  3. SMTP(simple mail transfer protocol)

사용자 에이전트(UA)

이메일을 작성하고 읽을 수있는 어플리케이션이 user agent입니다. 

 

메일 서버

  • 각 수신자들은 메일 서버 내에 메일 박스가 생김
  • 메일 박스는 사용자에 대한 수신 메일 메시지를 유지 관리
  • 송신 메일 메시지의 메시지 큐

SMTP Protocol

  • 인터넷 전자 우편을 위한 응용계층 프로토콜
  • 메일 서버들간에 메일 메시지 송수신을 위한 프로토콜
  • client : sending mail server
  • server : receving mail server

SMTP RFC

신뢰성이 중요하기 때문에 TCP를 씁니다. client와 server의 메일이 TCP의 커넥션을 만들어야 합니다. 클라이언트가 서버에게 TCP를 요청하고 만들어진 connection을 통해서 이메일을 전송합니다.

 

이메일 전송 과정은 3단계로 이루어집니다.

  1. SMTP 핸드셰이킹
  2. SMTP 메시지를 전송하는 과정
  3. SMTP closure

메세지 전송 예시

  1. 전송하기 위해 UA 사용
  2. UA가 메세지를 메일 서버로 보냅니다. 메세지는 메세지큐에 존재합니다.
  3. Client의 SMTP는 tcp CONNECTION에 엽니다.
  4.  SMTP client 보냅니다 메세지를 TCP connection을 통해 합니다.
  5. 받는 사람의 메일 서버는 connection에 통해서 전달합니다.
  6. 자신의 user agent를 통해서 메일을 읽어옴

SMTP : final words

SMTP는 지속 연결을 사용합니다. 그리고 7bit - ASCII 코드로 표현된 메세지를 요구하고 SMTP 서버의 메세지 끝을 결정하기 위해선 마침표. 를 사용합니다.

 

HTTP와 다른점은?

HTTP는 pull 방식인 반면에 SMTP는 push합니다.

 

HTTP 클라이언트가 서버에게 객체를 요구하면 서버가 클라이언트한테 객체를 전달합니다. 클라이언트는 서버에 객체를 가져오는 것이죠. 그래서 PULL 방식이고

 

SMTP는 서버가 클라이언트한테 이메일 메세지를 주는 것입니다. 그래서 이게 PUSH 방식의 프로토콜입니다.

 

공통점은 ASCII command/response를 사용한다는 점입니다.

 

  • HTTP :  하나의 Response msg에 각각의 객체가 캡슐화됨
  • SMTP : 여러개의 객체를 전달할 수 있음

 

반응형

'IT 프로그래밍 > AI' 카테고리의 다른 글

[cs231n] 3강 Neural Network NN  (0) 2024.11.08
[cs231n] 2강 Classification Pipeline  (0) 2024.11.07
가속도계 자이로스코트, IMU  (1) 2024.10.05
자이로 가속도 센서 설명  (0) 2024.10.03
folium을 활용한 지도 그리기  (1) 2024.09.08