Doctor Pepper

[모델] OSI 7계층 및 TCP/IP 모델 본문

네트워크/기초 지식

[모델] OSI 7계층 및 TCP/IP 모델

Doctor Pepper 2024. 10. 15. 21:44
728x90

 

 OSI 7계층(Open Systems Interconnection Model)은 네트워크 통신이 어떻게 이루어지는지 체계적으로 설명한 모델로, 국제표준화기구(ISO)에 의해 제정되었다. 이 모델은 네트워크 기능을 7개의 계층으로 나누어 각 계층이 맡은 역할과 책임을 구분하여 네트워크 프로토콜을 설계하고 분석하는 데 도움을 준다. 각 계층은 상호 독립적이지만, 아래 계층의 서비스를 기반으로 동작한다.

ISO Standard 7498

1. OSI 7계층 구조

- 물리 계층(Physical Layer)

 물리 계층은 네트워크의 가장 하위 계층으로, 실제 데이터 전송이 이루어지는 하드웨어적 계층이다. 전기적, 기계적, 절차적 특성을 정의하며, 비트(bit) 단위로 데이터를 전송한다. 주로 케이블, 허브, 리피터 등이 물리 계층 장비에 해당된다.

역할 비트 스트림을 물리 매체(광섬유, 동축 케이블 등)를 통해 전송
이더넷 케이블, 광섬유 케이블

 

이더넷 케이블

 

 

- 데이터 링크 계층(Data Link Layer)

 데이터 링크 계층은 물리 계층에서 전송된 비트들을 프레임(frame)으로 묶고, 오류 제어와 흐름 제어를 담당한다. 통신 중 발생할 수 있는 물리적인 오류를 감지하고 수정하며, 프레임의 순서가 보장되도록 한다. 이 계층은 MAC 주소를 사용하여 장치 간의 통신을 수행한다.

역할 신뢰성 있는 전송 보장, 오류 제어, 흐름 제어
스위치, 브리지, MAC(Media Access Control) 주소

 

 

- 네트워크 계층(Network Layer)

 네트워크 계층은 데이터를 목적지까지 효율적으로 전달하기 위해 경로를 결정하는 역할을 한다. IP 주소를 기반으로 네트워크 간의 라우팅을 수행하며, 패킷(packet) 단위로 데이터를 전송한다.

역할 라우팅, 논리적 주소(IP 주소) 할당 및 관리
라우터, IP(Internet Protocol)

 

 

- 전송 계층(Transport Layer)

 전송 계층은 두 시스템 간의 신뢰성 있는 데이터 전송을 담당한다. 데이터의 분할, 재조립, 오류 복구, 흐름 제어를 수행하며, 전송 방식에 따라 연결형(예: TCP) 또는 비연결형(예: UDP) 통신을 선택할 수 있다.

역할 데이터의 신뢰성 있는 전송, 흐름 제어, 오류 제어
TCP(Transmission Control Protocol), UDP(User Datagram Protocol)

 

- 세션 계층(Session Layer)

 세션 계층은 통신하는 시스템 간의 연결(Session)을 설정, 유지, 종료하는 역할을 한다. 세션 계층은 장치 간의 데이터 교환을 동기화하고 연결 상태를 관리한다.

역할 세션 설정, 관리, 종료, 동기화
NetBIOS, RPC(Remote Procedure Call)

 

- 표현 계층(Presentation Layer)

 표현 계층은 데이터의 형식을 변환하거나 압축 및 암호화하는 역할을 한다. 서로 다른 시스템 간에 데이터를 교환할 때 데이터의 표현 방식이 다를 수 있기 때문에 이를 변환하여 상호 이해가 가능하게 한다.

역할 데이터 변환(인코딩, 디코딩), 압축, 암호화/복호화
JPEG, GIF, TLS(Transport Layer Security)

 

- 응용 계층(Application Layer)

 응용 계층은 사용자가 직접 상호작용하는 최상위 계층으로, 사용자와 네트워크 간의 인터페이스를 제공한다. 웹 브라우저, 이메일 클라이언트 등 다양한 애플리케이션이 이 계층에서 동작한다.

