OSI 7 계층이란?
1984년 국제표준화기구(ISO)에서 개발한 모델로서, 네트워크 프로토콜 디자인과 통신 과정을 7개의 계층으로 구분하여 만든 "표준 규격"이다.
초창기의 네트워크는 각 컴퓨터마다 시스템이 달랐기 때문에 하드웨어와 소프트웨어의 논리적인 변경 없이 통신할 수 있는 표준 모델이 나타나게 되었다.
OSI(Open System Interconnection)은 개방형 시스템으로, 누구나 참조 및 부가적인 추가가 가능하다.
OSI 7 계층이 필요한 이유
계층을 나눈 이유는 통신이 일어나는 과정을 단계별로 파악할 수 있기 때문이다.
흐름을 한눈에 알아보기 쉽고, 사람들이 이해하기 쉽고, 7단계 중 특정한 곳에 이상이 생기면 다른 단계의 장비 및 소프트웨어를 건들지 않고도 이상이 생긴 단계만 고칠 수 있기 때문이다.
PC방에서 롤을 하다가 연결이 끊겼다.
모든 PC가 끊김
라우터의 문제(3 계층 네트워크 계층)이거나 광랜을 제공하는 회사의 회선 문제(1 계층 물리 계층)
내 PC만 끊김
롤 클라이언트에 문제가 있다면 7 계층 애플리케이션 계층에 문제
롤 클라이언트에 문제가 없고, 스위치에 문제가 있으면 2 계층 데이터링크 계층에 문제
가 있다고 판단해 다른 계층에 있는 장비나 소프트웨어를 건드리지 않는 것이다.
OSI 7 계층 단계
1 계층 - 물리 계층 (Physical Layer)
주로 전기적, 기계적, 기능적인 특성을 이용해서 통신 케이블로 데이터를 전송하게 된다.
이 계층에서 사용되는 통신 단위는 비트이며 1과 0으로 나타내어지는, 전기적으로 On, Off 상태를 나타낸다.
데이터를 전달만 할 뿐 전송하려는(또는 받으려는) 데이터가 무엇인지, 어떤 에러가 있는지 등에는 전혀 신경 쓰지 않는다.
오로지 주고받는 기능만 할 뿐이다.
→ 통신 케이블, 리피터, 허브 등이 있다.
2 계층 - 데이터 링크 계층 (DataLink Layer)
물리계층을 통해 송수신되는 정보의 오류와 흐름을 관리하여 안전한 통신의 흐름을 관리한다.
이 계층에서 사용되는 전송 단위는 프레임(Frame)이며 프레임에 물리적 주소(MAC address)를 부여하고 에러검출, 재전송, 흐름제어를 수행한다.
→ 브리지, 스위치, 이더넷 등이 있다. (여기서 MAC 주소를 사용)
3 계층 - 네트워크 계층 (Network Layer)
가장 중요한 기능은 데이터를 목적지까지 가장 안전하고 빠르게 전달하는 기능(라우팅)이다.
이 계층에서 전송되는 단위는 패킷(Packet)으로 라우터(Router)를 통해 경로를 선택하고 주소를 정하고(IP) 경로(Route)에 따라 패킷을 전달한다.
→ 라우터, L3 스위치를 통해 주소 부여(IP), 경로 설정(Route)
4 계층 - 전송 계층 (Transport Layer)
통신을 활성화하기 위한 계층이다. 보통 TCP 프로토콜을 이용하며, 포트를 열여서 응용프로그램들이 전송을 할 수 있게 한다.
만약 데이터가 왔다면 4 계층에서 해당 데이터를 하나로 합쳐서 5 계층에 던져 준다.
전송방식에는 TCP/UDP가 있는데, 상황에 따라 알맞은 전송방식을 선택하여 데이터를 전송한다.
(TCP/UDP에 대해 정리한 포스트 : https://skroy0513.tistory.com/41)
→ 패킷 생성 및 전송
5 계층 - 세션 계층 (Session Layer)
통신 세션을 구성하는 계층으로, 포트(Port) 번호를 기반으로 연결한다.
통신 장치 간의 상호 작용을 설정하고 유지하며 동기화한다.
동시 송수신(Duplex), 반이중(Half-Duplex), 전이중(Full-Duplex) 방식의 통신과 함께 체크 포인팅과 종료, 다시 시작 과정 등을 수행한다.
→ 통신하는 사용자들을 동기화하고 오류복구 명령들을 일괄적으로 다룬다.
6 계층 - 표현 계층 (Presentation Layer)
데이터 표현이 상이한 응용 프로세스의 독립성을 제공하고, 암호화한다.
받은 데이터를 코드 변환, 구문 검색, 인코딩/디코딩 및 암호화, 압축 등의 과정을 통해 올바른 표준 방식으로 변환해 준다.
표현 계층은 코드 간의 번역을 담당하여 사용자 시스템에서 데이터의 형식상 차이를 다루는 부담을 응용 계층으로부터 덜어 준다.
MIME 인코딩이나 암호화 등의 동작이 이 계층에서 이루어진다.
→ 사용자의 명령어를 완성 및 결과 표현. 포장/압축/암호화
7 계층 - 응용 계층 (Application Layer)
사용자와 바로 연결되어 있으며 응용 SW를 도와주는 계층이다.
사용자로부터 정보를 입력받아 하위 계층으로 전달하고 하위 계층에서 전송한 데이터를 사용자에게 전달한다.
파일 전송, DB, 메일 전송 등 여러 가지 응용 서비스를 네트워크에 연결해 주는 역할을 한다.
→ 네트워크 소프트웨어 UI 부분, 사용자의 입출력(I/O) 부분
실전
Q. OSI 7 계층에 대해서 간단하게 설명해 주세요.
A. OSI 7 계층은 네트워크 프로토콜 디자인과 통신 과정을 7개의 계층으로 구분하여 만든 표준 규격입니다. 계층이 나눠져 있으므로 통신이 일어나는 과정을 단계별로 파악할 수 있기 때문에 유지관리가 수월합니다. 또한 설계가 간단해지고, 통신이 일어나는 흐름을 한눈에 알아보기 쉽습니다.
OSI 7 계층의 각 단계는 물리계층부터 응용 계층까지 7 단계로 나뉘어 있고, 1 계층은 물리 계층으로 비트 단위로 데이터를 주고받는 기능을 합니다. 2 계층은 데이터 링크 계층으로 물리 계층으로부터 받은 정보의 오류와 흐름을 관리하여 안전한 정보의 전달을 수행할 수 있도록 도와주는 역할을 합니다. 3 계층은 네트워크 계층으로 데이터를 목적지까지 가장 안전하고 빠르게 전달하는 기능을 합니다. 4 계층은 전송 계층으로 TCP나 UDP 방식을 사용하여 통신을 활성화하기 위한 계층입니다. 5 계층은 세션 계층으로 통신 세션을 구성하고 포트 번호를 기반으로 연결합니다. 6 계층은 표현 계층으로 받은 데이터를 코드 변환, 구문 검색, 인코딩 등의 과정을 통해 올바른 표준 방식으로 변환해 줍니다. 마지막 7 계층은 응용 계층으로 사용자와 직접 소통하며 사용자의 입출력이나 소프트웨어의 UI부분을 말합니다.
참고
https://backendcode.tistory.com/167
'멋진 개발자 > Network' 카테고리의 다른 글
개발자 성장 기록 52 - IPv4, IPv6 (0) | 2024.04.19 |
---|---|
개발자 취준 기록 37 - HTTP 상태 코드 (0) | 2024.04.01 |
개발자 취준 기록 32 - HTTP Method (0) | 2024.03.27 |
[항해 취업코스] 개발자 취준 기록 25 - HTTP & HTTPS (0) | 2024.03.20 |
[항해 취업코스] 개발자 취준 기록 24 - 쿠키와 세션 (0) | 2024.03.19 |