amplitude.init("2e2e5a386856efdf3237cf254a9d14d9"

[개념 콕] OSI 7계층

내일배움캠프 수료생이 개발에 꼭 필요한 핵심 개념만 콕 집어 드립니다.
May 31, 2024
[개념 콕] OSI 7계층
✍🏼
개발을 시작하시는 여러분, 정보가 너무 많고 배워야 할 것도 산더미라 어디서부터 시작해야 할지 막막하신가요? 내일배움캠프 수료생들이 4개월 동안 배운 엄선된 핵심 개념을 직접 정리해서 알려 드립니다. 공부하다 막히거나 헷갈리는 개념이 있다면 개념 콕으로 정리해보세요.
 

OSI 7계층 (OSI 7 Layers)

OSI 7계층이란?

OSI 7계층은 네트워크 간의 원활한 통신을 위해 ISO에서 개발한 통신 규약입니다. 개방형 시스템 (Open System) 간의 데이터 통신에 필요한 장비 및 처리 방법을 7단계로 표준화하여 제공하였습니다. 네트워크 통신을 여러 계층으로 나누어 각 계층이 특정 기능을 담당했기 때문에, 네트워크 문제를 계층별로 분리하여 해결할 수 있습니다.
 
7계층 중 1~3계층을 하위 계층,  4~7계층을 상위 계층이라고 합니다.
7계층 중 1~3계층을 하위 계층, 4~7계층을 상위 계층이라고 합니다.
 

1. 물리 계층 (Physical Layer)

물리 계층은 OSI 7 계층에서 가장 아래에 위치한 계층으로, 물리적으로 데이터를 전송하는 역할을 합니다. 전송에 필요한 두 장치 간의 실제 접속과 절단 등 기계, 전기, 기능적 특성에 대한 규칙을 정의하고 있습니다.
 
특징
  • 데이터 표현 비트(0과 1) 형태로 표현하며, 이를 전기 신호, 광 신호, 무선 신호로 변환 후 전송합니다. 데이터를 전달만 할 뿐, 전송하는 데이터가 무엇인지에 대해서는 신경 쓰지 않습니다.
  • 전송 매체 동축 케이블, 광섬유 등을 사용하여 전송합니다.
  • 장비 리피터, 허브, 케이블 등이 해당합니다.
 
장점
  • 단순한 구조
  • 전송 매체와 기술의 표준화
  • 저렴한 비용
 
단점
  • 한정된 기능 데이터 오류 검출 등의 기능을 제공하지 않습니다.
  • 전송 거리 제한 물리적인 매체에 따라 데이터 전송 거리에 제한이 있습니다.
  • 신호 간섭 외부 간섭이나 다른 신호의 간섭에 민감합니다.
 
사용하는 기술 및 장비
  • 리피터 (증폭기) 거리가 늘어날수록 감쇠하는 디지털 신호의 장거리 전송을 위해 수신한 신호를 재생하거나, 출력 전압을 높여 전송하는 장치입니다. 전송 거리 연장 또는 배선의 자유도를 높이기 위해 사용합니다.
  • 허브 가까운 거리의 컴퓨터들을 연결하는 장치로, 각각의 회선을 통합하여 관리합니다. 신호 증폭 기능을 하는 리피터의 역할을 포함합니다.
 
데이터 링크 계층은 OSI 7 계층 중 두 번째 계층으로, 물리 계층 위에서 동작합니다. 두 개의 인접한 개방 시스템들 간에 신뢰성 있고 효율적인 데이터 전송을 할 수 있도록 시스템 간 연결 설정과 유지 및 종료를 담당합니다. 물리 계층을 통해 송수신되는 정보의 오류 검출과 흐름 제어를 수행하며 신뢰성 있는 데이터 전송을 위해 동작합니다.
 
특징
  • 프레임화 데이터를 프레임이라는 구조로 나누어 전송합니다. 각 프레임은 데이터와 제어 정보를 포함합니다. 프레임의 시작과 끝을 구분하기 위한 동기화 기능이 있습니다.
  • MAC 주소 사용 네트워크 상의 장치 구분을 위해 MAC 주소를 사용합니다
  • 오류 검출 및 수정 전송 중 발생할 수 있는 오류를 검출하고 수정합니다. CRC 같은 오류 검출 기법을 사용합니다.
  • 흐름 제어 송수신 측 간의 데이터 전송 속도를 조절하여 데이터 손실을 방지합니다
  • 링크 제어 네트워크 장치 간 데이터 링크 설정, 유지, 종료를 담당합니다.
 
장점
  • 신뢰성 오류 검출 및 수정 기능을 통해 데이터 전송의 신뢰성을 보장합니다.
  • 효율성 프레임화와 흐름 제어를 통해 효율적인 데이터 전송이 가능하게 합니다.
  • 물리 계층 보완 물리 계층의 오류를 보완하여 데이터 전송의 안정성을 높였습니다.
 
단점
  • 오버헤드(overhead)* 프레임 헤더와 오류 검출 코드가 추가되며 데이터 전송에 필요한 오버헤드가 증가합니다.
  • 한정된 범위 동일 네트워크 내에서만 작동하기 때문에, 다른 네트워크와의 통신을 위해선 상위 계층이 필요합니다.
*오버헤드: 어떤 작업을 처리하는 데 직접적으로 쓰이지 않지만 필요한 추가적인 자원들을 통칭하는 용어입니다. 오버헤드는 성능 저하의 원인이 될 수 있기 때문에, 가능한 한 최소화하는 것이 컴퓨터 시스템 설계의 주요 목표 중 하나입니다.
 
사용하는 기술 및 장비
  • 이더넷(Ethernet) 가장 널리 사용되는 LAN 기술이며, CSMA/CD 방식으로 네트워크 접근을 제어하는 장치입니다.
  • PPP (Potin to Point Protocol) 주로 다이얼 업 접속에 사용됩니다.
  • HDLC (High-Level Data Link Control) PPP와 반이중 연결을 위한 프로토콜로 사이트 간 연결에 주로 사용됩니다.
  • 브리지 (Bridge) 두 LAN 세그먼트를 연결하고, 데이트 링크 계층에서 프레임을 필터링하여 네트워크 트래픽을 관리하는 장치입니다.
  • 스위치 (Switch) 데이터 링크 계층 장비로, 네트워크 내의 여러 장치를 연결하고 MAC 주소 기반으로 프레임을 전달합니다.
 

3. 네트워크 계층 (Network Layer)

네트워크 계층은 OSI 7 계층의 세 번째 계층으로 데이터를 목적지까지 전달하기 위한 경로 설정, 그리고 네트워크 간의 데이터 전송을 담당하는 계층입니다. 여기서는 데이터를 패킷으로 나누고, 패킷이 목적지에 도달할 수 있도록 경로를 설정 합니다.
 
특징
  • 경로 설정 및 라우팅
    • 패킷이 출발지에서 목적지까지 가장 효율적인 경로로 이동할 수 있도록 라우팅을 수행합니다.
  • 논리적 주소 지정
    • IP (Internet Protocol) 주소를 사용하여 네트워크 상의 각 장치를 논리적으로 식별합니다.
    • 물리적 주소에 구애받지 않고 고유한 주소를 부여합니다.
  • 포워딩 (forwarding)
    • 각 네트워크 장치가 패킷을 수신하면 목적지 주소를 기반으로 다음 네트워크 장치로 패킷을 전달합니다.
  • 인터네트워킹 (internetworking)
    • 서로 다른 네트워크를 연결하고 상호 통신할 수 있게 합니다.
 
장점
  • 확장성
    • 여러 네트워크를 연결하고 관리할 수 있습니다.
  • 유연성
    • 다양한 라우팅 프로토콜과 알고리즘을 적용하여 네트워크 환경에 맞춘 경로 최적화가 가능합니다.
 
단점
  • 복잡성
    • 경로 설정과 라우팅 과정이 복잡합니다.
  • 오버헤드
    • 패킷 헤더에 라우팅 정보가 추가되므로 데이터 전송에서 오버헤드가 발생합니다.
 
사용하는 기술 및 도구
  • IP (Internet Protocol)
    • 데이터 패킷을 목적지까지 전달하는 기본 프로토콜
    • 종류: IPv4, IPv6
  • 라우터 (router)
    • 네트워크 계층에서 사용되는 장비로 다양한 네트워크를 연결하고 패킷을 올바른 경로로 전달
  • ARP (Address Resolution Protocol)
    • IP주소를 물리적 MAC 주소로 변환하는 프로토콜
 

4. 전송 계층 (Transport Layer)

OSI 7 계층의 4번째 계층으로 End-to-End 통신을 제공하고 신뢰성 있는 데이터 전송을 보장합니다.
어플리케이션 간의 데이터 전송을 관리하며, 오류 검출, 흐름 제어 및 세그먼트화 등의 기능을 수행합니다.
 
특징
  • 데이터 세그먼트화
    • 상위 계층에서 받은 데이터를 적절한 크기의 세그먼트로 나누어 전송합니다. 각 세그먼트는 순서 정보와 오류 정보를 포함합니다.
  • 연결 설정 및 해제
    • 송수신자 간 통신 경로를 설정하고, 데이터 전송이 완료되면 연결을 해제합니다.
  • 오류 검출 및 수정
    • 데이터 전송 시 발생하는 오류를 검출하고 수정하여 데이터 전송의 신뢰성을 보장합니다.
  • 흐름 제어
    • 송수신측 간의 데이터 전송 속도를 조절하여 데이터 손실을 방지합니다.
  • 혼잡 제어
    • 네트워크 혼잡 상황을 감지하고 전송 속도를 조절하여 네트워크 효율성을 유지합니다.
  • 포트 사용
    • 데이트 전송을 위해 Port 번호가 사용됩니다.
 
장점
  • 신뢰성
    • 오류 검출, 수정, 흐름 제어를 통해 데이터 전송의 신뢰성을 보장합니다.
  • 유연성
    • 연결 지향 서비스, 비연결 지향 서비스 모두 지원하여 다양한 요구사항을 충족합니다.
 
단점
  • 복잡성
    • 다양한 기능을 수행하기 때문에 구현이 복잡하며, 리소스 소모가 많을 수 있습니다.
  • 오버헤드
    • 전송 계층에서 지원하는 다양한 기능으로 인해 데이터 전송에 필요한 오버헤드가 발생합니다.
  • 성능 문제
    • TCP의 경우 연결 설정 및 해제, 흐름 제어, 오류 수정을 하며 추가적으로 지연이 발생할 수 있습니다.
  • 비연결형 서비스의 한계
    • UDP는 신뢰성 없는 전송을 제공하기 때문에 데이터 손실이 발생할 수 있습니다.
 
사용하는 기술 및 도구
  • TCP (Transmission Control Protocol)
    • 연결 지향 프로토콜으로 안전한 데이터 전송을 보장합니다.
    • 연결 설정, 데이터 전송, 연결 해제의 3단계가 있습니다.
    • 오류 검출 및 수정, 흐름 제어, 혼잡 제어 기능을 지원합니다.
  • UDP (User Datagram Protocol)
    • 비연결 지향 프로토콜로, 신뢰성보다는 빠른 데이터 전송을 중시합니다.
    • 오류 검출 및 수정, 흐름 제어 기능을 지원하지 않기 때문에 오버헤드가 적습니다.
 

5. 세션* 계층 (Session Layer)

OSI 7 계층의 다섯 번째 계층으로, 네트워크 상에서 어플리케이션 간의 세션을 설정, 관리 및 종료하는 역할을 합니다. 송수신 측 간의 연결을 유지 및 동기화하는 기능을 수행하며, 데이터 전송의 효율성과 안정성을 높입니다.
*세션이란?
세션은 단방향, 양방향 통신을 위한 논리적인 연결을 의미합니다. 세션은 데이터 교환이 시작되기 전에 설정되고, 데이터 교환이 끝나면 종료됩니다.
 
특징
  • 세션 설정 통신 시작을 위해 송수신자 간의 세션을 설정합니다. 세션 설정이 완료되면 두 시스템 간의 데이터 교환이 가능해집니다.
  • 세션 유지 및 관리
    • 통신 중에 세션을 유지하고 관리합니다. 이는 데이터가 순차적으로 전송될 수 있게 하며, 중복 및 누락을 방지합니다.
  • 동기화
    • 데이터 전송 중 체크포인트를 설정하여, 네트워크 오류나 연결 장애가 발생할 경우 데이터를 다시 전송합니다.
    • 데이터 전송의 신뢰성을 높이는 기능입니다.
    • 소동기점*과 대동기점**이 있습니다.
      • *소동기점: 에러 복구를 위한 중간 지점으로 에러 발생 시 가장 최근의 소동기점부터 재전송 가능합니다.
        **대동기점: 대화의 시작과 끝을 구분하는 구분점입니다.
  • 세션 종료
    • 통신이 끝나면 세션을 정상적으로 종료하여, 시스템 자원을 해제하고 다음 통신 준비에 들어갑니다.
 
장점
  • 신뢰성
    • 세션을 사용하여 데이터 전송의 순서와 완전성을 보장하며, 동기화를 사용하여 데이터 손실을 최소화합니다.
  • 효율성
    • 세션을 유지하여 지속적으로 통신이 가능하게 하며, 세션 종료 시 자원을 해제하여 효율적으로 자원을 관리합니다.
  • 복구 기능
    • 체크포인트를 활용하여 네트워크 오류 발생 시 데이터 전송을 복구할 수 있습니다.
 
단점
  • 복잡성
    • 세션 설정, 유지, 종료 그리고 동기화 기능을 포함하기 때문에 구현이 다소 복잡합니다.
  • 오버헤드
    • 세션을 유지하고 동기화하는 과정에서 오버헤드가 추가적으로 발생할 수 있습니다.
 
사용하는 기술 및 도구
  • RPC (Remote Procedure Call) 세션 계층에서 가장 기본이 되는 기술이며, 네트워크 상에서 원격 프로시저를 호출하는 기술입니다. 클라이언트와 서버 간의 세션을 설정하여 원격 프로시저 호출을 관리합니다.
  • SQL 세션 클라이언트와 데이터베이스 서버 간의 세션을 관리하여, 데이터베이스 쿼리와 트랜잭션을 처리합니다.
 

6. 표현 계층 (Presentation Layer)

OSI 7 계층의 여섯 번째 계층인 표현 계층입니다. 이 계층은 데이터의 형식과 표현 방법을 담당하고 있습니다. 네트워크 상에서 데이터를 송수신하기 전에 데이터를 변환하고, 올바른 형식으로 변환하여 상위 계층인 응용계층과 하위계층인 세션 계층 간의 데이터 전송을 원활하게 합니다. 즉, 서로 다른 데이터 표현 형태를 갖는 시스템 간의 상호 접속을 위해 필요한 계층입니다.
 
특징
  • 데이터 변환 데이터의 인코딩과 디코딩을 담당합니다. 송신자 측에서는 데이터를 전송 가능한 형식으로 인코딩하고, 수신자 측에서는 다시 원래 형식으로 디코딩합니다.
  • 데이터 압축 데이터를 압축하여 전송 효율성을 높입니다.
  • 데이터 암호화 데이터의 기밀성을 보장하기 위해 송신자 측에서 암호화하고, 수신자 측에서 복호화하여 기존 데이터로 복원합니다.
  • 데이터 형식 지정 데이터 형식과 구조 정의, 문자 인코딩, 이미지 포맷, 오디오 포맷 지정 등을 담당 합니다.
 
장점
  • 표준화 다양한 데이터 형식과 프로토콜을 표준화하여 호환성을 높일 수 있습니다.
  • 보안 데이터 암호화를 통해 데이터의 기밀성과 무결성을 보장합니다.
  • 효율성 데이터 압축을 통해 전송 효율성을 높입니다.
  • 유연성 다양한 데이터 형식과 표현 방식을 지원하기 때문에 여러 어플리케이션의 다양한 요구사항을 충족할 수 있습니다.
 
단점
  • 복잡성 인코딩, 압축, 암호화 등의 기능이 추가되면서 구현이 복잡해졌습니다.
  • 오버헤드 여러 기능을 적용하는 과정에서 추가적인 오버헤드가 발생할 수 있습니다.
 
사용하는 기술 및 도구
  • SSL/TLS (Security Sockets Layers / Transport Layer Security) 데이터 전송의 기밀성과 무결성을 보장하기 위해 사용되는 보안 프로토콜이며, 데이터 암호화와 인증 기능을 제공합니다.
  • JPEG, PNG, GIF 이미지 데이터를 압축하고 표현하는 표준 형식입니다.
  • Unicode 전 세계의 문자를 일관되게 표현하기 위한 문자 인코딩 표준입니다.
 

7. 응용 계층 (Application Layer)

OSI 7 계층 중 최상위 계층으로 사용자가 OSI환경에 접근하여 네트워크 서비스와 상호작용할 수 있도록 도와주는 역할입니다. 사용자와 직접적으로 상호작용하는 어플리케이션과 네트워크를 연결하여, 다양한 네트워크 서비스를 제공합니다.
 
특징
  • 사용자 인터페이스 사용자와 네트워크 간의 인터페이스를 제공하여, 사용자가 쉽게 이용할 수 있도록 합니다.
  • 프로토콜 지원 다양한 어플리케이션 프로토콜을 지원합니다.
  • 데이터 표현 데이터를 사용자가 이해할 수 있는 형태로 변환하여 표현합니다.
  • 네트워크 서비스 제공 이메일, 파일 전송, 원격 로그인 등 다양한 네트워크 서비스를 제공합니다.
 
장점
  • 사용자 친화성 사용자와 직접 상호작용하므로, 사용자가 네트워크 서비스를 쉽게 사용할 수 있게 합니다.
  • 다양한 서비스 다양한 어플리케이션 서비스를 제공하여, 네트워크 활용도를 높입니다.
  • 확장성 새로운 어플리케이션 프로토콜과 서비스를 쉽게 추가할 수 있습니다.
 
단점
  • 보안 어플리케이션 계층에서 발생하는 보안 문제는 네트워크 전체에 영향을 미칠 수 있습니다.
 
사용하는 기술 및 도구
  • HTTP (Hypertext Transfer Protocol) 웹 브라우징을 위한 프로토콜로, 웹 서버와 웹 브라우저 간의 통신을 담당합니다.
  • FTP (File Transfer Protocol) 파일 전송을 위한 프로토콜로, 서버와 클라이언트 간의 파일 업로드 및 다운로드를 지원합니다.
  • SMTP (Simple Mail Transfer Protocol) 이메일 전송을 위한 프로토콜로, 이메일 클라이언트와 이메일 서버 간의 통신을 담당합니다.
  • DNS (Domain Name System) 도메인 이름을 IP 주소로 변환하는 서비스로, 인터넷에서 도메인 이름을 통해 리소스를 찾을 수 있게 합니다.
 

한 걸음 더) L4와 L7의 라우팅과 로드밸런싱의 차이

