OSI 7계층에 대해서 설명해주세요.
분야: 프론트엔드
OSI 7계층은 국제표준화기구(ISO)에서 제시한 국제 표준 규약으로, 네트워크 통신이 일어나는 과정을 7개의 계층으로 나누어 정의했습니다. 각 계층은 하위 계층의 기능만을 이용하며 상위 계층에게 기능을 제공합니다.
1계층 물리 계층(Physical Layer)은 실제로 데이터를 전송하는 하드웨어적인 부분을 담당합니다. 데이터를 0과 1의 신호로 변환해 전기, 빛, 무선 주파수 등을 통해 전달하는 역할을 합니다. 흔히 볼 수 있는 케이블, 안테나 같은 장비가 물리 계층에서 동작합니다.
2계층 데이터 링크 계층(Data Link Layer)은 신뢰성 있는 전송을 보장하기 위한 계층입니다. 물리 계층에서 전송된 데이터를 프레임 단위로 관리하고, 통신 오류를 감지 및 수정하는 역할을 수행합니다. 데이터 링크 계층에서는 각 장치가 서로를 구별할 수 있도록 MAC 주소를 가지고 통신합니다. 대표적으로 스위치가 이 계층에서 동작합니다.
3계층 네트워크 계층(Network Layer)은 데이터를 목적지까지 정확하게 전달하는 역할을 합니다. 쉽게 말해, 네트워크 상에서 최적의 길을 찾아 패킷을 목적지까지 보내는 기능을 합니다. 여기에는 라우터와 같은 장치나 IP와 같은 프로토콜이 포함됩니다.
4계층 전송 계층(Transport Layer)은 양 끝단의 사용자들이 신뢰성 있는 데이터를 주고 받을 수 있도록 해주는 역할을 합니다. 전송 계층은 오류 검출 및 복구, 흐름 제어, 순서 보장과 같은 일들에 중점을 둡니다. 대표적으로 TCP와 UDP가 전송 계층에 속합니다.
5계층 세션 계층(Session Layer)은 애플리케이션 간의 통신 연결을 설정하고 유지하는 역할을 합니다. 연결이 끊어졌을 때 다시 복구하는 기능도 포함됩니다. 대표적으로 RPC와 NetBIOS가 세션 계층에 속합니다.
6계층 표현 계층(Presentation Layer)은 데이터 표현 방식을 다룹니다. 하위 계층으로부터 온 데이터를 사용자가 이해할 수 있는 형태로 만들기 위해 데이터 형식을 변환합니다. 혹은, 암호화 및 복호화, 압축과 같은 작업을 수행합니다. 예를 들면, MIME 인코딩, ASCII 인코딩 등의 작업이 표현 계층에서 이루어집니다.
7계층 응용 계층(Application Layer)은 사용자와 직접 접하여 네트워크에 접근할 수 있게 해주는 역할을 합니다. 유저가 사용하는 웹 브라우저, 이메일, 메신저 같은 애플리케이션이 이 계층에서 동작합니다. 대표적으로 HTTP, SMTP, FTP 같은 프로토콜이 응용 계층에 포함됩니다.
OSI 7계층의 필요성을 설명해주세요. 🤔
OSI 7계층은 서로 다른 시스템끼리 올바르게 통신할 수 있도록 표준화된 규칙을 제시해줍니다. 더불어, 전체 통신 흐름을 이해하기 용이하게 해주고, 계층을 명확히 나눔으로써 문제가 발생했을 때 원인을 좁히고 해결하는 데 도움을 줍니다.