[Network] 네트워크 공부 - 프로토콜, 네트워크 계층 (OSI 7계층, TCP/IP 5계층)

    반응형

     

    프로토콜

    • 컴퓨터나 스마트폰과 같은 기기들이 서로 데이터를 주고받기 위해 미리 정해놓은 약속 (네트워크 규칙)
    • 우리가 '한국어' 라는 언어를 사용해 대화하는 것처럼, 컴퓨터들도 컴퓨터들끼리 알아들을 수 있는 언어가 필요하다.
    • HTTP, HTTPS, TCP, UDP 등 여러 가지 프로토콜이 존재한다. (프로토콜 종류에 대해서는 추후 자세히 설명)

     

    네트워크 계층

    • 여러 프로토콜들이 복잡하게 얽히지 않고, 제 역할을 잘 하도록 체계적인 정리가 필요했다.
    • 통신이 일어나는 과정을 단계 별로 파악하기 위해, 프로토콜들을 여러 층으로 나눠서 체계화 시켰다.

     

    1. OSI 7계층

    • ISO(국제 표준화 기구)에서 만든 네트워크 통신 표준
    • 네트워크 통신을 위한 일반적인 프로토콜 표준을 제시하는 이론적/개념적 표준 모델

    옛날에는 컴퓨터 회사마다 자기들 방식으로만 통신하게 만들었는데(특정 회사 컴퓨터들끼리만 통신이 가능하다는 소리), 이는 매우 비효율적이기 때문에, "표준 프로토콜을 정해서 모든 장비가 똑같은 규칙으로 통신하게 만들자!" 라는 목적을 가지고 개발이 되었다.
    (교과서처럼 보편적인 모델을 만들고 싶었던 것)

    Layer 이름
    7계층 응용 (Application) 계층
    6계층 표현 (Presentation) 계층
    5계층 세션 (Session) 계층
    4계층 전송 (Transport) 계층
    3계층 네트워크 (Network) 계층
    2계층 데이터 링크 (Data Link) 계층
    1계층 물리 (Physical) 계층

     

    2. TCP/IP 5계층

    • 인터넷에서 실제로 사용되는 프로토콜 기반의 실질적 구현 모델 (실제 실무에서 많이 사용됨)

    서로 다른 종류의 컴퓨터를 연결하고, 데이터를 안정적으로 주고받기 위한 실용적인 방법과 프로토콜이 필요했고, 실제로 인터넷에서 사용하는 통신 프로토콜 모음인 TCP/IP를 개발했다. (실제 현실에서 필요성을 느껴 탄생함)

    Layer 이름
    5계층 응용 (Application) 계층
    4계층 전송 (Transport) 계층
    3계층 네트워크 (Network) 계층
    2계층 데이터 링크 (Data Link) 계층
    1계층 물리 (Physical) 계층

    cf.) OSI 모델에서 세션+표현+응용 계층이 → TCP/IP 모델의 응용 계층

     

     

    [추가 개념]

    위에서 언급했듯이, 네트워크를 통해 데이터를 주고받을 때, 목적지까지 안전하게 도달하기 위해 여러 단계를 거치게 되는데, 이 과정에서 '캡슐화(Encapsulation)''역캡슐화(Decapsulation)' 개념이 사용되었다.

     

    그 전에, 여기서 '헤더(Header)' 라는 개념도 사용되는데, 헤더는 데이터를 목적지까지 효율적이고 정확하게 전달하기 위해 데이터 앞부분에 붙이는 정보이다. 단순히 데이터를 보내는 것 뿐만 아니라, 데이터가 완전하게 순서대로 재조립될 수 있도록 하는 핵심적인 역할을 한다. 마치 목적지까지 안전하게 안내하는 '안내서' 같은 역할이라고 보면 이해하기 쉽다.

     

     

    캡슐화

    • 데이터를 보내는 쪽에서 일어나는 과정
    • 상위계층 → 하위계층 으로 전달될 때, 각 계층에서 헤더 정보가 데이터 앞 부분에 추가된다.
    • 마치 택배보낼 때, 내용물에 송장 붙여서 포장하는 것과 비슷하다.

     

    역캡슐화

    • 데이터를 받는 쪽에서 일어나는 과정
    • 하위계층 → 상위계층 으로 전달될 때, 각 계층에서 헤더를 역순으로 하나씩 제거하며 데이터를 전달한다.
    • 마치 택배 상자가 도착하면, 송장을 떼어내고 → 포장지를 벗기고 → 내용물을 확인하는 과정과 비슷하다.
    • 최종적으로 최상위 계층에서 원본 데이터만 받아서 사용할 수 있도록 하기 위함이다.
    반응형

    댓글