앞서 이야기한 전송 계층(Layer 4)과 응용 계층(Layer 7)은 라우팅**과 로드밸런싱에 직접적으로 관련 있는 계층입니다. L4와 L7의 라우팅과 로드밸런싱이 실무에 자주 쓰이고, 이들의 차이점을 이해하면 네트워크 요구 사항에 맞는 적절한 기술을 선택하고 적용할 수 있습니다.
*라우팅(routing): 네트워크 상에서 데이터 패킷을 출발지에서 목적지까지 전달하는 프로세스
**로드밸런싱(Load Balancing): 네트워크 트래픽을 여러 서버 또는 장치에 고르게 분산시키는 기술
 
L4 전송 계층 (Transport Layer)
L7 응용 계층 (Application Layer)
처리방식
IP 주소와 포트 번호를 기반으로 패킷을 처리합니다. TCP/UDP 세션 정보에 따라 트래픽을 분산합니다.
HTTP, HTTPS, FTP 등 어플리케이션 계층 프로토콜 데이터를 기반으로 패킷을 처리합니다. URI, 헤더, 쿠키 등의 정보를 분석하여 트래픽을 분산합니다.
패킷검사
IP 헤더와 전송 계층 헤더(TCP/UDP)를 검사하여 결정하며, 패킷의 내용에는 접근하지 않습니다.
패킷의 전체 내용을 분석할 수 있으며, 어플리케이션 레벨의 세부 정보를 기반으로 결정합니다
성능
상대적으로 빠르고 간단하며, 리소스를 적게 사용하여 패킷을 빠르게 전달할 수 있습니다.
L4와 비교 시 더 많은 리소스를 사용하며, 더 복잡한 처리가 가능하나 처리 속도가 느려질 수 있습니다.
장점
1. 높은 성능과 낮은 지연 시간 2. 설정과 관리가 상대적으로 간단 3. 트래픽의 빠른 처리
1. 특정 URL 경로, 쿠키, 컨텐츠 타입을 기반으로 로드밸런싱 적용 가능 2. 어플리케이션 레벨의 정보를 활용하여 정교한 로드밸런싱과 보안 정책 적용 가능
단점
1. 어플리케이션 계층의 데이터를 분석할 수 없기 때문에 고급 로드밸런싱이나 세분화된 보안을 적용하기 어렵습니다. 2. 어플리케이션 레벨의 장애를 감지하지 못할 수 있습니다.
1. 더 높은 리소스 요구사항과 처리 지연 시간 2. 설정과 관리가 복잡
결론
고성능이 필요하고 단순한 트래픽 분산이 필요한 경우에 사용
세밀한 설정과 어플리케이션 레벨의 로드밸런싱이 필요한 경우에 사용
 
 

