slide1 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
제 27 장 PowerPoint Presentation
Download Presentation
제 27 장

Loading in 2 Seconds...

play fullscreen
1 / 45

제 27 장 - PowerPoint PPT Presentation


  • 60 Views
  • Uploaded on

제 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.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about '제 27 장' - marlin


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1

제 27 장

Send Mail Transfer Protocol

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

message

transter

agent

user at

a terminal

user

agent

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

introduction2
Introduction (계속)
  • RFC 821 [Postel 1982]
    • SMTP 프로토콜 규정
    • 양측 MTA가 단일 TCP 연결을 통해 어떻게 통신할 것인가를 기술
  • RFC 822 [Crocker 1982]
    • MTA 간의 RFC 821을 이용한 전자 메일 메시지의 format을 정의
smtp protocol
SMTP Protocol
  • MTA간의 통신은 NVT ASCII를 이용한다.
  • 클라이언트가 서버에 보낼수 있는 명령어는 12개 미만 (ftp: 40개 이상)
smtp protocol example
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 example1
SMTP Protocol - Example (계속)
  • 예에서 사용된 5개의 명령어
    • HELO : 클라이언트 자신의 확인(identify)
    • MAIL : 메시지의 출처(originator)를 확인
    • RCPT :
      • 메시지의 수신처(recipient)를 확인
      • 수신처가 여러곳일 경우 한 개 이상일 수 있다
    • DATA :
      • 메일 메시지의 내용을 전송
      • 한줄에 마침표만 있는 줄을 전송함으로써 내용을 끝을 알림
    • QUIT : 메일 교환을 종료
slide9

PSH 1:78(77) ack1

220 noao.edu Sendmail 4.1 / … \r\n

1

PSH 1:25(24) ack 78

HELO sun.tuc.noao.edu. \r\n

2

3

PSH 78:137(59) ack 25

250 noao.edu HELLO … \r\n

4

PSH 25:64(39) ack 137

MAIL From:<rstevens@sun.tuc.noao.edu>\r\n

5

PSH 137:183(46) ack 64

250 <rstevens@sun.tuc.noao.edu> ...\r\n

6

PSH 64:93(29) ack 183

RCPT To:<rstevens@noao.edu>\r\n

7

PSH 183:224(41) ack 93

250 <rstevens@noao.edu> … \r\n

8

PSH 93:99(6) ack 224

DATA \r\n

9

10

ack 99

11

12

PSH 224:274(50) ack 99

354 Enter mail, end with … \r\n

ack 274

13

PSH 99:492(393) ack 274

(body of mail message)

14

ack 492

15

PSH 492:495(3) ack 274

. \r\n

16

PSH 274:293(19) ack 495

250 Mail accepted \r\n

17

PSH 495:501(6) ack 293

QUIT \r\n

PSH 293:323(30) ack 501

221 noao.edu delivering mail \r\n

noao.edu

sun.1064

9

smtp protocol example2
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
SMTP Protocol - commands
  • 앞서의 5개를 제외한 명령들
    • RSET
      • 현재 메일 처리를 중지
      • 양 종단을 리셋
      • 송신자, 수신자, 메일 데이터등 모든 저장된 정보 폐기
    • VRFY
      • 수신자에게 메일을 보내지 않고, 수신자의 주소를 검증하도록 클라이언트가 송신자(sender)에게 요구.
      • 메일 전달 문제의 디버깅을 위해 관리자가 수작업으로 사용.
    • NOOP
      • 서버가 OK 응답코드(200)을 응답하도록 요구외에는 아무것도 하지 않는다.
smtp protocol commands1
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 commands2
SMTP Protocol - commands (계속)
  • 그 외 명령어들
    • SEND, SOML, SAML
      • 거의 구현되지 않았으며, MAIL 명령을 대치할 수 있다.
      • 사용자가 login되어 있을때 사용자의 터미널로 직접 전달되거나 수신자의 mailbox로 전달되는 메일의 조합을 허용
smtp protocol envelope header body
SMTP Protocol - Envelope, Header, Body
  • 봉투(Envelope)
    • 배달을 위해 MTA가 사용
    • 예에서 두개의 SMTP 명령에 의해 기술됨
    • RFC 821
      • 봉투의 내용과 해석을 기술
      • TCP 연결을 통한 우편 교환을 위해 사용되는 프로토콜을 기술

MAIL From:<rstevens@sun.tuc.noao.edu>

RCPT To:<rstevens@noao.edu>

smtp protocol envelope header body1
SMTP Protocol -Envelope, Header, Body(계속)
  • Header
    • user agent가 사용
    • 예에서
      • Received, Message-Id, From, Date, Reply-To, X-Phone, X-Mailer, To, Subject
    • 형태
      • 헤더이름 : 필드값
    • RFC 822
      • 헤더 필드 형식과 설명을 기술
      • X로 시작하는 필드는 사용자가, 나머지는 RFC 822가 정의
