OSI 7 Layer란 국제표준화기구(ISO)에서 개발한 모델로, 컴퓨터 네트워크 프로토콜 디자인과 통신을 계층으로 나누어 설명한 것이다. 즉, 다양한 컴퓨터 간 데이터 전송을 지원할 수 있는 추상 모델을 표준화한 것이다.
그렇다면 OSI 7 계층은 왜 필요할까? 컴퓨터(네트워크) 간 통신을 하려면 생각보다 많은 과정들이 필요하다. 예를 들자면 컴퓨터 간 식별도 해야하고 어떤 방식으로 전송을 할건지, 데이터에 손상은 없는지 확인하는 작업 등을 해야한다.
필요한 각 과정들을 표준화하여 7개의 계층으로 분리하여 각 계층 간 상호 작동하는 방식을 정해 놓은 것이다.
이는 실제로 쓰이는 모델이라기보다는 네트워크 통신을 할 때 이러한 프로토콜이 필요하다고 정해놓은 스펙에 불과하다.
실제로 우리가 사용하는 인터넷 프로토콜 동작 과정(TCP/IP모델)은 4개의 계층으로 이루어져있다.
데이터 캡슐화는 송신 측에서 이루어진다.
사용자 데이터가 각 계층을 지나면서 하위 계층은 상위 계층에서 온 정보를 데이터로 취급한다. 그리고 자신의 계층의 특성을 담은 정보를 헤더에 붙히는 과정을 반복하는데 이를 데이터 캡슐화라고 한다.
반면 수신 측에서는 반대로 헤더를 까면서 데이터가 상위 계층으로 올라가 결국 마지막 응용 계층에서는 원본 데이터만 남는데 이것을 데이터 역 캡슐화라고 한다.
데이터를 물리 신호로 바꾸어 송수신을 담당하는 계층이다. 하드웨어 전송 기술이 필요하여 가장 복잡한 계층이라고 한다.
물리적 네트워크 사이의 데이터의 신뢰성을 담당한다.
대표적인 프로토콜 : 이더넷(Ethernet) 프로토콜
송수신측의 MAC 주소를 포함하여 보내고 받음. 받을 때는 본인 컴퓨터의 맥주소와 일치하는지 확인
다양하고 방대한 네트워크 상에서, 각 컴퓨터의 주소를 부여하고 여러 개의 노드를 거칠 때마다 경로를 찾아주는 역할을 하는 계층이다.
대표적인 프로토콜 : IP 프로토콜
목적지에 신뢰할 수 있는 데이터인지 판단하는 담당을 한다. 그리고 목적지의 어떤 응용 프로그램에 데이터를 전달해야하는지 식별하는 기능을 한다.
대표적인 프로토콜 : TCP 프로토콜, UDP 프로토콜
데이터 전송 중 손상/유실 확인을 위해 체크섬을 통해 오류 점검을 한다.
그리고 수신 측의 포트를 담아서 보내서 어떤 응용프로그램에 데이터를 전달해야 하는지를 식별한다.
송수신 측의 응용 프로세스가 통신을 관리하기 위한 방법을 담당한다. 즉, 통신을 하기 위한 세션을 확립/유지/중단한다. 보통 운영체제가 담당.
코드 간의 번역을 담당한다. 인코딩이나 암호화가 이 계층에서 이루어진다.
응용 프로세스와 직접 관계하여 일반적인 응용 서비스를 수행한다.
대표적인 프로토콜 : HTTP
위에서도 말했듯이 OSI 7 계층은 우리가 실제로 사용하는 네트워크 구조와 정확하게 일치하지 않아 헷갈릴 수 있다. 다음 시간에는 우리가 실제로 사용하는 네트워크 구조인 TCP/IP구조를 통해 더 자세하게 알아보자.