1 / 30

SMTP (Simple Mail Transfer Protocol)

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

hunter
Download Presentation

SMTP (Simple Mail Transfer Protocol)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SMTP(Simple Mail Transfer Protocol) 정보통신연구실

  2. SMTP 개념 • 하나 또는 그 이상의 수신자에게 단일 메시지를 전송 • 문자, 비디오, 음성, 또는 그래픽을 포함하는 메시지를 전송 • 인터넷 외부 네트워크상의 사용자에게 메시지를 전송 User User SMTP client SMTP server Internet TCP 임시 port TCP 할당된 port 25

  3. SMTP 개념 • SMTP는UA(User Agent)와 MTA(Mail Transfer Agent로 분해할 수 있다 • UA : 메시지를 준비,봉투생성 봉투 안에 메시지 삽입. • MTA : 인터넷상으로 메시지 전송

  4. SMTP 개념 • 송신측과 수신측의 단 하나의 MTA대신에 다른 MTA들에 의해서 메일을 중계할 수 있다

  5. SMTP 개념 • 중계시스템은 TCP/IP프로토콜을 사용하지 않는 사이트가 TCP/ IP프로토콜을 사용이 불확실한 다른 사이트의 E-메일 사용자에게 메일 전송을 가능하게 한다. (Mail gateway를 사용)

  6. User Agent(UA) • 메일을 송수신하기 위한 프로그램 • MH, Berkeley Mail, Elm, Zmail, Mush • 송신 메일 • Envelope • 송신자/수신자 주소, 기타 정보 • Message • Header와 body로 구성 • Header • 송신자/수신자, • 메시지의 주제, 기타 정보 • Body • Actual information • 수신 메일

  7. Addresses • Unique한 address를 부여한다 • Local part • User mailbox라 불리는 special file의 name을 정의 • Domain Name • Mail exchanger를 통하여 mail을 receive/send한다 • Email주소는 gateway와 실제 recipient의 주소를 정의하고 이를 통하여 메일을 주고받는다

  8. 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를 허용하고 적절할 때에 전송한다

  9. Aliases • 여러 가지 서로 다른 e-mail 주소를 나타내기 위해서 alias 사용 : one-to-many alias expansion • 한 사용자는 여러 e-mail 주소로 정의될 수 있다 : many-to-one alias expansion

  10. One-to-Many expansion Aliases • Many-to-One expansion

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

  12. SMTP 명령과 응답 • SMTP는 MTA client와 server 사이에서 메시지를 주고 받기 위해서 commands와 response를 사용한다 • Carriage return과 line feed에 의해 종료된다 • Command

  13. SMTP 명령(1) Command Definition HELO MAIL RCPT DATA sender와 receiver간의 전송채널을 만든다. • HELO:challenger.atc.fhda.edu 메일 발신자 확인하고 메일 발송을 알린다. • MAIL FROM:forouzan@challenger.atc.fhda.edu 메일 수신자를 알린다. • RCPT TO:betsy@mcgraw-hill.com 메일의 내용을 receiver-SMTP에 전송, 종료는 ‘.’ . • DATA • This is the message • .

  14. SMTP 명령(2) Command Definition VRFY EXPN HELP NOOP QUIT 이름이 유효한 수신자인가를 확인하기 위해서 요청 . • VRFY:betsy@mcgraw-hill.com 메일링 리스트를 확장하도록 수신 호스트에 요청. • EXPN:x y z 보내진 명령의 정보를 수신자에게 요청. • HELP:mail 수신자의 상태를 체크하기 위해 • NOOP 메시지를 종료 . • QUIT

  15. SMTP 명령(3) Command Definition TURN SEND SMOL SAML RSET 송신자와 수신자의 상태를 바꿈. • TURN 수신자의 터미널로 수신자가 로그인 상태일 때 송신 • SEND FROM:frouzan@fhda.atc.edu mail이 수신자의 mailbox또는 터미널로 전송. 수신자가 log in 상태가 아니면 mailbox로 전송 . • SMOL FROM:frouzan@fhda.atc.edu mail이 수신자의 mailbox그리고 터미널로 전송. 수신자가 log in 상태이면 양쪽 아니면 mailbox로 전송 • SAML FROM:forouzan@fhda.atc.edu 현재 메일 전송을 취소. 송신자와 수신자에 대한 저장된 정보가 삭제 . • RSET

  16. SMTP 응답(1) Code Definition 1yz 2yz 3yz 4yz 5yz 현재 SMTP에서 사용되지 않는다. 요청을 성공적으로 수행 했고, 새로운 명령을 시작할 수 있다. 요청을 승인되고 수행을 위해 추가정보 필요. 요청을 거절했지만 에러는 일시적인 현상으로 명령을 다시 전송할 수 있다. 요청을 거절, 명령을 재 전송할 수 없다.

  17. Mail transfer phases • 연결 설정 • Port 25 • Code 220(서비스 준비), code 421(서비스 이용 불가) • Code 250(요청 명령 완료)

  18. Mail Transfer phases • 메시지 전송 • 메시지의 송신자를 알리기 위해 MAIL 메시지를 전송 • code 250(ok)로 응답 • 수신자의 Address를 포함하는 RCTP 메시지를 전송 • code 250(ok) 로 응답 • 메시지전송을 초기화하기 위해서 DATA 메시지를 전송 • 메일 입력 시작 Code 354로 응답 • 연속되는 라인 안에 메시지내용전송.각 라인 끝에 라인피드와 케리지리턴 삽입하고 ‘.’을 포함하는 라인으로 메시지전송 종료. • Code 250(ok) 로 응답

  19. Mail Transfer phases • 연결 종료

  20. Multipurpose internet mail extensions(MIME) • MIME • SMTP는 NVT 7-bit ASCII format만 지원 • MIME는 non-ASCII data를 허용하기 위한 보조 프로토콜이다

  21. MIME • MIME는 전송 파라메터를 정의하기 위해 기본 SMTP 헤더에 추가 될 수 있는 5가지 헤더를 정의한다.

  22. MIME • MIME-Version • Content-Type • 메시지의 body에서 사용되는 data의 타입을 정의

  23. MIME

  24. MIME • Text Subtype Definition Plain 7bit ASCII 포맷 • Multipart • Body가 다중,독립적인 부분을 포함 • Multipart 헤더는 각 part 사이의 경계 정의가 필요 • 경계는 파라메터로서 사용 • ‘--’으로 각 파트를 구분 • 종료는 경계 파라메터 다음에 ‘--’

  25. MIME • Multipart Subtype Definition Mixed Parallel Digest Alternative 메시지 안에 정확한 순서를 수신자에게 나타내야한다. 각 파트는 다른 타입이고, 경계가 정의된다. Mixed와 비슷한 타입 그 파트들에서 중요하지 않은 순 서는 제외한다. Mixed와 비슷한 타입 기본 type/subtype이 message/rfc822 이다. 동일한 메시지가 다른 포맷을 사용해서 반복된다.

  26. MIME • Multipart example Content-Type: multipart/mixed; boundary=xxxx --xxxx Content-Type: text/plain; …………………………………………………………… …………………………………………………………… --xxxx Content-Type: image/gif; …………………………………………………………… …………………………………………………………… …………………………………………………………… --xxxx--

  27. MIME • Message • encapsulate된 메시지 Subtype Definition Rfc822 Partial External-Body Rfc822에 따라 작성된 메시지 body를 나눠서 전송parameter: id, number, total 실제 body에 data가 없고 단지 참조할 수 있도록 함 parameter : access-type, name

  28. MIME • Content-Transfer-Encoding • Content-Transfer-Encoding:<type> • Content-Id • Content-Description • 헤더가 image, audio, video인지 정의

  29. code code code code code code val val val val val val MIME • Base64

  30. POP3 • POP3(Post Office Protocol, version 3) • 메일 서버에 연결상태 지속으로 자원 낭비 발생. • 클라이언트에서 메일을 간단히 관리 할 수 있게 개발됨 • TCP 할당된 port 110 • 서버 응답 요청 성공: +OK 요청 실패: -ERR

More Related