[네트워크] - OSI 7 계층 Application Layer

이영준·2023년 8월 27일
0

📌 Application Layer (응용 계층)

최상위 계층으로 사용자 또는 애플리케이션이 네트워크에 접속 할 수 있게 해주는 계층
애플리케이션의 예시) 페이스북,인스타그램,당근마켓 등
쉽게 얘기하면 사용자가 웹,이메일, 파일 공유 등 실제로 사용하는 것들을 체감할 수 있는 서비스를 제공하는 계층인데, 이 계층에 속한 프로토콜들로 인해 통신할 수 있게 된다.

🔑 ++ 네트워크 전송 구조

Client - Server 구조

  • 서버와 클라이언트 간 통신
    • Client: 사용자를 뜻하는 것으로, 서버에게 요청(request)을 보내고, 응답(response)를 대기
    • Server: 24시간 대기하며, 요청을 받았을 때 해당하는 결과 응답을 보내줌
      서버의 주소는 고정되어야함

P2P(Peer-To-Peer) architecture

  • 서버에 의존하지 않고 호스트(Peer)끼리 직접 통신
  • 각각이 서버와 클라이언트가 둘다 될 수 있어서, 데이터를 주고 받음
  • 프로토콜로 BitTorrent, Freenet 등이 있음

각각의 구조에서 프로세스간 통신을 하기 위해서 서로의
IP(특정 컴퓨터의 주소)와 PORT(특정 프로세스의 주소)가 필요하다.

하위 대표적인 프로토콜들은 모두 Client-Server 방식의 프로토콜 들이다.

📌 Application 계층의 대표적인 프로토콜

통신 프로토콜 또는 통신 규약은 컴퓨터나 원거리 통신 장비 사이에서 메시지를 주고 받는 양식과 규칙의 체계이다. 즉 통신 규약 및 약속이다.

🔑 HTTP (Hypertext Transfer Protocol)

주로 웹 브라우저와 웹 서버 간의 통신에 사용되며, 클라이언트가 서버로 요청을 보내고 서버가 응답을 반환하는 구조

주요 특징

  • 요청 및 응답의 구조 : 동작형태가 Cli/Svr 모델로 동작
  • TCP 프로토콜을 사용
  • Stateless 지향 : 서버가 클라이언트의 상태를 가지고 있지 않음
    • 상태를 유지해야 하는 경우, 쿠키나 세션을 통해 해결
  • HTTPS : http에 통신소켓을 SSL을 적용시켜 암호화 통신으로 이루어지는 방식
    https://cano721.tistory.com/61

Request

    • GET : 어떤 메소드를 사용했는지
    • search?q=hello&hl=ko: 요청대상
    • HTTP/1.1: 버전

Response

  • HTTP/1.1: 버전과 상태코드
  • Header : content type, length 등 부가정보
  • body : 실제 메시지의 바디

🔑 DNS(Domain Name System)

도메인 이름을 IP 주소로 변환하거나, 역으로 IP 주소를 도메인 이름으로 변환하는 프로토콜. 클라이언트 - 서버 모델로 동작한다.

🔑 FTP (File Transfer Protocol)

파일 전송을 위한 프로토콜로, 클라이언트가 서버에 파일을 업로드하거나 다운로드할 수 있다. 클라이언트와 서버 사이에 파일 전송을 위한 제어 및 데이터 연결을 사용합니다.

🔑 TFTP (Trivial File Transfer Protocol)

간단한 파일 전송을 위한 프로토콜로, FTP와 비교해 기능이 제한적이며, 주로 부트로더 등에서 사용된다.

🔑 SMTP (Simple Mail Transfer Protocol)

이메일 전송을 위한 프로토콜로, 클라이언트가 메일 서버로 이메일을 보내고 서버가 메일을 전달하는 구조를 가지고 있다.

🔑 SNMP (Simple Network Management Protocol)

네트워크 장치의 관리와 모니터링을 위한 프로토콜로, 관리자가 네트워크 장치의 정보를 조회하고 제어하기 위해 사용된다.

🔑 Telnet

원격 접속을 위한 프로토콜로, 클라이언트가 원격 서버에 접속하여 텍스트 기반의 명령을 입력하고 결과를 받아볼 수 있는 구조를 가지고 있다. 보안상의 이유로 SSH가 현재는 더 권장되고 사용된다.

📌 면접 질문

🔑 OSI 7계층의 응용 계층이란?

  • 응용 계층은 최종 목적지로 응용 프로세스와 직접 관계하여 일반적인 응용 서비스를 수행합니다.

🔑 주소창에 http://www.google.com 을 치면 일어나는 일을 설명해보세요.

  • 사용자가 url 주소(http://www.google.com)을 입력하면, 입력한 URL 주소 중 Domain name('goolge.com') 부분을 DNS 서버에서 검색하게 됩니다.
  • DNS 서버에서 해당 도메인 네임과 맞는 IP 주소를 찾아 사용자가 입력한 URL과 같이 전달합니다.
  • URL, IP 주소는 HTTP 프로토콜을 사용해 HTTP request 메시지를 생성해 TCP 프로토콜을 사용해 인터넷을 거쳐 해당 IP 주소의 컴퓨터로 전송됩니다.
  • 도착한 HTTP request 메시지는 HTTP 프로토콜을 사용해 웹 페이지 URL 정보로 변환되어 웹 페이지 URL 정보에 해당하는 데이터를 검색합니다.
  • 검색된 웹 페이지 데이터는 HTTP 프로토콜을 사용해 HTTP response 메시지를 생성하고 TCP 프로토콜로 인터넷을 거쳐 사용자의 컴퓨터로 전송됩니다.
  • 도착한 메시지는 HTTP를 사용해 웹 페이지 데이터로 변환되어 브라우저에 의해 사용자가 볼 수 있도록 출력합니다.

📌 Reference

profile
컴퓨터와 교육 그사이 어딘가

0개의 댓글