29. SMTP (7계층 Application Layer 응용 계층)
(7계층 Application Layer 응용 계층) SMTP ( Simple Mail Transfer Protocol ) 인터넷에서 전자메일 전송은 SMTP ( Simple Mail Transfer Protocol ) 를 지원하는 호스트 사이에 이루어지며, SMTP 호스트는 SMTP 명령과 그에 따른 응답 과정을 반복해 메일을 전송한다. 메일을 보내는 과정은 절차상 세 단계로 구분할 수 있다. 먼저 연결 설정 단계에서는 SMTP 클라이언트가 TCP를 이용해 SMTP 서버와 세션을 설정한다. 연결 설정이 완료되면 SMTP 서버에 메일을 보내는 데이터 전송 단계를 진행할 수 있다. 이 단계에서 송신자의 메일 주소, 수신자의 메일 주소, 메일 제목 등과 같은 헤더 정보를 포함하여 메일의 전체 내용이 순차적으로 전송된다. 마지막으로 메일 전송을 완료하면 TCP 연결을 종료하는 연결 해제 단계가 진행되고, SMTP 세션이 종료된다. SMTP연결 TCP 연결 설정이 정상적으로 이루어지면 과 같은 SMTP 세션의 연결 설정 절차가 진행된다. 25번 포트에서 대기 중인 SMTP 서버는 TCP 연결 요청이 들어오면 응답 코드 220을 회신하여 메일을 수신할 준비가 되었음을 알린다 서비스가 준비되지 않았으면 코드 421을 전송하여 후속 작업이 진행되지 않도록 한다. SMTP 서버로부터 응답이 없으면 SMTP 세션 연결에 실패한 것이다. 응답 코드 220을 수신한 클라이언트는 HELO 명령과 함께 송신자의 호스트 이름을 전송한다. 수신자(서버)는 그에 대한 완료 코드 250을 전송함으로써 SMTP 세션 연결 절차가 완료된다 SMTP 데이터 전송 데이터 전송 단계는 크게 송수신자의 메일 주소 확인, 메일 헤더 정보 전송, 메일 ...