MTA (Message Transfer Agent)
- 실질적인 메일 송수신
- 메일을 보내기 위해서는 client MTA, 받기 위해서는 server MTA가 무조건 필요하다
- 인터넷에서 해당 MTA를 정의하는 공식적인 프로토콜은 SMTP이다.
SMTP (Simple Mail Transfer Protocol)
- 다른 MTA에 메세지를 릴레이 해준다.
- Mail Gateway는 SMTP가 아닌 프로토콜을 사용해 전송된 메세지를 SMTP로 변환하고 전송해준다.
SMTP commands and responses (생략)
SMTP의 한계
- NVT(Network Virtual Terminal) 7비트 ASCII 형식만 사용
- 인증 메커니즘이 존재하지 않는다.
- 전송하는 메시지가 암호화 되어있지 않다.
따라서, 스팸, faking sender address(전송자가 자신의 주소를 속임) 취약점이 존재한다.
MIME (Multipurpose Internet Mail Extensions)
- MIME는 non-ASCII 데이터를 NVM ASCII 데이터로 변환 후, 클라이언트 MTA에 전송해준다.
- 수신자는 MIME를 사용해 다시 non-ASCII 데이터로 변환해, 원본 메세지를 읽을 수 있게 된다.
- 헤더에 Content-Type, Content-Transfer-Encoding을 담고있다.
Base64 Encoding
- 바이너리 데이터를 24bits 씩 나눈다.
- 나눠진 각 블록을 6 bit chunks로 나눈다.
- 한 chunk 당 테이블의 ASCII data로 변환한다.
Quoted-Printable Encoding
- 데이터의 작은 일부분이 non-ASCII로 되어 있을 때 사용한다.
- 변환된 데이터의 첫 Character는 '='로 시작
Message Access Agent
- SMTP는 각 MTA에 메세지를 push할 때만 관여한다.
- 메일 서버에서 client가 메세지를 pull할 때는 POP3, IMAP4와 같은 Message Access Agent (Message Access Protocol)이 사용된다.
POP3 (Post Office Protocol v3)
- 메일 서버의 모든 이메일 리스트를 유저가 가져간다.
- 가져간 후, 전부 삭제하거나 혹은 서버에 유지시킬 수 있다.(download and delete, download and keep)
- 서버 자원을 많이 필요로 하지 않고, 간단하다.
IMAP4 (Internet Mail Access Protocol v4(
- 유저가 메일을 다운로드 하기 전에, 이메일 헤더를 확인할 수 있다.
- 유저가 메일을 다운로드 하기 전에, 검색을 할 수 있다.
- 이메일을 어느 location에서든 접근할 수 있다.
- 유저가 메일의 일부분만을 다운로드 할 수 있다.
- 유저가 서버 메일박스를 생성하고, 삭제하고, 수정할 수 있다.
'컴퓨터 사이언스 > 네트워크' 카테고리의 다른 글
[모바일 컴퓨팅] IGMP (Internet Group Management Protocol) (0) | 2021.06.08 |
---|---|
[모바일 컴퓨팅] NAT (Network Address Translation) (0) | 2021.06.08 |
[모바일 컴퓨팅] SIP (Session Initiation Protocol) (0) | 2021.06.08 |
[모바일 컴퓨팅] DNS (Domain Name System) (0) | 2021.06.07 |
[모바일 컴퓨팅] DHCP (Dynamic Host Configuration Protocol) (0) | 2021.06.07 |