역할 사용자와의 인터페이스 제공, 응용 서비스 제공
HTTP, FTP, SMTP, DNS

 

 

 OSI 7계층 모델은 데이터가 네트워크를 통해 이동할 때, 각 계층마다 특정한 작업이 수행된다는 것을 보여준다. 이 계층 구조 덕분에 네트워크 엔지니어는 문제 발생 시 특정 계층에서 발생한 문제를 식별하고 해결할 수 있다. 또한 계층별로 프로토콜을 모듈화함으로써 새로운 프로토콜이나 기술을 쉽게 적용할 수 있다.

 

2. OSI 7계층인 이유

 OSI 모델이 7계층으로 나뉜 이유는 네트워크 통신의 복잡한 구조를 효과적으로 설명하고, 기능을 적절히 분리하기 위함이다. 7계층으로 설정된 것은 우연이나 임의적인 결정이 아니라, 통신 과정에서 발생하는 주요 기능들을 가장 합리적으로 나눌 수 있는 적절한 수라고 판단했기 때문이다. 그 이상의 계층이나 더 적은 계층으로 나누는 것이 효율적이지 않다.

 

- 7계층의 필요성

 7계층으로 나눈 것은 각 계층이 서로 독립적이면서도 계층 간에 명확한 역할 분담이 가능하도록 한다. 각 계층은 특정한 기능을 수행하며, 아래 계층의 기능을 기반으로 동작한다.

상위 계층 사용자와 직접 상호작용하거나 데이터를 이해 가능한 형식으로 변환
하위 계층 물리적 전성과 데이터 링크, 네트워크 경로 설정 등 기본적인 데이터 전달 기능

 

 계층을 더 추가하거나 줄이는 것은 이러한 역할 분담을 명확하게 하지 못하거나 오히려 중복된 기능을 만들게 될 수 있다.

 

 계층을 7개보다 더 많이 나누게 되면, 너무 세분화되어 각 계층 간의 구분이 모호해지거나 비효율적인 구조가 될 수 있다. 예를 들어, 데이터를 변환하고 압축하는 과정을 표현 계층과 응용 계층에서 적절히 수행하는데, 이를 더 세분화할 경우 통신 프로세스가 지나치게 복잡해지거나 성능이 저하될 위험이 있다. 각 계층은 서로 연관된 기능들을 통합하는 역할도 하기 때문에, 세분화는 그 통합적인 기능을 해칠 수 있다.

복잡성 증가 계층을 추가하면 프로토콜 설계가 더 복잡해지고, 디버깅과 문제 해결 과정에서 어려움이 발생할 수 있음
성능 저하 통신 프로세스가 더 복잡해져 지연 시간 증가 및 시스템 자원을 더 소모할 수 있음

 

 반대로 계층을 7개보다 줄이면, 각 계층이 너무 많은 역할을 담당하게 되어 기능이 중복되거나 혼합될 수 있다. 예를 들어, 전송 계층과 네트워크 계층을 합친다면 오류 제어나 경로 설정 등의 기능이 혼재되어 설계와 관리가 더 어려워진다. 계층 간의 역할 분담이 명확하지 않아, 네트워크의 복잡한 문제를 분석할 때 더 어렵다.

추상화 수준 저하 기능이 덜 세분화되면 특정 문제를 계층별로 구분해 해결하기 어려워짐
효율성 감소 기능이 섞이면 전체 네트워크 구조의 효율성이 떨어지거나 특정 기능이 중복될 가능성이 있음

 

 따라서, 7계층은 각 통신 기능을 적절하게 추상화하고 분리하는 가장 합리적인 기준으로 설정되었다. 각 계층은 구체적인 역할을 맡으며, 상호 의존하지만 서로의 기능에 깊이 개입하지 않는 방식으로 동작한다. 이를 통해 네트워크 프로토콜 설계가 명확하고 구조적이며, 다양한 기술 발전과 변경 사항을 쉽게 반영할 수 있다.

 

3. OSI 7계층과 TCP/IP 모델 비교

 

 OSI 7계층은 매우 구체적이고 계층별로 역할이 세밀하게 나누어져 있지만, 실제로 가장 많이 사용되는 TCP/IP 모델은 4계층 구조로 더 간략화되어 있다. TCP/IP 모델에서는 응용 계층, 전송 계층, 인터넷 계층, 네트워크 액세스 계층으로 나누어져 있어 OSI 7계층의 기능들을 일부 통합한다.

 

