일반적으로 네트워크 서비스(Network Service)란 컴퓨터 네트워킹 환경에서 응용 계층(Application Layer) 및 그 이상의 계층에서 동작하는 응용 프로그램을 의미합니다.
네트워크 서비스는 데이터의 저장(Storage), 처리(Manipulation), 표현(Presentation), 통신(Communication) 기능을 제공하며, 클라이언트-서버(Client-Server) 방식 또는 P2P(Peer-to-Peer) 방식의 아키텍처로 구현됩니다.
서비스 인터페이스(Service Interface)는 SOA(서비스 지향 아키텍처, Service-Oriented Architecture)를 구현하기 위해 사용되며, 서로 다른 다양한 기술로 만들어진 응용 프로그램들 간의 상호 운용성(Interoperability)을 확보하는 것이 목적입니다.
모든 계층 구조의 기본 원리는 자신보다 바로 위에 있는 계층에 서비스를 제공하는 것입니다.
인터페이스 서비스의 종류
인터페이스가 제공하는 서비스의 유형은 다음과 같습니다.
엔티티(Entity)와 피어 엔티티(Peer Entity)
엔티티란 각 계층 내에서 활동적으로 동작하는 요소를 말하며, 소프트웨어 엔티티일 수도 있고 하드웨어 엔티티일 수도 있습니다.
소프트웨어 엔티티의 예로는 프로세스(Process)가 있으며, 하드웨어 엔티티의 예로는 I/O 칩 등을 들 수 있습니다.
서비스 제공자와 서비스 사용자
n번째 계층의 엔티티들은 그 위에 있는 (n+1)번째 계층을 위해 서비스를 구현합니다. 이때 서비스를 제공하는 n계층을 서비스 제공자(Service Provider)라고 부르고, 해당 서비스를 이용하는 (n+1)계층을 서비스 사용자(Service User)라고 부릅니다.
서비스 접근점(SAP, Service Access Point)
서비스 접근점은 n계층과 (n+1)계층 사이의 인터페이스에 존재합니다. 즉, n계층의 SAP란 (n+1)계층이 n계층이 제공하는 서비스에 접근할 수 있는 인터페이스상의 위치를 의미합니다.
인터페이스 데이터 단위(IDU, Interface Data Unit)
두 계층 간에 성공적으로 정보를 교환하기 위해서는 인터페이스에 관한 일련의 규칙이 정의되어야 합니다. (n+1)계층의 엔티티는 SAP를 통해 n계층의 엔티티에게 IDU를 전달하며, IDU는 크게 ICI와 SDU 두 부분으로 구성됩니다.
SDU(Service Data Unit) − IDU의 구성 요소 중 하나로, 피어 네트워크에서 피어 엔티티로 전달되는 실제 정보를 담고 있으며, 이후 (n+1)계층으로 전달됩니다.
ICI(Interface Control Information) − 하위 계층인 n계층이 필요한 작업을 수행하는 데 도움을 주기 위한 제어 정보를 포함합니다.
프로토콜 데이터 단위(PDU, Protocol Data Unit)
SDU를 전송하기 위해서는 n계층의 엔티티가 SDU를 여러 개의 작은 조각으로 분할해야 합니다. 분할된 각 조각에는 헤더(Header)가 붙으며, 이것이 피어 프로토콜을 통해 상대방 엔티티로 전달됩니다.
n계층 엔티티 간의 PDU 교환
아래 그림은 n계층의 엔티티들이 n계층 프로토콜을 통해 PDU를 교환하는 과정을 보여줍니다.

계층과 인터페이스 사이의 관계는 아래 다이어그램과 같이 나타낼 수 있습니다.
