Application Layer - Outline

dragonappear·2023년 6월 14일
0

Network 101

목록 보기
3/10


네트워크 어플리케이션

제공 서비스

  • 통신 서비스를 사용하여 최초 사용자에게 제공되는 서비스
  • 네트워크에 연결된 2개 이상의 호스트에서 동작하는 프로그램으로 구현

통신 장치

  • 호스트: 응용 정보를 교환하고 해석하고 처리
  • 스위치: 통신 장치를 연결하고 패킷 교환(응용 정보 처리에는 관여하지 않음)

패킷

  • 응용 정보를 효율적으로 교환하기 위해 작은 크기로 나눈 정보 단위
  • 호스트에서 재조립되어 어플리케이션 계층에서 처리

프로세스

  • 호스트에서 네트워크를 통해 응용 프로토콜을 교환하며 작동하는 프로그램

프로토콜

  • 어플리케이션 프로세스 간에 교환하는 메시지 교환 규칙
  • 어플리케이션 프로세스의 일부

웹 어플리케이션 구성 예

HTML, 웹 브라우저, 웹 서버, 어플리케이션 계층 프로토콜을 포함한 여러 요소들로 구성된다.


어플리케이션 구조

분산 네트워크에서 어플리케이션 프로그램이 작동하는 방식은 클라이언트-서버 or P2P 구조로 동작한다.

클라이언트-서버 구조

동작 방식

  • 항상 클라이언트 프로그램이 요청하고, 서버 프로그램이 응답을 수행한다.

클라이언트

  • 서버에게 응용 서비스 요청(클라이언트 간 요청 X)
  • 필요할 때만 작동
  • 동적(임시) IP 주소 사용 가능

서버

  • 다수의 클라이언트의 요청에 응답
  • 항상 작동
  • 고정 IP 주소 사용
  • Scalability 문제를 항상 고려해야한다.

P2P 구조

동작

  • 임의의 호스트 간에 직접 통신
  • 각 호스트는 클라이언트와 서버 역할을 동시에 수행하며
  • 호스트 간의 관계가 대등하다.

장점

  • 서버 의존성이 없음
  • 구축 및 관리 비용이 낮음
  • Scalability 뛰어남

단점

  • 보안 취약성
  • 낮은 신뢰성
  • 낮은 성능

응용 프로세스 통신

소켓

  • 통신의 endpoint
  • 운영체제가 프로세스 간 통신을 위해 제공하는 서비스
  • 어플리케이션과 트랜스포트 계층 사이의 인터페이스
  • 응용 프로세스가 네트워크로 메시지를 송신하고, 수신할 때 사용하는 자료구조
    • 커널 메모리 영역에 생성되는 자료구조
  • 운영체제의 트랜스포트 계층 상에서 구현
  • 트랜스포트 계층은 OS에서 제공하는 통신 프로토콜
  • 소켓 통신은 클라이언트-서버 구조로 사용된다.

주소

  • 프로세스 간 통신이 소켓 통신으로 이루어질 때, 두 프로세스는 1:1 소켓 통신을 한다.
  • 통신을 하기 위해서는 소켓 주소를 알아야 한다.
  • 소켓 주소 = IP 주소 + 포트 번호
    • 호스트 주소 = IP 주소
    • 프로세스 번호 = port 번호


트랜스포트 계층 서비스

어플리케이션 계층은 하위 계층인 트랜스포트 계층의 서비스를 이용할 수 있다.

크게 4가지 차원으로 분류할 수 있다.

  • 신뢰적 데이터 전송
  • 처리율
  • 시간
  • 보안

모든 트랜스포트 계층의 프로토콜이 아래 4가지를 제공하는 것은 아니다.

신뢰적 데이터 전송

  • 패킷은 라우터 버퍼에서 오버플로가 발생하거나, 패킷의 비트가 잘못되면 호스트 혹은 라우터에 의해 버려질 수 있다.
  • 트랜스포트 프로토콜은 보장된 데이터 전송 서비스를 제공하여, 송신 프로세스는 데이터가 수신 프로세스에 오류없이 도착할 것이라고 보장받는다.

처리율

  • 어느 명시된 속도에서 보장된 가용 처리율을 제공할 수 있다.

시간

  • 처리율 보장과 마찬가지로 시간 보장을 제공할 수 있다.

보안

  • 트랜스포트 프로토콜은 어플리케이션 프로토콜에 하나 이상의 보안 서비스를 제공할 수 있다.

응용 계층 프로토콜

프로세스는 소켓으로 메시지를 보냄으로써 통신을 할 수 있다.

어플리케이션 계층 프로토콜은 호스트에서 실행되는 어플리케이션의 프로세스가 서로 메시지를 보내는 방법을 정의한다.

  • 교환 메시지 타입
  • 메시지 문법
  • 필드의 의미
  • 언제,어떻게 프로세스가 메시지를 전송하고, 메시지에 응답하는지 결정하는 규칙

0개의 댓글

관련 채용 정보