본문 바로가기
컴퓨터 네트워크

컴퓨터 네트워크 32장 - 응용 계층 -

by ChocoPeanut 2017. 5. 5.

컴퓨터 네트워크 32

- 응용 계층 -

 

응용 계층의 하부에 있는 계층들은 신뢰성 있는 데이터 전송을 보장하는 역할을 수행한다. 이에 비해 응용 계층하부 계층들을 이용해 사용자에게 편리한 응용 환경을 제공하는 것에 초점을 둔다. 따라서 응용 계층의 구현은 사용자 프로그램 환경에서 이루어지며 운영체제에서 제공되는 계층 4의 인터페이스를 사용해 통신 기능을 구현한다. 필요에 따라 세션, 표현 계층의 기능을 포함한다.


응용 계층의 연결 설정 방식에는 하나의 서버 프로그램이 다수의 클라이언트에 응용 서비스를 제공하는 클라이언트-서버 모델이 있다. 서버가 반드시 먼저 대기 상태에 있어서 클라이언트가 서버에게 연결 요청을 하는 것으로 연결을 설정한다.



클라이언트-서버 모델을 구현할 때 먼저 고려할 사항은 비연결형연결형 서비스 중에서 어떤 방식을 사용하는 것인지 이다. 연결형 서비스인 TCP는 신뢰성이 높지만 상대적으로 속도가 떨어진다. 이에 비해 비연결형 서비스인 UDP는 상대적으로 전송 속도에서 빠르지만 데이터 분실이나 비순서 도착과 같은 단점을 가지고 있어 응용 프로그래머의 부담이 커진다. UDP는 연결 설정에 따른 클라이언트와 서버 사이의 상태문제를 해결하기 곤란한 응용 환경에서 사용되고 대부분의 상황에는 연결형 서비스인 TCP를 사용한다.


연결형 서비스는 클라이언트와 서버 사이의 연결로 특정 상황에 대해서 통신 양단이 바라보는 관점인 상태 정보를 가진다. 오류가 발생시 서로 합의할 수 있는 상태로 되돌아가는 과정으로 상태 정보를 이용하여 복구 과정을 할 수 있다. 비상태 서비스도 존재하는데 비상태 서비스는 상태가 없으므로 복구 과정이 간단하지만 보안의 문제로 보안이 강화되는 환경에서는 상태 서비스를 선호한다.


동시성은 임의의 동작이 외형상 동시에 진행되는 것으로 보이는 현상이다. 여러 동작의 선후 진행 속도가 실행 결과에 영향을 미치지 않게 한다. 클라이언트-서버 모델은 동시성 제어의 기능을 제공하는데 서버 하나가 여러 클라이언트에 동시에 서비스를 하기 때문이다. 즉 임의의 클라이언트가 서버와 연결하여 서비스를 받는 동안 다른 클라이언트의 요청을 서버가 지원하면 동시성을 지원한다고 볼 수 있다.


서비스 방식에는 반복 서비스 방식동시성 서비스 방식이 있는데 서버 하나가 다수의 클라이언트를 지원하지만 특정 시간에는 클라이언트 하나만 서비스를 제공할 경우를 반복 서비스 방식이라고 한다. 이에 반해 동시성을 제공해주는 즉 클라이언트 요청이 발생할 때마다 서버와 동일한 하위 서버 프로세스를 생성하여 요청을 수행하는 동시성 서비스 방식이 있다.



출처 - 데이터 통신과 컴퓨터 네트워크