Send Mail Transfer Protocol

Slides:



Advertisements
Similar presentations
을지대학교 무선 네트워크 사용 방법 2010 년 06 월 01 일. 을지대학교 무선 네트워크 사용 방법 1. PC 무선랜 카드 활성화 및 체크 1 단계 : 시작 -> 설정 -> 네트워크 설정 2 단계 : 무선 네트워크 설정 선택 -> 마우스 버튼 오른쪽 클릭 -> 사용.
Advertisements

HTTPS Packet Capture Tutorial

Oozie Web API 기능 테스트 이승엽.
김태원 심재일 김상래 강신택. 김태원 심재일 김상래 강신택 인터넷 통신망의 정보를 제공하는 서비스 인터넷의 자원 및 정보는 NIC가 관리 IP주소 또는 도메인으로 정보 검색 이용자 및 통신망 관한 정보를 제공.
TCP/IP 네트워크 제 26 장 Telnet과 Rlogin 정보통신연구실.
3 장 인터넷 서비스.
제8장 네트워킹.
Postfix MTA SPARCS 08 진준호 ( Alex ).
SMTP 프로토콜 순천향대학교 정보기술공학부 이상정.
22 장 프로세스간 전달 : UDP와 TCP 22.1 프로세스간 전달 22.2 사용자 데이터그램 프로토콜
Network Lab. Young-Chul Hwang
SMTP(Simple Mail Transfer Protocol)
PHP입문 Izayoi 김조흔.
24 장 TCP/IP 24.1 개요 24.2 네트워크층 24.3 주소 지정 24.4 서브넷팅틍
ARP의 실험 발표자 : 이직수
제 17 장 TCP : 전송 제어 프로토콜 정보통신연구실.
전자우편(SMTP)과 파일전송(FTP)
5. 네트워킹 사용자 표시 : users/ rusers/who/w users 지역 호스트 상에 있는 사용자의 간단한 목록 표시
15장 X.25 패킷 교환망 15.1 X.25 계층 15.2 X.25와 관련된 기타 프로토콜 15.3 요약.
제 14 장 도메인 네임 시스템 정보통신연구실.
23 장 OSI 상위계층 23.1 세션(session)층 23.2 표현(presentation)층
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
제 19 장 TFTP 19.1 메시지 19.2 연결 19.3 데이터 전송 19.4 UTP 포트 19.5 TFTP 예제
NJM Messenger 박상원 박연호.
01. DHCP의 개념 조직의 네트워크에 연결되어 있는 워크스테이션의 TCP/IP 설정을 자동화하기 위한 표준 프로토콜
10 장 데이터 링크 제어(Data Link Control)
FTP 프로그램의 활용 FTP 프로그램의 용도 인터넷 공간에 홈페이지 파일을 업로드할 때 필요
제 22 장 TCP Persist Timer.
17장 X.25 패킷 교환망 17.1 X.25 계층 17.2 X.25와 관련된 기타 프로토콜 17.3 요약.
웹 어플리케이션 보안 2016년 2학기 3. Mongo db.
Trivial File Transfer Protocol (TFTP)
시스템 인터페이스 Lab3 Unix 사용법 실습.
Network Security WireShark를 활용한 프로토콜 분석 I.
22 장 전송층(Transport Layer)
Exchanging 6. Basic Commands.
제 15 장 BOOTP와 DHCP BOOTP 15.2 동적 호스트 설정 프로토콜.
제 27 장 파일 전송 프로토콜.
뇌를 자극하는 Windows Server 장. 원격 접속 서버.
21 장 전송층(Transport Layer)
User Datagram Protocol (UDP)
(개정판) 뇌를 자극하는 Red Hat Fedora 리눅스 서버 & 네트워크
CGI란 무엇인가? CGI(Common Gateway Interface)의 정의
MAIL CLIENT 김창우 윤성훈 이경재.
16 장 네트워크 보안 : 방화벽과 VPN 16.1 개요 16.2 기밀성 16.3 전자 서명 16.4 인터넷 보안
Network 네트워크 이론 및 실습 TCP / IP 4장.
10 장 데이터 링크 제어(Data Link Control)
10 장 데이터 링크 제어(Data Link Control)
DHCP 조지훈 김대성 이정민 용석중.
Chapter 26 IP over ATM.
네트워크 환경 구축과 이미지 전송 호스트/타겟 통신 직렬 통신을 이용한 이미지 전송 수퍼 데몬 BOOTP 환경 구축
01. DHCP의 개념 조직의 네트워크에 연결되어 있는 워크스테이션의 TCP/IP 설정을 자동화하기 위한 표준 프로토콜
Session Initiation Protocol
01. 개요 네트워크에 있는 컴퓨터와 그룹에 대한 NetBIOS 이름에 대응되는 IP 주소를 찾아주는 서비스
웹(WWW).
STS 에서 웹 서버 설치 방법.
제 19 장 TCP 대화식 데이터 흐름.
Ping Test.
Chapter 27 Mobile IP.
Introduction to JSP & Servlet
01. 개요 DNS(Domain Name System)는 인터넷 주소를 IP 주소로 바꾸기 위한 체계적인 방법
01. 분산 파일 시스템의 개요 네트워크에 분산된 파일을 사용자가 쉽게 접근하고 관리할 수 있게 해준다.
세션에 대해 알아보고 HttpSession 에 대해 이해한다 세션 관리에 사용되는 요소들을 살펴본다
제 4 장 Record.
소리가 작으면 이어폰 사용 권장!.
Network Lab. Young-Chul Hwang
6 객체.
ARP.
소리가 작으면 이어폰 사용 권장!.
Presentation transcript:

