Shine's dev log
이메일 프로토콜 (SMTP, POP, IMAP) 본문
1. 이메일 프로토콜
최근에는 다양한 메신저와 어플리케이션을 통해 서로 대화를 주고받지만, 과거에는 주로 이메일을 통해 인터넷 상에서 대화를 주고받았다.
사실 이메일 프로토콜 자체가 기술적으로 큰 의미가 있는 것은 아니지만, 그래도 기본적으로 어떤 원리로 이메일이 전송되고 수신되는지 간단하게 알아보자.
2. 이메일을 위한 구성요소
이메일을 주고받기 위해서는 크게 4가지 구성요소가 필요하다.
1) User agent
- 메일을 송수신하기 위한 어플리케이션으로, 과거에는 전문 프로그램을 사용하기도 했지만 최근에는 그냥 브라우저에서 사용하는 경우가 많다. ex) thunderbird, Outlook, 인터넷 브라우저
2) Mail server
- 메일을 송/수신하기 위한 서버. 사용자들이 보낸 메일들을 처리하는 outgoing message queue와 받은 메일을 사용자들에게 각각 전송해주는 user mailbox로 구성되어 있다.
3) Simple mail transfer protocol
- Mail server간의 통신을 위한 프로토콜 ex) SMTP
4) Mail access protocl
- User agent와 Mail server 간의 통신을 위한 프로토콜 ex) POP, IMAP
간단하게 정리하면, user agent와 mail server 사이에서는 Mail access protocol이 사용되고,
mail server와 다른 mail server 사이에서는 Simple mail transfer protocol이 사용된다.
3. SMTP (Simple Mail Transfer Protocol)
mail server 간의 통신에 활용되는 프로토콜로 TCP 연결을 통해 메시지를 주고받는다.
SMTP는 persistent connections 형태로, 한번 연결하면 끝낸다고 명시할 때까지 계속 연결 상태가 유지된다는 특징이 있으며, 7-bit ASCII 코드를 이용해서 데이터를 주고받는다는 특징이 있다.
간혹 한글이나 사진과 같은 컨텐츠도 메일을 통해 송수신 하는데, 이는 MIME(Multipurpose Internet Mail Extension) 표준 포맷을 통해서 가능하다.
4. POP (Post Office Protocol), IMAP (Internet Message Access Protocol)
POP과 IMAP은 모두 user agent와 mail server 간의 통신에 이용되는 프로토콜이다.
POP은 초기 모델로, 간단하고 편리하지만 특정 기기가 mailbox에서 메일을 읽어오면, mailbox에서 해당 메일이 사라지는 형태이므로 여러개의 컴퓨터를 사용할때는 불편하다는 단점이 있다.
IMAP은 POP보다 복잡하지만, 기본적으로 서버에서 메일을 처리하므로, 여러개의 컴퓨터를 사용하더라도 유연하게 사용할 수 있다는 장점이 있다.
오늘 배운 내용을 정리해보면,
1. 메일을 교환할때는 user agent와 mail server 사이에 사용되는 POP, IMAP 프로토콜등이 있으며, mail server 간에 사용되는 SMTP 프로토콜이 있다.
위 내용은 공부하며 작성한 것으로, 오류가 있을 수 있습니다.
'컴퓨터 네트워크' 카테고리의 다른 글
Transport Layer 개요 (Multiplexing, Demultiplexing) (1) | 2021.02.04 |
---|---|
CDN (Content Distribution Networks) 의 개념 (0) | 2021.02.02 |
DHT; Distributed Hash Table (분산 해시 테이블) 의 개념 (Chord) (3) | 2021.01.28 |
P2P의 개념 (0) | 2021.01.27 |
DNS의 개념 (0) | 2021.01.26 |