내일배움캠프는 개발에 필요한 핵심만 배웁니다

지금까지 꼭 필요한 개발 지식에 대해 알아보았습니다. 내일배움캠프에서는 전문가들이 선별한 핵심 개발 지식으로 개발 공부도, 취업도 보다 효율적으로 할 수 있는데요. 국내 유수의 IT기업 출신 튜터님들과 실습 위주의 독보적인 커리큘럼으로 개발자 취업을 체계적으로 준비해보세요. 내일배움캠프 4개월, 여러분 인생의 가장 큰 터닝 포인트입니다.
 
 
 
CREDIT
글 | 박상신 내일배움캠프 수료생 편집 | 정효재 팀스파르타 에디터
 
 

취업 준비, 어디서부터 시작해야 할지 모르겠다면?

 
🧐비전공자인데 IT 업계 취업할 수 있을까?
😟프로젝트 경험이 부족한데, 어떻게 준비해야 할까?
🥺IT 기업으로 이직하고 싶은데 뭐부터 시작해야 할까?
 
이런 고민을 하고 있다면, 내일배움캠프의 IT 취업 컨설팅을 받아보세요.
취업 코칭 전문가들이 여러분의 고민을 해결해 드립니다.
 
다음 링크에 이메일을 입력하시면 메일로 1:1 커리어 상담권과 취준 자료집을 보내드릴게요.
 
 
 
Share article
Subscribe to our newsletter
RSSPowered by inblog