Protocol Layer and Service Model

KVV·2024년 10월 9일

A) Layer Architecture

Layer Architecture 예시

항공 여행의 과정을 예시로 들어보자.


항공 여행의 과정을 그림으로 나타내면 위 그림과 같다.


위의 수직 구조를 수평적인 계층화로 나타내면 위 그림과 같다.

위 그림에서 특정 계층에서 어떤 동작을 취해야 그 계층 바로 아래 계층 서비스를 이용함으로써 서비스를 제공할 수 있다는 점을 유의해야한다.

계층화의 이점

  1. 단순화: 크고 복잡한 시스템의 잘 정의된 특정 부분을 논의할 수 있게 해준다.

    • modularization eases maintenance, updating of system
  2. 시스템이 계층 구조를 가질 때, 그 계층이 제공하는 서비스의 구현을 변경하는 것도 매우 쉽다.

    • 특정 계층의 구현을 변경해도 다른 계층은 전혀 다른 일을 수행하기 때문에 시스템의 나머지 부분을 변경할 필요가 없다.
    • change in layer's service implementation: transparent to rest of system

계층화의 단점

  1. 한 계층의 기능이 하위 계층과 기능적으로 중복될 수 있다.

  2. 한 계층에서의 기능이 다른 계층에만 존재하는 정보를 필요로 할 수 있다.

    • 이 경우 계층을 분리하는 목적에 위배된다.

B) Protocol Layer

네트워크 프로토콜의 설계 구조를 제공하기 위해, 네트워크 설계자는 프로토콜(프로토콜을 구현하는 하드웨어, 소프트웨어까지)을 Layer로 조직한다.

Service Model

한 계층이 상위 계층에 제공하는 서비스

각 Layer는 그 계층 내부에서 어떤 동작을 수행하거나 직접 하위 계층의 서비스를 사용한다.

Layers: each layer implements a service

  • via its own internal-layer actions
  • relying on services provided by layer below

C) Internet Protocol Stack

다양한 계층의 프로토콜을 합하여 프로토콜 스택(protocol stack)이라고 한다.
Internet Protocoal Stack은 5개 계층의 프로토콜로 이루어져있다.

1계층 ~ 5계층: 물리, 링크, 네트워크, 트랜스포트, 애플리케이션

n계층의 프로토콜이 네트워크를 구성하는 종단 시스템, 패킷 스위치, 그 외의 요소 사이에 분산되어있다.

Application Layer (5계층)

네트워크 애플리케이션과 애플리케이션 계층 프로토콜이 존재하는 곳으로 HTTP, SMTP, FTP 같은 많은 프로토콜을 포함한다.

  • Application Layer는 여러 End System에 분산되어 있어서 한 End System에 있는 Application이 다른 End System에 있는 Application과 정보 패킷을 교환하는 데 Application Layer Protocol을 사용한다.

  • Message: Application Layer에서의 정보 패킷

Transport Layer (4계층)

Client와 Server 간에 Application Layer Message를 전송하는 서비스를 제공하는 계층으로 TCP, UDP라는 두 가지 Transport Protocol이 있다.

  • TCP: 애플리케이션에게 연결 지향형 서비스를 제공

    • 목적지로의 Application Layer Message 전달을 보장한다.
    • 송, 수신자의 속도 일치 등의 흐름 제어도 포함한다.
    • 긴 메세지를 짧은 메세지로 나누고 혼잡 제어 기능을 제공하여 네트워크가 혼잡할 때 출발지의 전송률을 줄여준다.
  • UDP: 애플리케연에 비연결형 서비스를 제공

    • TCP의 연결 지향형 서비스처럼 신뢰성, 흐름 제어, 혼잡 제어를 제공하지 않는 간단한 서비스
  • Multiplexing: 여러 애플리케이션의 데이터를 네트워크를 통해 묶어서 보내는 것

  • Demultiplexing: 역다중화는 수신한 데이터를 올바른 애플리케이션에 분배하는 것

  • Segment: Transport Layer Packet

Network Layer (3계층)

