본문 바로가기
백엔드/서버

응용 계층원리

by leejiwoo21 2024. 4. 23.

네트워크 응용 서비스

: 네트워크의 통신 서비스를 사용/응용하여 최종사용자에게 제공되는 서비스

네트워크에 연결된 2개 이상의 호스트애서 동작하는 프로그램

 

네트워크 구성

호스트: 응용정보를 교환하고 해석하고 처리

스위치(라우터) : 네트워크 장치를 연결하고 패킷을 교환

 

패킷

: 응용 정보를 효율적으로 교환하기 위해 크기로 나눈 정보단위

호스트에게 재조립되어 응용 계층에서 처리

 

스위치는 응용 정보 처리에 관여하지 않음, 전달만 함

 

네트워크 응용 구조 유형

- 클라이언트-서버 구조

- P2P 구조 ( Peer - to - Peer / 상호 대등한 관계)

 

클라이언트 - 서버 구조

 

클라이언트

: 서버에게 응용 서비스를 요청 / 클라이언트 간 통신 X

동적(임시)IP주소 사용 가능

필요할 때만 작동

 

서버

다수의 클라이언트 서비스 요청에 응답

항상 작동

고정(또는 그에 준하는)IP주소 사용 > 꺼져있으면 서비스 제공 불가능

 

 

P2P구조

: 각각 클라이언트가 서버의 역할을 함

- 호스트간 관계가 대등함

- 서버 의존성이 없음

- 구축 비용이 낮음

- 보안 취약성

- 낮은 신뢰성

 

 

***

네트워크 응용 프로세스

: 호스트에서 네트워크를 통해 응용 메시지를 교환하며 작동하는 프로그램

> 응용 메시지 교환의 모든 과정을 포함함

 

응용 프로토콜

: 네트워크 응용 프로그램 간의 응용 메시지 교환 방식

> 응용 프로세스의 일부

 

클라이언트 프로세스: 통신을 개시하는 응용 프로레스

서버 프로세스: 클라이언트의 통신 요청을 기다리는 응용 프로세스

 

응용 프로세스(응용 계층 = application 계층)에서 호스트간 네트워크 통신을 위해선

그 아랫단계(계층)인 Transport 계층을 이용한다.

 

= 어플리케이션 프로세스가 트랜스포트 계층에 있는 프로토콜을 사용해서 정보를 교환한다는 말

> 물론 트랜스포트 계층은 그 아래인 네트워크 계층을 이용하고

> 네트워크 계층은 그 아래인 링크 계층을 이용하고

> 링크 계층은 물리 계층을 이용함.

 

그런데!!

 - 소켓 -

트랜스포트 계층이 어플리케이션 계층에 대해서 정보를 송신, 수신할 수 있도록 하는 자료구조를 소켓이라고 한다.

소켓은 트랜스포트 계층 상에서 구현

 

 

소켓 API란?

소켓 자료구조를 사용해서 인터넷을 통해서 정보를 교환할 수 있는 기능(통신 서비스)를 제공하는 프로그램 인터페이스(함수들의 집합)

API를 사용하여 응용 프로그램 구현

ㄴ> 네트워크 응용 프로그램을 개발하는 것 >> 

 

 

응용 프로세스 주소

> 소켓 주소 = IP주소 + Port 번호

 

 

 

 

 

 

 

댓글