통신 기능은 요구 사항이 상당히 복잡한 단일 기능 모듈로 설계하기가 매우 어렵다. 일반적으로 복잡한 시스템은 작은 기능 모듈로 나누어 설계해야 복잡도를 낮출 수 있고 설계와 구현, 오류 수정, 유지 보수 등이 용이하다. 그래서 프로토콜 기능도 다수의 기능 모듈로 나누어 설계되었다. 기능 모듈은 고유 기능을 가지면서 다른 기능 모듈과 상호 작용한다.
프로토콜 모델에서는 각 계층(layer)이 기능 모듈에 해당된다. 각 계층은 독립적으로 설계될 뿐 아니라 구현 및 수정도 다른 계층과 별개로 진행될 수 있다.
통신을 위한 규약인 프로토콜이 호환되면 통신 기기 또는 시스템 간 정보 교환이 가능하다. 초기의 네트워크도 프로토콜에 따라 통신했다. 그런데 당시에는 특정 회사가 자사의 장비들을 연결하기 위해 만든 프로토콜이라 서로 다른 네트워크 간에는 호환되지 않아 결과적으로 사용자들이 한 회사의 시스템에 종속되는 문제가 있었다. 그러자 1970년대에 들어와서 서로 다른 시스템 간에도 통신이 가능한 네트워크 장비를 개발하기 위해 개방형 네트워크 구조에 대한 요구가 매우 커졌다.
ISO에서는 서로 다른 기종 간의 데이터 통신을 위해 OSI 7계층 모델을 제안하였다. 이 모델은 1984년에 표준화가 이루어졌는데, 표준화 과정이 더디게 진행되면서 이미 산업계에서는 알파넷(ARPANET)에서 발전된 TCP/IP 프로토콜이 주로 사용되고 있는 상황이었다. 그 후 인터넷이 급속도로 확산되면서 지금도 OSI 모델보다는 TCP/IP 모델이 컴퓨터 통신을 위한 사실상의 표준 모델로 사용되고 있다. ISO 계층 모델은 구조적인 측면에서 매우 논리적이지만 산업계에서는 사용되지 않았다. 다만, 새로운 프로토콜을 이해하거나 설계할 때 큰 도움이 되기 때문에 참조 모델로 남게 되었다.
OSI 모델은 TCP/IP 프로토콜 이후에 표준화가 완성되었다. 대부분의 전문가들은 OSI 모델이 TCP/IP 모델을 모두 대체할 것이라고 생각했다. 하지만 이러한 현상이 일어나지 않았고 그 이유는 다음 세 가지로 요약할 수 있다.
첫째, TCP/IP 모델이 완전히 자리 잡고, 많은 자금과 시간이 TCP/IP 모델에 투자되었을 때 OSI 모델이 완성되었기 때문이다. 다른 모델로 변경하려면 많은 비용이 들어간다.
둘째, OSI 모델의 일부 계층은 완전히 정의되지 않았기 때문이다. 예를 들어, 세션 계층과 표현 계층에 대한 실제 프로토콜은 완전히 정의되지 않았고 대응하는 소프트웨어도 완전히 개발되지 않았다.
셋째, OSI가 TCP/IP에 비해 충분히 높은 수준의 성능을 보여주지 못했기 때문이다.
NOTE 개방형 시스템(open system) 개방형 시스템이란 서로 다른 특성을 지닌 컴퓨터나 정보 처리 기기들 사이에서 상호 연결이 가능한 시스템으로, 제조 업체나 기종에 상관없이 접속할 수 있는 시스템을 통틀어 일걷는 말이다. 이에 대응하는 시스템을 폐쇄형 시스템(closed system)이라고 한다.