본문 바로가기
카테고리 없음

[Application Layer]email - mail access protocol

by 바코94 2020. 5. 17.

수신자 쪽 메일서버에서 수신한 유저가 메일 메세지를 가져오는 프로토콜에 대해서 살펴보자.

 

POP(Post Office Protocol)에 대해서 살펴보겠다.

 

메일박스가 있는 메일서버가 서버 역할이 되고 유저가 클라이언트 역할이 된다.

TCP로 연결된 후에 POP 프로토콜을 사용하여 가져오는 과정이 된다. 초기 POP에서는 모든 메세지를 유저의 하드디스크에 저장하고 서버의 메일박스는 지우는 형태(download-and-delete)였다. 이후 메일박스에 메세지의 카피본을 저장해두는 방식(download-and-keep)으로 변화하였다.

 

POP3가 작동할 때 클라이언트의 command와 서버의 response를 주고 받는 일련의 과정이다.

크게 2단계의 phase이 있다.

authorization phase: 인증 단계로서 메일아이디, 패스워드를 확인한다.

transaction phase: 메일을 가져오는 단계로서 리스트 확인 후 메세지를 요청하여 받게 된다.

 

POP3 protocol


authorization phase

S: +OK POP3 server ready

C: user bob - 아이디 전송

S: +OK -아이디 확인

C: pass 1234 - 비밀번호 전송

S: +OK -비밀번호 확인


transaction phase

C: list - 메일리스트를 확인

S: 1 498 - 1번째 498바이트

S: 2 912 - 2번째 912바이트

S: . - 메일리스트 끝 표시


C: retr 1 - retrive message 1 (메세지1 가져오는 명령어)

S: <message 1 contents>

S: . - 메세지 끝 표시 

C: dele 1 - 클라이언트의 하드디스크에 저장하고 서버에 있는 메세지는 지운다. 서버의 부담을 없애기 위함. 하지만, 메일박스의 메세지를 지우면 처음 받았던 pc에서만 사용할 수 있기 때문에 서버에도 남겨두기 위한 download-and-keep을 제공함.


C: retr 2 - retrive message 2 (메세지2 가져오는 명령어)

S: <message 2 contents>

S: . - 메세지 끝 표시 

C: dele 2


C: quit - 둘 사이의 POP3관계를 끊는 것.

S: +OK


 

 

IMAP, 웹메일

메일서버의 용량을 여유있게 하여 서버에서 메세지를 저장해두고 폴더별 분류도 가능하게 제공한다. 따라서 IMAP이나 HTTP이용한 웹메일에서는 folder만드는 명령어, file의 dirctory 변경 명령어, 특정 메세지를 지우는 delete 등 POP3가 가지고 있지 않은 명령어가 생기게 된다. 단, 프로토콜간 서버와 클라이언트의 interaction에서 클라이언트의 명령어, 서버의 response를 사용하는 방식은 동일하다. 추가 기능을 위해 명령어가 추가되었다고 생각할 수 있다.