OSI 7계층

김윤성·2025년 12월 15일

정보보안 공부

목록 보기
1/14
post-thumbnail

1. 미리 알아두면 좋을 내용

  • 네트워크란 : 컴퓨터나 디바이스들이 리소스나 데이터를 주고받기위해 유선이나 무선으로 연결된 통신
  • 네트워크는 패킷교환 방식을 사용한다
  • 네트워크 구성요소
구성 요소역할
호스트(Host)데이터를 주고받는 주체 (예: PC, 스마트폰, 서버 등)
전송 매체데이터를 전달하는 경로 (예: LAN 케이블, 광케이블, 무선 신호 등)
네트워크 장비데이터를 중계·관리 (허브:복제, 스위치:mac, 라우터:ip 등)
프로토콜(Protocol)통신 규칙 (예: TCP/IP, HTTP 등)
  • 네트워크 종류
구분설명예시
LAN (Local Area Network)가까운 거리의 네트워크집, 회사 내부
WAN (Wide Area Network)먼 거리의 네트워크인터넷, 통신사망
WLAN (Wireless LAN)무선 네트워크Wi-Fi

2. OSI란

  • OSI는 Open Systems Interconnection Reference Model의 약자이다.
  • 국제표준화기구 ISO에서 개발한 네트워크 표준 모델로, 네트워크 통신이 일어나는 과정을 1계층(물리 계층) ~ 7계층(응용 계층) 으로 나누어 총 7단계로 정의한 것이다. 그래서 이를 OSI 7계층이라고 부른다.
  • OSI 모델은 컴퓨터 네트워킹의 범용 언어로 볼 수 있으며, 7개의 추상적 계층에 단계적으로 스택을 쌓는 캡슐화 형식을 가진다. 이 구조에서, 각 계층을 지날 때마다 각 계층에서 Header가 붙게 된다.
  • OSI 7계층은 한 방향으로만 동작하는 것이 아니라, 송신과 수신이 모두 이루어지는 양방향 구조이다.

3. 왜 이런 모델을 만들었을까

(1)나눈 이유(장점)

  • 표준화 : 국제 표준을 만들어 서로 다른 회사의 장비와 시스템 사이에서도 호환성을 높이고 공통된 기준을 만든다.
  • 모듈화 : 네트워크 통신 과정을 계층별로 나누면 흐름을 한눈에 파악하기 쉽고, 문제가 발생했을 때 전체를 다 뒤지는 것이 아니라 어느 계층에서 문제가 생겼는지 나눠서 진단할 수 있어 시간을 덜 쓰고 효율적으로 해결할 수 있다.

(2)예를 들어 이해

예를들어 실제로 최근에 인터넷 속도를 측정해 보았는데 기가요금제를 사용하는데 100mbps 밖에 안나왔고, 이문제를 해결하기위해 계층적 구조를 활용해서 개선해야될 부분을 찾고 빠르게 해결한 경험이 있다

속도측정사이트 사용→네트워크 설정 확인→케이블확인→방포트 확인→집 분전함 확인

이처럼 위에 상위계층부터 하위계층으로 단계적으로 내려가며 점검하며 기사님을 부를지않고도 직접 해결할수 있었다


4. OSI 7계층 각 계층별 자세한 특징

(1)7계층 - 응용 계층(Application Layer)-L7

  • 사용자와 가장 가까운 계층으로, 브라우저나 메신저 같은 응용 서비스나 프로세스가 동작하면서 네트워크 서비스를 사용하는 계층이다. 사용자가 쓰는 응용 프로그램의 화면, 입력 등을 네트워크 통신과 연결해 주는 역할을 한다.
  • 즉, 쉽게 말하면 브라우저, 메신저 앱, 게임과 같은 응용 프로그램이 네트워크와 상호작용하는 단계이다.
  • 7계층은 서비스 목적에 맞게 HTTP, FTP, SSH, SMTP, DNS 등 응용 계층 프로토콜을 선택하거나 이용하는 단계이다
  • 상위 계층(5~7계층) 장비를 개념적으로 게이트웨이(Gateway) 라고 부르기도 하며, 이 계층의 데이터 단위(PDU)는 데이터(Data) 로 본다.
  • 예를 들면, 크롬 브라우저에서 naver.com을 입력하면 내 컴퓨터의 브라우저는 내가 입력한 도메인 정보를 HTTP 프로토콜 형식에 맞는 HTTP 요청 메시지로 만들고, 이를 아래 계층으로 전달한다.
  • 비유 : 우편을 보내기 위해 편지지에 편지를 준비한다
  • 요약 : 웹접속, 파일전송, 원격접속같은 실제 서비스와 맞는 HTTP, FTP, SSH등의 프로토콜을 결정하는 단계

