카테고리 없음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 아이맥스