네트워크에서 빠질 수 없는 개념인 OSI 7계층을 알아봅시다. 이 개념을 이해하면 네트워크가 어떻게 동작하는지 더 쉽게 파악할 수 있어요. OSI 7계층은 네트워크 통신 과정을 7단계로 나눈 국제 표준화 기구(ISO)에서 정의한 네트워크 표준 모델입니다.
OSI 7계층 은 네트워크 통신을 각 기능별로 구분해서 체계적으로 이해할 수 있도록 도와줘요. 각 계층은 독립적이며 하위 계층의 기능을 이용해 상위 계층에 서비스를 제공하는 구조를 가지고 있습니다.
OSI 7계층의 역할
1. 물리 계층 (Physical Layer)
이 계층은 데이터를 0과 1의 전기적 신호로 변환하여 물리적으로 전송하는 역할을 해요. 우리가 인터넷을 사용할 때 쓰는 LAN 케이블, 광케이블, Wi-Fi 신호 같은 물리적인 요소들이 포함됩니다. 전송 단위는 비트(Bit)이고 통신 케이블, 리피터, 허브 같은 장비가 이 계층에서 동작해요.
2. 데이터 링크 계층 (Data Link Layer)
같은 네트워크 안에 있는 장비들이 데이터를 주고받을 수 있도록 MAC 주소를 기반으로 통신하는 역할을 해요. 또 오류 검출과 흐름 제어 기능을 담당해서 데이터가 제대로 전달되었는지 확인해요. 프레임(Frame) 단위로 전송되며 스위치와 브리지 같은 장비가 이 계층에서 동작합니다.
3. 네트워크 계층 (Network Layer)
이 계층에서는 서로 다른 네트워크 간에 데이터를 전달하는 역할을 해요. 우리가 인터넷을 사용할 때 라우팅 기능을 통해 데이터를 목적지까지 가장 빠르고 안전하게 보내요. IP 주소를 사용하며, 패킷(Packet) 단위로 데이터를 전송하고, 라우터가 이 계층에서 중요한 역할을 하죠.
4. 전송 계층 (Transport Layer)
데이터가 정확하게 도착할 수 있도록 도와주는 계층이에요. 대표적으로 TCP와 UDP 프로토콜이 있는데, TCP는 데이터를 순서대로 정확하게 전달하는 반면, UDP는 빠른 전송을 우선하기 때문에 일부 데이터가 손실될 수도 있어요. 포트 번호를 사용하며, 오류 제어와 흐름 제어 기능도 포함돼요. 참고로 정보처리기사에 많이 나오는 부분입니다.
5. 세션 계층 (Session Layer)
서버와 클라이언트가 통신을 시작하고 종료하는 과정을 관리하는 역할을 해요. 우리가 로그인하고 일정 시간 동안 아무 행동도 하지 않으면 자동으로 로그아웃되는 기능도 이 계층에서 담당해요. API와 소켓(Socket) 기술이 여기에 해당됩니다.
6. 표현 계층 (Presentation Layer)
데이터의 표현 방식을 결정하는 계층이에요. 암호화, 복호화, 압축, 인코딩 등의 작업을 수행해요. 우리가 웹사이트에 접속할 때 HTTPS를 사용하면 데이터가 암호화되는데 이 과정이 바로 표현 계층에서 이루어져요. JPEG, MPEG, GIF, ASCII 같은 형식 변환 및 압축 기능도 이 계층에서 처리합니다.
7. 응용 계층 (Application Layer)
사용자가 직접 접하는 애플리케이션이 속한 계층이에요. 우리가 흔히 사용하는 웹 브라우저 접속, 이메일 클라이언트, 파일 전송 프로그램 등이 여기에 해당돼요. HTTP, FTP, SMTP, POP3, IMAP, Telnet 같은 프로토콜이 이 계층에서 동작해요.
OSI 모델의 통신 과정
데이터가 전송될 때, 응용 계층에서 시작하여 물리 계층까지 내려가면서 각 계층에서 헤더가 추가돼요. 반대로 수신 측에서는 물리 계층부터 응용 계층까지 역순으로 헤더를 분석하여 데이터를 처리해요. 이렇게 계층별 역할이 구분되면서 네트워크 통신이 이뤄져요.
이 과정은 캡슐화(Encapsulation)와 역캡슐화(Decapsulation)로 나눌 수 있습니다.
송신측 통신 과정 (캡슐화)
송신측에서는 상위 계층에서 하위 계층으로 데이터가 전달되며 각 계층마다 헤더가 추가되는 캡슐화 과정이 일어납니다.
- 응용 계층: 사용자 데이터 생성
- 표현 계층: 데이터 암호화, 압축 등 수행
- 세션 계층: 세션 정보 추가
- 전송 계층: TCP/UDP 헤더 추가 (세그먼트 생성)
- 네트워크 계층: IP 헤더 추가 (패킷 생성)
- 데이터 링크 계층: MAC 주소 등 프레임 헤더와 트레일러 추가 (프레임 생성)
- 물리 계층: 비트열을 전기 신호로 변환하여 전송
수신측 통신 과정 (역캡슐화)
다양한 노드를 타고 수신측에 도달하면 하위 계층에서 상위 계층으로 데이터가 전달되며, 각 계층마다 헤더(또는 트레일러)를 제거하는 역캡슐화 과정이 일어납니다.
- 물리 계층: 전기 신호를 비트열로 변환
- 데이터 링크 계층: 프레임 헤더와 트레일러 제거, 오류 검사
- 네트워크 계층: IP 헤더 제거, 라우팅 정보 확인
- 전송 계층: TCP/UDP 헤더 제거, 포트 정보 확인
- 세션 계층: 세션 정보 확인
- 표현 계층: 데이터 복호화, 압축 해제 등 수행
- 응용 계층: 최종 사용자 데이터 수신 및 처리
PDU (Protocol Data Unit)은 각 계층에서의 데이터 단위를 나타냅니다.
- 응용, 표현, 세션 계층: 데이터
- 전송 계층: 세그먼트
- 네트워크 계층: 패킷
- 데이터 링크 계층: 프레임
- 물리 계층: 비트
각 계층은 독립적으로 동작합니다. 그리고 다른 계층의 변경에 영향을 받지 않아요. 그리고 각 계층에서 추가되는 헤더에는 해당 계층의 프로토콜 정보가 포함되며 송신측과 수신측은 동일한 OSI 계층 구조를 가져서 양방향 통신이 가능합니다.
OSI 모델과 TCP/IP 모델 비교
실무에서는 OSI 7계층보다는 TCP/IP 모델이 더 많이 사용돼요. TCP/IP 모델은 OSI 7계층을 4계층으로 단순화한 형태입니다.
- 네트워크 액세스 계층 (OSI 1-2계층)
- 인터넷 계층 (OSI 3계층)
- 전송 계층 (OSI 4계층)
- 응용 계층 (OSI 5-7계층)
OSI 모델은 네트워크를 체계적으로 이해하는 데 유용한 개념이고 TCP/IP 모델은 실제 인터넷 환경에서 더 많이 사용되는 모델입니다.
OSI 모델에서는 각 계층의 역할이 명확히 분리되어 있으며 프로토콜에 독립적인 특징을 가집니다. 반면 TCP/IP 모델은 OSI의 상위 3계층을 하나의 응용 계층으로 통합하여 실용성을 강조하며 TCP와 IP 같은 특정 프로토콜을 기반으로 동작합니다. OSI 모델은 ISO에서 개발한 반면 TCP/IP 모델은 미국 국방부에서 개발되었습니다.
TCP/IP 모델은 상대적으로 큰 헤더 크기(20바이트)를 가지며 OSI 모델의 헤더 크기는 상대적으로 작습니다(5바이트) 접근 방식에서도 차이가 있는데 OSI 모델은 수직적 접근 방식을 따르는 반면, TCP/IP 모델은 수평적 접근 방식을 따릅니다. OSI 모델은 단계별로 차근차근 내려가는 계단식 구조라면 TCP/IP 모델은 위의 사진처럼 일부 계층을 합쳐 좀 더 직관적으로 처리하는 구조라고 볼 수 있어요.
주요 차이점
1. 계층 구조
OSI 모델은 7계층으로 세분화하여 각 계층의 역할을 명확히 정의합니다. TCP/IP 모델은 4계층으로 단순화하여 실용성을 강조하며, OSI의 상위 3계층(세션, 표현, 응용)을 하나의 응용 계층으로 합칩니다.
2. 목적과 활용
OSI는 이론적인 네트워크 설계를 위해 만들어졌으며 주로 교육 및 설계 참고용으로 사용됩니다. 반면, TCP/IP는 인터넷 통신을 기반으로 한 실질적인 구현 모델로 오늘날 대부분의 네트워크에서 실제 사용됩니다.
3. 프로토콜
OSI 모델은 프로토콜에 독립적이며 다양한 프로토콜을 지원합니다. 반면, TCP/IP 모델은 TCP와 IP 같은 특정 프로토콜을 기반으로 설계되었습니다.
4. 실제 환경 적합성
OSI 모델은 이론적인 접근이 강하며, 실제 구현 사례가 많지 않습니다. 반면 TCP/IP 모델은 인터넷 환경에 최적화되어 널리 사용되고 있습니다.
결론
네트워크의 핵심 개념인 OSI 7계층을 정리해 봤습니다. 완벽하게 정리하고 싶었는데 도움이 되셨으면 좋겠네요. 처음 실무에서 L4 스위치, L7 스위치, ALB, ELB 등 실제로 접해보니 OSI7계층 개념이 얼마나 중요한지 깨달았습니다. 인프라 관련 엔지니어라면 필수로 알아야할 것 같네요. 자료를 리서치하고 취합하고 내용을 정리하다보니 놓치거나 틀린 점이 있다면 댓글 부탁드립니다.
**참고자료**
https://medium.com/@chiraggandhi70726/the-osi-model-e86610cb6c0d
https://westahn.com/osi%EB%AA%A8%EB%8D%B8/
'네트워크' 카테고리의 다른 글
[네트워크] 쉽게 이해하는 TCP/IP 4계층 (0) | 2024.06.02 |
---|---|
HTTP 강의 정리 [ HTTP 헤더 정리 ] (0) | 2021.07.07 |