응용 계층 : 애플리케이션에 데이터 전송하기

최준영·2022년 7월 28일
0

모두의 네트워크

목록 보기
8/10

28. 응용 계층의 역할

  • 응용 계층 : OSI 모델의 최상위 계층으로 다양하게 존재하는 응용 환경에서 공통적으로 필요한 기능을 다룬다. 이메일, 파일 전송, 웹 사이트 조회 등 애플리케이션에 대한 서비스를 제공하는 계층이다.

응용 계층의 역할

  • 여기서는 편의상 5계층의 세션 계층과 6계층의 표현 계층을 포함한다.
  • 응용 계층에서는 사용자 측(클라이언트)의 요청을 전달하기 위해 통신 대상(서버 등)이 이해할 수 있는 메시지(데이터)로 변환하고 전송 계층으로 전달하는 역할을 한다.
  • 클라이언트 측 애플리케이션(웹 브라우저, 메일 프로그램 등)이 서버 측 애플리케이션(웹 서버 프로그램, 메일 서버 프로그램 등)과 통신하려면 응용 게층의 프로토콜을 사용해야 한다.
  • 주요 프로토콜
    • HTTP : 하이퍼텍스트 전송 프로토콜. 웹 서비스에서 클라이언트(웹 브라우저)와 웹 서버 간에 정보를 주고받기 위해 사용되는 네트워크 프로토콜이다.
    • DNS : 도메인 이름 시스템. 네트워크에서 호스트 이름을 IP 주소로 변환하는 데 사용하는 시스템(서비스)다. DNS 서비스가 동작하는 컴퓨터를 DNS 서버라고 한다.
    • FTP : 파일 전송 프로토콜. 서버와 클라이언트 간에 파일을 전송하기 위한 프로토콜이다. 일반적으롵 통신 포트는 제어 용도로는 21번을 사용하고 데이터 전송 용도로는 20번 포트를 사용한다.
    • SMTP : 전자 우편 전송 프로토콜. 인터넷에서 메일을 송신하는 데 사용하는 프로토콜이다. 통신 포트는 일반적으로 25번을 사용한다.
    • POP3 : 포스트 오피스 프로토콜. 인터넷에서 메일을 수신하는 데 사용하는 프로토콜이다. 통신 포트는 일반적으로 110번을 사용한다. POP3를 지원해주는 서버를 POP3 서버라고 한다.

29. 웹 서버의 구조(웹 사이트 접속)

WWW란?

  • WWW : Word Wide Web, 인터넷에 연결된 컴퓨터를 통해 사람들이 정보를 공유할 수 있는 전 세계적인 정보 공간을 말한다. 간단히 웹(the Web)이라 부르는 경우가 많다. 웹은 전자 메일과 같이 인터넷 상에서 동작하는 하나의 서비스다.
  • WWW는 HTML, URL, HTTP라는 세 가지 기술이 사용된다.
    • HTML : HyperText Markup Language, 웹 페이지에서 문장 구조나 문자를 꾸미는 태그를 사용하여 작성하는 마크업 언어이다. 하이퍼텍스트를 작성하기 위해 개발되었으며, WWW를 통해 볼 수 있는 문서를 만들 때 사용하는 프로그래밍 언어이다.
    • URL : 인터넷에서 파일 위치를 지정하기 위해 기술된 주소다. 웹 사이트 주소를 지정하기 위해 사용한다.

HTTP란?

  • HTTP : 웹 서비스에서 클라이언트(웹 브라우저)와 웹 서버 간에 정보를 주고받기 위해 사용되는 네트워크 프로토콜이다.
  • 클라이언트(웹 브라우저)는 웹 사이트를 보기 위해 서버(웹 서버 프로그램)의 80번 포트를 사용하여 HTTP 통신을 한다.
    • HTTP 요청과 HTTP 응답을 주고받는다.
  • HTTP/1.0 vs HTTP/1.1 vs HTTP 2.0
    • HTTP/1.0 버전에서는 요청을 보낼 때마다 연결했다가 끊는 작업을 반복했다.
    • HTTP/1.1 버전에서는 keepalive 기능이 추가되었다. keepalive는 연결을 한 번 수립하면 데이터 교환을 마칠 때까지 유지하고, 데이터 교환을 모두 끝내면 연결을 끊는 구조이다.
    • HTTP/1.1 버전은 요청을 보낸 순서대로 응답을 반환하기 때문에 이전 요청을 처리하는 데 시간이 길어지면 다음 요청에 대한 처리가 늦어진다. HTTP/2.0 버전은 요청을 보낸 순서대로 응답을 반환하지 않기 때문에 콘텐츠를 빠르게 표시할 수 있다.