- 응용 계층 (Application Layer)

 TCP/IP 모델의 응용 계층은 OSI 모델의 응용 계층, 표현 계층, 세션 계층을 통합한 계층이다. 이 계층은 사용자가 네트워크와 상호작용할 수 있도록 애플리케이션 서비스를 제공한다. 데이터의 형식 변환이나 암호화, 세션 관리 등의 기능을 모두 포함하며, 다양한 응용 프로토콜을 통해 사용자의 요청을 처리한다.

프로토콜 HTTP, FTP, SMTP, DNS, Telnet
세부 설명 OSI 모델에서 세분화된 표현 계층(데이터 변환, 암호화)과 세션 계층(연결 관리)이 TCP/IP 응용 계층으로 통합된 이유는 실제 통신 과정에서 이 기능들이 네트워크 하드웨어나 구조에 의존하지 않고 응용 프로그램 수준에서 충분히 관리 가능함.

 

- 전송 계층(Transport Layer)

 전송 계층은 OSI 모델의 전송 계층과 동일한 기능을 수행한다. 호스트 간의 데이터 전송을 신뢰성 있게 보장하며, 연결형 통신(TCP) 또는 비연결형 통신(UDP)을 선택해 데이터를 전송한다. 데이터의 흐름 제어, 오류 제어, 데이터 분할 및 재조립 등의 기능을 수행한다.

프로토콜 TCP(Transmission Control Protocol), UDP(User Datagram Protocol)
세부 설명 TCP는 신뢰성 있는 데이터 전송을 보장하며, 연결 설정과 종료, 오류 복구, 패킷 재전송 등의 기능을 제공함.
반면, UDP는 빠른 데이터 전송이 중요할 때 사용되며, 신뢰성보다는 속도에 중점을 둠.

 

- 인터넷 계층(Internet Layer)

 TCP/IP의 인터넷 계층은 OSI 모델의 네트워크 계층과 거의 동일한 역할을 한다. 이 계층은 패킷을 목적지까지 전달하기 위해 라우팅을 담당하며, IP 주소를 사용해 패킷의 경로를 설정하고 관리한다. 패킷 전달과 라우팅을 통해 네트워크 간 데이터 전송을 보장한다.

프로토콜 IP(Internet Protocol), ICMP(Internet Control Message Protocol), ARP(Address Resolution Protocol)
세부 설명 인터넷 계층에서 IP 주소는 네트워크 내에서 각 장치를 고유하게 식별하며, 라우터는 이 IP 주소를 기반으로 데이터를 올바른 목적지로 전달함.
IP 프로토콜은 비연결형이며, 데이터의 전송 성공 여부를 보장하지 않지만, 상위 계층(TCP)에서 오류 제어와 신뢰성을 보완함.

 

- 네트워크 액세스 계층(Network Access Layer)

 네트워크 액세스 계층은 OSI 모델의 데이터 링크 계층물리 계층을 통합한 계층이다. 이 계층은 데이터 전송을 위한 물리적인 연결과 네트워크 매체 접근을 처리하며, 네트워크 인터페이스 카드(NIC)를 통해 프레임을 송수신한다. 네트워크 간의 물리적 연결을 설정하고 데이터를 전송하는 기능을 담당한다.

프로토콜 Ethernet, Wi-Fi, PPP(Point-to-Point Protocol)
세부 설명 네트워크 액세스 계층에서는 물리적 장비와 네트워크 매체가 어떻게 데이터를 전송하는지를 다루며, 물리 계층에서 신호를 전송하고 데이터 링크 계층에서 프레임 단위로 데이터를 전송하는 기능을 포함함.

 

 

 TCP/IP 모델과 OSI 7계층 모델은 각기 다른 방식으로 네트워크 통신을 설명하지만, 서로를 보완하며 중요한 역할을 한다. OSI 모델은 통신의 각 단계를 세부적으로 나누어 이해를 돕고, 네트워크 구조의 체계적인 설계를 가능하게 한다. 반면, TCP/IP 모델은 실제 네트워크 환경에서 가장 많이 사용되는 실용적인 모델로, 인터넷을 기반으로 한 다양한 네트워크 시스템에서 효과적으로 작동하고 있다. 두 모델을 함께 이해함으로써 네트워크 통신의 이론적 기초뿐만 아니라 실제 구현 방법에 대한 통찰을 얻을 수 있으며, 이를 바탕으로 보다 효율적이고 신뢰성 있는 네트워크 시스템을 구축할 수 있다.

728x90