(2)6계층 - 표현 계층(Presentation Layer)-L6

  • 데이터를 변환(인코딩/디코딩), 압축/압축 해제, 암호화/복호화 하는 역할을 한다.
  • 통신하는 두 디바이스가 서로 다른 형식으로 데이터를 주고받는다면 문자 인코딩(EUC-KR, UTF-8 등)이나 데이터 형식을 맞추기 위해 인코딩/디코딩을 수행해 응용 계층이 이해할 수 있는 형태로 변환한다.
  • 보안을 위해 데이터를 암호화하거나, 받은 데이터를 복호화해서 응용 계층이 이해할 수 있게 만든다.
  • 통신의 효율성을 높이기 위해 데이터를 압축하거나, 반대로 압축을 푸는 작업도 이 계층에서 이뤄진다.
  • 예를 들면, 7계층(응용 계층)에서 받은 데이터를 SSL/TLS(예: HTTPS)로 암호화하고, 필요하다면 인코딩이나 압축을 적용한 뒤 아래 계층으로 넘기는 과정을 표현 계층의 역할로 볼 수 있다.
  • 비유 : 준비한 편지지에 상대방이 알수있는 언어와 내용으로 글을쓴다
  • 요약 : 데이터를 변환(인코딩/디코딩), 압축/압축 해제, 암호화/복호화 하는 단계

(3)5계층 - 세션 계층(Session Layer)-L5

  • 사실 세션 계층이 제일 감이 안 잡힌다.
  • 세션 계층은 간단하게 말하면, 6계층까지 만들어진 데이터들이 오가는 대화의 통로를 만들고 관리하는 계층이다.
  • 이런 통로를 세션이라고 하고, 그 세션을 만들고(설정), 유지하고, 종료하는 역할을 한다. 세션은 TCP/IP 기반으로 만들어지며, SYN이라는 동기화 지점을 만들어서 중간에 세션이 끊기거나 오류가 생겼을 때 동기화 지점에서 복구한다.
  • 그래서 사실 7계층만 놓고 볼 때는, 다른 계층을 거쳐 갈 때 "세션1이야, 세션2야" 하는 번호를 붙이는 것과 같은 역할을 하고, 실제 동작은 서로 다른 5계층끼리 네트워크 통신을 한다라고 보여진다.
  • 세션 계층은 우리가 웹에서 로그인 정보를 기억할 때 사용하는 세션 방식과는 조금 다르지만, 비슷하게 구역을 가진다고 생각하면 좋을 것 같고, 로그인 정보와 같은 지속해야 하는 설정을 유지시키는 역할을 하는 것은 같다.
  • 세션 계층은 인터넷 상으로 예시를 들기는 어려운 것 같다.
  • 요약 : 세션을 만들어서 앱끼리 연결되는 통로를 만들고 관리 그러면서 설정유지하는 단계

(4)4계층 - 전송 계층(Transport Layer)-L4

  • 종단 간(서버와 클라이언트, 프로그램끼리) 통신을 효율적이고 안정적으로 할 수 있도록 만드는 계층으로 통신을 할 때 흐름을 제어(Flow Control) 하고, 오류를 제어(Error Control)** 하는 역할을 한다.
  • 대표적으로 TCP, UDP 같은 프로토콜을 사용하며 단위는 세그먼트를 사용한다.
  • 사위 계층에서 내려온 데이터를 세그먼트 단위로 쪼개서 보내고, 반대로 받은 세그먼트들을 다시 모아서 원래 데이터로 재조립한다.
  • TCP와 UDP 중 무엇을 쓰느냐에 따라 차이가 있
    • TCP: 조금 느릴 수 있지만, 순서 보장·재전송을 통해 신뢰성 높은 통신
    • UDP: 빠르지만, 중간에 손실이 발생해도 다시 보내지 않는 통신
  • 둘 다 오류(손실이나 변조)를 검출할 수는 있지만, 재전송을 해서 스스로 복구하는 것은 TCP만 가능하다.
  • 또한, 전송 계층은 포트 번호를 사용해서 같은 컴퓨터 안에서도 어떤 응용 프로그램(브라우저, 메신저 등)으로 보낼 데이터인지 구분하는 역활을 한다
  • 예를 들면, 상위계층에서 만들어진 [도메인(naver.com)+**HTTP + TLS] 데이터를 전송 계층에서 세그먼트로 쪼개고 TCP 프로토콜을 사용하고 포트(예: 443)를 사용해 네이버서버와 통신한다**
  • 비유 : 작성한 편지를 윤성이의 방에 보내고싶다
  • 요약 : 큰데이터를 세그먼트로 단위로 쪼개고 tcp와 udp 프로토콜을 사용해서 데이터 전송의 속도와 오류를 제어하고 port번호를 부여하는 단

