OSI 7 Layer
또는 OSI 모형
이라고 불리는 네트워크 모델은 국제표준화 기구에서 발표한, 네트워크 프로토콜 디자인과 통신 과정을 7개의 계층으로 나누어서 설명한 모델입니다.
OSI 7 Layer
는 네트워크 통신 과정을 7개의 계층으로 나누어서 통신 과정을 층별로 파악하기 쉽고, 이해가기도 쉬운 등 여러 장점이 있어 널리 사용되는 모델입니다. 또한 7개의 층으로 나누었기 때문에 통신 과정에서 문제가 생겼을 때 문제가 발생한 층을 알아낼 수 있다면, 해당 층과 관련된 부분만을 손보면 된다는 장점도 있습니다.
OSI 7 Layer
를 그림으로 한 눈에 보면 다음과 같습니다.
물리층
은 가장 아래에 위치한 층으로, 물리적인 전송 매체를 통해 전자기 신호(0과 1의 전기적 신호)를 윗층으로 전송하게됩니다. 이해하기 더 쉽게 풀면 컴퓨터에 랜선을 연결하거나 무선 인터넷과 연결해 인터넷을 연결하는 행동을 의미하는 층입니다. 당연하지만 예시를 인터넷 연결로 들었을 뿐, 물리적인 행위라면 물리층
에 포함됩니다.
컴퓨터를 사용하다가 인터넷 연결이 끊기면 우리는 랜선을 뺐다 다시 꼽아보거나 모뎀을 확인하는 등의 행위를 하는데, 이것이 물리층
에서 문제 발생함을 인지하고 물리층
의 문제를 해결하는 방식이라고 할 수 있습니다.
네트워크에서 통신을 위해 데이터를 포함한 다양한 정보를 가진 데이터블록을 패킷
이라고 부르는데, 물리층
에서 패킷의 교환은 일어나지 않습니다.
데이터링크층
은 물리층으로부터 송수신되는 데이터의 에러, 흐름, 접근을 제어하고 관리하여 데이터가 안전하게 송수신될 수 있도록 해주는 계층입니다. 에러 제어
, 흐름 제어
, 접근 제어
가 데이터링크층
의 주요한 역할인데 각 제어는 다음과 같은 일을 합니다.
데이터 통신 과정에서 거쳐가게 되는 지점들을 노드
라고 하는데, 데이터링크층
에서는 노드와 노드간의 1:1 연결 통신
을 합니다. 또한 데이터링크층
에서는 패킷을 프레임
이라고 부르게 됩니다.
네트워크층
은 노드를 방문할 때 마다 다음 이동 경로를 찾아주는 역할을 합니다. 이때 네트워크층
은 라우팅
이라는 작업을 하는데, 라우팅
이란 패킷을 최종 수신지까지 안전하고 빠르게 보내는 경로 설정과정을 말합니다. 즉, 라우팅 과정은 통신 과정에서 가장 중요한 작업 중 하나이며, 네트워크층
은 중요한 일을 하고 있는 계층이라고 할 수 있습니다.
우리가 흔히 주소라고 떠올리게 되는 IP 주소가 네트워크 계층에 포함되어 있습니다.
전송층
도 중요한 역할을 담당하고 있습니다. 전송층
은 양 끝단의 사용자들이 신뢰성있는 데이터를 주고받을 수 있게 해 주는 층입니다. 데이터에 대한 신뢰성을 전송층
에서 보장하게 된다면 이후의 상위 계층에서는 따로 신뢰성을 검증하지 않아도 되기 때문에 상위 계층의 부담을 덜 수 있습니다. 전송층
에서 신뢰성 검사를 위해 에러 제어, 흐름 제어, 중복 검사를 수행합니다.
전송층
에서는 데이터 전송 단위를 세그먼트(Sagment)
라고 부릅니다. 전송층
에서 세그먼트 전송을 위해서 포트 번호를 사용합니다.
세션층
은 양 끝단의 응용 프로세스가 통신을 관리하는 방법을 제공하는 층입니다. 전송층
은 양 끝단 통신에 구체적이고 논리적인 설정을 제공한다면, 세션층
은 효율적인 통신을 위한 옵션(추가 설정)을 제공하는 계층입니다.
표현층
은 데이터를 번역해 표현하는 방식을 결정하는 층 입니다. 예를 들어 이미지 파일에는 .jpg, .png 등의 다양한 포맷이 있는데, 이 포맷들을 통일된 형식으로 표현되게 만들어 줍니다. 데이터 형식을 통일시키면 응용층에서 데이터 형식 차이로 인해 발생하는 추가 작업에 대한 부담을 덜어줄 수 있습니다.
표현층
은 데이터 형식 번역 외에도 데이터 압축, 암호화, 복호화 등의 역할도 수행합니다.
응용층
은 사용자가 직접 사용하게 되는 응용 프로그램이 동작하는 계층입니다. OSI 7 Layer에서 제일 상위 계층을 차지 함과 동시에 사용자와 가장 가까이 있는 계층이기도 합니다. 응용층
은 사용자와 응용 프로그램 등의 사이에서 데이터 교환을 수행할 수 있도록 만들어 줍니다.