네트워크 간의 호환을 위해 만든 표준 네트워크 모델이다. 네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것을 말한다. OSI 7단계로 정의한 이유는 통신이 일어나는 과정을 단계별로 파악할 수 있기 때문이다. 7단계 중 특정한 곳에 이상이 생기면 다른 단계의 장비 및 소프트웨어를 건들이지 않고도 이상이 생긴 단계만 고칠 수 있기 때문이다.
애플리케이션 개발자들이 고려해야 할 영역, 하위 데이터 플로 계층을 고려하지 않고 데이터를 표현하는 데 초점을 맞춘다.
1계층은 물리 계층으로 물리적 연결과 관련된 정보를 정의한다. 주로 전기 신호를 전달하는 데 초점이 맞추어져 있다. 들어온 전기 신호를 그대로 잘 전달하는 것이 목적이므로 전기 신호가 1계층 장비에 들어오면 이 전기신호를 재생성하여 내보낸다.
2계층은 데이터 링크 계층으로 전기 신호를 모아 우리가 알아볼 수 있는 데이터 형태로 처리한다. 1계층과는 다르게 전기 신호를 정확히 전달하기보다는 주소 정보를 정의하고 정확한 주소로 통신이 되도록 하는 데 초점이 맞추어져 있다. 이 계층에서는 MAC주소를 가지고 통신하게 된다. 주소 체계가 생기면서 여러 통신이 한꺼번에 이루어지는 것을 구분하기 위한 기능이 주로 정의된다.
3계층에서는 IP 주소와 같은 논리적인 주소가 정의된다. 동작하는 장비는 라우터로 3계층에서 정의한 IP 주소를 이해할 수 있다. 라우터는 IP 주소를 사용해 최적의 경로를 찾아주고 해당 경로로 패킷을 전송하는 역할을 한다.
2계층이 노드 대 노드 전달을 감독한다면, 3계층은 각 패킷이 목적지까지 성공적이고 효과적으로 전달되도록 한다.
하위 1,2,3 계층은 신호와 데이터를 올바른 위치로 보내고 실제 신호를 잘 만들어 보내는데 집중하지만 4계층은 실제로 해당 데이터들이 정상적으로 잘 보내지도록 확인하는 역할을 한다. 패킷 네트워크는 데이터를 분할해 패킷에 실어보내다 보니 중간에 패킷이 유실되거나 순서가 바뀌는 경우가 생길 수 있다. 이 문제를 해결하기 위해 패킷이 유실되거나 순서가 바뀌었을 때 바로잡아 주는 역할을 4계층에서 담당한다.
5계층에서는 흔히 우리가 부르는 "세션"을 관리하는 것이 주요 역할인 세션 계층은 TCP/IP 세션을 만들고 없애는 책임을 진다. 양 끝단의 응용 프로세스가 연결을 성립하도록 도와주고 연결이 안정적으로 유지되도록 관리하고 작업 완료 후에는 이 연결을 끊는 역할을 한다.
6계층에서는 표현 방식이 다른 애플리케이션이나 시스템 간의 통신을 돕기 위해 하나의 통일된 구문 형식으로 변한시키는 기능을 수행힌다. 일종의 번역기나 변환기 역할을 수행하는 계층이며 MIME 인코딩이나 암호화, 압축, 코드 변환과 같은 동작이 이 계층에서 이루어진다. 예를 들면, EBCDIC로 인코딩된 문서 파일을 ASCII로 인코딩된 파일로 바꿔 주는 것, 해당 데이터가 TEXT인지, 그림인지, GIF인지 JPG인지의 구분 등이 표현 계층의 몫이다.
7계층에서는 애플리케이션 프로세스를 정의하고 애플리케이션 서비스를 수행한다. 네트워크 소프트웨어의 UI 부분이나 사용자 입출력 부분을 정의한다.(사용자로부터 정보를 입력받아 하위 계층으로 전달하고 하위 계층에서 전송한 데이터를 사용자에게 전달)파일 전송, DB, 메일 전송 등 여러가지 응용 서비스를 네트워크에 연결해주는 역할을 한다.
TCP/IP의 4계층
TCP/IP는 OSI 참조 모델과 달리 표현계층, 세션계층을 응용계층에 다 포함시키고 있지만, 사실상 TCP/IP Model의 Application 계층 하나에서 Application, Presentatiom, Session 계층의 구현을 다 하고 있다고 이해하는 게 올바르다.