호스트끼리 데이터그램을 라우팅하는 책임을 지는 계층으로 Network Protocol으로 IP, 라우터 프로토콜이 있다.

  • Transport Layer에서 Transport Protocol이 Segment와 목적지 주소를 네트워크 계층으로 전달해주었을 때, 네트워크 계층은 목적지 호스트의 트랜스포트 계층으로 세그먼트를 운반하는 서비스를 제공한다.
  • IP Protocol: IP datagram의 필드를 정의하고 종단 시스템과 라우터가 이 필드에 어떻게 동작하는지 정의하는 프로토콜

    • 오직 하나의 IP Protocol이 존재한다.
    • 모든 인터넷 요소는 IP Protocol을 수행해야만 한다.
    • IP는 인터넷을 함께 묶는 역할을 수행하기 때문에 Network Layer는 흔히 IP Layer로도 불린다.
  • Routing Protocol: 출발지와 목적지 사이에서 데이터그램이 이동하는 경로를 결정하는 프로토콜**

    • 인터넷은 많은 라우팅 프로토콜을 가지고 있다.
    • 인터넷은 네트워크의 네트워크이며, 한 네트워크 내부에서 네트워크 운용자는 원하는 어떠한 라우팅 프로토콜이라도 수행할 수 있다.

전체 프레임을 한 네트워크 요소에서 이웃 네트워크 요소로 이동시키는 역할을 수행하는 계층

  • 각 노드에서 네트워크 계층은 데이터그램을 아래 링크 계층으로 보내고, 링크 계층은 그 데이터그램을 경로상의 다음 노드에 전달한다. 다음 노드에서 링크 게층은 그 데이터그램을 상위 네트워크 계층으로 보낸다.

  • Link Layer Protocol: Ethernet, WiFi, DOCSIS Protocol(cable access network)

  • Link Layer에서 제공하는 서비스는 해당 링크에 사용된 특정 Link Layer Protocol에 의해 결정된다.

    • Network Layer는 각기 다른 Link Layer Protocol로부터 다른 서비스를 제공받을 것이다.
    • 데이터그램은 경로상의 각기 다른 링크에서 다른 Link Layer Protocol에 의해 처리될 수 있다.
  • frame: Link Layer Packet

Physics Layer

Link Layer의 frame 내부의 각 비트를 한 노드에서 다음 노드로 이동시키는 역할을 한다.

  • Physics Layer Protocol들은 링크에 의존하고 동시에 링크의 실제 전송 매체에 의존한다.
    • 링크의 Link Layer Protocol에 의해 영향을 받는다.
    • Link Layer Protocol가 가지고 있는 Physics Layer Protocol (꼬임쌍선용, 동축케이블용, 광케이블용 등)에 의해 영향을 받는다.

D) Encapsulation

아래 그림은 아래 과정의 물리적 경로를 보여준다.

  1. 송신 종단 시스템의 프로토콜 스택 아래로 데이터를 보낸다.
  2. 중간의 링크 계층 스위치와 라우터의 프로토콜 스택을 위아래(아래 > 위 > 위 > 아래)로 거친다.
  3. 수신 종단 시스템의 프로토콜 스택 상위로 보낸다.

그림에서처럼 링크 계층 스위치와 라우터는 인터넷 프로토콜 스택의 일부분만(대부분 하위 계층) 계층으로 구성한다.

  • 즉, 인터넷 라우터들은 IP 프로토콜(3계층 프로토콜)을 구현할 수 있지만, 링크 계층 스위치는 불가하다.
  1. 그림에서 M(Application Layer Message)은 Transport Layer에서 Ht(Transport Layer Header Information)이 추가되어 Transport Layer Segment를 이룬다.

    • Transport Layer Segment는 Application Layer Message를 캡슐화한다. - 추가된 정보는 수신 측의 Transport Layer가 해당 메세지를 적잘한 애플리케이션으로 보내도록 하는 정보와 메세지 비트 변경 여부를 수신자가 결정하게 하는 오류 검출 비트를 포함한다.
  2. Network Layer는 Hn(출발지와 목적지 종단 시스템 주소와 동일한 헤더 정보)를 추가하여 Network Layer Datagram을 만든다.

  3. 링크 계층도 Hl(자신의 헤더 정보)를 추가하여 Link Layer Frame을 만든다.

이 과정을 살펴보면 각 계층에서 패킷은 헤더 필드와 Payload Field(상위 계층으로부터의 패킷) 라는 두 가지 형태의 필드를 갖는다.

캡슐화 과정은 위에서 말한 것보다 더 복잡할 수 있다.

큰 메시지는 여러 개의 트랜스포트 계층 세그먼트로 분할될 수 있으며, 그들 각각은 여러 개의 네트워크 계층 데이터그램으로 분할될 수 있다.

그러고 나서 수신 측에서 각 세그먼트는 분할된 데이터그램들로 재구성되어야 한다.

0개의 댓글