응용 계층 (세션 계층과 표현 계층을 포함)
웹 브라우저, 메일 프로그램과 같은 애플리케이션을 사용자가 하고 싶은 대로 할 수 있도록 도움을 주는 계층
애플리케이션은 서비스를 요청하는 측(클라이언트)과 서비스를 제공하는 측(서버)에서 모두 사용됨
클라이언트의 요청을 전달하기 위해 서버가 이해할 수 있는 메시지로 변환하고 전송 계층으로 전달하는 역할을 함
응용 계층의 프로토콜을 사용해야 요청을 전달할 수 있음
대표적인 응용 계층 프로토콜
HTTP: 웹 사이트 접속
FTP: 파일 전송
SMTP: 메일 송신
POP3: 메일 수신
DNS: 이름 해석
HTTP
80번 포트를 사용
클라이언트에서 HTTP request 를 보내고, 서버에서는 HTTP response 를 보냄
HTTP/1.0 버전은 HTTP 요청에 응답을 한 뒤 바로 연결을 끊어 페이지 로딩이 느리게 됨
HTTP/1.1 버전에서 keepalive 기능이 추가됨
keepalive는 연결을 한 번 수립하면 데이터 교환을 마칠 때까지 유지할 수 있게 해줌
keepalive는 요청을 순서대로 처리하여 순서대로 반환하는 특징이 있음
HTTP/2 버전은 요청에 대해 순서대로 반환하지 않아도 되도록 하여 로딩을 더욱 빠르게 도와줌
DNS
URL 을 IP 주소로 변환하는 서비스
www.inforum24.com 과 같은 주소를 255.255.255.255 와 같은 IP 주소로 변환하는 것을 이름 해석(name resolution)
이라고 함
www.inforum24.com 과 같은 주소를 도메인 이름
이라고 하며, 도메인 이름 앞에 있는 www 는 호스트 이름(서버 이름)
이라고 함
웹 서버의 IP 주소는 기억하기 어렵기 때문에, 도메인 이름을 통해 웹 사이트를 요청하면, DNS 서버가 IP 주소를 알려주고 해당 IP 주소로 접속 (DNS 서버가 모르는 도메인 이름이라면 다른 DNS 서버에 IP 주소를 요청함)
DNS 서버는 전 세계에 흩어져 있고, 모두 계층적으로 연결되어 있음
SMTP
25번 포트를 사용
메일을 보내는 데 사용, 메일 서버 간의 메일 전송에도 이용됨
메일 주소를 통해 해당 메일 서비스를 제공하는 메일 서버에 메일을 전송함
POP3
110번 포트를 사용
메일을 받는 데 사용
메일 서버에는 메일을 보관하는 메일 박스
기능이 존재함
클라이언트는 POP3 프로토콜을 사용하여 사용자 인증 후 메일 박스에 있는 메일을 받을 수 있음
추가) ping 명령
목적지 컴퓨터와의 통신을 확인하기 위한 용도로 사용됨
ICMP 라는 프로토콜을 사용
ICMP 패킷을 전송하고 패킷에 대한 응답이 제대로 오는지 확인