Send Mail Transfer Protocol 제 27 장 Send Mail Transfer Protocol

목차 Introduction SMTP Protocol SMTP Examples SMTP Futures Summary

Introduction 인터넷에서 가장 많이 사용되는 응용 프로그램 TCP 연결의 약 1/2가 SMTP에 관한 것 [Caceres et al. 1991] user agent : MH, Berkely Mail, Elm, Mush MTA(message transfer agent) : Sendmail

Introduction (계속) TCP 연결 message transter agent user at a terminal queue of mail to be sent 송신자 client TCP 연결 TCP port 25 message transter agent user at a terminal user agent queue of mail to be sent 수신자 server

Introduction (계속) RFC 821 [Postel 1982] RFC 822 [Crocker 1982] SMTP 프로토콜 규정 양측 MTA가 단일 TCP 연결을 통해 어떻게 통신할 것인가를 기술 RFC 822 [Crocker 1982] MTA 간의 RFC 821을 이용한 전자 메일 메시지의 format을 정의

SMTP Protocol MTA간의 통신은 NVT ASCII를 이용한다. 클라이언트가 서버에 보낼수 있는 명령어는 12개 미만 (ftp: 40개 이상)

SMTP Protocol - Example sun % mail -v rstevens@noao.edu user agent를 invoke To: rstevens@noao.edu user agent 의 출력 Subject: testing 제목입력 대기 user agent가 추가하는 빈 라인 1, 2, 3. 본문 . 마침표만 있는줄: 본문의 끝임을 알림 Sending letter ... rstevens@noao.edu… user agent의 출력 다음부터 MAT(Sendmail)의 출력이다. Connecting to mailhost via ether... Trying 140.252.1.54... connected. 220 noao.edu Sendmail 4.1/SAG-Noao.G89 ready at Mon, 19 Jul 93 12:47:34 MST >>> HELO sun.tuc.noao.edu. 250 noao.edu HELLO sun.tuc.noao.edu., pleased to meet you >>> MAIL From:<rstevens@sun.tuc.noao.edu> 250 <rstevens@sun.tuc.noao.edu>... Sender ok >>> RCPT To:<rstevens@noao.edu> 250 <rstevens@noao.edu>... Recipient ok >>> DATA 354 Enter mail, end with "." on a line by itself >>> . 250 Mail accepted >>> QUIT 221 noao.edu delivering mail rstevens@noao.edu... Sent sent. user agent의 출력 >>>로 시작되는 줄: SMTP 클라이언트가 보내는 명령어 3자리 응답코드로 시작되는 줄: SMTP 서버로부터의 응답

SMTP Protocol - Example (계속) 예에서 사용된 5개의 명령어 HELO : 클라이언트 자신의 확인(identify) MAIL : 메시지의 출처(originator)를 확인 RCPT : 메시지의 수신처(recipient)를 확인 수신처가 여러곳일 경우 한 개 이상일 수 있다 DATA : 메일 메시지의 내용을 전송 한줄에 마침표만 있는 줄을 전송함으로써 내용을 끝을 알림 QUIT : 메일 교환을 종료

