Mail Server

이재윤·2021년 2월 8일
1

네트워크

목록 보기
3/9
post-thumbnail

Electronic Mail(전자 메일)

전자메일은 UserAgent, Mail Server, Mail Transfer Protocol 로 구성 되어 있다.

  1. User Agent
    메일을 작성, 편집, 읽는 프로그램
    ex) Outlook, iPhone Mail Client, Gmail...

  2. Mail Server
    송신(outgoing), 수신(incoming)될 메세지들이 메일서버에 저장된다.

    • Mail Box

      수신(incoming)될 메세지들이 저장되는 곳.
      사용자 별로 mail box가 존재한다.

    • Message Queue

      송신(outgoing)될 메세지들이 저장되는 곳.
      mail box와 달리 모든 사용자가 공통으로 사용한다.

  3. SMTP 프로토콜
    Mail server들 사이, mail server, user client들 사이의 통신 protocol.

    • client

      메세지를 보내는 쪽을 의미한다. (먼저 connect을 요청하는 쪽)

    • server

      메세지를 받는 쪽을 의미한다.


    위 그림을 예로 들어보면,
    A와 B 사이의 관계는, A가 메일을 전송했기 때문에(연결 요청을 했기 때문에) A는 client, B는 server가 된다.
    B와 C사이의 관계는, B가 메일을 전송했기 때문에 B는 client, C는 server가 된다.

전자메일 전송과정

  1. Alice(User Agent)가 Bob에게 보낼 메세지를 작성.
  2. User Agent가 Alice mail server의 메세지 큐에 보낼 메세지를 저장.
  3. Alice의 mail server와 Bob의 mail server간의 TCP connetion open.
  4. Alice의 mail server가 TCP연결을 통해 메세지 전송.
  5. Bob mail server의 메일 박스에 메세지 저장.
  6. Bob이 User Agent를 통해 메일 확인.

SMTP

  • client와 server간의 신뢰성있는 전송을 위해 TCP 연결을 사용한다.
  • 25 port를 통해 통신한다. (보편적인 application이므로 well-known port number 사용)
  • HandShaking, Transfer, Closure 세단계에 걸처 일어난다.
  • client가 보내는 command, server가 보내는 response간의 상호작용이다.
  • commend는 ASCII code, respnose는 status code와 phrase로 이루어져 있다.

SMTP vs HTTP

  • 공통점
    ASCII commend와 response를 가지고 있다.
  • 차이점
    1. HTTP는 pull(서버로 부터 data를 가져옴), SMTP는 push(서버에 데이터 전송)
    2. HTTP는 전송할 때 마다 연결을 해야하지만, SMTP는 한번 연결에 여러번 전송가능

POP와 IMAP

User Client가 메일 서버로 부터 메일들을 받아올때 사용하는 protocol 이다.

  • POP
    1. authorization, transaction 두 단계에 걸처 일어난다.
    2. POP는 이전의 session을 기억하지 못하는 단점이 있다.
    3. download-and-delete mode
    현재 local의 user agent를 통해 메일들을 다운 받은 후, 메일 서버에서 다운 받은 메세지들을 삭제한다. 따라서 다른 pc의 user agent에서는 조회가 불가능하다.
    3. download-and-keep mode
    메일을 local환경에 다운 받아도 메일서버에서 제거하지 않는다. 따라서 다른 pc에서도 조회가 가능하다

  • IMAP
    1. POP의 단점을 보완하기 위한 Protocol이다.
    2. 새로운 Session을 열어도, 이전 Session을 기억하고 있다.
    3. mail box하위에 사용자 임의의 폴더를 만들 수 있다.

0개의 댓글