OSI모델의 7계층인 응용 계층에 대해 다룹니다. 여기서 응용 계층은 5계층인 세션 계층과 6계층인 표현 계층을 포함하는 것으로 생각합니다.
응용 계층은 응용 환경에서 공통적으로 필요한 기능을 다룬다. 이메일, 파일 저송, 웹 사이트 조회 등 어플리케이션에 대한 서비스를 제공하는 계층이다.
- 클라이언트 : 웹 브라우저나 메일 프로그램과 같은 사용자 측에서 사용하는 어플리케이션 (서비스 요청 측)
- 서버 : 웹 서버 프로그램이나 메일 서버 프로그램과 같은 제공자 측에서 사용하는 어플리케이션 (서비스 제공 측)
이러한 어플리케이션이 동작하는 계층이 응용 계층이다. 어플리케이션과 데이터를 주고 받기 위해서는 응용 계층이 필요하다.
응용 계층은 클라이언트의 요청을 전달하기 위해 서버가 이해할 수 있는 데이터로 변환하고 전송 계층으로 전달하는 역할을 한다.
클라이언트 측과 서버 측이 통신하려면 응용 계층의 프로토콜이 필요하다. 대표적인 프로토콜은 다음과 같다.
프로토콜 | 내용 |
HTTP | 웹 사이트 접속 |
FTP | 파일 전송 |
SMTP | 메일 송신 |
POP3 | 메일 수신 |
DNS | 이름 해석 |
웹 서버의 구조
WWW(World Wide Web)란?
수많은 사이트, 데이터, 정보를 가진 거대 통신망이다. 서로 연결되어 있어서 언제든 필요한 곳에 접근하며 정보를 주고받을 수 있는 인터넷 서버이다. 여기에는 HTML, URL, HTTP 세 가지 기술이 사용된다.
- HTML : WWW를 통해 볼 수 있는 하이퍼텍스트를 작성하는 마크업 언어이다. 태그를 사용하여 문자 구조, 이미지, 링크 등으로 구성된 웹 페이지를 작성한다. 링크를 클릭하면 웹 서버에서 이동한 웹 사이트로 HTML파일 및 이미지 파일이 전송된다.
- HTTP : 클라이언트와(웹 브라우저) 웹 서버 간 정보를 주고받기 위해 사용되는 네트워크 프로토콜이다. 클라이언트는 웹 사이트를 보기 위해 서버의 80번 포트를 사용하여 HTTP통신을 한다. 클라이언트는 HTTP요청을 보내고 서버는 HTTP응답을 한다. 클라이언트가 데이터를 요청할 때는 GET이라는 요청 정보, 파일 이름, 버전 등을 서버에 전송한다. 서버는 응답으로 OK정보를 반환하고 index.html을 보낸다.
- HTTP/1.0 버전 : 연결 수립 → 요청 → 응답 → 연결 끊기 → 연결 수립 → 요청 → 응답 → 연결 끊기를 하며, 요청을 할 때마다 연결 수립과 연결 끊기를 반복한다.
- HTTP/1.1 버전 : keepalive기능이 추가되어, 한 번 연결 수립하면 데이터 교환을 모두 끝낸 후 연결을 끊는다.
- HTTP/2 버전 : 요청을 보낸 순서대로 응답을 하지 않고, 요청을 빨리 처리한 것부터 응답을 할 수 있다. 이전 요청을 처리하는데 시간이 길어지면서 다음 요청에 대한 처리가 늦어지는 문제를 보완한 것이다. 콘텐츠가 빠르게 표시된다.
- URL : 인터넷에서 파일의 위치를 지정하기 위해 즉, 웹 사이트 주소를 지정하기 위해 사용한다.
DNS 서버의 구조
DNS(Domain Name System)는 URL을 IP주소로 변환하는 시스템이다. http://www.뫄뫄뫄.co.kr에 접속하면 DNS서버가 222.235.64.222와 같은 IP주소를 알려준다. 이것을 이름 해석(name resolution)이라 한다. www.뫄뫄뫄.co.kr와 같은 컴퓨터나 네트워크를 식별하기 위해 붙여진 이름을 도메인 이름이라 하고, 도메인 이름 앞의 www는 호스트 이름(서버)라고 한다.
만약 DNS서버가 IP주소를 모르면, 다른 DNS서버에게 해당 도메인의 IP주소를 요청하여 DNS서버를 알아낸 후 답변을 제공한다. DNS서버는 전 세계에 흩어져있고, 모두 계층적으로 연결되어 동작한다.
메일 서버의 구조 SMTP / POP3
응용 계층에는 메일을 송수신하기 위한 프로토콜이 이 있다.
- SMTP : 메일 송신 프로토콜이며 포트 번호 25를 사용한다.
- POP3 : 메일 수신 프로토콜이며 포트 번호 110을 사용한다.
메일 송수신 과정을 구체적으로 보면 다음과 같다.
- SMTP를 사용하여 컴퓨터1에서 메일 서버1로 메일을 보낸다. 메일 서버1은 메일 서비스를 제공하는 포털사이트나 회사의 메일 서버에 해당된다.
- SMTP를 사용하여 메일 서버1에서 메일 서버2로 메일을 전송한다. 메일 서버에는 메일 박스라는 메일 보관 기능이 있다.
- POP3을 사용하여 메일 서버2의 메일 박스에서 메일을 가져와서 컴퓨터2로 전송한다.
[reference]
'CS > 네트워크' 카테고리의 다른 글
[Network] OSI 모델의 전송 계층 (0) | 2022.03.14 |
---|---|
[Network] OSI 모델의 네트워크 계층 (0) | 2022.03.10 |
[Network] OSI 모델의 데이터 링크 계층 (0) | 2022.03.09 |
[Network] OSI 모델의 물리 계층 (0) | 2022.03.08 |
[Network] 프로토콜 , OSI 모델 , TCP/IP 모델 , 캡슐화와 역캡슐화 (0) | 2022.03.07 |
댓글