카테고리 없음

[Chapter 2] 네트워크 모델(서비스 프리미티브)

devrabbit22 2025. 2. 7. 13:40

프로토콜은 계층 구조로 이루어져 있고, 하위 계층이 상위 계층에 서비스를 제공하는 방식으로 동작한다. 이러한 서비스는 프리미티브 형태로 구현된다. 계층 구조 프로토콜에서 하위 계층이 상위 계층에 제공하는 서비스의 종류에는 연결형과 비연결형이 있다.

 

연결형 서비스

연결형 서비스를 이용하는 절차는 크게 3단계이다. 먼저 데이터 전달 경로를 설정하는 연결 단계가 필요하다. 이 단계가 성공적으로 수행되어 연결이 설정되어야 다음 단계인 데이터 전송이 가능하다. 모든 데이터의 전송이 완료되어 데이터 전송 단계를 끝내려면 연결을 끊은 연결 해제 단계가 필요하다. 연결형 서비스의 동작 원리는 전화 시스템을 이용한 통화 절차와 매우 유사하다.

 

비연결형 서비스

비연결형 서비스는 우편 시스템의 동작 원리와 비슷한 연결을 설정하고 해제하는 단계가 필요 없다. 즉, 전송할 데이터가 있으면 각 데이터를 독립적으로 목적지 호스트로 전송하면 된다. 데이터는 독립적인 경로 선택 과정에 의해 전달되므로 도착하는 순서가 보낸 순서와 일치하지 않을 수 있다.

하위 계층이 상위 계층에 제공하는 서비스는 프리미티브 형태로 구현된다. 따라서 프리미티브는 하위 계층을 사용하는 방법을 정형화한 것이다. 연결형 서비스에서 자주 사용하는 서비스 프리미티브의 종류에는 CONNECT, DATA, DISCONNECT가 있다.

통신 프로토콜에서 프리미티브를 올바르게 수행하려면 각 프리미티브를 네 가지의 기능이 포함되도록 설계해야 한다.

클라이언트에서 서버로 전달되는 요청은 Request와 Indication으로 구현되고, 서버의 응답은 Response와 Confirm으로 구현된다.

클라이언트로부터 Request가 발생하면 서버에 Indication 형태로 전달되어 서버가 인지한다. 서버에서는 해당 프리미티브를 올바르게 수신하였음을 클라이언트에 통보하기 위하여 Response를 응답으로 보내고, 이는 클라이언트에 Confirm 형태로 도착한다. 이와 같은 4단계 절차를 통해 하나의 서비스 프리미티브가 처리된다.

 

네 가지 서비스 프리미티브의 기능

-Request

Request는 클라이언트에서 발생하며, 서버가 프리미티브의 기능을 수행하도록 하위 프로토콜에 요청할 때 사용한다. 연결 설정 요청(CONNECT.Request), 데이터 전송 요청(DATA.Request), 연결 해제 요청(DISCONNECT.Request)등이 있다.

 

-Indication

클라이언트로부터 Request 요청을 수신한 서버의 하위 프로토콜은 Indication을 사용해서 프리미티브 요청이 발생했음을 알린다. 연결 설정, 데이터 전송, 연결 해제에 대해 CONNECT.Indication, Data.Indication, DISCONNECT.Indication순으로 사용한다.

 

-Response

클라이언트로부터 프리미티브를 받은 서버에서는 Response를 이용해 클라이언트에 응답한다. 연결 설정 요청은 CONNECT.Response를 사용해 연결 허용이나 거부로 응답하고, 데이터는 DATA.response, 연결해제는 DISCONNECT.Response로 전달한다.

 

-Confirm

서버에서 보낸 응답은 Confirm 형태로 클라이언트에 회신된다. 연결 설정은 CONNECT.Confirm, 데이터는 DATA.Confirm, 연결 해제는 DISCONNECT.Confirm으로 전달된다.


Reference

쉽게 배우는 데이터 통신과 네트워크