PSH 1:78(77) ack1 220 noao.edu Sendmail 4.1 / … \r\n 1 3 5 7 9 10 13 15 17 noao.edu sun.1064 PSH 1:25(24) ack 78 HELO sun.tuc.noao.edu. \r\n 2 4 6 8 11 12 14 16 PSH 78:137(59) ack 25 250 noao.edu HELLO … \r\n PSH 25:64(39) ack 137 MAIL From:<rstevens@sun.tuc.noao.edu>\r\n PSH 137:183(46) ack 64 250 <rstevens@sun.tuc.noao.edu> ...\r\n PSH 64:93(29) ack 183 RCPT To:<rstevens@noao.edu>\r\n PSH 183:224(41) ack 93 250 <rstevens@noao.edu> … \r\n PSH 93:99(6) ack 224 DATA \r\n ack 99 PSH 224:274(50) ack 99 354 Enter mail, end with … \r\n ack 274 PSH 99:492(393) ack 274 (body of mail message) ack 492 PSH 492:495(3) ack 274 . \r\n PSH 274:293(19) ack 495 250 Mail accepted \r\n PSH 495:501(6) ack 293 QUIT \r\n PSH 293:323(30) ack 501 221 noao.edu delivering mail \r\n 9

SMTP Protocol - Example (계속) 세그먼트 12에서 393byte 전송 내용 앞의 3줄은 MTA가, 그 다음 9줄은 user agent가 첨가. Received: by sun.tuc.noao.edu. (4.1/SMT-4.1) id AA00502; Mon, 19 Jul 93 12:47:32 MST Message-Id: <9307191947.AA00502@sun.tuc.noao.edu.> From: rstevens@sun.tuc.noao.edu (Richard Stevens) Date: Mon, 19 Jul 1993 12:47:31 -0700 Reply-To: rstevens@noao.edu X-Phone: +1 602 676 1676 X-Mailer: Mail User's Shell (7.2.5 10/14/92) To: rstevens@noao.edu Subject: testing 1, 2, 3. MTA user agent

SMTP Protocol - commands 앞서의 5개를 제외한 명령들 RSET 현재 메일 처리를 중지 양 종단을 리셋 송신자, 수신자, 메일 데이터등 모든 저장된 정보 폐기 VRFY 수신자에게 메일을 보내지 않고, 수신자의 주소를 검증하도록 클라이언트가 송신자(sender)에게 요구. 메일 전달 문제의 디버깅을 위해 관리자가 수작업으로 사용. NOOP 서버가 OK 응답코드(200)을 응답하도록 요구외에는 아무것도 하지 않는다.

SMTP Protocol - commands (계속) additional , optional 명령들 EXPN mailing list를 확장(expand)한다. VRFY와 유사하게 시스템 관리자에 의해 사용됨 대부분의 Sendmail 버전이 EXPN과 VRFY를 동등하게(identically) 다룬다. 4.4BSD에서 Sendmail V8에서는 다르게 다룬다. VRFY는 별칭(alias)를 확장하지 않으며, .forward 파일을 실행하지 않는다. TURN TCP 연결을 끊고 새로운 연결을 만들지 않고, 반대 방향으로 메일을 보내기 위해 클라이언트와 서버의 역할을 바꾼다. Sendmail은 이 명령을 지원하지 않는다.

SMTP Protocol - commands (계속) 그 외 명령어들 SEND, SOML, SAML 거의 구현되지 않았으며, MAIL 명령을 대치할 수 있다. 사용자가 login되어 있을때 사용자의 터미널로 직접 전달되거나 수신자의 mailbox로 전달되는 메일의 조합을 허용

SMTP Protocol - Envelope, Header, Body 배달을 위해 MTA가 사용 예에서 두개의 SMTP 명령에 의해 기술됨 RFC 821 봉투의 내용과 해석을 기술 TCP 연결을 통한 우편 교환을 위해 사용되는 프로토콜을 기술 MAIL From:<rstevens@sun.tuc.noao.edu> RCPT To:<rstevens@noao.edu>