(5)3계층 - 네트워크 계층(Network Layer)-L3

  • 주소(IP)를 정하고, 경로(Route)를 선택해서 데이터를 전달하는 핵심 계층이다.
  • 이때 데이터가 목적지까지 가는 최적의 경로를 찾는 것을 라우팅(Routing) 이라고 하며, 이 기능을 수행하는 장비를 라우터(Router) 라고 한다.
  • 라우터는 IP 주소(3계층)를 기반으로 서로 다른 네트워크(LAN ↔ WAN)** 간 통신을 연결하는 장비이다
    인터넷은 수많은 라우터끼리 엮여서 최적의 길을 찾는다고 볼 수 있다.
  • 이 계층에서 사용하는 대표 프로토콜은 IP(IPv4, IPv6) 이다.
  • 네트워크 계층의 데이터 단위(PDU)는 패킷(Packet) 이라고 부르며, 패킷은 보통 IP 헤더(출발지 IP, 목적지 IP 등) + 상위 계층에서 내려온 세그먼트로 이루어진다.
  • 예를들어 전송계층에서 만들어진 세그먼트 [도메인(naver.com)+**HTTP + TLS+TCP+443포트] 에 출발지인 내 ip와 목적지인 네이버ip를 헤더에 담아 패킷을 구성한다**
  • 비유 : 작성한 편지를 105동 1603호 윤성이의 방에 보내고 싶다
  • 요약 : 세그먼트에 ip주소를 부여하고 라우터들을 거쳐 라우팅이 일어나는 단계

  • 여기는 이해가 안되는건 아닌데 제일 어려운 파트…
  • 같은 네트워크(LAN) 안에서 MAC 주소를 사용해 프레임을 전달하는 계층이다.
  • MAC 주소는 인터넷이 연결되는 각 디바이스의 네트워크 인터페이스(랜카드 등)에 부여되는 고유 번호로, 전 세계에서 겹치지 않도록 공장에서 제조될 때 미리 할당되는 물리 주소이다
  • IP 주소만 알고 있을 때, 그 IP에 해당하는 MAC 주소를 알아내기 위해 ARP(Address Resolution Protocol) 를 사용한다.
  • 이계층에서 주로 사용되는 장비는 스위치로 MAC 주소를 기반으로 같은 네트워크(LAN) 안에서 통신하는 장비이다
  • 데이터 링크 계층의 데이터 단위(PDU)는 프레임(Frame) 이며, 프레임은 보통 MAC 헤더(출발지 MAC, 목적지 MAC 등) + 네트워크 계층의 패킷(IP 헤더 + 세그먼트) + FCS 같은 트레일러로 이루어져 있다고 볼 수 있다.
  • FCS(Frame Check Sequence)는 프레임이 오류가 없는지 확인하는 것이다
  • 이더넷, 투 포인트 프로토콜(HDLC, ADCCP), 근거리 네트워크 프로토콜(LLC, ALOHA) 등이 해당된다.
  • 예를 들어 [도메인(naver.com)+**HTTP + TLS+TCP+443포트+IP]로 이루어진 패킷에** ARP를 통해 얻은 MAC주소를 넣어 프레임이라는 완성된 캡슐로 만든다
  • 비유 : 작성한 편지를 105동 1603호 윤성이 방에 보내기위해 아파트 우편함에 넣는것이다

