컴퓨터 네트워크는 내부 기능을 기초로 하여 다양한 구조로 나눌 수 있다. 특히, 호스트가 제공하는 복잡한 네트워크 기능을 연관된 그룹으로 묶어 계층 모델로 설명할 수 있다.
국제 표준화 단체인 ISO에서 OSI(Open Systems Interconnection) 7계층 모델을 제안하여, 네트워크에 연결된 시스템이 갖추어야 할 기본 구조와 기능을 상세히 정의하고 있다.
OSI 7계층에 따르면, 네트워크에 연결된 호스트들은 7개의 계층으로 모듈화된 전송 기능을 갖추어야 한다.
위 그림을 보면, 일반적인 사용자는 OSI 7계층의 맨 위의 응용 계층에서 데이터 송수신을 요청하고, 이 요청을 맨 아래의 물리 계층을 통해 상대 호스트로 전송된다. 데이터가 전달되는 과정에서 각각의 계층이 맡은 기능을 하며 데이터를 안전하게 전달해준다. 그리고 아래 3개의 계층에서 라우터 기능을 수행해준다.
데이터 수신과 송신의 방향을 반대로 이루어진다. 위의 설명이 데이터를 송신하는 방향이라면, 데이터 수신할 때는 물리 계층으로 들어온 데이터가 순차적으로 위쪽의 계층으로 이동하며 응용 계층으로 최종 이동한다.
즉, 데이터를 송수신하는 최종 주체는 응용 계층이고 최초로 데이터가 들어오는 계층은 물리 계층이다. 이와 같은 계층 구조의 원리는 모든 상하 계층에 대하여 상대적으로 적용되며, 각각의 계층들은 데이터 전송에 필요한 기능을 나누어서 처리한다.
OSI 7계층 모델의 각각의 계층은 고유한 기능을 하고, 상위 계층에 서비스를 제공하는 방식으로 동작한다.
네트워크에서 호스트들이 데이터를 전송하려면 반드시 물리적인 전송 매체로 연결되어 있어야 한다. 물리 계층은 유선 매체와 무선 매체로 나누어지며, 호스트를 전송 매체와 연결하기 위한 인터페이스 규칙과 전송 매체의 특성을 다룬다.
데이터 링크 계층은 데이터를 전송하며 발생하는 오류를 제어하는 기능을 담당한다.이를 위해서 오류를 감지하고, 오류를 복구하는 기능이 필요하다. 물리 계층이 물리적 전송 오류를 감지하는 기능을 제공해 상위 계층인 데이터 링크 계층이 오류를 감지할 수 있게 해준다.
대표적인 물리적 데이터 오류는 데이터가 깨져서 오는 데이터 변형과, 데이터가 도착하지 못하는 데이터 분실이 있다. 이 경우 송신자가 원래의 데이터를 다시 전송하는 방식으로 오류를 처리한다.
송신 호스트가 데이터를 전송할 때 수신 호스트까지 안전하게 도착하기 위해서는 라우터를 거쳐야 한다. 이 과정에서 데이터가 올바른 경로를 선택할 수 있게 도와주는 계층이 네트워크 계층이다. 네트워크 계층은 라우터들로 구성되며, 송수신 호스트 사이의 데이터 중개 기능을 한다.
네트워크 계층에도 오류 제어 기능이 필요하다. 혼잡 제어를 통해 특정 지역의 네트워크에 부하가 걸릴 때 데이터 전송을 관리해준다.
컴퓨터 네트워크에서 데이터를 교환하는 최종 주체는 호스트가 아니라, 호스트 내부에서 실행되는 응용 네트워크 프로세스이다. 데이터를 전송할 때 도와주는 계층이 전송 계층이라고 했는데, 응용 프로세스까지 전달하는 기능은 없다.
전송 계층은 송신 프로세스와 수신 프로세스 간의 연결 기능을 제공하여 프로세스 사이의 안전한 데이터 전송을 지원한다.
세션 연결의 예부터 들어주면, 인터넷에서 자료를 다운받다가 연결이 끊기면 전송 계층에서 끊긴 것이다. 그 이후 다시 전송 계층에 연결을 하면 멈춘 시점에서 다시 다운이 시작되는데 이를 세션 계층이 지원해준다.
즉, 세션 계층은 응용 환경에서 사용자 간 대화 개념의 연결로 사용되기 때문에 전송 계층 연결과 구분된다.
표현 계층은 전송되는 데이터의 의미를 잃지 않도록 올바르게 표현하는 방법을 다룬다. 즉, 정보를 교환하는 호스트들이 표준화된 방법으로 데이터를 인식할 수 있게 해준다.
그리고 표현 계층에서 암호화, 데이터 압축 기능을 제공한다.
응용 계층은 일반 사용자를 위한 다양한 네트워크 응용 서비스를 제공한다.