05.IP패킷 전달과 포워딩

wireshark로 배우는 컴퓨터 네트워크

  • 전달(delivery): 네트워크층의 제어 하에 네트워크가 패킷을 처리하는 방법

  • 포워딩(forwarding): 패킷을 다음 지점으로 전달하는 것

    • 목적지 주소를 기반 or 패킷에 부착된 레이블을 기반

연결형과 비연결형 서비스

  • 패킷 전달은 연결형과 비연결형 서비스를 이용하여 수행

연결형

  • 발신지의 네트워크 프로토콜은 패킷을 보내기전에 수신지의 프로토콜과 연결함

  • 패킷들 사이에 상관관계를 유지, 모든 패킷들이 같은 경로로 전달

  • 패킷의 라우팅 결정은 연결이 설정될때 한 번만 수행

비연결형

  • IP 프로토콜

  • 패킷들 간의 상관관계가 없음, 서로 다른 경로로 전달될 수 있음

직접 전달과 간접 전달

  • 패킷 포워딩: 패킷을 전달하는 방법

  • 패킷이 전달되는 과정에서 직접 전달은 반드시 1번이상 발생하지만, 간접 전달은 없을 수도 있고 여러번 발생할 수도 있음

  • 마지막 전달은 반드시 직접 전달

직접 전달

  • 패킷의 목적지가 전달자와 같은 네트워크에 연결된 호스트

    • 발신지와 목적지가 같은 물리 네트워크

    • 최종 라우터와 목적지 호스트 사이에 전달되는 경우

  • 송신자는 마스크를 사용하여, 자신의 주소와 목적지의 주소가 같으면 직접 전달을 수행

간접 전달

  • 전달자와 목적지의 호스트가 같은 네트워크에 있지 않을 경우

  • 목적지 IP 주소와 라우팅 테이블을 사용하여 다음 라우터의 IP 주소를 찾음

포워딩

  • 패킷을 목적지로 가는 경로 상에 올려놓는 것

  • 다음 홉으로 패킷을 전달하는 것

  • IP 프로토콜은 비연결형 프로토콜로 설계되었지만, 연결형 프로토콜로 사용되는 경향이 있음

    • 비연결형 프로토콜 -> 목적지 주소를 기반으로 수행

    • 연결형 프로토콜 -> 레이블을 기반으로 수행

목적지 주소 기반 포워딩

  • 라우팅 테이블을 활용하여 최종 목적지를 찾는 방법

  • 라우팅 테이블이 너무 커지면서 검색의 비효율이 발생 또는 보안적인 문제 발생 -> 다음의 방법들로 해결할 수 있음

1. 다음-홉 방법

  • 전체 경로에 대한 정보 대신 다음 홉의 주소만을 저장

  • 라우팅 테이블은 서로 일관성을 유지해야함

2. 네트워크-지정 방법

  • 네트워크 자신의 주소를 정의하는 엔트리 하나만을 가지고 있음

    • 같은 네트워크에 연결된 모든 호스트는 하나의 개체로 취급

3. 호스트-지정 방법

  • 네트워크-지정 방법과 반대

    • 다른 이점을 위해서 효율성을 고려하지 않음

  • 경로를 점검하거나, 보안성을 제공하기 위하는 경우에 활용

    • ex) 패킷의 전달이 특정 라우터를 통해서 전달되는 것을 원할때 활용

4. 디폴트 방법

  • 특정 네트워크와 패킷 전달 라우터만을 제외하고, 인터넷 상의 모든 네트워크는 디폴트 엔트리로 지정하는 방법

주소 지정 방식에 따른 포워딩 방법

책에서 예시와 그림으로 설명되어있음 4장 정리 후에 다시 정리 필요

  • 클래스, 서브넷팅 여부에 따라서 포워딩 방식과 라우팅 테이블이 달라짐

  1. 클래스기반 주소 지정

    • 서브넷팅x

    • 서브넷팅이 있는 경우 포워딩

  2. 클래스 없는 주소지정 포워딩

  3. 주소 집단화

    • 네트워크 주소 블록이 하나의 라우터에 집단화 되도록 수성

    • 가장 긴 마스크 부합 : 네트워크 마스크(prefix)가 가장 긴 마스크를 우선 정렬시키는 구조

계층적 라우팅

  • 라우팅 테이블의 크기를 줄이기 위해서 도입

  • 내부적으로 주소 블록을 분할하여, 큰 블록 내의 주소로 전달되는 패킷은 하나의 엔트리만을 필요로하게 됨

지리적 라우팅

  • 계층적 라우팅의 개념을 확장

  • 전체 주소를 유럽, 아메리카, 아시아와 같이 큰 대륙으로 구분하여 나누는 개념

레이블 기반의 포워딩

  • 교환기로 동작

  • 패킷에 부착된 레이블을 기반으로 패킷을 포워딩

  • 교환 인덱스를 사용한 테이블 접근(accessing)으로 수행

MPLS

  • 교환 기술이 적용된 라우터

  • IP 패킷을 MPLS 헤더를 추가해서 캡슐화

MPLS 헤더 포맷
  • 32bits의 헤더를 가진다.

  • 레이블(Label) : 20bits, 라우팅 테이블을 인덱스하기 위하여 사용되는 레이블을 정의

  • Exp : 3bits, 실험 목적으로 예약된 필드

  • S : 1bit, 스택 필드로서 값이 1인 경우 헤더가 스택 내에서 가장 마지막임을 의미

  • TTL : 8bits, IP TTL가 유사함

계층적 교환

  • MPLS 내의 레이블 스택은 계층적 교환을 가능케함

  • 계층적 라우팅과 유사

라우터 구조

  • 라우터는 입력포트, 출력포트, 라우팅 처리기, 교환 조직의 네 구성요소로 이루어짐

router components

입력 포트

  • 라우터에서 물리층과 데이터링크층의 기능을 수행

  • 프레임을 패킷으로 역캡슐화

  • 오류 탐지, 수정

  • 물리층 처리기, 데이터 링크 처리기

  • 교환 조직에 보내지기전 패킷을 저장할 수 있는 버퍼(큐)를 가지고 있음

출력 포트

  • 입력 포트의 역순

  • 패킷을 큐에 저장, 패킷을 프레임으로 캡슐화

  • 신호로 변환

라우팅 처리기

  • 네트워크층의 기능을 수행

  • 목적지 주소를 사용해서 다음 홉의 주소를 찾고, 패킷이 전송될 출력 포트 번호도 결정

  • 테이블 탐색과정(라우팅 테이블 검색하는 과정과 유사)

  • 입력포트에서 해당 기능을 처리하도록 발전하고 있음

교환 조직

  • 패킷을 입력 큐에서 출력 큐로 이동시키는 작업

    • 가장 복잡한 작업

  • 크로스바 교환기

  • 배년 교환기

  • 배춰-배년 교환기

Last updated