28) 응용 계층의 역할
응용 계층
www
html
http
DNS
SMTP
POP3
응용 계층
OSI 최상위 계층으로, 각각의 애플리케이션에 대응되는 데이터를 생성하고 전송하는 역할을 한다.
사용자 측의 요청을 전달하기 위해 통신 대상이 이해할 수 있는 데이터로 변환하고 전송 계층으로 전달하는 역할을 한다.
- 애플리케이션이 동작하는 계층. 여기서는 세션 계층과 표현 계층을 포함하는 것으로 가정한다.
프로토콜
- 웹사이트 → http
- 파일 전송 → FTP
- 메일 송신 → SMTP
- 메일 수신 → POP3
DNS
- 사용자가 ip를 항상 기억하고 있기에는 무리가 있다. 따라서 ip에 도메인 이름을 지정하고, 도메인 이름으로 ip를 찾아내 ip를 제공하는 서비스를 DNS라고 한다.
29) 웹 서버의 구조 (웹 사이트 접속)
www
html
http
WWW
W3, Web3라고도 불린다. HTML, URL, HTTP 3가지로 구성된다.
- HTML
- HyperText Markup Language
- 하이퍼 텍스트를 작성하기 위한 마크업 언어. 문자, 이미지를 표시하거나 하이퍼 링크 사용 가능
- http
- HyperText Transfer Protocol
- 본래 html을 송/수신하기 위한 프로토콜이나, 요즈음에는 다양한 데이터 교환에 사용된다.
- 요청/응답을 기반으로하며, stateless(무상태성) 프로토콜이다.
- 80번 포트 사용
- 본래 매 요청마다 연결을 해야했지만, http/1.1에서 keepalive 기능이 추가 되어 한번의 연결 수립으로 필요한 만큼의 데이터 교환을 마칠 수 있게 됐다.
- 요청들도 알아서 순서대로 처리해준다.
- http/2에서는 꼭 요청을 보낸 순서대로 응답을 반환하지 않도록 변경됐다.
30) DNS 서버의 구조
DNS
DNS
URL을 IP 주소로 변환하는 서비스(시스템)이다.
클라이언트는 다음과 같은 과정을 거쳐 ip 주소를 얻는다. 아래는 매우 간략화된 과정이다.
- DNS1에 해당 url에 매핑되는 ip를 요청한다.
- DNS1이 알지 못하면 2에 요청한다.
- ip 주소를 받으면, 해당 ip 주소로 요청을 보낸다.
31) 메일 서버의 구조 (SMTP와 POP3)
메일의 송수신 구조
- 기본적으로 다음과 같은 구조를 갖는다.
- 클라이언트1이 메일 서버1에 SMTP를 통해 메일을 보낸다.
- 서버1이 서버2로 SMTP를 통해 메일을 보낸다.
- 서버2가 클라이언트2로 POP3를 통해 메일을 보낸다.
- SMTP는 메일 송신을 위한 프로토콜이다.
- 클라이언트 → 서버, 서버 → 서버 메일 송신
- POP3는 메일 수신을 위한 프로토콜이다.
- 서버 → 클라이언트 메일 송신
- 클라이언트가 먼저 수신을 위한 요청을 보낸다.
SMTP에 의한 메일 송신과 메일 전송
25번 포트 사용
위의 1, 2 과정에 해당한다. SMTP를 통한 데이터 전송은 다음과 같은 절차를 거친다.
모두 클라이언트가 서버에게 먼저 요청을 보내고, 서버가 응답하는 형태이다.
- 클라이언트에서 서버로 세션 시작 통지, 서버 응답
- 송신자의 메일 주소 통지, 서버 응답
- 목적지 메일 주소 통지, 서버 응답
- 메일 본문 전송 통지, 서버 응답
- 메일 본문 송신, 서버 응답
- 세션 종료 통지, 서버 응답
POP3에 의한 메일 수신
110번 포트 사용
메일 서버는 메일을 보관해두는 메일 박스라는 기능이 있다. 사용자가 메일을 요청할 때(로그인 했을 때 등), 사용자 인증 후 메일 박스에서 메일을 확인하고 전송해준다. 다음과 같은 절차를 거친다.
모두 클라이언트가 서버에게 먼저 요청을 보내고, 서버가 응답하는 형태이다.
- 클라이언트에서 서버로 세션 시작 통지, 서버 응답
- 수신자의 사용자 이름 통지, 서버 OK 응답
- 수신자의 비밀번호 통지, 서버 비밀번호 확인 응답
- 메일 확인, 서버는 클라이언트에게 클라이언트에게 보낼 메일이 있다는 응답
- 메일의 전송 요청, 서버 메일 전송 응답
- 세션 종료 통지, 서버 응답