카테고리 없음2013. 6. 20. 10:33

 

10. 메일 서버 설치 및 운영 - 기본 개념 

 

 

E-Mail의 송수신에서 사용되는 프로토콜은 3가지가 있다.

일단 용어만 눈에 익혀 두고 그림에서 각 프로토콜이 사용되는 용도를 살펴보자.

 

- SMTP(Simple Mail Transfer Protocol) : 클라이언트가 메일을 보내거나,

                                                        메일 서버끼리 메일을 주고 받을 때

- POP3(Post Office Protocol) : 메일 서버에 도착되어 있는 메일을 클라이언트로 가져올 때

- IMAP(Internet Mail Access Protocol) : POP3와 같음

 

 

● E-Mail 서버의 작동 원리

E-Mail 서버의 작동 원리를 단순하게 하면 아래의 그림과 같다.

[E-Mail 서버의 작동 개념]

 

 

위의 그림은 아주 단순하지만, E-Mail이 전송되는 원리가 잘 표현되어 있다.

우선, 사용자는 kim이라는 이름의 사람이고, daum.net이라는 메일 서버에 계정이 있다.

 

즉, kim@daum.net이라는 계정을 가지고 있다.

또, lee라는 사람은 lee@naver.com이라는 메일 서버에 계정을 가지고 있다.

 

 

이제 kim이 lee에게 메일을 보내고 받는 과정을 살펴보자.

 

① kim이 PC1에서 메일클라이언트 프로그램(Outlook Express 등)을 실행해서,

    daum.net에 접속한다. '편지쓰기'를 클릭해서 [받는이]란에 'lee@naver.com'이라고 쓰고,

    내용을 채운 후에 <보내기>를 클릭해서 메일을 보낸다. (이때는 SMTP 프로토콜이 이용된다)

 

② 메일 서버1(daum.net)은 kim이 보낸 메일을 잠시 임시 장소에 보관한다.

    시간의 여유가 생겼을 ‹š, 메일 서버1은 kim이 보낼 메일의 수신자 주소인 naver.com

    메일 서버 IP주소를 네임 서버에게 문의하여 알아온다.

 

③ 메일 서버1은 메일을 인터넷을 통해서 메일 서버2(naver.com)에게 전송한다.

    (이 때도 SMTP 프로토콜이 이용된다)

 

④ 메일 서버2(naver.com)는 메일 서버1(daum.net)로부터 받은 메일의 수신자 이름을 확인한다.

    lee라는 수신자 이름이 자신이 관리하는 계정 중에 있는지 확인한다.

    lee라는 이름이 자신의 계정 중에 있다면 lee의 메일박스에 kim에게서 받은 메일을 넣어 둔다.

 

⑤ lee는 PC2에서 메일 클라이언트 프로그램을 실행해서, 자신의 메일 서버인 naver.com에

    접속한다. 접속 후에 자신의 메일박스에 도착된 편지들을 PC2로 내린다.

    (이 때는 POP3/IMAP 프로토콜이 사용된다) kim으로부터 온 메일을 읽는다.

 

인터넷 상에서 메일을 주고 받을 때 움직이는 원리를 단순하게 하여 살펴 보았다.

 

 

● 센드메일 서버의 작동원리

아래의 그림은 메일이 전송되는 과정을 우리가 구현할 센드메일(Sendmail) 서버의 입장에서

내부적으로 좀 더 자세히 표현한 것이다.

 

[센드메일 서버의 자세한 작동원리]

 

 

① 메일 클라이언트1은 SMTP 프로토콜을 이용해서, 메일 서버1의 센드메일 데몬에게 메일을

    보내달라고 요청한다.

 

② 센드메일 데몬은 메일을 '메일 큐'에 넣어 놓는다. (이 파일은 /var/spool/mqueue이다)

 

③ 센드메일 데몬은 시간이 되면 MDA에게 메일을 보내달라고 요청한다.

 

④, ⑤ MDA는 SMTP 프로토콜을 이용해서 메일 서버2의 센드메일 데몬에게 메일을 전송한다.

 

⑥, ⑦ 메일 서버2의 센드메일 데몬은 받은 메일을 MDA를 통해서 사용자의 메일 박스에 넣어 놓는다.

 

⑧ 메일 클라이언트2는 메일 서버2의 dovecot 데몬에게 자신의 메일을 달라고 요청한다.

 

⑨, ⑩ dovecot 데몬은 메일 박스에서 메일 클라이언트2의 메일을 POP3 또는 IMAP 프로토콜을

        이용해서 전송해 준다.

 

 

위와 같은 작동들이 Sendmail 서버를 이용해서 메일을 보내는 과정에서 발생하게 되는 것이다.

 

Posted by 아이맥스

댓글을 달아 주세요