본문 바로가기
Computer Science/Network

04. Network Layer: Data Plane

by Ray 2021. 4. 13.

4.1 네트워크 계층 개요

송신 네트워크 계층 : 송신 트랜스포트 계층으로부터 세그먼트를 받아 각 세그먼트를 데이터그램으로 캡슐화하고, 인접한 라우터에 전송

수신 네트워크 계층 : 트랜스포트 계층 세그먼트를 추출하여 수신 트랜스포트 계층으로 전달

  • 각 라우터의 데이터 평면 : 입력 링크에서 출력 링크로 데이터그램 전달
  • 네트워크 제어 평면 : 데이터그램이 송신 호스트에서 목적지 호스트까지 잘 전달되도록 로컬, 퍼 라우터 포워딩을 조정

4.1.1 포워딩과 라우팅: 데이터 평면과 제어 평면

네트워크 계층 : 송신 호스트에서 수신 호스트로 패킷을 전달

  • 포워딩(전달) : 라우터가 입력링크에 도착한 패킷을 적절한 출력 링크로 이동시키는 것.

    데이터 평면에 구현되는 가장 보편적이고 중요한 기능

    매우 짧은 시간(몇 나노초)단위로 하드웨어에서 실행

    데이터 평면

  • 라우팅 : 송신자가 수신자에게 패킷을 전송할 때, 네트워크 계층이 패킷경로를 결정하는 것

    긴 시간(몇 초) 단위로 소프트웨어에서 보통 실행

    관리 제어 평면

    ▶ 포워딩 테이블 : 라우터에서 필수 불가결한 요소로, 도착하는 패킷 헤더의 필드값을 포워딩 테이블의 내부 색인으로 사용.

    라우터는 패킷 헤더의 필드값을 조사하여 패킷을 포워딩

4.1.2 네트워크 서비스 모델

네트워크 서비스 모델은 송수신 호스트 간 패킷 전송 특성을 정의

네트워크 계층에서 제공할 수 있는 서비스

  • 보장된 전달 : 패킷이 소스 호스트에서부터 목적지 호스트까지 도착하는 것을 보장
  • 지연 제한 이내의 보장된 전달 : 패킷의 전달 보장뿐만 아니라, 호스트 간의 특정 지연 제한 시간 안에 전달.
  • 순서화 패킷 전달 : 패킷이 목적지에 송신된 순서로 도작하는 것을 보장
  • 최소 대역폭 보장 : 송신 호스트가 특정한 비트 속도 이하로 전달하는 한, 모든 패킷이 목적지 호스트까지 전달
  • 보안 서비스 : 네트워크 계층은 모든 데이터그램들을 소스 호스트에서는 암호화, 목적지 호스트에서는 해독을 할 수 있게 하여, 트랜스포트 계층의 모든 세그먼트들에 대한 기밀성을 제공

▶ 최선형 서비스 : 순서화 패킷 전달을 제공하지 않고, 전송 자체도 보장하지 않는다.

지연제한 이내의 전달도 보장하지 않고, 최소 대역폭도 없다.

쓸모없는 서비스로 보이며 대체제도 많으나, 광범위한 애플리케이션(넷플릭스, 스카이프, 페이스타임)에서 사용된다.

링크 계층 스위치 : 링크 계층 프레임의 필드 값에 근거하여 포워딩을 결정

라우터 : 네트워크 계층 필드 값에 근거하여 포워딩을 결정

4.2 라우터 내부

라우터 구조

  • 입력 포트 : 라우터로 들어오는 입력 링크의 물리계층 기능을 수행

    포워딩 테이블을 참조하여, 도착된 패킷이 스위칭 구조를 통해 전달되는 라우터 출력포트를 결정

  • 스위칭 구조 : 라우터 내부에 포함되어, 라우터의 입력 포트와 출력포트를 연결

  • 출력 포트 : 수신한 패킷을 저장하고 필요한 링크 계층 및 물리적 계층 기능을 수행하여 출력링크로 패킷을 전송

  • 라우팅 프로세서 : 제어 평면 기능을 수행

    기존의 라우터 → 라우팅 프로토콜을 실행하고 라우팅 테이블과 연결된 링크 상태 정보를 유지 관리하며 포워딩 테이블을 계산

    SDN 라우터 : 원격 컨트롤러와 통신하여 계산된 포워딩 테이블 항목을 수신하고 라우터의 입력포트에 이러한 항목을 설치

4.2.1 입력 포트 처리 및 목적지 기반 전달

  • 입력 포트의 회선 종단 기능과 링크 계층 처리는 라우터의 개별 입력 링크과 관련된 물리 계층 및 데이터 링크 계층을 구현
  • 입력 포트에서 수행되는 검색은 라우터 동작의 핵심
  • 포워딩 테이블을 이용하여 도착 패킷이 스위칭 구조를 통해 전달될 출력 포트를 검색
  • 포워딩 테이블은 라우팅 프로세서에서 계산, 업데이트되거나 원격 SDN 컨트롤러에서 수신
  • 포둬딩 테이블은 라우팅 프로세서에서 입력 회선 카드로 복사되며, 중앙 집중식 라우팅 프로세서 호출을 하지 않아 병목현상을 피함

4.2.2 변환기

