15 장 . 전자 메일
컴퓨터 네트워크
해양컴퓨터공학과
15-1 전자메일 사용자 환경
• 이번 시간의 학습 목표
•
메일 시스템의 사용자 환경 이해
•
헤더, 메시지와 같은 메일 구성 이해
• MIME 필요성 및 구성 이해
목포해양대해양컴퓨터공학과
2
전자 메일 기능
•
메일 편집
•
메일 생성, 회신(Reply), 제3자에게 전달(Forward)
•
메시지 내용 외에도 주소, 작성일자, 참조 수신자 등 다양한 정보 작성 필요
•
메일 내용 읽기
•
본문 읽기
•
첨부 파일 읽기(문서, 음악, 동영상 등)
•
수신 메일 관리
•
메일 박스
•
삭제, 저장
•
전달 여부 통지
•
송신자에게 수신 여부 통보
메일 시스템의 하부 기능에 의한 구현 메일 오류의 통지 등
해양컴퓨터공학과
메일 처리
• 전자 메일 주소
• <로그인 이름>@<메일 서버 이름>
• 메일 프로그램
•
클라이언트 프로그램
목포해양대해양컴퓨터공학과
4
메일 메시지
• 기본적으로 ASCII 코드 기반의 텍스트만을 전송
• 멀티미디어 데이터를 수용하기 위한 기능 확장 (MIME: Multipurpose
Internet Mail Extensions)
• 구성
•
헤더
• 메시지 헤더
목포해양대해양컴퓨터공학과
헤더 의미
To 수신자의 전자메일 주소 CC 참조 수신자의 전자메일 주소
BCC 참조 수신자의 전자메일 주소, 여기에 포함된 주소는 수신자가 확 인할 수 없음
From 송신자의 이름
Sender 송신자의 전자메일 주소 Date 메시지가 전송된 시간
MIME (1)
• Multipurpose Internet Mail Extension
•
실행 파일, 음성, 영상 등 멀티미디어 데이터를 수용하기 위한 기능 확장
• MIME 처리
•
메일 송신 전에 비-ASCII 데이터를
ASCII 데이터로 변환•
메일 수신 전에
ASCII 데이터를 비-ASCII 데이터로 변환목포해양대해양컴퓨터공학과
6
MIME (2)
• MIME 헤더
해양컴퓨터공학과
MIME (3)
• MIME 데이터 종류
목포해양대해양컴퓨터공학과
8
15-2 전자메일 시스템 구성
• 이번 시간의 학습 목표
•
전자 메일의 일반화된 시스템 구조와 동작 원리 이해
해양컴퓨터공학과
전자메일 시스템 구성
• 사용자 환경 : 메일 응용 프로그램인 사용자 에이전트 (UA)
• 네트워크 환경 : 메일을 중개하고 송수신하는 메일 전송 에이전트 (MTA)
목포해양대해양컴퓨터공학과
10
사용자 에이전트
• 메일을 송수신하는 용도의 응용 프로그램
• 사용자 작업환경 제공 ( 표준화된 형식 없음 )
• 사용자 화면 예
• 사용자 프로그램 입력 정보는 표준화된
형식으로 정의
•
송신자의 메일 주소
•
수신자의 메일 주소
•
참조자의 메일 주소
•
메일의 메시지 헤더: 메일 제목 등
•
메일의 메시지 본문: 메일 내용
해양컴퓨터공학과
메일 전송 에이전트
• MTA 정보 설정 예
•
받는 메일 서버: POP(Post Office Protocol) 프로토콜
•
보내는 메일 서버
: SMTP(Simple Mail Transfer Protocol)프로토콜
목포해양대해양컴퓨터공학과
12
SMTP와 POP 서비스의 관계
해양컴퓨터공학과
15-3 SMTP
• 이번 시간의 학습 목표
• SMTP의 개념과 동작 원리 이해
목포해양대해양컴퓨터공학과
14
SMTP 이용 과정
• 메일을 보내는 과정
• SMTP 클라이언트와 SMTP
서버 사이의
TCP 연결을설정하는 단계
• SMTP 서버에 메일을
보내는 데이터 전송 단계
•
메일 전송을 완료하고
TCP연결을 종료하는 단계
• 하나 이상의 SMTP 서버에
메일 전달 • 서버와의 직접 연결이
목포해양대해양컴퓨터공학과
SMTP의 명령과 응답 (1)
• SMTP 명령 (command)
목포해양대해양컴퓨터공학과
16
SMTP의 명령과 응답 (2)
• SMTP 응답 (response)
• 3자리 코드와 추가정보로 구성
해양컴퓨터공학과
연결 설정 (1)
• Well-known 포트 : TCP 25 번
• 서버 응답
•
수신 준비
OK : 220•
준비가 안된 경우
: 421• 클라이언트 : HELO
• 서버 응답 : 250
목포해양대해양컴퓨터공학과
18
연결 설정 (2)
• 시뮬레이션
•
클라이언트: kihyun.uu.ac.kr의
telnet 프로그램•
서버: information.uu.ac.kr
해양컴퓨터공학과
연결 설정 (3)
❶ 25
번 포트인
SMTP서버에 연결 시도
❷
연결이 성공하면
telnet 명령과 관련된 결과 출력❸
응답 메시지 수신
❹
키보드로 ‘HELO kihyun.uu.ac.kr’을 입력
❺
응답 메시지 회신, SMTP 세션의 성공을 알림
목포해양대해양컴퓨터공학과
20
데이터 전송 (1)
• 명령과 응답
• 메일 주소 확인 과정
• MAIL FROM
• RCPT TO
• 헤더 정보 전송 과정
• DATA
• From:
• To:
• Date:
• 메시지 전송 과정
목포해양대해양컴퓨터공학과
데이터 전송 (2)
• 시뮬레이션
목포해양대해양컴퓨터공학과
22
연결 해제
• 명령과 응답
•
클라이언트
QUIT 요청•
서버에서
211로 회신해양컴퓨터공학과
전송 메일의 확인
목포해양대해양컴퓨터공학과
24
15-4 POP
• 이번 시간의 학습 목표
• POP의 개념과 동작 원리 이해
해양컴퓨터공학과
POP 과 SMTP
• SMTP: 전자 메일을 송수신하는
호스트 사이에 필요한 프로토콜
• POP: 전자 메일 서버에 보관된 메일을
개인용
PC로 다운로드 하는 프로토콜• POP
• POP
명령과
POP응답
• Well-known
포트
: TCP 110번
•
메일 다운로드 과정에서 사용자 인증 허가가 반드시 필요
• SMTP
• SMTP
명령과
SMTP응답
• Well-known
포트
: TCP 25번
•
메일 송수신 과정에서 사용자 인증 허가가 불필요
목포해양대해양컴퓨터공학과
26
POP 명령과 응답 (1)
• POP 명령
해양컴퓨터공학과
POP 명령과 응답 (2)
• POP 응답
목포해양대해양컴퓨터공학과
28
POP 동작 시나리오 (1)
• 사용자 인증
• USER
• PASS
• 메일 다운로드
• STAT
•
배달된 메일 개수 반환
• LIST
• RETR
•
메일 데이터 다운로드
•
원본은 서버에 존재
목포해양대해양컴퓨터공학과
POP 동작 시나리오 (2)
• telnet을 이용한 시뮬레이션
•
메일 주소: [email protected]
•
메일 서버: uu.ac.kr
• POP 서버: uu.ac.kr
• POP 클라이언트: kihyun.uu.ac.kr의 telnet 프로그램
목포해양대해양컴퓨터공학과
30
POP 동작 시나리오 (3)
해양컴퓨터공학과