OSI 7 Layer

Godssi·2024년 11월 14일

Communication

목록 보기
2/8

통신과 관련된 공부를 진행하다보면 한 번쯤 들어봤을 OSI 7 계층 모델(Layer)에 대해 정리글


OSI 7 Layer

OSI 7 계층 모델(Layer)은 네트워크에서 통신이 일어나는 과정7단계로 나눈 것을 말한다.
국제 표준화 기구(ISO)에서 1970년대 후반에 개발한 모델로, 컴퓨터 네트워크 통신을 계층으로 나누어 개념적으로 설명한다.

Why?

통신이 일어나는 과정을 단계별로 파악할 수 있다!
통신 흐름을 한눈에 알아볼 수 있어 이해하기 쉽고, 7 Layer 중 특정한 곳에 이상이 생기면 해당 단계만 고칠 수 있다.

OSI 7 Layer Model

해당 그림을 통해서 컴퓨터가 통신할 때의 데이터가 어떻게 구성되는지를 확인할 수 있다.
구성된 데이터를 차례대로 해석해가는 과정이 바로 OSI 7 Layer의 의미, 통신의 흐름을 파악하는 것과 같다.

Physical Layer(물리 계층)

[단위 : Bit] 물리 매체를 통한 네트워크 통신

물리 계층으로 전기적, 기계적, 물리적 특성에 집중하여 물리적인 매체(케이블, 허브 등)를 통해 비트를 전송한다.

  • 사용되는 장비

    • 케이블
    • 리피터
    • 허브
  • 대표적인 Protocol

    • Ethernet
    • RS-232
    • DSL
    • Wi-Fi
    • 광섬유 통신

[단위 : Frame] 프레임 흐름 제어 및 오류 제어

물리 계층에서의 데이터 전송 오류를 감지하고 수정하는 역할을 수행하여 두 시스템을 효율적이고 안전하게 연결하는데 집중한다.
데이터 링크 계층에서의 연결은 광범위한 인터넷 연결이 아닌, 인접한 장치 간의 통신이다.

데이터 링크 계층은 앞으로 나올 Network Layer의 패킷(Packet)프레임(Frame)이라고 불리는 더 작은 조각으로 세분화한다.
세분화된 데이터 프레임 전송을 담당하며, 프레임의 생성, 주소 지정, 오류 감지 및 수정 그리고 흐름 제어를 수행한다.

  • 역할

    • Framing(프레이밍) : Frame 생성

    • 주소 할당, 확인 : MAC Address

      MAC Address란?

      MAC(Media Access Control)는 디바이스(컴퓨터)를 식별하기 위한 고유한 주소이다.
      이것은 Data Link Layer에서 사용되며, 네트워크에 연결된 각 네트워크 장치(컴퓨터)에 할당된다.

    • 실패 감지(CSMA/CD, CSMA/CA)

    • 오류 감지(CRC)

  • 대표적인 Protocol

    • Ethernet
    • Wi-Fi
    • PPP (Point-to-Point Protocol)
    • HDLC (High-Level Data Link Control)
    • VLAN (Virtual LAN)

Network Layer

[단위: Packet] 라우팅패킷 전송을 담당

컴퓨터 네트워크에서 패킷을 목적지까지 전달하는 역할을 담당한다. IP 주소를 사용하여 네트워크 간의 통신을 관리하게 된다.

주로 라우팅, 패킷 전달, IP 주소 할당등의 기능을 수행한다.

Routing(라우팅)이란?

네트워크 내에서 데이터 패킷을 출발지에서 목적지로 최적의 경로로 전달하는 과정을 의미한다. 라우터라는 장비에 의해 주로 관리된다.

  • 대표적인 Protocol
    • IP (Internet Protocol, IPv4, IPv6)
    • ICMP (Internet Control Message Protocol)
    • ARP (Address Resolution Protocol)
    • OSPF (Open Shortest Path First)
    • BGP (Border Gateway Protocol)
    • RIP (Routing Information Protocol)

