네트워크

모두의 네트워크 - 7장. 응용 계층: 애플리케이션에 데이터 전송하기

토리쟁이 2023. 1. 24. 21:04

이번 포스팅에서는 OSI 모델의 7계층인 응용 계층에서 일어나는 일들에 대해 다루어보고자 한다. 

 


<응용 계층의 역할>

 

응용 계층(application layer)

  • OSI 모델의 7계층 중 7계층으로, 최상위 계층
  • 애플리케이션들이 동작하는 계층
  • 다양하게 존재하는 응응 환경에서 공통적으로 필요한 기능을 함
  • 상호 간에 통신하면서 일련의 업무를 처리할 수 있도록 필요한 서비스 기능 제공
  • 이메일, 파일 전송, 웹 사이트 조회 등 애플리케이션에 대한 서비스를 제공하는 계층
  • 애플리케이션과 데이터를 주고받기 위해 필요한 계층
  • 클라이언트의 요청을 전달하기 위해 서버가 이해할 수 있는 데이터로 변환하고 전송 계층으로 전달
    • 클라이언트 - 서비스를 요청하는 측
    • 서버 - 서비스를 제공하는 측
  • 클라이언트와 서버가 통신하기 위해 응용 계층의 여러 프로토콜 사용
    • HTTP, FTP, DNS, SMTP, POP3 등
  • 각각의 애플리케이션에 대응되는 데이터를 전송하는 역할

OSI 계층의 프로토콜

 

 

 

 

 

<웹 서버의 구조(웹 사이트 접속)>

 

WWW(World Wide Web)

  • 인터넷 서비스의 하나
  • 서로 연결되어 있어 언제 어디서든 필요한 곳에 접근하거나 정보를 공유하고 주고받을 수 있는 멀티미디어 인터넷 서버
  • 인터넷과 완전히 동일한 개념은 아니고 인터넷보다는 작은 개념
  • HTML, URL, HTTP 이 3가지 기술이 사용됨
    • HTML
      • WWW를 통해 볼 수 있는 문서를 만들 때 사용하는 마크업 언어
      • 하이퍼텍스트를 작성하기 위해 개발되었음
        • 하이퍼텍스트로는 문장이나 이미지를 표시하거나 하이퍼링크를 사용할 수 O
      • 웹 페이지에서 문장 구조나 문자를 꾸미는 태그를 사용하여 작성
    • URL
      • 인터넷에서 파일 위치를 지정하기 위해 기술된 주소
      • 웹 사이트 주소를 지정하기 위해 사용
    • HTTP
      • 웹 서비스에서 클라이언트와 웹 서버 간에 정보를 주고받기 위해 사용되는 프로토콜
      • 클라이언트는 웹 사이트를 보기 위해 서버의 80번 포트를 사용하여 HTTP 통신
      • 클라이언트에서 HTTP 요청을 보내면, 서버에서 HTTP 응답을 반환
        • 요청할 때에는 GET, POST 방식 존재
          • GET - URL에 정보 다 드러남 (보안에 취약)
          • POST - 요청 정보를 바디에 숨김 (보안 유리)
      • 과거 HTTP/1.0 사용
        • 요청을 보낼 때마다 연결했다가 끊는 작업 반복
        • 굉장히 느린 속도
      • 현재 HTTP/1.1 or HTTP/2 사용
        • 이전 버전과 달리 keepalive 기능이 추가됨
          • 연결을 한 번 수립하면 데이터 교환이 마칠 때까지 유지
          • 데이터 교환이 모두 끝내면 연결을 끊는 구조
          • 둘 다 HTTP/1.0보다 훨씬 더 빠를 수 있게 됨
        • HTTP/1.1 - 요청을 순서대로 처리하는 특징
        • HTTP/2 - 요청을 순서대로 처리X => 1.1 버전보다 더 빠르게 콘텐츠 표시

 

 

 

 

<DNS 서버의 구조(이름해석)>

 

DNS 서버

DNS(Domain Name System)

  • 호스트 이름을 IP 주소로 변환하는데 사용하는 시스템(서비스)
  • URL을 IP 주소로 변환하는 서비스(시스템)
    • URL - 인터넷에서 파일 위치를 지정하기 위해 기술된 주소
    • 웹 사이트 주소를 지정하기 위해 사용
  • 이름 해석 기능
    • URL = 호스트 이름 + 도메인 이름 
    • 도메인 이름 - 컴퓨터나 네트워크를 식별하기 위해 붙여진 이름
    • 호스트 이름(서버 이름) - 도메인 이름 앞에 있는 www
  • DNS 서버  - DNS 서비스가 동작하는 컴퓨터(서버)
  • 요청 받은 DNS 서버가 해당 도메인 이름의 IP 주소를 모르는 경우에는 다른 DNS 서버에 질의
  • DNS 서버는 전 세계에 흩어져 있고 모두 계층적으로 연결되어 있어 서로 연계하면서 동작함

 

 

 

<메일 서버의 구조 (SMTP와 POP3)>

 

SMTP와 POP3

 

 

SMTP(Simple Mail Transfer Protocol)

  • 인터넷에서 메일을 송신하는데 사용하는 프로토콜
  • 통신 포트는 기본적으로 25번 포트이나, 새 정책과 보안을 적용하기 위해 587번 포트 사용
  • SMTP 서버 - SMTP를 지원하는 서버

 

 

POP3

  • 인터넷에서 메일을 수신하는데 사용하는 프로토콜
  • 통신 포트는 일반적으로 110번 사용
  • POP3 서버 - POP3를 지원하는 서버

 

메일 송수신 과정

  1. SMTP를 사용하여 컴퓨터1에서 메일 서버1로 메일 전송
  2. SMTP를 사용하여 메일 서버1에서 메일 서버2로 메일 전송
  3. POP3를 사용하여 메일 서버2의 메일 박스에서 컴퓨터2로 메일 데이터 전송

 

 

FTP(File Transfer Protocol)

  • 서버와 클라이언트 간에 파일을 전송하기 위한 프로토콜
  • 일반적으로 통신 포트는 20, 21번
    • 20번 - 데이터 전송 용도
    • 21번 - 제어 용도

 

 

ping 명령

  • 목적지 컴퓨터와의 통신을 확인하기 위한 명령어
  • ICMP(Internet Control Message Protocol) 프로토콜 사용
  • 목적지 컴퓨터에 ICMP 패킷을 전송하고 패킷에 대한 응답이 제대로 오는지 확인