스위칭 구조를 통해 패킷이 입력 포트에서 출력 포트로 스위칭

  • 메모리를 통한 교환 : 가장 단순하며, 초기의 라우터는 CPU(라우팅 프로세서)를 직접 제어해서 입력 포트와 출력 포트 사이간의 패킷을 스위칭

  • 버스틀 통한 교환 : 입력 포트는 라우팅 프로세서의 개입없이 공유 버스를 통해 직접 출력 포트로 패킷을 전송

  • 인터커넥션 네트워크를 통한 교환 : 공유 버스의 대역폭 제한을 극복하는 한가지 방법

    크로스바 스위치 - n개의 입력 포트를 n개의 출력 포트에 연결하는 2n버스로 구성된 인터커넥션 네트워크

4.2.3 출력 포트 프로세싱

출력 포트의 메모리에 저장된 패킷을 가져와서 출력링크를 통해 전송

전송을 위한 패킷 선택 및 대기열 제거, 필요한 링크 계층 및 물리계층 전송기능 수행이 포함

4.2.4 큐잉

패킷 큐는 입력 포트와 출력 포트 모두에서 형성될 수 있음

입력 큐잉 : 지연없이 모든 패킷을 전송하기에 스위치 구조가 빠르지 않다면, 패킷이 출력 포트로 전송되기 위해 차례를 기다려야 함

출력 큐잉 : 출력 포트는 시간단위에 단일 패킷만을 전송할 수 있기 때문에 동일한 출력 포트로 향하는 패킷들이 차례를 기다려야 함

4.2.5 패킷 스케줄링

  • FIFO(First-In-First-Out) : 출력 링크 큐에 도착한 순서와 동일한 순서로 전송할 패킷을 선택

  • 우선순위 큐잉 : 도착한 패킷은 우선순위 클래스로 분류되어 가장 높은 우선순위 클래스에서 패킷을 전송

  • Round robin : 패킷을 우선순위큐잉과 같이 클래스로 분류하나, 클래스들 간에 엄격한 우선순위가 존재하지 않고 클래스를 번갈아가며 패킷을 전송

  • WFQ(Weighted Fair Queueing) : 라우터에서 구현되는 라운드로빈의 일반적인 형태

    라운드로빈과는 다르게 각 클래스마다 가중치에 따라 다른 양의 서비스 시간을 부여받는다.

4.3 인터넷 프로토콜(IP): IPv4, IPv6

4.3.1 IPv4 데이터그램 형식

- 버전 번호 : 4비트로 데이터그램의 IP 프로토콜 버전을 명시 - 헤더 길이 : IP 데이터그램에서 실제 페이로드가 시작하는 곳을 결정 - 서비스 타입 : 서로 다른 유형의 IP 데이터그램을 구별 - 데이터그램 길이 : 바이트로 계산한 IP 데이터그램 전체 길이 - 실별자, 플래그, 단편화 오프셋 : IP 단편화와 관계가 있는 필드 - TTL : 데이터그램이 네트워크에서 무한히 순환되는 것을 방지, 0이 되면 폐기 - 프로토콜 : 데이터 부분이 전달될 목적지의 전송 계층의 특정 프로토콜을 명시 - 헤더 체크섬 : 수신한 데이터그램의 비트 오류를 탐지 - 출발지와 목적지 IP 주소 : 데이터그램을 생성할 때, 삽입 - 옵션 : IP 헤더를 확장 - 데이터 : 데이터그램이 존재하는 이유이자 가장 중요한 필드

4.3.2 IPv4 데이터그램 단편화

모든 링크 계층 프로토콜이 같은 크기 네트워크 계층 패킷을 전달할 수 없다.

각 링크가 다른 링크 계층 프로토콜을 사용할 수 있고, 각 프로토콜이 서로 다른 MTU(전달할 수 있는 최대 데이터 양)을 가질 수 있다.

→ 데이터그램의 페이로드를 두 개 이상의 더 작은 데이터그램으로 분할하고 각각의 작아진 데이터그램(단편)을 별도의 링크 계층 프레임으로 캡슐화하여 출력 링크로 전송

4.3.3 IPv4 주소체계

(서브넷팅과 함께 따로 다룸)

4.3.5 IPv6

32비트 IP 주소 공간이 빠른 속도로 고갈되면서 IPv6가 개발

IPv6 데이터그램 형식

- 버전 : IP 필드번호를 인식 (IPv6의 값은 6) - 트래픽 클래스 : 특정 응용 데이터그램에 우선순위를 부여하는데 사용 - 흐름 라벨 : 데이터그램의 흐름을 인식하는데 사용 - 페이로드 길이 : IPv6 데이터그램에서 고정 길이 40바이트 패킷 헤더 뒤에 나오는 바이트 길이 - 다음 헤더 : 데이터 필드가 전달될 프로토콜을 구분 - 홉 제한 : 라우터가 데이터그램을 전달할 때마다 1씩 감소하며, 0이 되면 폐기 - 출발지와 목적지 주소 : IPv6 128비트 주소 - 데이터 : IPv6 데이터그램의 페이로드 부분

IPv4에서 IPv6로의 전환

터널링을 이용하여 전환

IPv4 VS IPv6

'Computer Science > Network' 카테고리의 다른 글

3-way-handshake와 4-way-handshake  (0) 2021.04.27
API란?? Http API, REST API  (0) 2021.04.27
03 Transport Layer  (0) 2021.04.13
02 Application Layer  (0) 2021.01.24
01 컴퓨터 네트워크와 인터넷  (0) 2021.01.24