30
SMTP(Simple Mail Transfer Protocol) 정정정정정정정

SMTP (Simple Mail Transfer Protocol)

  • Upload
    hunter

  • View
    57

  • Download
    0

Embed Size (px)

DESCRIPTION

SMTP (Simple Mail Transfer Protocol). 정보통신연구실. SMTP 개념. 하나 또는 그 이상의 수신자에게 단일 메시지를 전송 문자 , 비디오 , 음성 , 또는 그래픽을 포함하는 메시지를 전송 인터넷 외부 네트워크상의 사용자에게 메시지를 전송. User. User. SMTP client. SMTP server. Internet. TCP 임시 port. TCP 할당된 port 25. SMTP 개념. - PowerPoint PPT Presentation

Citation preview

Page 1: SMTP (Simple Mail Transfer Protocol)

SMTP(Simple Mail Transfer Protocol)

정보통신연구실

Page 2: SMTP (Simple Mail Transfer Protocol)

SMTP 개념

SMTPclient

SMTPclient

SMTPserver

SMTPserver

• 하나 또는 그 이상의 수신자에게 단일 메시지를 전송• 문자 , 비디오 , 음성 , 또는 그래픽을 포함하는 메시지를 전송• 인터넷 외부 네트워크상의 사용자에게 메시지를 전송

InternetInternet

UserUser

TCP

임시 port

TCP

할당된 port 25

Page 3: SMTP (Simple Mail Transfer Protocol)

