안녕하세요. 많은 분들이 의외로 OSI 7계층에 대해 이해를 못하고 있는 것을 확인하게 되었고, 때 마침 제 블로그엔 OSI 7계층에 대해 다루는 글이 없어 (있는 줄 알았습니다.) 겸사겸사 개발 커뮤니티나, 후배들에게 OSI7계층에 대해 설명한 걸 포스팅하면 좋을 것 같아 이번 기회에 초보자 입장에서 쉽게 게 설명해볼까 합니다.
저는 무언가를 설명할 때 비유로 설명하는 데 입문자 입장에서 봤을 때 쉽게 이해되도록 쓴 것이기 때문에 혹여나 비유가 적절하지 않거나 설명이 부적절한 경우 댓글로 말씀해주시면 감사하겠습니다.
OSI 7계층?
OSI (Open Systems Interconnection) 7계층 모델은 네트워크 통신을 계층별로 나누어 설명하는 모델입니다.
이를 통해 복잡한 네트워크 통신 과정을 단순하게 이해하고 관리할 수 있게 되는 것이죠.
각 계층에는 아래의 계층으로 나뉘고 있습니다.
- 물리 계층
- 데이터 링크 계층
- 네트워크 계층
- 전송 계층
- 표현 계층
- 응용 계층
이 부분을 자주 까먹어서 머릿속에 외우실 때 어려운 분들이 많아 이것을 외우기 위한 많은?방법들이 있더라구요.
앞부분만 따와서 물데네전 세표응~ 이런식으로 외우는 분도 있고, 아래 그림으로 외우는 분도 있더라구요.
물론 외우기전에 이해 하시는 게 가장 중요합니다. 그래서 각 계층들을 쉽게 쉽게 설명해보도록 하겠습니다.
1. 물리 계층
물리 계층은 편지라고 생각해 볼 수 있습니다.
편지를 쓰려면 사람이 직접 볼펜을 들고 종이에 글을 써야하죠?
마찬가지로 컴퓨터도 누군가에게 메세지(편지)를 보내려면 물리적으로(또는 기계적으로) 메세지를 만들어야 하는데
컴퓨터는 기계어로 전기 신호를 사용해 편지를 쓰는데 이처럼 기계적, 물리적, 전기적인 방식으로 데이터를 전송하는 것이 물리 계층입니다.
2. 데이터 링크 계층
데이터 링크 계층은 우체부 아저씨로 생각하시면 됩니다.
고생이 많으신 우체부 아저시는 물리 계층에서 만든 데이터를 정해진 목적지에 배달해줍니다.
우리가 편지를 보내려고 할 때 우리 혼자만 보내는 게 아니라 여러명이서 많은 편지를 보내기 때문에 우체국 아저씨는 자신이 들고 갈 수 있는 편지의 양을 적당히 나누어 배달해주죠.
그리고 잘못된 주소로 간 편지를 되돌려 보내기도 하고, 우리가 보내는 편지를 지체없이 늦지 않게 전달해줍니다.
이처럼 데이터 링크 계층은 물리 계층에서 만든 데이터를 전송하고, 데이터(편지)가 전송, 운반, 전달되는 과정과 그에 관련된 각종 제어를 담당합니다.
3. 네트워크 계층
네트워크 계층은 우체국이라고 생각하면 됩니다.
우리의 편지(데이터)는 우편배달부가 중간에서 전달해주지만 인천의 배달부가 부산의 어느 동네까지 직접 가지는 않죠.
이 때 우체국은 인천의 배달부가 편지를 들고 부산까지 가게 하지 않고, 부산으로 갈 편지들을 부산에 있는 우체국으로 보내버리게 됩니다.
이 때, 편지가 어떤 우체국을 거쳐 갈 지, 어떻게 거쳐가면 빠를 지 등을 결정하게 되는데 이와 같이 경로를 배정하고, 주소를 설정하고,해지하는 일을 하는 것이 네트워크 계층입니다.
4. 전송 계층
전송 계층은 우체국의 고위 관리자라고 생각하시면 됩니다. 이 관리자는 편지가 올바르게 배달되도록 큰 그림을 보고 관리하게 됩니다.
편지가 손상되지 않고 정확하게 전달되도록 확인하고, 만약 문제가 발생하면 다시 보내는 등의 책임을 지죠.
또한, 만약 편지가 너무 많아서 우체국이 과부하될 위험이 있으면 조정해줍니다.
이처럼 전송 계층은 데이터의 신뢰성 있는 전송을 보장하고, 오류 검출 및 복구, 흐름 제어 등을 담당합니다.
5. 세션 계층
세션 계층은 편지 작성자와 수신자 사이의 대화라고 생각해볼 수 있어요.
예를 들어, 편지를 주고받기 전에 편지 작성자와 수신자는 서로 "안녕하세요"와 "네, 안녕하세요" 같은 인사를 나누는 것처럼 말이죠.
세션 계층은 이렇게 두 컴퓨터 간의 통신이 시작되고 유지되는 동안, 대화를 관리합니다.
물론 대화 중간에 끊기면 다시 연결하는 역할도 하죠.
여기서 대화란 두 컴퓨터 간의 통신이 원활하게 이루어지도록 연결을 설정하고 유지하며, 필요한 경우 이를 종료하는 과정을 의미합니다.
이처럼 세션 계층에서는 통신을 시작하고 유지하며 종료하는 과정을 관리합니다.
세션은 두 장치나 응용 프로그램 간의 통신이 이루어지는 기간 동안 지속되는 연결을 의미합니다.
6. 표현 계층
표현 계층은 편지의 언어 번역가라고 생각해보세요. 편지를 보내는 사람이 영어로 썼는데 수신자가 영어를 이해하지 못하면 소용이 없겠죠? 그래서 이 계층에서는 편지 내용을 수신자가 이해할 수 있는 언어로 번역해줍니다.
이 계층은 데이터를 텍스트에서 이미지로 변환하는 등의 데이터의 형식 변환, 데이터를 안전하게 보호하기 위한 암호화, 압축 등을 담당합니다.
이를 통해 서로 다른 시스템 간에 데이터를 주고받을 때 발생할 수 있는 문제를 해결합니다.
7. 응용 계층
마지막으로, 응용 계층은 편지의 최종 목적지라고 생각하면 됩니다. 수신자가 편지를 받아서 읽는 순간을 떠올려보시죠.
이처럼 응용 계층은 사용자가 실제로 서비스를 이용하는 계층입니다.
이 계층에서 사용자는 웹 브라우저로 웹사이트를 방문하거나 이메일 클라이언트를 통해 이메일을 주고받는 등 필요한 작업을 수행합니다. 이러한 작업들을 가능하게 하는 것이 바로 응용 계층의 역할입니다.
위 부분을 실제 쓰이는 곳과 포함해서 요약해보면 아래와 같습니다.
- 물리 계층: 편지를 직접 쓰는 행위 (기계적, 물리적, 전기적 접면)
- 이더넷 케이블, 광섬유 케이블, 무선 신호 (Wi-Fi)
- 데이터 링크 계층: 편지를 배송해주는 우편 배달부
- 이더넷 (Ethernet), MAC 주소, 스위치
- 네트워크 계층: 편지를 분류하고 경로를 결정하는 우체국
- IP (인터넷 프로토콜), 라우터
- 전송 계층: 편지 배달의 신뢰성과 효율성을 관리하는 우체국 관리자
- TCP (Transmission Control Protocol), UDP (User Datagram Protocol)
- 세션 계층: 편지 작성자와 수신자 사이의 대화 (통신의 시작, 유지, 재연결)
- 방화벽 (Firewall), VPN 게이트웨이 (VPN Gateway), 프록시 서버 (Proxy Server)
- 표현 계층: 편지 내용을 번역하는 번역가 (형식 변환, 암호화, 압축)
- SSL/TLS (Secure Sockets Layer/Transport Layer Security), JPEG, MPEG, GIF
- 응용 계층: 편지를 받아서 읽는 수신자 (사용자와 직접 상호작용)
- HTTP (HyperText Transfer Protocol), FTP (File Transfer Protocol), SMTP (Simple Mail Transfer Protocol), DNS (Domain Name System)
지금까지 OSI 7계층에 대해 포스팅 해보았습니다.
OSI 7계층에 대해 이해하시는 데 도움이 되셨길 바랍니다.
'Networking' 카테고리의 다른 글
[바미] HTTP status code (0) | 2023.01.05 |
---|---|
[바미] 쿠키, 세션이란? (0) | 2022.12.26 |
[바미] 3 - Way Handshake 와 4 - Way Handshake를 알아봅시다. (2) | 2022.11.08 |
[바미] RTMP(Real Time Messge Protocol)란? (0) | 2022.10.30 |
[바미] WebRTC, STUN서버, TURN서버에 대해 (0) | 2022.10.27 |