Computer Science/Computer Network

[CN] 2장: E-mail, SMTP, IMAP

kyxxn 2024. 5. 11. 17:52
728x90

E-mail, SMTP, IMAP

전자메일 (E-mail)

3개의 주요 구성요소

  1. 사용자 에이전트
  2. 메일 메세지 작성, 편집, 읽기
  3. 메일 서버
  4. 메일 큐에 메일 메세지들 담고 있음
  5. SMTP (Simple Mail Transfer Protocol)클라이언트: 보내는 메일 서버둘 다 서버를 갖고 있음
  6. 서버: 받는 메일 서버
  7. 메일 서버 간의 이메일 메세지 전송 규율

SMTP

TCP를 사용하여 이메일 메세지를 클라이언트에서 서버로 전송
포트번호 25 사용

3가지의 단계를 따름

  1. SMTP handshaking = 연결
  2. SMTP tansfer of message = 메세지 전송
  3. SMTP closure = 종료

HTTP와 유사하게, 아스키 코드를 사용함

응답 또한, 상태코드 사용

SMTP 동작

  1. SMTP를 통해 엘리스 메일 서버에 도착
  2. 메일 서버의 메세지 큐에 저장됨
  3. 엘리스 메일 서버는 밥의 메일 서버와 TCP 연결
  4. 엘리스 메세지를 밥 서버에 보냄
  5. 밥의 메일 박스에 내용을 보관함
  6. 밥이 메일 박스를 열면 볼 수 있음

밥의 컴퓨터는 계속 켜져있는 게 아니기 때문에

밥의 서버는 밥 컴퓨터로 메일을 보내면 안됨 (못 받음)

그래서 밥이 컴퓨터를 키고, 컴퓨터가 서버로부터 PULL 해오는 형태가 돼야 함

프로토콜: POP3, IMAP, HTTP 사용

HTTP와 SMTP 비교

공통적인 건, 아스키 코드와 상태 코드를 사용함

HTTP

  • 데이터를 서버가 전송함
  • 각 객체는 각 응답 메세지에서 캡슐화

SMTP

  • 데이터를 클라이언트가 전송함
  • 하나의 메세지에 여러 객체 포함
  • 지속 연결 사용
  • 7비트 아스키 문자
  • CRLF.CRLF 문자로 메세지 끝 확인

Mail Access Protocol (POP3, IMAP, HTTP)

메일을 수신하는 사람의 컴퓨터가 계속 켜져있는 게 아님
메일 서버는 메일을 계속 갖고 있다가, 클라이언트가 PULL하는 방식

POP3

  • 메일을 보면 서버에서 삭제됨
    → 서버 부담 감소
  • 그러나 폰에서 확인하면 PC에선 못 봄

IMAP

  • 장치간 동기화
    → POP3 단점 보완
    → 서버 부담 증가
  • 메일 다운할 때까지 연결 계속 유지

HTTP

  • SMTP, IMAP 위에 웹 기반 인터페이스 제공
  • 클라이언트와 서버 연결