SMTP 개념 SMTP 는 UA(User Agent) 와 MTA(Mail Transfer Agent

로 분해할 수 있다 UA : 메시지를 준비 , 봉투생성 봉투 안에 메시지 삽입 . MTA : 인터넷상으로 메시지 전송

Page 4: SMTP (Simple Mail Transfer Protocol)

SMTP 개념 송신측과 수신측의 단 하나의 MTA 대신에 다른 MTA

들에 의해서 메일을 중계할 수 있다

Page 5: SMTP (Simple Mail Transfer Protocol)

SMTP 개념 중계시스템은 TCP/IP 프로토콜을 사용하지 않는 사이트가 TCP/

IP 프로토콜을 사용이 불확실한 다른 사이트의 E- 메일 사용자에게 메일 전송을 가능하게 한다 . (Mail gateway 를 사용 )

Page 6: SMTP (Simple Mail Transfer Protocol)

User Agent(UA) 메일을 송수신하기 위한 프로그램

MH, Berkeley Mail, Elm, Zmail, Mush 송신 메일

Envelope 송신자 / 수신자 주소 , 기타 정보

Message Header 와 body 로 구성 Header

송신자 / 수신자 , 메시지의 주제 , 기타 정보

Body Actual information

수신 메일

Page 7: SMTP (Simple Mail Transfer Protocol)

Addresses

Unique 한 address 를 부여한다

Local part User mailbox 라 불리는 special file 의 name 을 정의

Domain Name Mail exchanger 를 통하여 mail 을 receive/send

한다 Email 주소는 gateway 와 실제 recipient 의 주소를

정의하고 이를 통하여 메일을 주고받는다

Page 8: SMTP (Simple Mail Transfer Protocol)

Delayed delivery SMTP 는 delayed delivery 를 허용한다 Server-Site delay

Create a message → spool(storage structure) → transfer periodically for check mail

Mail 이 저장된 spool 에서 주기적 (10 에서 30초마다 ) 보낼 수 있는지 검사하고 시간 초과 (3 일에서 5 일 ) 하면 송신자에게 반송된다

Receiver-Site delay 수신자의 메일박스에 저장된다

Intermediate delay SMTP 는 intermediate delay 를 허용하고 적절할

때에 전송한다

Page 9: SMTP (Simple Mail Transfer Protocol)

Aliases 여러 가지 서로 다른 e-mail 주소를 나타내기 위해서

alias 사용 : one-to-many alias expansion 한 사용자는 여러 e-mail 주소로 정의될 수 있다 : many-

to-one alias expansion

Page 10: SMTP (Simple Mail Transfer Protocol)

One-to-Many expansion

Many-to-One expansion

Aliases

Page 11: SMTP (Simple Mail Transfer Protocol)

Mail transfer agent(MTA) MTA 를 통해 실제 메일이 전송된다

Page 12: SMTP (Simple Mail Transfer Protocol)

SMTP 명령과 응답 SMTP 는 MTA client 와 server 사이에서

메시지를 주고 받기 위해서 commands 와 response 를 사용한다

Carriage return 과 line feed 에 의해 종료된다

Command

Page 13: SMTP (Simple Mail Transfer Protocol)

SMTP 명령 (1)

HELO

MAIL

RCPT

DATA

sender 와 receiver 간의 전송채널을 만든다 .» HELO:challenger.atc.fhda.edu메일 발신자 확인하고 메일 발송을 알린다 .» MAIL FROM:[email protected]메일 수신자를 알린다 .» RCPT TO:[email protected]메일의 내용을 receiver-SMTP 에 전송 , 종료는 ‘ .’ .» DATA» This is the message» .

Command Definition

Page 14: SMTP (Simple Mail Transfer Protocol)

SMTP 명령 (2)

VRFY

EXPN

HELP

NOOP

QUIT

이름이 유효한 수신자인가를 확인하기 위해서 요청 .» VRFY:[email protected]메일링 리스트를 확장하도록 수신 호스트에 요청 .» EXPN:x y z보내진 명령의 정보를 수신자에게 요청 .» HELP:mail수신자의 상태를 체크하기 위해» NOOP메시지를 종료 .» QUIT

Command Definition

Page 15: SMTP (Simple Mail Transfer Protocol)

SMTP 명령 (3)

TURN

SEND

SMOL

SAML

RSET

송신자와 수신자의 상태를 바꿈 .» TURN수신자의 터미널로 수신자가 로그인 상태일 때 송신» SEND FROM:[email protected] 이 수신자의 mailbox 또는 터미널로 전송 .수신자가 log in 상태가 아니면 mailbox 로 전송 .» SMOL FROM:[email protected] 이 수신자의 mailbox 그리고 터미널로 전송 .수신자가 log in 상태이면 양쪽 아니면 mailbox 로 전송» SAML FROM:[email protected]현재 메일 전송을 취소 .송신자와 수신자에 대한 저장된 정보가 삭제 .» RSET

Command Definition

Page 16: SMTP (Simple Mail Transfer Protocol)

SMTP 응답 (1)

1yz

2yz

3yz

4yz

5yz

현재 SMTP 에서 사용되지 않는다 .

요청을 성공적으로 수행 했고 , 새로운 명령을 시작할 수 있다 .요청을 승인되고 수행을 위해 추가정보 필요 .

요청을 거절했지만 에러는 일시적인 현상으로명령을 다시 전송할 수 있다 .요청을 거절 , 명령을 재 전송할 수 없다 .

Code Definition

Page 17: SMTP (Simple Mail Transfer Protocol)

Mail transfer phases 연결 설정

Port 25 Code 220( 서비스 준비 ), code 421( 서비스 이용 불가 ) Code 250( 요청 명령 완료 )

Page 18: SMTP (Simple Mail Transfer Protocol)

Mail Transfer phases 메시지 전송

1. 메시지의 송신자를 알리기 위해 MAIL 메시지를 전송

2. code 250(ok) 로 응답3. 수신자의 Address 를 포함하는 RCTP

메시지를 전송4. code 250(ok) 로 응답5. 메시지전송을 초기화하기 위해서 DATA

메시지를 전송6. 메일 입력 시작 Code 354 로 응답7. 연속되는 라인 안에 메시지내용전송 . 각

라인 끝에 라인피드와 케리지리턴 삽입하고 ‘ .’ 을 포함하는 라인으로 메시지전송 종료 .

8. Code 250(ok) 로 응답

Page 19: SMTP (Simple Mail Transfer Protocol)

Mail Transfer phases 연결 종료

Page 20: SMTP (Simple Mail Transfer Protocol)

Multipurpose internet mail extensions(MIME)

MIME SMTP 는 NVT 7-bit ASCII format 만 지원 MIME 는 non-ASCII data 를 허용하기 위한 보조

프로토콜이다

Page 21: SMTP (Simple Mail Transfer Protocol)

MIME MIME 는 전송 파라메터를 정의하기 위해 기본

SMTP 헤더에 추가 될 수 있는 5 가지 헤더를 정의한다 .

Page 22: SMTP (Simple Mail Transfer Protocol)

MIME MIME-Version Content-Type

메시지의 body 에서 사용되는 data 의 타입을 정의Type Subtype Description

Text Plain 포맷되지 않은 일반 텍스트

Multi-Part

Mixed 순서적으로 보인 다중의 독립적인 body part

Parallel 위와 동일 그러나 순서가 없음 .

Digest Mixed 와 비슷함 , 그러나 default 가 message/RFC822

Alternative 각 부분은 같은 정보에 대한 상호 교환적인 version

Message

RFC822 Body 가 encapsulated message

Partial Body 가 너무 큰 message 로 나누어서 전송

External-Body 실제 Body 가 없고 단지 참조

Page 23: SMTP (Simple Mail Transfer Protocol)

MIME

Type Subtype Description

ImageJPEG JPEG format

GIF GIF format

Video MPEG MPEG format

Audio Basic 8 KHz 음성의 단일 채널 인 코딩

ApplicationPostScript Adobe PostScript

Octet-stream General binary data(eight-bit bytes)

Page 24: SMTP (Simple Mail Transfer Protocol)

MIME

Plain 7bit ASCII 포맷Subtype Definition

Text

Multipart Body 가 다중 , 독립적인 부분을 포함 Multipart 헤더는 각 part 사이의 경계 정의가 필요 경계는 파라메터로서 사용 ‘--’ 으로 각 파트를 구분 종료는 경계 파라메터 다음에 ‘ --’

Page 25: SMTP (Simple Mail Transfer Protocol)

MIME Multipart

Mixed

Parallel

Digest

Alternative

메시지 안에 정확한 순서를 수신자에게 나타내야한다 .각 파트는 다른 타입이고 , 경계가 정의된다 .

Mixed 와 비슷한 타입 그 파트들에서 중요하지 않은 순서는 제외한다 .

Mixed 와 비슷한 타입 기본 type/subtype 이 message/rfc822 이다 .

동일한 메시지가 다른 포맷을 사용해서 반복된다 .

Subtype Definition

Page 26: SMTP (Simple Mail Transfer Protocol)

MIME Multipart example

Content-Type: multipart/mixed; boundary=xxxx

--xxxxContent-Type: text/plain;…………………………………………………………………………………………………………………………--xxxxContent-Type: image/gif;………………………………………………………………………………………………………………………………………………………………………………………--xxxx--

Page 27: SMTP (Simple Mail Transfer Protocol)

MIME

Rfc822

Partial

External-Body

Rfc822 에 따라 작성된 메시지

body 를 나눠서 전송parameter: id, number, total

실제 body 에 data 가 없고 단지 참조할 수 있도록 함parameter : access-type, name

Subtype Definition

Message encapsulate 된 메시지

Page 28: SMTP (Simple Mail Transfer Protocol)

MIME Content-Transfer-Encoding

Content-Transfer-Encoding:<type>

Content-Id Content-Description

헤더가 image, audio, video 인지 정의

Type Description

7bit Body 가 7bit 로 표현 , default encoding 방식8bit 8bit encoding, Non-ASCII 로 보내질 수 있지만 1,000 개의 문자로 제약 .

Binary 8bit encoding. Non-ASCII 로 보내질 수 있고 1,000 개의 이상의 문자가능Base64 이진 파일에 적합 , 이진 가능한 ASCII 문자로써 일련의 3byte 를 표현Quoted-printable

encoding 방식이 인쇄 가능한 ASCII 문자로 구성 , = 는 escape 문자 표시 안 되는 문자 , 공백 등은 2 개의 16 진수 , = 로 표시

Page 29: SMTP (Simple Mail Transfer Protocol)

MIME Base64

0 A 11

L 22

W 33

h 44

s 55

3

1 B 12

M 23

X 34

i 45

t 56

4

2 C 13

N 24

Y 35

j 46

u 57

5

3 D 14

O 25

Z 36

k 47

v 58

6

4 E 15

P 26

a 37

l 48

w 59

7

5 F 16

Q 27

b 38

m 49

x 60

8

6 G 17

R 28

c 39

n 50

y 61

9

7 H 18

S 29

d 40

o 51

z 62

+

8 I 19

T 30

e 41

p 52

0 63

-

9 J 20

U 31

f 42

q 53

1

10

K 21

V 32

g 43

r 54

2

val val val val val val codecodecodecodecodecode

Page 30: SMTP (Simple Mail Transfer Protocol)

POP3 POP3(Post Office Protocol, version 3)

메일 서버에 연결상태 지속으로 자원 낭비 발생 . 클라이언트에서

메일을 간단히 관리할 수 있게 개발됨

TCP 할당된 port 110 서버 응답

요청 성공 : +OK요청 실패 : -ERR