SMTP Protocol -Envelope, Header, Body(계속) user agent가 사용 예에서 Received, Message-Id, From, Date, Reply-To, X-Phone, X-Mailer, To, Subject 형태 헤더이름 : 필드값 RFC 822 헤더 필드 형식과 설명을 기술 X로 시작하는 필드는 사용자가, 나머지는 RFC 822가 정의

SMTP Protocol -Envelope, Header, Body(계속) 보내는 메시지의 내용 RFC 822 NVT ASCII 텍스트로서 본문을 기술 DATA 명령으로 전송(각줄은 1000바이트 이하) 헤더와 본문 사이에 하나의 빈 줄이 따라온다.

SMTP Protocol -Envelope, Header, Body(계속) 봉투, 헤더, 본문 사용 user agent는 본문을 취하고, 헤더를 더해서, 그 결과를 MTA에 보냄. MTA는 몇개의 헤더를 더하고, 봉투를 더해서 그 결과를 다른 MTA에 보냄. Content 항 헤더와 본문의 조합으로 설명 DATA 명령으로 클라이언트에 의해 보내진다.

SMTP Protocol -Relay Agents 중계 시스템 이외의 시스템의 MTA 구성을 단순화하기 위함 개개의 시스템을 감추고(hiding), 메일 hub로 동작하는 하나의 시스템을 허용 호스트가 변경되어도 DNS이름만 변경하면 됨. sun % host mailhost mailhost.tuc.noao.edu CNAME noao.edu canonical name noao.edu A 140.252.1.54 its real IP address

sending host one orgnization across the Internet one orgnization user at a terminal sending host queue of mail to be sent user agent one orgnization local MTA local MTA local MTA relay MTA queue of mail across the Internet queue of mail relay MTA local MTA local MTA local MTA one orgnization user agent queue of mail to be sent user at a terminal receiving host 19

SMTP Protocol -NVT ASCII, Retry Intervals SMTP는 봉투, 헤더, 본문에 모두 NVT ASCII를 사용 Retry Intervals MTA는 새 메일 메시지를 받는 즉시 전송 시도 배달에 실패하면 반드시 큐에 넣고, 재시도해야함 Host Requirements RFC 최소한 30분의 초기 타임 아웃을 권고 송신측은 적어도 4-5일은 포기해서는 안됨 배달 실패는 일시적(충돌, 네트워크 연결 손실)이므로 큐에 저장된 1시간동안 2번의 연결을 시도

SMTP Examples - MX Records 인터넷에 직접 연결되지 않은 호스트 RFC 974 [Partrige 1986]: MTA에 의한 MX 레코드 제어 mlfarm.com은 인터넷에 직접 연결되어 있지 않고 우편전송자로 연결하는 MX 레코드를 갖는다. 다른 우선순위를 가진 2개의 MX 레코드가 있음 sun % host -a -v -t mx mlfarm.com The following answer is not autoritative: mlfarm.com 86388 IN MX 10 mercury.hsi.com mlfarm.com 86388 IN MX 15 hsi86.hsi.com Additional information: mecury.hsi.com 86388 IN A 143.122.1.91 hsi86.hsi.com 172762 IN A 143.122.1.6

SMTP Examples - MX Records (계속) sun % mail -v ron@mlfarm.com -v flag to see what the MTA does To: ron@mlfarm.com Subject: MX test message the body of the message is typed here (not shown) . period on a line by itself to terminate message Sending letter ... ron@mlfarm.com... Connecting to mlfarm.com via tcp... mail exchanger is mercury.hsi.com the MX records are found Trying 143.122.1.91... connected. first tries one with lower preference 220mercury.hsi.com … remainder is normal SMTP mail transfer MTA는 낮은 우선순위부터 시작

SMTP Examples - MX Records (계속) recursion-desired flag is set 1 sun.1624 > noao.edu.53: 2+ MX? mlfarm.com. (28) 2 noao.edu.53 > sun.1624: 2* 2/0/2 MX mercury.hsi.com. 10 (113) 3 sun.1143 > mercury.hsi.com.25: S 1617536000:1617536000(0) win 4096 4 mercury.hsi.com.25 > sun.1143: S 1832064000:1832064000(0) ack 1617536001 win 16384 5 sun.1143 > mercury.hsi.com.25: . ack 1 win 4096 6 mercury.hsi.com.25 > sun.1143: P 1:90(89) ack 1 win 16384 authoritative bit set

