[컴퓨터 네트워크] SMTP

Pakxe·2023년 9월 23일
1

컴퓨터 네트워크

목록 보기
9/16
post-thumbnail

구성

  • 전자 메일
  • SMTP
  • 메일 보내는 과정

이 정리는 23-2에 수강한 컴퓨터 네트워크 강의를 기반으로 하였습니다.

전자 메일

전자메일에서 중요한 3개의 주요 요소는 아래와 같다.

  • user agents
  • mail servers
  • SMTP(Simple Mail Transfer Protocol)

각각 무슨 요소인지 살펴보자.

user agent

사람들이 메일을 쓰고, 수정하고, 읽을 수 있도록하는 프로그램이다. 보통의 메일 웹 페이지라고 생각하면 된다(지메일 등).

mail server

메일 서버에는 출력 메세지 큐와 메일 박스가 있다.

출력 메세지 큐는 보내질 메일들을 담아두는 버퍼 공간이다.
메일 박스는 받은 메세지를 저장하는 공간이다.

만약 수신자의 메일 서버로 메일을 전달할 수 없다면, 송신자가 이 메일을 메세지 큐에 보관하고 나중에 다시 전송을 시도한다. 만약 여러번 해도 성공하지 못하면, 서버는 이 메일을 제거하고 송신자에게 이를 통보한다.

SMTP

SMTP는 인터넷 전자메일을 위한 애플리케이션 계층 프로토콜이다. SMTP는 TCP의 신뢰적인 데이터 전송 서비스를 기반으로 한다. 대부분의 애플리케이션 계층 프로토콜처럼, SMTP는 클라이언트-서버 구조라 송신자 메일 서버에서 수행하는 클라이언트와 수신자 메일 서버에서 수행되는 서버를 갖고 있다. 또한 SMTP는 클라이언트와 서버 모두가 모든 메일 서버에서 수행된다(프록시 서버처럼).

메일을 보낼때는 클라이언트로 동작하고, 메일을 받을 때는 서버로 동작하는 식이다.

메일 보내는 과정

  1. 송신자가 유저 에이전트를 사용해 내용과 수신자 이메일로 메일을 보내라고 명령한다.
  2. 송신자의 유저 에이전트는 메일을 송신자의 메일 서버로 보내고 이 곳에서 메일은 메세지 큐에 들어간다.
  3. 송신자의 메일 서버에서 동작하는 SMTP의 클라이언트 쪽은 메세지 큐에 있는 메일을 확인한다. 그리고 수신자의 메일 서버에서 동작하고 있는 SMTP 서버에게 TCP 연결을 설정한다.
  4. 초기 SMTP 핸드셰이킹 이후 SMTP 클라이언트는 송신자의 메일을 TCP 연결로 보낸다.
  5. 수신자의 메일 서버에서 SMTP 서버가 메일을 수신한다. 그리고 메일 서버가 이 메일을 수신자의 메일 박스에 놓는다.
  6. 수신자는 편한 시간에 유저 에이전트를 켜 메일 박스에 있는 메일을 확인할 수 있다.

잘못된 내용이 있으면 pigkill40@naver.com 으로 연락주시기 바랍니다.

profile
내가 꿈을 이루면 나는 또 누군가의 꿈이 된다.

0개의 댓글