1.5 프로토콜 계층과 서비스 모델

1.5.1 계층구조

프로토콜 계층화

  • 네트워크 설계자는 프로토콜을 layer(계층)로 조직한다.
  • 각 프로토콜은 한 계층에 속한다.
  • 한 계층은 상위 계층에 서비스(service)를 제공한다.
  • 이것을 계층의 서비스 모델(service model)이라고 한다.
  • 각 계층은 그 계층 내부에서 어떤 동작을 수행하거나, 직접 하위 계층의 서비스를 사용한다.
  • 프로토콜 계층은 소프트웨어, 하드웨어 또는 둘의 통합으로 나타낼 수 있다.
  • 애플리케이션 계층(HTTP, SMTP)과 트랜스포트 계층 : end system의 소프트웨어로 구현
  • 물리(physical) 계층과 데이터 링크 계층 : 네트워크 인터페이스 카드(이더넷, 와이파이 인터페이스 카드)
  • 네트워크 계층 : 하드웨어와 소프트웨어로 혼합 구현
  • n계층 프로토콜은 네트워크를 구성하는 종단 시스템, 패킷 스위치, 그 외의 요소 사이에 분산되있다. ⇒ 각 네트워크 구성요소에는 하나의 n계층 프로토콜이 있다.
  • 프로토콜 스택 : 다양한 계층의 프로토콜을 모두 합한 것
  • 이 프로토콜 스택에서 애플리케이션 계층부터 다루어 내려가는 것이 top-down approach.
  • 5개 계층의 인터넷 프로토콜 스택

    애플리케이션
    트랜스포트
    네트워크
    링크
    물리

애플리케이션 계층

  • 네트워크 애플리케이션과 애플리케이션 계층 프로토콜이 있는 곳
  • HTTP(웹 문서 요청과 전송 제공), SMTP(전자메일 전송 제공), FTP(두 종단 시스템 간의 파일 전송 제공) 같은 프로토콜들을 포함
  • 이 계층에 있는 DNS(Domain Name Server)가 우리에게 친근한 인터넷 주소를 32비트 네트워크 주소로 변환한다.
  • 애플리케이션 계층 프로토콜 : 여러 end system에 분산.
    • 한 end system에 있는 app이 다른 end system에 있는 app과 메시지(정보 패킷)를 교환하는데 사용

트랜스포트 계층

  • 클라이언트와 서버 간에 애플리케이션 계층 메시지를 전송
  • 인터넷에는 TCP와 UDP 라는 트랜스포트 프로토콜이 있다.
    • TCP : 연결지향형 서비스.
    • UDP : 비연결형 서비스. 간단한 서비스.
  • 세그먼트(segment) : 트랜스포트 계층 패킷

네트워크 계층

  • 한 호스트에서 다른 호스트로 datagram(데이터그램)을 라우팅한다.
  • 인터넷 트랜스포트 계층 프로토콜이 보낸 트랜스포트 계층 세그먼트와 목적지 주소를 목적지 호스트의 트랜스포트 계층으로 전달
  • IP 프로토콜
    • IP 데이터그램의 필드를 정의
    • 종단 시스템과 라우터가 이 필드에 어떻게 동작하는지를 정의
    • 네트워크 계층을 가진 모든 인터넷 요소는 IP 프로토콜을 수행해야만 한다.
  • 인터넷 네트워크 계층은 출발지와 목적지 사이에서 데이터그램이 이동하는 경로를 결정하는 라우팅 프로토콜을 포함한다(많이).
  • IP 계층이라고도 불린다.

링크 계층

  • 인터넷의 네트워크 계층은 출발지와 목적지 간 일련의 패킷 스위치(인터넷에서는 라우터)를 통해 데이터그램을 라우트한다.
  • 노드에서 노드로 패킷을 이동하기 위해 네트워크 계층은 링크 계층 서비스에 의존한다.
  • 노드 간의 이동 과정
    1. 출발 노드의 네트워크 계층이 데이터그램을 아래 링크 계층으로 보냄
    2. 링크 계층은 데이터그램을 경로상의 다음 노드에 전달
    3. 다음 노드의 링크 계층은 데이터그램을 상위 네트워크 계층으로 보냄
  • 링크 계층에서 제공하는 서비스는 그 링크에서 채용된 특정 링크 계층 프로토콜에 의해 결정
  • 데이터그램은 경로상의 각기 다른 링크에서 다른 링크 계층 프로토콜에 의해 처리될 수 있다.
  • 프레임(frame) : 링크 계층 패킷

물리 계층

  • 링크 계층의 기능은 전체 프레임을 한 네트워크 요소에서 이웃 네트워크 요소로 이동하는 것
  • 물리 계층의 기능은 프레임 내부의 각 비트를 한 노드에서 다음 노드로 이동하는 것

1.5.2 캡슐화(encapsulation)

  • 호스트 : 다섯 계층을 구현
  • 링크 계층 스위치 : 하위 1~2 계층 구현(물리, 링크) ⇒ IP 주소를 인식 못하지만 이더넷 주소는 인식하는 이유다.
  • 라우터 : 하위 1~3 계층 구현(물리, 링크, 네트워크)
  • 각 계층에서 패킷은 헤더 필드와 페이로드 필드(payload field)로 구성된다.
  • 계층 캡슐화 헤더 필드 페이로드 필드    
    애플리케이션 애플리케이션 계층 메시지   애플리케이션 계층 메시지    
    트랜스포트 트랜스포트 계층 세그먼트 트랜스포트 계층 헤더 정보 애플리케이션 계층 메시지    
    네트워크 네트워크 계층 데이터그램 네트워크가 추가한 헤더 애플리케이션 계층 메시지 트랜스포트 계층 헤더 정보  
    링크 링크 계층 프레임 링크가 추가한 헤더 애플리케이션 계층 메시지 트랜스포트 계층 헤더 정보 네트워크가 추가한 헤더