계층화 구조

정보가 장치 A에서 장치 B로 전송될 때 관련된 계층은 [ 그림 2-2 ] 와 같다. 전송 과정에서 많은 노드를 경유할 수 있는데 중간 경유지에 있는 노드들은 보통 OSI 모델의 하위 3개 계층만 관련되어 있다. 또한 각 계층은 하위 계층을 통해 서비스를 받고 상위 계층으로 서비스를 제공하도록 규정되어 있다. 예를 들어, 네트워크 계층은 데이터링크 계층을 통해 서비스를 받고, 상위 계층인 전송 계층에 작업한 내용을 서비스하는 식이다.

장치들 사이에서 장치 A의 (N)계층은 장치 B의 (N)계층과 통신한다. 이러한 통신은 프로토콜에 의해 제어된다. 해당 계층에서 통신하는 각 장치의 프로세스를 대등-대-대등 프로세스(peer-to-peer process)라고 한다. 그러므로 장치 간 통신은 적절한 프로그램을 사용하는 해당 계층의 대등-대-대등 프로세스다.

프로토콜과 인터페이스

각 계층 프로토콜은 동일한 계층 사이(peer-to-peer)에 존재한다. 즉, 장치 A의 프로토콜 개체는 장치 B의 동등peer 프로토콜 개체와 약속된 프로토콜에 따라 동작한다. 각 계층에 대한 프로토콜 관계는 [ 그림 2- 3 ] 과 같다.

동일한 장치 내에서 다른 계층과 상호 작용하는 것을 인터페이스(interface)라고 한다. 계층 간 인터페이스는 다른 계층에서 서비스를 요구하고 그 결과를 받는 동작이다.

서비스 프리미티브

서비스 프리미티브(service primitive)는 인터페이스를 통해 이루어지는 계층 간 상호 작용을 추상화하여 단순한 모습으로 제공하기 위한 서비스 단위다. 상위 계층은 하위 계층에 서비스를 요구하고, 하위 계층은 상위 계층에서 서비스를 제공한다. 인터페이스가 추상적(abstract)이라는 의미는 시스템의 서비스를 사용자에게 나타낼 때 내부의 복잡한 모습은 감추고 단순화하여 나타낸다는 것이다. 추상화를 이용하여 단순화된 모습으로 서비스를 표현함으로써 사용자가 기능을 이해하기 쉽고, 사용하기에 더 용이하다는 장점이 있다.

[ 그림 2-4 ] 와 같이 서비스 프리미티브에는 request(요구), indication(지시), response(응답), confirm(확인)의 네 가지가 있다. 장치 A 사용자가 장치 B 사용자에게 서비스를 요청하는 것이 request이고, 이 요청이 하위 계층에 의해 장치 B까지 전달되어 사용자에게 요청을 알리는 것이 indication이다. 장치 B 사용자가 요청을 처리하여 응답 보내는 것을 response라 하고, 이것이 하위 계층에 의해 장치 A로 전달되어 서비스를 요청했던 사용자에게 알리는 것을 confirm이라고 한다.

장치 A에서 장치 B에 데이터를 전달하고 B가 이에 대한 응답을 A에 전달하는 서비스일 경우 [ 그림 2-4 ] 처럼 4개의 서비스 프리미티브를 모두 이용한다. 그러나 서비스 요청만 있고 응답이 없는 서비스일 경우에는 요구 데이터만 전달하기 때문에 request(요구)와 indication(지시) 2개만 이용한다.