OSI 7 계층을 이해하는 것은 네트워크 문제를 파악하고 해결하는 데 매우 중요합니다. 그러나 이 개념은 추상적이므로 초보자들이 이해하기 어렵습니다. 따라서 실제 상황을 예로 들어 설명하겠습니다.
예를 들어, 당신이 친구에게 이메일을 보내려고 합니다. 이메일 클라이언트를 열고, 친구의 이메일 주소와 메시지를 입력한 후
버튼을 클릭합니다. 그런데 아무런 반응이 없습니다. 여기서 OSI 7 계층의 개념을 이해하고 있다면 이런 문제가 어디에서 발생했는지 좀 더 쉽게 파악할 수 있습니다.- 물리 계층: 먼저 컴퓨터가 인터넷에 연결되어 있는지 확인합니다. 인터넷 케이블이 제대로 연결되었는지, Wi-Fi가 작동 중인지 등을 확인합니다.
- 데이터 링크 계층: 다음으로 네트워크 카드가 제대로 작동하는지 확인합니다.
- 네트워크 계층: IP 주소가 올바른지 확인합니다.
- 전송 계층: TCP/UDP 포트 번호와 같은 세부 정보를 검사하여 데이터 전송에 문제가 없는지 확인합니다.
- 세션, 표현, 응용 계층: 마침내 우리의 웹 브라우저나 이메일 클라이언트 같은 응용 프로그램에서 문제가 발생했는 지 여부를 판단할 수 있습니다.
그러므로 OSI 7계층 모델은 복잡한 네트워크 시스템 내에서 일어나는 문제를 구조적이고 체계적으로 접근하게 해주며, 이를 통해 문제 해결을 빠르게 할 수 있도록 돕습니다.
OSI 7계층은 컴퓨터 네트워크에서 데이터가 어떻게 전송되는지를 설명하는 모델입니다. 이 모델은 복잡한 네트워크 통신 과정을 7개의 계층으로 나눠 각각의 역할과 통신 과정을 명확하게 이해할 수 있도록 돕습니다.
OSI 7 계층이란
OSI(Open Systems Interconnection) 7계층은 컴퓨터 네트워크에서 데이터 통신을 체계적으로 이해하고 구성하기 위한 모델입니다. 이 모델은 네트워크 통신 과정을 7개의 계층으로 분할하여 설명하며, 각 계층은 특정한 역할과 책임을 수행합니다. 이 모델은 전 세계적으로 널리 사용되며, 다양한 네트워크 장치와 프로토콜 간의 상호 운용성을 보장하고 네트워크 통신을 효율적으로 지원하는 데 사용됩니다.
OSI 7 계층 모델은 국제 표준화 기구에서 정의하였습니다. ISO는 전 세계적으로 사용되는 다양한 표준을 제정하는 비영리 국제기구 입니다. OSIOpen Systems Interconnection 모델은 1970년대 후반에 개발되어, 1984년에 ISO 7498-1로 발표되었습니다. 이 모델은 네트워크 프로토콜 디자인과 통신을 이해하는 데 중요한 참조 모델이며, 서로 다른 네트워크 시스템 간의 통신을 가능하게 하기 위한 목적으로 만들어졌습니다.
OSI 모델이 계층으로 구분되어 있는 이유는 네트워크 통신 과정을 논리적으로 분해하여 이해하고 관리하기 위함입니다. 각 계층은 특정한 역할을 수행하며, 상위 계층과 하위 계층 간의 인터페이스를 통해 데이터 및 제어 정보를 교환합니다. 이로써 네트워크를 설계하고 구성하는 데 있어서 더욱 효과적으로 작업할 수 있습니다.
OSI 7계층
OSI 7계층 모델은 네트워크 통신을 이해하는 데 도움이 되는 프레임워크입니다. 각 계층은 특정한 기능을 수행하며, 위 아래의 계층과 데이터를 주고 받습니다. OSI 7계층 모델을 이해하고 각 계층의 역할을 파악하는 것은 네트워크 문제를 진단하고 해결하는데 중요한 역할을 합니다.
참고: OSI 7계층은 기본이 되는 내용이지만 개념에 관한 것으로 처음 시작하는 경우라면 실제 어떻게 구현되는지를 이해하는 것이 더 중요하다고 볼 수 있습니다.
1계층: 물리 계층 (Physical Layer)
물리 계층은 네트워크 장비 간의 물리적 연결을 담당합니다. 이 계층은 비트(bit) 단위의 데이터를 전송하며, 전기 신호, 광섬유, 케이블 등과 같은 물리적 매체를 사용합니다. 예를 들어, 컴퓨터와 라우터를 연결하는 케이블은 물리 계층의 영역에 해당합니다.
물리적 매체
1계층에서 가장 중요한 역할 중 하나는 데이터를 전송하는 데 사용되는 물리적인 매체를 선택하는 것입니다. 이러한 매체는 다양한 형태가 있으며, 각각의 장단점이 있습니다. 몇 가지 예로는 전기적인 동축 케이블, 광섬유 케이블, 무선 전파를 이용하는 무선 통신 등이 있습니다. 이러한 매체들은 데이터 전송 속도, 거리, 안정성 등의 측면에서 다양한 요구 사항을 충족시키기 위해 선택됩니다.
비트 전송
물리 계층은 비트(bit) 단위의 데이터를 전송합니다. 이것은 0과 1로 표현되는 디지털 데이터를 물리적인 신호로 변환하는 프로세스를 포함합니다. 예를 들어, 전압의 높낮이나 빛의 강도를 사용하여 0과 1을 나타낼 수 있습니다. 또한, 이 신호를 전송하기 위해 다양한 방식의 인코딩 기술이 사용됩니다.
2계층: 데이터링크 계층 (Data Link Layer)
데이터링크 계층은 네트워크 장비 간의 데이터 전송과 관련된 오류 검출 및 수정을 담당합니다. MAC 주소를 사용하여 로컬 네트워크 내에서 데이터 프레임을 전달하고, 이더넷과 같은 프로토콜을 사용하여 통신합니다. 예를 들어, 여러 디바이스가 공유기와 연결되어 로컬 네트워크에서 데이터를 교환하는 경우 데이터링크 계층이 필요합니다.
프레임(Frame)
데이터링크 계층에서는 데이터를 프레임frame이라고 불리는 작은 단위로 나누어 전송합니다. 이러한 프레임은 일반적으로 몇 백 바이트에서 몇 킬로바이트 정도의 크기를 가지며, 데이터의 시작과 끝을 식별하기 위한 정보를 포함합니다. 각 프레임은 고유한 주소를 가지고 있어 수신 측에서 올바른 장비로 전달됩니다.
MAC 주소
데이터링크 계층에서는 장비를 식별하기 위해 MACMedia Access Control 주소를 사용합니다. MAC 주소는 네트워크 인터페이스 카드NIC에 할당된 고유한 주소로, 전 세계에서 고유하게 부여됩니다. 이 주소를 통해 데이터가 올바른 수신자에게 전달되고 충돌이 방지됩니다.
오류 검출과 수정
데이터링크 계층은 데이터 전송 중 발생할 수 있는 오류를 검출하고 수정하는 역할을 합니다. 이를 위해 프레임에 에러 체크 비트가 포함되어 있어, 수신 측에서 데이터의 무결성을 확인할 수 있습니다. 오류가 발생한 경우, 해당 프레임은 재전송되거나 오류 수정이 시도됩니다.
스위치와 브리지
데이터링크 계층에서는 네트워크 스위치와 브리지와 같은 장비도 작동합니다. 이러한 장비는 데이터 프레임을 필터링하고 전달함으로써 네트워크 트래픽을 관리하고 최적화합니다. 스위치는 주로 로컬 네트워크 내에서 프레임을 전송하며, 브리지는 서로 다른 로컬 네트워크 간에 통신을 중계합니다.
3계층: 네트워크 계층 (Network Layer)
네트워크 계층은 데이터 패킷의 경로를 결정하고 관리합니다. IP 주소를 기반으로 최적의 경로를 설정하며, 라우팅과 서브넷팅을 수행합니다. 이 계층은 데이터를 송수신하는 장치 간의 라우팅 및 패킷 전달을 담당합니다.
라우팅(Routing)
네트워크 계층은 데이터 패킷이 출발지에서 목적지로 전달되는 경로를 결정하는 역할을 합니다. 이를 라우팅이라고 하며, 라우터라는 장비가 이 경로 설정을 수행합니다. 라우터는 패킷의 목적지 IP 주소를 분석하여 최적의 경로를 선택하고 패킷을 다음 라우터나 목적지로 전달합니다. 이렇게 경로가 설정되면 데이터는 목적지에 도달할 수 있습니다.
서브넷팅(Subnetting)
네트워크 계층에서는 IP 주소를 사용하여 네트워크를 서브넷(subnet)으로 분할하는 작업을 수행합니다. 서브넷은 큰 네트워크를 더 작은 네트워크로 나누는 것을 의미하며, 이를 통해 네트워크 관리와 보안을 효율적으로 수행할 수 있습니다. 서브넷팅은 IP 주소를 할당하고 관리하는 중요한 과정 중 하나입니다.
IP 주소
네트워크 계층에서는 IPInternet Protocol 주소를 사용하여 장치를 식별합니다. IP 주소는 네트워크 상에서 각 장치가 고유하게 식별되도록 하는 주소 체계입니다. IPv4와 IPv6가 주로 사용되며, IPv4 주소는 32비트로 표현되고 IPv6 주소는 128비트로 표현됩니다. IP 주소를 사용하여 데이터 패킷을 올바른 목적지로 전달하고, 라우팅 과정에서 중요한 역할을 합니다.
4계층: 전송 계층 (Transport Layer)
전송 계층은 데이터를 신뢰성 있게 전송하고, 데이터 흐름을 제어합니다. 주로 TCP(Transmission Control Protocol)와 UDP(User Datagram Protocol)를 사용하며, TCP는 신뢰성 있는 연결 지향적 통신을 제공하고, UDP는 비연결성 통신을 제공합니다. 이 계층은 서버와 클라이언트 간의 신뢰성 있는 데이터 전송을 보장합니다.
TCP (Transmission Control Protocol)
TCP는 연결 지향적인 통신 프로토콜로, 데이터 전송을 신뢰성 있게 처리합니다. 이를 위해 다음과 같은 기능을 수행합니다.
- 연결 설정(Three-Way Handshake): 데이터를 전송하기 전에 클라이언트와 서버 간에 연결을 설정합니다. 이 과정은 SYN, SYN-ACK, ACK 패킷을 통해 이루어집니다.
- 순서 제어: 데이터 패킷은 순서대로 전송되고 도착하도록 보장됩니다.
- 재전송: 데이터 패킷이 손실되거나 손상되면 재전송되어 데이터의 무결성을 보존합니다.
- 흐름 제어: 수신측의 버퍼 오버플로우를 방지하기 위해 데이터 전송 속도를 조절합니다.
- 연결 종료: 데이터 전송이 완료되면 연결을 종료합니다.
UDP (User Datagram Protocol)
UDP는 비연결성 통신 프로토콜로, 데이터 전송을 신뢰성 있게 처리하지 않습니다. 이를 통해 다음과 같은 특징을 가집니다.
- 연결 설정 과정이 없으며 데이터를 즉시 전송합니다.
- 데이터 패킷은 순서대로 도착하지 않을 수 있으며, 중복되거나 손상될 수 있습니다.
- TCP보다 빠른 속도로 데이터를 전송할 수 있지만, 신뢰성 있는 통신이 요구되지 않을 때 사용됩니다.
데이터 흐름 제어
전송 계층에서는 데이터의 흐름을 제어하여 네트워크 혼잡을 방지하고 수신측의 버퍼 오버플로우를 예방합니다. 이를 통해 네트워크에서 안정적인 데이터 전송이 이루어집니다. 흐름 제어는 TCP에서 주로 사용되며, 수신측에서 발송측으로의 승인을 통해 데이터의 송수신 속도를 조절합니다.
5계층: 세션 계층 (Session Layer)
세션 계층은 컴퓨터 간의 대화 관리와 세션 설정, 종료 등의 작업을 담당합니다. 예를 들어, 웹 브라우저와 웹 서버 사이의 세션을 설정하고 유지하는 작업은 세션 계층에서 이루어집니다. 이 계층은 데이터의 시작과 종료를 관리하며 통신을 유지합니다.
대화 관리
세션 계층은 통신 중인 컴퓨터 간에 대화를 관리합니다. 이것은 데이터가 어떤 순서로 교환되고 어떤 프로세스로 처리되는지를 조절하는 역할을 합니다. 대화 관리는 통신의 원활한 진행을 보장하며, 데이터가 손실되거나 중복되지 않도록 합니다.
통신 세션의 유지
세션 계층은 통신 세션을 유지합니다. 이것은 데이터를 송수신하는 동안 세션의 지속성을 보장합니다. 예를 들어, 웹 브라우저가 웹 서버에 연결한 후 여러 웹 페이지를 요청하면, 세션 계층은 이러한 요청과 응답을 관리하여 사용자가 웹 페이지를 정상적으로 볼 수 있도록 합니다.
에러 복구
세션 계층은 데이터 전송 중에 발생할 수 있는 에러를 복구합니다. 데이터가 손실되거나 손상될 경우, 세션 계층은 이를 감지하고 필요한 조치를 취하여 데이터의 무결성을 보존합니다.
6계층: 표현 계층 (Presentation Layer)
표현 계층은 데이터의 형식 변환과 암호화를 담당합니다. 데이터를 네트워크에서 사용 가능한 형식으로 변환하고, 암호화하여 보안을 강화합니다. 예를 들어, 이미지나 텍스트 데이터를 네트워크로 전송하기 위해 데이터를 압축하고, 이미지를 JPEG 형식으로 변환하는 작업은 표현 계층에서 이루어집니다.
데이터 형식 변환
표현 계층은 데이터를 송신자와 수신자 간에 호환 가능한 형식으로 변환합니다. 이것은 데이터의 표현 방식, 문자 인코딩, 데이터 압축 등을 포함합니다. 예를 들어, 텍스트 데이터는 다양한 문자 인코딩 방식(UTF-8, ASCII 등)으로 변환될 수 있으며, 이미지는 다른 이미지 형식(JPEG, PNG 등)으로 변환될 수 있습니다. 이렇게 데이터 형식을 변환함으로써 다른 시스템 간에 데이터를 교환하는 데 어려움이 없게 됩니다.
데이터 압축
표현 계층은 데이터를 압축하여 전송 효율을 높입니다. 데이터를 압축하면 전송 대역폭을 절약하고 전송 시간을 단축할 수 있습니다. 예를 들어, 이미지나 비디오 파일은 압축하여 더 작은 파일 크기로 전송될 수 있으며, 이는 빠른 데이터 전송에 도움이 됩니다.
데이터 암호화
표현 계층은 데이터의 보안을 강화하기 위해 암호화를 수행합니다. 암호화는 데이터를 해독할 수 없는 형태로 변환하여 외부의 무단 접근을 방지합니다. 이것은 민감한 정보를 안전하게 전송하고 저장하기 위해 중요한 역할을 합니다. 예를 들어, 웹 브라우저가 HTTPS 프로토콜을 사용하여 웹 사이트와 통신할 때 데이터는 암호화되어 전송됩니다.
7계층: 응용 계층 (Application Layer)
응용 계층은 사용자가 네트워크에 접근할 수 있게 해주는 애플리케이션과 서비스를 제공합니다. 웹 브라우저, 이메일 클라이언트, 파일 전송 프로그램 등이 이 계층에 속하며, 사용자와 네트워크 간의 상호 작용을 가능하게 합니다.
애플리케이션과 서비스
응용 계층은 다양한 애플리케이션 및 서비스를 포함합니다. 웹 브라우저, 이메일 클라이언트, 파일 전송 프로그램, 소셜 미디어 애플리케이션, 온라인 게임, 비디오 스트리밍 서비스 등이 여기에 속합니다. 이러한 애플리케이션과 서비스는 사용자에게 네트워크를 통해 다양한 기능과 정보에 액세스할 수 있는 방법을 제공합니다.
사용자와의 상호 작용
응용 계층은 사용자와 네트워크 간의 다양한 상호 작용을 지원합니다. 웹 브라우저를 통해 웹 페이지를 검색하고 보는 것부터 이메일을 보내고 받는 것, 파일을 업로드하고 다운로드하는 것, 온라인 게임을 플레이하고 소셜 미디어에서 소통하는 것까지 다양한 활동이 여기에 포함됩니다. 응용 계층은 사용자가 이러한 활동을 편리하게 수행할 수 있도록 도와줍니다.
표준 프로토콜
응용 계층에서는 표준 프로토콜과 통신 규약을 사용하여 다양한 애플리케이션과 서비스가 네트워크를 효율적으로 활용할 수 있도록 합니다. 예를 들어, HTTP(하이퍼텍스트 전송 프로토콜)는 웹 브라우징을 위한 표준 프로토콜로 사용되며, SMTP(간단한 메일 전송 프로토콜)는 이메일 통신을 위한 표준 프로토콜로 사용됩니다. 이러한 표준화된 프로토콜은 서로 다른 애플리케이션 간에 데이터 교환을 가능하게 합니다.
사용자 경험 개선
응용 계층은 사용자 경험을 개선하기 위한 다양한 기능을 제공합니다. 예를 들어, 웹 브라우저는 사용자가 웹 페이지를 시각적으로 탐색하고 하이퍼링크를 클릭하여 다른 페이지로 이동할 수 있는 환경을 제공합니다. 이메일 클라이언트는 사용자가 편리하게 이메일을 작성하고 관리할 수 있도록 다양한 기능을 제공합니다. 이렇게 사용자 중심의 기능과 인터페이스를 통해 사용자가 네트워크를 쉽게 활용할 수 있도록 합니다.
계층 별 프로토콜(참고)
이해를 돕기 위해 OSI 모델의 각 레벨에서 일반적으로 사용되는 프로토콜을 나열합니다. 프로토콜 더 알아보기
OSI 계층 | 이름 | 주요 프로토콜 |
---|---|---|
7 | 응용 계층 (Application Layer) | HTTP, FTP, SMTP, DNS, SNMP |
6 | 표현 계층 (Presentation Layer) | SSL, TLS |
5 | 세션 계층 (Session Layer) | NetBIOS, PPTP |
4 | 전송 계층 (Transport Layer) | TCP, UDP |
3 | 네트워크 계층 (Network Layer) | IP, ICMP, ARP,RIP, OSPF |
2 | 데이터 링크 계층(Data Link Layer) | Ethernet(IEEE 802.3), PPP |
1 | 물리계 층(Physical Layer) | Ethernet(IEEE 802.3), USB |