SMTP Examples - MX Records (계속) 줄 2의 2/0/2 첫번째 2: 2 answer RRs (2 MX host name) 두번째 0: 0 authority RRs 세번째 2: 2 additional RRs (the IP address of the 2 hosts) 줄 3-5: mercury.his.com의SMTP 서버와의 TCP 연결설정 mercury.his.com은 메일을 받은 후에 mlfarm.com에 전달해야한다. (UUCP 를 많이 이용) RFC 974는 MTA는 MX 레코드를 요구해야하고, 찾지 못하면 목적지 호스트로 배달을 시도해야한다고 기술 MTA는 또한 반드시 CNAME 레코드도 다뤄야한다.

SMTP Examples - MX Records (계속) BSD/386 rstevens@mailhost.tuc.noao.edu에서 MTA(Sendmail)의 수행단계 1. Sendmail은 DNS에게 mailhost.tuc.noao.edu에 대한 CNAME레코드 요구 2. DNS 질의는 noao.edu에 대한 CNAME 레코드를 발생하고, 없다는 응답을 받는다. 3. Sendmail은 DNS에게 noao.edu에 대한 MX 레코드를 요구하고, 하나의 MX 레코드를 얻는다. 4. Sendmail은 noao.edu에 대한 IP주소를 DNS에 질의하여 140.252.1.54를 받는다(스텝3의 additional RR) 5. 140.252.1.54로 SMTP 연결 초기화, 메일 전송 sun % host - t cname mailhost.tuc.noao.edu mailhost.tuc.noao.edu CNAME noao.edu sun % host -t mx noao.edu noao.edu MX noao.edu

SMTP Examples - MX Records (계속) 다운된 호스트 예 sun % host -a -v -t mx sun.tuc.noao.edu sun.tuc.noao.edu 86400 IN MX 0 sun.tuc.noao.edu sun.tuc.noao.edu 86400 IN MX 10 noao.edu Additional Information: sun.tuc.noao.edu 86400 IN A 140.252.1.29 sun.tuc.noao.edu 86400 IN A 140.252.13.33 noao.edu 86400 IN A 140.252.1.54 vangogh % mail -v rstevens@sun.tuc.noao.edu A test to a host that's down . EOT rstenens@sun.tuc.noao.edu ... Connecting to sun.tuc.noao.edu. (smtp)... rstevens@sun.tuc.noao.edu ... Connecting to noao.edu. (smtp)... 220 noao.edu … reminder is normal SMTP mail transfer

SMTP Examples - MX Records (계속) 1 0.0 vangogh.3873 > 140.252.1.29.25: S 2358303745:2358303745(0)... 2 0.000621 (0.0006) 140.252.1.29.25 > vangogh.3873: R 0:0(0) ack 2358303746 win 0 3 0.300203 (0.2996) vangogh.3874 > 140.252.13.33.25: S 2358367745:2358367745(0)... 4 0.300620 (0.0004) 140.252.13.33.25 > vangogh.3874: R 0:0(0) ack 2358367746 win 0 SMTP 클라이언트의 개방 실패 원인이 호스트 서버의 다운이라면 클라이언트는 총 75초 동안 SYN을 140.252.1.29에 다음 75초 동안은 140.252.13.33에 전송 150초 후에도 응답이 없으면 그다음 순위의 다른 MX 레코드로 이동

SMTP Examples - VRFY, EXPN mail을 보내지 않고 수신자 주소가 옳은지를 검증 EXPN mail을 주어진 목록으로 보내지 않고 mailing list를 확장

SMTP Examples - VRFY, EXPN (계속) 예 HELO에 잘못된 이름:서버는 IP 주소를 기준으로 연결 EXPN: .forward에 따라 우편의 진행 방향을 출력 sun % telnet vangogh.cs.berkeley.edu 25 220-vangogh.CS.Berkeley.EDU Sendmail 8.1C/6.32 ready at Tue, 3 Aug 1993 14: 59:12 -0700 220 ESMTP spoken here helo bsdi.tuc.noao.edu 250 vangogh.CD.Berkeley.EDU Hello sun.tuc.noao.edu[140.252.1.29], pleased to meet you vrfy nosuchname 550 nosuchname... User unknown vrfy rstevens 250 Richard Stevens <rstevens@vangogh.CS.Berkeley.EDU> expn rstevens 250 Richard Stevens <rstevens@noao.edu>

