본문 바로가기

Computer Science/Network

<네트워크> 응용 계층

 

1. 응용 계층의 역할

* 응용계층

 - 애플리케이션 : 운영 체제에서 실행되는 모든 소프트웨어를 의미한다. 인터넷 익스플로러 같은 웹브라우저부터 Outlook과 같은 메일프로그램 등을 포함한다.

 

 - 클라이언트 : 서비스를 요청하는 측을 의미한다. 웹 브라우저나 메일프로그램 등을 의미한다.

 

 - 서버 : 서비스를 제공하는 측을 의미한다. 웹 서버 프로그램과 메일 서버 프로그램 등을 의미한다.

 

 - 위와 같은 애플리케이션들이 응용 계층에서 동작한다. 참고로 이 장에서의 응용 계층은 세션 계층과 표현 계층을 포함하는 것으로 생각한다.

 

 - 응용계층은 사용자 측의 요청을 전달하기 위해 통신 대상이 이해할 수 있는 메시지(데이터)로 변환하고 전송 계층으로 전달한다.

 

 - 클라이언트 측 애플리케이션(웹 브라우저, FTP, 메일프로그램 등)이 서버측 애플리케이션(웹 서버 프로그램, FTP 서버 프로그램, 메일 서버 프로그램 등)과 각각 통신하려면 응용 계층의 프로토콜을 사용해야 한다.

 

프로토콜 내용
HTTP 웹 사이트 접속
DNS 이름 해석
FTP 파일 전송
SMTP 메일 송신
POP3 메일 수신

 - 위 프로토콜이 가장 대표적인 응용계층의 프로토콜이다.

 

OSI모델과 프로토콜
응용 계층 HTTP DNS FTP SMTP POP3 기타
전송 계층 TCP UDP
네트워크 계층 IP 등
데이터 링크 계층 이더넷
물리 계층 전기 신호 변환

 - 지금까지 나온 프로토콜을 정리하면 위와 같다.

 

2. 웹 서버의 구조

* WWW

 - WWW : World Wide Web의 약자로 W3이나 웹(Web)이라고도 한다. 이는 인터넷을 통한 상호 연결된 웹페이지 시스템을 의미한다.

 

 - WWW는 HTML, URL, HTTP라는 세 가지 기술이 사용된다.

 

 - HTML : 웹 페이지의 문장 구조나 문자를 꾸미는 태그를 사용하여 작성하는 마크업 언어이다. 작성된 내용을 바탕으로 우리가 웹페이지를 볼 수 있다. 하이퍼텍스트는 문자와 이미지를 표시하거나 하이퍼 링크를 사용할 수 있다. (Hyper Text Markup Language)

 

* HTTP

 - 클라이언트(웹 브라우저)는 웹 사이트를 보기 위해 서버(웹 서버 프로그램)의 80번 포트를 사용하여 HTTP통신을 한다. 다음 그림과 같이 클라이언트가 HTTP요청을 보내고 서버에서 HTTP응답을 반환한다.

 

 - 참고로 FTP(파일 전송 프로토콜)의 통신 포트는 제어 용도로는 21번을, 데이터 전송 용도로는 20번 포트를 사용한다.

 

  - 위는 클라이언트가 index.html을 요청하고 받는 상황이다. 클라이언트가 데이터를 요청할 때는 "GET"이라고 하는 요청 정보, 파일 이름, 버전 등을 서버에 전송한다.

 

 - 서버는 응답으로 요청을 정상적으로 처리했다는 정보를 반환하고 index.html을 클라이언트에게 보낸다.

 

 - HTTP/2나 HTTP/1.1 버전을 현재 사용한다. 예전에는 HTTP/1.0버전을 사용하였는데, 이는 클라이언트가 요청을 보낼 때 마다 연결과 끊는 작업을 반복하였다. 연결수립을 이루고 나면 요청과 응답을 하나씩 보내고 연결을 끊는다. 그리고 다시 연결을 수립하고 요청과 응답을 하나씩 보내고 연결을 끊었다.

 

 - HTTP/1.1 버전에서는 keepalive라는 기능이 추가되었다. 연결이 한 번 수립되면 데이터 교환을 마칠 때까지 유지하고, 데이터 교환을 모두 끝내면 연결을 끊는다.

 

 - HTTP/2 버전은 1.1버전의 단점이었던 요청을 보낸 순서대로 응답하여 시간이 딜레이 된다는 것을 해결하였다. 2버전은 요청을 보낸 순서대로 응답하지 않아도 돼어 콘텐츠를 훨씬 빠르게 표시할 수 있게되었다.

 