smtp protocol envelope header body2
SMTP Protocol -Envelope, Header, Body(계속)
  • Body
    • 보내는 메시지의 내용
    • RFC 822
      • NVT ASCII 텍스트로서 본문을 기술
    • DATA 명령으로 전송(각줄은 1000바이트 이하)
    • 헤더와 본문 사이에 하나의 빈 줄이 따라온다.
smtp protocol envelope header body3
SMTP Protocol -Envelope, Header, Body(계속)
  • 봉투, 헤더, 본문 사용
    • user agent는 본문을 취하고, 헤더를 더해서, 그 결과를 MTA에 보냄.
    • MTA는 몇개의 헤더를 더하고, 봉투를 더해서 그 결과를 다른 MTA에 보냄.
  • Content 항
    • 헤더와 본문의 조합으로 설명
    • DATA 명령으로 클라이언트에 의해 보내진다.
smtp protocol relay agents
SMTP Protocol -Relay Agents
  • Relay Agent
    • 중계 시스템 이외의 시스템의 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

slide19

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 Protocol -NVT ASCII, Retry Intervals
  • SMTP는 봉투, 헤더, 본문에 모두 NVT ASCII를 사용
  • Retry Intervals
    • MTA는 새 메일 메시지를 받는 즉시 전송 시도
    • 배달에 실패하면 반드시 큐에 넣고, 재시도해야함
    • Host Requirements RFC
      • 최소한 30분의 초기 타임 아웃을 권고
      • 송신측은 적어도 4-5일은 포기해서는 안됨
      • 배달 실패는 일시적(충돌, 네트워크 연결 손실)이므로 큐에 저장된 1시간동안 2번의 연결을 시도
smtp examples mx records
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 records1
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.comthe 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 records2
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 records3
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 records4
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 records5
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 records6
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
SMTP Examples - VRFY, EXPN
  • VRFY
    • mail을 보내지 않고 수신자 주소가 옳은지를 검증
  • EXPN
    • mail을 주어진 목록으로 보내지 않고 mailing list를 확장
smtp examples vrfy expn1
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
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 changes1
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 changes2
SMTP Futures -Envelope Changes(계속)
  • 8BITMIME 키워드
    • RFC 1426[Klensin ot al. 1993b]
    • MAIL FROM 명령에 키워드 BODY를 삽입하도록 허락
      • 본문의 내용이 NVT ASCII인지 8-비트 데이터인지 구분
    • 이 키워드가 응답되지 않으면, 클라이언트는 NVT ASCII이외의 어떤 문자도 보낼 수 없다.
  • X로 시작하는 모든 키워드는 local SMTP 확장을 참조한다.

ehlo sun.tuc.noao.edu

250-ymir.claremont.edu

250-8BITMIME

250-EXPN

250-HELP

250-XADR

250 SIZE 461544960

smtp futures header changes
SMTP Futures -Header Changes
  • 헤더변화: Non-ASCII Characters
    • RFC 1522[Moore 1993]
      • RFC 822 메시지 헤더에 non-ASCII 문자들을 보내는 방법을 기술
    • 주용도
      • 송신자와 수신자, 그리고 제목에 추가문자를 허용하기 위한것
smtp futures header changes1
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 changes2
SMTP Futures -Header Changes(계속)

Encoding of 6-bit values(base-64 encoding)

smtp futures header changes3
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
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 changes1
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 changes2
SMTP Futures -Body Changes(계속)

MIME Content-Type과 subtype

smtp futures body changes3
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와의 최대한의 호환을 위해)
slide41

첫번째 boundary 이후에

헤더필드가 없고

공백이므로 첫번째와

두번째 boundary

사이는 text/plain으로

간주된다.

multipart

nested

multipart

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.

--NextPartthe 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

--OtherAccess

Content-Type: Message/External-body;

name="rfc1479.txt";

site="ds.internic.net";

access-type="anon-ftp";

directory="rfc"

Content-Type: text/plain

--OtherAccess--

--NextPart-- the final boundary

41

summary
Summary
  • user agent, MTA
  • Envelope, Header, Body
  • Extended SMTP
  • non-ASCII header
  • MIME
review
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)
review1
Review
  • MX Record (14.6 p.270)
    • RR(Resource Records)중 하나로서 메일 교환 레코드
      • 인터넷에 접속되어 있지 않은 사이트가 인터넷에 접속되어 있는 사이트를 메일 교환기로 이용할수 있다. 두개의 사이트는 메일 교환 방법을 구축(종종 UUCP가 사용된다)
      • 목적지 호스트가 이용 불가능할때, 대체하는 호스트에 메일을 보내는 방법을 제공
      • 가상의 호스트 설정이 가능
      • firewall gateway를 가진 조직은 MX 레코드 사용으로 접속을 내부 시스템 만으로 제한할 수 있다.
review2
Review
  • CNAME record:
    • 규범적 이름(canonical name)을 의미, 도메인 이름으로 표시
  • recursion desired:
    • name server에 대해서 자기 자신이 조회를 처리하도록 지시
    • p.258 DNS 헤더의 플래그 필드