30. DNS 서버의 구조(이름 해석)

도메인 이름이란?

  • 기본적으로 컴퓨터(서버)에는 IP 주소가 있어서 인터넷을 통해 웹 서버에 접속하여 웹 사이트를 볼 수 있다. IP 주소는 기억하기 어렵기 때문에 도메인 이름을 사용한다.
  • DNS : 도메인 이름 시스템. 네트워크에서 호스트 이름을 IP 주소로 변환하는 데 사용하는 시스템(서비스)다. DNS 서비스가 동작하는 컴퓨터를 DNS 서버라고 한다.
  • DNS 서버가 도메인 주소에 해당되는 IP 주소를 알려준다. 이를 이름 해석이라고 한다.
  • 요청받은 DNS 서버가 해당 도메인 이름의 IP 주소를 모르는 경우에는 다른 DNS 서버에 질의한다.
    • DNS 서버는 전 세계에 흩어져 있으므로 연계하면서 동작한다.

31. 메일 서버의 구조(SMTP와 POP3)

메일의 송수신 구조

  • SMTP : 전자 우편 전송 프로토콜. 인터넷에서 메일을 송신하는 데 사용하는 프로토콜이다. 통신 포트는 일반적으로 25번을 사용한다.
  • POP3 : 포스트 오피스 프로토콜. 인터넷에서 메일을 수신하는 데 사용하는 프로토콜이다. 통신 포트는 일반적으로 110번을 사용한다. POP3를 지원해주는 서버를 POP3 서버라고 한다.

메일을 주고받는 흐름

  1. SMTP를 사용해서 컴퓨터 1에서 메일 서버 1로 메일을 보낸다.
    • 컴퓨터 1에서 사용하는 메일 프로그램에 메일 서비스를 제공하는 메일 서버의 호스트 이름(서버 이름)을 설정하면 메일 서버 1로 메일을 보낼 수 있다.
  2. SMTP를 사용해서 메일 서버 1에서 메일 서버 2로 메일을 보낸다.
  3. POP3를 사용해서 메일 서버 2에서 컴퓨터 2로 메일 데이터를 보낸다.

SMTP에 의한 메일 송신과 메일 전송

  • 컴퓨터 1과 메일 서버 1간의 통신은 다음과 같다.
    1. 세신 시작을 통지한다.
    2. 송신자의 메일 주소를 통지한다.
    3. 목적지 메일 주소를 통지한다.
    4. 메일 본문 전송을 통지한다.
    5. 메일 본문을 송신한다.
    6. 세션 종료를 통지한다.
  • 이후 SMTP를 사용하여 메일 서버 1에서 메일 서버 2로 메일을 전송한다.

POP3에 의한 메일 수신

  • 메일 서버 2는 POP3를 사용하여 메일 서버 2의 메일 박스에서 메일을 가져와서 컴퓨터 2로 전송한다.
    • 메일 서버에는 메일 박스라고 하는 메일을 보관해 주는 기능이 있다.
    • 메일을 수신할 때는 사용자 이름과 비밀번호를 이용한 사용자 인증이 필요하다.
  • 컴퓨터 2와 메일 서버 2 간의 통신은 다음과 같다.
    1. 세션을 시작한다.
    2. 컴퓨터 2에서 받는 사람의 사용자 이름을 통지하고 메일 서버 2에 OK라는 확인 응답을 반환한다.
    3. 컴퓨터 2에서 수신자의 비밀번호를 통지하고 메일 서버 2에 비밀번호 확인이라는 확인 응답을 반환한다.
    4. 컴퓨터 2에서 자신이 메일이 있는지 확인하고 메일 서버 2는 있음이라는 확인 응답을 반환한다.
    5. 컴퓨터 2에서 메일 박스에 보관된 이메일을 전송받는다.
    6. 세션을 종료한다.

보강 1. ping 명령

  • 목적지 컴퓨터와의 통신을 확인하려면 ping 명령을 확인한다.
  • ping 명령은 ICMP(Internet Contol Message Protocol)라는 프로토콜을 사용하여 목적지 컴퓨터에 ICMP 패킷을 전송하고 패킷에 대한 응답이 제대로 오는지 확인하는 명령이다.
profile
do for me

0개의 댓글

관련 채용 정보