안녕하세요!

FE 개발자 유진주입니다.

CS/네트워크

[컴퓨터네트워크] Chapter2.3 이메일과 SMTP

ypearl 2023. 10. 25. 12:09

Chapter2.3 이메일과 SMTP

  • 인터넷 이메일 시스템 구조
  • SMTP(Simple Mail Transfer Protocol)
  • MAP(Mail Access Protocol)
    • POP3
    • IMAP
    • HTTP

 

인터넷 이메일 시스템 구조

- 시스템 구성 요소

  • User Agent: 사용자 장치에서 메일 작성, 읽기, 관리 기능 수행
  • Mail Server: 다수 사용자들의 메일밗 관리, 메일 송수신 제어
  • SMTP: 메일 전송 프로토콜 (=Simple Mail Transfer Protocol)

*메일을 송신만 가능(다운X)

User Agent에서 메일 서버에 전달 -> outgoing message queue에 내가 보낸 메일 전달

-> SMTP를 이용해 목적지에 있는 서버로 전달! (메일의 목적지 주소-Local Part를 보고 전달함)

- 인터넷 이메일 시스템 구조

  1. 송신자 UA에서 메일 작성 후 메일 서버로 전달
  2. 송신자 메일 서버의 출력 메세지 큐(outgoing message queue)에 저장
  3. 수신자 메일 서버로 전송
  4. 전송 불가시 30분 단위로 재전송 시도, 정해진 기간 동안 전송 불가시 중단 및 송신자에게 통보
  5. 수신자 메일 서버의 수신자 메일박스(mailbox)에 저장
  6. 수신자 UA에서 메일 서버의 메일박스의 메일 읽기 및 관리

 

SMTP(Simple Mail Transfer Protocol)

- 클라이언트-서버 프로토콜

  • 클라이언트: 송신 메일 서버/UA
  • 서버: 수신 서버 메일/송신 메일 서버

*송신자 메일 서버가 클라이언트 역할을 할 수도 있고,

수신자 메일 서버가 서버 역할 할 수도 있다!

(서버 안에서도 클라이언트-서버 역할이 정해질 수 있음: '클라이언트-서버 동시지원')

 

- TCP 사용

  • 신뢰 전송
  • 서버 포트번호: 25

- ASCII 텍스트 프로토콜

  • 명령어: ASCII 그래픽문자 + 제어문자
  • 메시지(←메일):  ASCII 그래픽문자 + 제어문자  

*아스키문자가 아닌 메일을 보낼 때는 반드시 아스키문자로 변환을 한 후에 전송하고 있음

클라이언트-서버 프로토콜

 - 프로토콜 동작 절차 : 연결 설정과 해제

- 프로토콜 동작 절차 : 메일 전송

- 메시지 포맷

- ASCII (0~127)

0~32: 제어문자

33~126: 그래픽문자

*송신자가 보낸 데이터와 수신자가 해석한 데이터 값이 다를 수 있다.

- MIME(Multipurpose Internet Mail Extension): base-64

: ASCII 코드가 아닌 문자를 MIME을 통해서 ASCII 문자로 바꾸어 전달한다.

- HTTP와 SMTP 비교

  • HTTP
    • Pull Protocol (가져오기 방식)
    • Multimedia 객체 전송
    • 1 응답 메시지: 1 웹 객체
  • SMTP
    • Push Protocol (보내기 방식)
    • Text(=ASCII)-only 메시지 전송
    • 1 전송 메시지: 멀티-파트 메시지

 

메일 접속 프로토콜

- UA와 메일 서버 분리

- POP3(Post Office Protocol V3) // 아주 간단

  • Download & delete mode or Download & keep mode
  • Authorization phase (인증)
  • Transaction phase
    • List
    • Retr
    • Dele
    • Quit

- IMAP4(Internet Mail Access Protocol V4) // 좀 더 복잡, 기능 다양

  • 모든 메시지를 메일 서버에 유지
  • 메일 서버에서 폴더로 메시지 관리 기능

- HTTP

  • 메일 서버를 웹 서버로 구현
  • 웹 브라우저에서 HTTP로 메일 서버 접속 : 메일 송신과 수신