(7)1계층 - 물리계층(Physical Layer)-L1

  • 말 그대로 물리적인 하드웨어 전송 기술로 이루어져있다. 전기적(기계적) 신호를 주고받는 계층이며, 통신 케이블을 이용한 유선 통신이나 전파(블루투스, nfc, 와이파이, 5g등) 무선통신이 이루어지는 계층을 말한다
  • 여기서는 단지 데이터만 전달하는것에 집중하고 전송하는 데이터의 종류나 오류를 제어하지 않는다.
  • 사용되는 통신 단위는 비트(bit)로, 0 또는 1로 나타낸다.
  • 대표적인 장치로 통신 케이블, 커넥터, 허브 등이 있다
  • 예를들어 완성된 프레임[도메인(naver.com)+**HTTP + TLS+TCP+443포트+IP+MAC]을 비트단의의 0,1로 바꾸어 전선을 통해 이동하는것이다**
  • 예를 들면 편지를 우편부가 가지고 가는것이다

5. 다른 모델들 (tcp/ip 4모델, IOT OSI모델등)

  • 네트워크를 설명하는 참조 모델 은 OSI 7계층 말고도 여러 가지가 있고, 각 모델은 특정 목적(인터넷, IoT, 산업제어, 보안 설계 등)에 맞게 다양한 기관이나 단체에서 정의한 것이다.
  • 그중 비교하기 쉬운 두 모델을 비교해보면 다음과 같다
구분OSI 7계층 모델TCP/IP 4계층 모델
목적국제표준(ISO)에서 만든 이론·교육용 참조 모델인터넷에서 실제 사용하는 프로토콜 스택 모델
특징통신 과정을 세밀하게 나눠서 설명하는 데 초점실제 프로토콜 중심으로 단순하고 실무에 밀접
계층 수7계층4계층
계층 이름1계층: 물리(Physical)2계층: 데이터링크(Data Link)3계층: 네트워크(Network)4계층: 전송(Transport)5계층: 세션(Session)6계층: 표현(Presentation)7계층: 응용(Application)1계층: 링크 / 네트워크 인터페이스(Link / Network Interface)2계층: 인터넷(Internet)3계층: 전송(Transport)4계층: 응용(Application)

6. 정보보안과 OSI7 계층

계층역할관련된 공격대응 보안 기술
7. 응용 계층 (Application)사용자와 직접 상호작용 (HTTP, FTP, DNS 등)웹 해킹 (XSS, SQL Injection), 피싱, 악성코드WAF(웹방화벽), 입력검증, HTTPS, DNSSEC
6. 표현 계층 (Presentation)데이터 암호화·복호화, 인코딩암호 해독 시도, SSL/TLS 공격SSL/TLS, 데이터 암호화(AES, RSA 등)
5. 세션 계층 (Session)연결 세션 관리, 인증세션 하이재킹, 세션 탈취세션 암호화, 토큰 인증(JWT), 재인증
4. 전송 계층 (Transport)데이터 전송 신뢰성 (TCP/UDP)포트 스캔, 세션 가로채기방화벽, IPS, SSL/TLS, 포트 제한
3. 네트워크 계층 (Network)경로 설정, 라우팅IP 스푸핑, DDoS, ICMP FloodIPSec, 라우터 ACL, VPN
2. 데이터링크 계층 (Data Link)MAC 주소 기반 통신ARP 스푸핑, MAC Flooding스위치 보안(MAC 제한), VLAN, ARP 필터링
1. 물리 계층 (Physical)전기 신호 전송물리적 절단, 도청, 하드웨어 훼손접근통제, CCTV, 전송선 차폐
  • 앞서 이야기한것과 같이 위와같은 보안 문제들이 발생했을때 모듈화를 통해 효율적으로 대처할수있어진다
  • 그리고 그 계층 모듈에 맞는 대응을 할때 계층의 동작을 이해함으로 대응하는 능력을 향상시킬수 있다

총정리

  • 7에서 5계층까지 사용자가 데이터를 만들면 그데이터에 TCP/UDP방식을 선택하고 IP를 부여해서 네트워크상에 패킷이라는 단위로 만들면 실제 통신을 할수있는 MAC 주소를 가진 장비들끼리 프레임이라는 단위로 주고받는데 실제로는 무선이나 유선에서 전기신호로 주고받는다
  • 네트워크를 계층으로 나누는것은 아직도 논란도 많고 사람마다 얘기하는것 이해하는것에 차이가 존재한다 그리고 깊게 공부하려면 진짜 책한권 나올꺼같다…
  • 공부를 하면 할수로 컴퓨터 구조와 응용체계 네트워크는 제대로 배워야 하나 하는생각이든다
  • 내가 이해한 네트워크의 흐름 모습
profile
꾸준한 IT 공부

0개의 댓글