SMTP Futures -Envelope Changes 봉투변화: Extended SMTP RFC 1425 [Klensin et al. 1993a] HELO EHLO 응답으로 250 응답 코드와 함께 보통 여러줄의 keyword를 기술한다. keyword는 서버가 지원하는 SMTP 확장을 기술한다. RFC에서 설명되어지며, IANA(Internet Assigned Number Authority)에 등록된다.

SMTP Futures -Envelope Changes (계속) 응답의 예 EXPN과 HELP는 원래 RFC821에 기술, 선택 명령 SIZE 키워드 RFC 1427[Klensin, Freed, and Moore 1993]에서의 정의를 지원한다는 의미. 클라이언트가 MAIL FROM 명령 라인상에 바이트로 메시지의 크기를 기술하게 한다. 클라이언트가 메시지를 보내기 전에, 서버가 받아들일 메시지의 크기를 확인하게 한다. 인터넷의 메일 메시지의 증가와 ASCII외의 다른 메시지 내용을 지원하기 위해 추가됨 ehlo sun.tuc.noao.edu 250-vangogh.CS.Berkeley.EDU Hello sun.tuc.noao.edu [14-.252.1.29], pleased to meet you 250-EXPN 250-SIZE 250 HELP

SMTP Futures -Envelope Changes (계속) ehlo sun.tuc.noao.edu 250-ymir.claremont.edu 250-8BITMIME 250-EXPN 250-HELP 250-XADR 250 SIZE 461544960 8BITMIME 키워드 RFC 1426[Klensin ot al. 1993b] MAIL FROM 명령에 키워드 BODY를 삽입하도록 허락 본문의 내용이 NVT ASCII인지 8-비트 데이터인지 구분 이 키워드가 응답되지 않으면, 클라이언트는 NVT ASCII이외의 어떤 문자도 보낼 수 없다. X로 시작하는 모든 키워드는 local SMTP 확장을 참조한다.

SMTP Futures -Header Changes 헤더변화: Non-ASCII Characters RFC 1522[Moore 1993] RFC 822 메시지 헤더에 non-ASCII 문자들을 보내는 방법을 기술 주용도 송신자와 수신자, 그리고 제목에 추가문자를 허용하기 위한것

SMTP Futures -Header Changes (계속) format: =?charset?encoding?edcoded-text?= charset 문자세트 명세 : us-ascii 혹은 iso-8859-x (x는 단일 숫자) encoding encoding method를 기술하는 단일 문자 Q : 대부분의 문자는 NVT ASCII로 전송 8번째 비트가 성정된 것은 3개의 문자로 바꾸어 전송 ( = 다음 두자리 HEX값) B: base-64 encoding을 의미 세개의 연속된 바이트(24비트)를 네개의 6비트 값으로 encode 64 NVT ASCII문자를 6비트 값의 표현으로 사용가능 3의 배수가 아닐때는 = 기호를 pad 문자로 사용

SMTP Futures -Header Changes (계속) Encoding of 6-bit values(base-64 encoding)

SMTP Futures -Header Changes (계속) RFC 1552에 기재된 2개의 부호화 예제 From: =?US-ASCII?Q?Keith_Moore?= <moore@cs.utk.edu> To: =?ISO-8859-1?=Q?Keld_J=F8rn_Simonsen?= <keld@dkuug.dk> CC: =?ISO-8859-1?=Q?Andr=E9_?= Pirard <PARARD@vm1.ulg.ac.be> Subject: =?ISO-8859-1?B?SWYgeW91IGNhbiByZWFkIHRoaXMgeW8=?= =?ISO-8859-2?B?dSB1bmR1CnN0YW5kIHRoZSBleGFTcGxlLg==?= user agent의 출력 From: Keith Moore <moore@cs.utk.edu> To: Keld J0rn Simonsen <keld@dkuug.dk> CC: André Pirard <PIRARD@vm1.ulg.ac.be> Subject: If you can read this you understand the example. 1. SWYg (S=0x12, W=0x16, Y=0x18, g=0x20)를 6비트 값으로 변환 2. 010010, 010110, 011000, 100000 를 8비트/바이트로 재 조합 3. 01001001, 01100110 , 00100000  0x49, 0x66, 0x20 ASCII 값으로 I, f, 공백