3. DNS 서버의 구조

* 도메인 이름

 - 기본적으로 컴퓨터(서버)에는 IP 주소가 있어서 인터넷을 통해 웹 서버에 접속하여 웹 사이트를 볼 수 있었다. 그러나 우리는 IP 주소를 입력하지 않고 URL을 입력하여 웹사이트로 접속한다.

 

 - DNS : URL을 IP 주소로 변환하는 서비스(시스템)을 의미한다.

 

 - 이름 해석 : IP주소가 아닌 "http://www.haesoo9410.tistory.com"과 같은 주소를 사용하여 접속하도록 돕는 것

 

 - 도메인 이름 :  "www.haesoo9410.tistory.com"과 같이 컴퓨터나 네트워크를 식별하기 위해 붙여진 이름

 

 - 호스트 이름 : 도메인 이름 앞에 있는 www를 의미한다. 서버 이름이라고도 부른다. 

 

 - 브라우저에 URL을 입력하면 다음과 같은 과정이 일어난다.

 

  - 처음에는 웹 사이트의 IP주소를 모르므로 먼저 DNS 서버에 요청하게 되는 것이다. 그러나 요청한 첫 번째 DNS 서버가 도메인의 IP주소를 모를 수도 있다. 이럴 때는 그 DNS 서버가 다른 DNS 서버에 요청을 보낸다.

 

 - DNS서버는 전 세계에 흩어져 있으므로 연계하며 동작한다.

 

4. 메일 서버의 구조 

* 메일의 송수신 구조

 - 메일을 송수신하려면 클라이언트 측의 메일 프로그램과 서버 측의 메일 서버 프로그램간 통신을 해야한다. 여기서 사용되는 프로토콜은 SMTP와 POP3가 있다.

 

 - SMTP : 메일을 보내는 데 사용되는 프로토콜이며 포트 번호로 25번을 사용한다.

 

 - POP3 : 메일을 받는 데 사용되는 프로토콜이며 포트 번호로 110번을 사용한다.

 

 - 메일을 보내는 흐름을 간단히 알아보자. 먼저 사용자는 메일 서비스를 제공하는 포털이나 회사의 메일 서버를 사용한다. 즉 메일을 보낼 때는 그 메일 서버에 메일을 보낸다.

 

* SMTP와 메일 송신 및 전송

 - 위에서 알아본 송신 과정을 좀 더 깊게 알아보자.

 

 - 위와 같이 컴퓨터 1에서 메일 서버 1로 메일을 SMTP를 사용하여 보낸다. 그리고 다시 메일 서버 1은 SMTP를 사용하여 메일 서버 2로 메일을 전송한다.

 

* POP3에 의한 메일 수신

 - 메일 서버에는 메일 박스라고 하는 메일을 보관해 주는 기능이 있다. 이제 메일 서버 2가 POP3을 사용하여 메일 박스의 메일을 컴퓨터 2로 전송할 차례이다.

 

 - 메일을 수신할 때에는 사용자 이름과 비밀번호를 이용한 사용자 인증이 필요하다. 110번 포트를 사용한 POP3 프로토콜의 흐름은 다음과 같다.

 

 


 

 

참고

 

 

DNS서버(네임서버)의 이해

DNS 설정에 앞서 DNS에 대한 이해를 넓혀보자. DNS란 무엇인가? DNS는 도메인네임서버를 일컫는다. 인터넷은 서버들을 유일하게 구분할 수 있는 IP주소를 기본체계로 이용하는데 숫자로 이루어진 조

webdir.tistory.com

 

 

WWW 란?

World Wide Web

medium.com

 

 

응용 소프트웨어 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 앱은 여기로 연결됩니다. 영화에 대해서는 앱 (영화) 문서를 참조하십시오. 응용 소프트웨어(영어: application software) 또는 애플리케이션은 운영 체제에서 실행되

ko.wikipedia.org

 

 

모두의 네트워크

10일 만에 배우는 네트워크 기초

www.gilbut.co.kr

 

'Computer Science > Network' 카테고리의 다른 글

<네트워크> 무선 랜  (0) 2021.04.29
<네트워크> OSI모델의 흐름  (0) 2021.04.27
<네트워크> 전송 계층  (0) 2021.04.22
<네트워크> 네트워크 계층(2)  (0) 2021.04.17
<네트워크> 네트워크 계층(1)  (0) 2021.04.15