Transport Layer

신뢰성 있는 데이터 전송 : 패킷의 손실이나 오류의 제어와 원활한 복구

통신하는 응용 프로그램 간에 신뢰성 있는 데이터 전송을 담당한다. 데이터 패킷이 손실이나 오류 없이 올바른 순서로 도착하는 것이나 데이터 패킷을 원활하게 복구하는 것에 중점을 둔다.
TCP와 UDP가 여기에 속한다.

전송 계층은 상위 계층에서 받은 데이터를 세그먼트(segment)라 불리는 작은 단위로 분할한다. 그리고 목적지에서 재조립하여 데이터의 신뢰성과 효율성을 보장한다.

  • 대표적인 Protocol
    • TCP (Transmission Contol Protocol)
    • UDP (User Datagram Protocol)
    • SCTP (Stream Control Transmission Protocol)
    • DCCP (Datagram Congestion Control Protocol)

Session Layer

두 기기 사이의 통신을 시작하고 종료하는 일을 담담한다. 통신이 시작될 때부터 종료될 때까지의 시간을 세션이라고 한다. 여기서는 세션을 설정, 유지, 종료하는 역할을 수행한다.

세션 계층은 교환되고 있는 모든 데이터를 전송할 수 있도록 충분히 오랫동안 세션을 개방한 다음 리소스를 낭비하지 않기 위해 세션을 즉시 닫을 수 있도록 보장한다.

  • 대표적인 Protocol
    • NetBIOS (Network Basic Input/Output System)
    • RPC (Remote Procedure Call)
    • PPTP (Point-to-Point Tunneling Protocol)

Presentation Layer

표현 계층에서는 데이터의 형식을 변환하고 암호화/복호화를 담당한다. 데이터를 애플리케이션 계층에서 사용할 수 있는 형식으로 변환한다.

서로 통신하는 두 개의 통신 장치는 서로 다른 인코딩 방법을 사용하고 있을 수 있으므로, Presentation Layer는 수신장치의 Application Layer이 이해할 수 있는 구문으로 수신 데이터를 변환하는 일을 담당한다.

  • 대표적인 Protocol
    • SSL/TLS (Secure Sockets Layer / Transport Layer Security)
    • JPEG (Joint Photographic Experts Group)
    • MPEG (Moving Picture Experts Group)
    • ASCII (American Standard Code for Information Interchange)
    • EBCDIC (Extended Binary Coded Decimal Interchange Code)
    • GIF (Graphics Interchange Format)

Application Layer

해당 계층은 사용자의 데이터와 직접 상호 작용하는 유일한 계층이다!!

전송된 메일, 사진, 동영상 등이 응용프로그램을 통해 사용자가 눈으로 확인할 수 있는 과정이며, 데이터들은 해당되는 프로토콜(HTTP, FTP, SMTP)에 의해 처리된다.

  • 대표적인 Protocol
    • HTTP (HyperText Transfer Protocol)
    • FTP (File Transfer Protocol)
    • SMTP (Simple Mail Transfer Protocol)
    • DNS (Domain Name System)
    • TELNET
    • POP3/IMAP (이메일 수신)
    • SNMP (Simple Network Management Protocol)
    • SSH (Secure Shell)

OSI 7 Layer의 의미 생각하기

각각의 계층 안에는 사실 우리가 많이 들어본 다양한 Protocol들이 속해있다.

계층의 Protocol을 어떻게 설정하는지에 따라 TCP/IP, UDP, Ethernet 등이 달라지는 것이다.

OSI 7 Layer에 대해서는 기초적인 모델의 의미 및 각 Layer의 역할을 알아두는 것이 매우 중요하다고 생각한다!


참고 자료

[네트워크] OSI 모델(OSI 7-Layer Model) 아주 쉽게 개념 정리 : https://jibinary.tistory.com/177

profile
세상을 도울 로봇 개발자

0개의 댓글