SMTP Futures -Body Changes 본문 변경: MIME(Multipurpose Internet Mail Extentions) RFC 1521[Borenstein and Freed 1993] RFC 822는 본문을 structure 없는 NVT ASCII 텍스트로 기술 RFC 1521은 본문에 structure를 허용 MIME는 RFC 822에 따르는 새로운 헤더를 추가함으로써 수신자에게 본문에 구조가 있음을 알린다. (어떤 확장도 요구하지 않는다) 본문은 내용과 상관없이 NVT ASCII로 전송된다. extended SMTP SIZE 명령과 non-ASCII 헤더를 이용(MIME에 의해 요구된 확장이 아니다)

SMTP Futures -Body Changes (계속) MIME의 5개 헤더 필드 Mime-Version:, Content-Type:, Content-Transfer-Encoding:, Content-ID:, Content-Description: 예. Mime-Version: 1.0 MIME version Content-Type: TEXT/PLAIN; charset=US-ASCII plain ASCII text PLAIN: subtype charset=US-ASCII : parameter

SMTP Futures -Body Changes (계속) MIME Content-Type과 subtype

SMTP Futures -Body Changes (계속) 본문을 위한 Content-Type과 Content-Transfer-Encoding 은 독립적이다. RFC 1521에 정의된 5개의 다른 encoding 형식 1. 디폴트인 7비트 NVT ASCII 2. quoted-printable (문자의 일부만이 8번째 비트가 설정) 3. base-64 4. non-ASCII 형태의 8번째 비트가 설정된 문자열 5. binary encoding RFC 1521은 non-ASCII 텍스트에 대해서는 quoted-printable를, image, audio, video, octet-stream application data에 대해서는 base-64를 권고한다. (RFC 822에 따르는 MTA와의 최대한의 호환을 위해)

multipart nested multipart 41 To: rfc-dist@nic.ddn.mil Subject: RFC1479 on IDPR Protocol Mime-Version: 1.0 Content-Type: Multipart/Mixed; Boundart="NextPart" Date: Fri, 23 Jul 93 12:17:43 PDT From: "Joyce K. Reynolds" <jkrey@isi.edu> --NextPart the first boundary A new Requwst for Comments is now available in online RFC libraries. . . . (details here on the new RFC) Below is the dara which will enable a MIME compliant Mail Reader implementation to automatically retrieve the ASCII version of the RFCs. --NextPart the second boundary Content-Type: Multipart/Alternative; Boundary="OtherAccess" a nested multipart message with a new boundary --OtherAccess Content-Type: Message/External-body; access-type="mail-server"; server="mail-server@nisc.sri.com" Content-Type: text/plain SEND rfc1479.txt name="rfc1479.txt"; site="ds.internic.net"; access-type="anon-ftp"; directory="rfc" --OtherAccess-- --NextPart-- the final boundary 첫번째 boundary 이후에 헤더필드가 없고 공백이므로 첫번째와 두번째 boundary 사이는 text/plain으로 간주된다. multipart nested multipart 41

Summary user agent, MTA Envelope, Header, Body Extended SMTP non-ASCII header MIME

Review NVT ASCII (26.4 p.534) internet protocol 장비를 통해 사용되는 ASCII문자의 7-비트 미국판 각 7비트의 최상위에 0을 넣어서 8-비트로 전송됨 line의 끝은 2개의 연속문자(CR, LF)가 전송됨 (\r\n) carriage return은 2개의 연속문자(CR, NUL)가 전송됨 (\r\0)

Review MX Record (14.6 p.270) RR(Resource Records)중 하나로서 메일 교환 레코드 인터넷에 접속되어 있지 않은 사이트가 인터넷에 접속되어 있는 사이트를 메일 교환기로 이용할수 있다. 두개의 사이트는 메일 교환 방법을 구축(종종 UUCP가 사용된다) 목적지 호스트가 이용 불가능할때, 대체하는 호스트에 메일을 보내는 방법을 제공 가상의 호스트 설정이 가능 firewall gateway를 가진 조직은 MX 레코드 사용으로 접속을 내부 시스템 만으로 제한할 수 있다.

Review CNAME record: recursion desired: 규범적 이름(canonical name)을 의미, 도메인 이름으로 표시 recursion desired: name server에 대해서 자기 자신이 조회를 처리하도록 지시 p.258 DNS 헤더의 플래그 필드