CS/네트워크

[네트워크] 네트워크 계층 - 데이터 평면

always-dev 2022. 9. 7.
반응형

 

이번 포스팅에서 배울 내용

데이터 평면

  1. 네트워크 계층에서의 데이터 평면이 어떠한 기능을 하는지 다룬다.
  2. 퍼 라우터라는 네트워크 계층의 기능은 한 라우터의 입력 링크에 도착한 데이터그램이 그 라우터의 출력 링크에 어떻게 도착하는지 결정한다.
  3. 전통적인 IP 포워딩
  4. 일반화된 포워딩
  5. IPv4, IPv6 프로토콜들과 어드레싱

 

 

 

네트워크 전체 흐름

 

 

1. 네트워크 계층의 일

네트워크 계층은 링크를 타고 호스트 H1과 호스트 H2가 통신 할 수 있게 해줍니다.

이 때 네트워크 계층에서 나온 네트워크 패킷을 데이터그램이라 합니다.

전송계층에서 나온 세그먼트에서 IP 헤더가 붙은 상태입니다.

IP 헤더를 가지고 있음으로서 상대 호스트 H2의 목적지가 어디인지 판단할 수 있습니다.

 

 

 

 

 

2. IP 주소를 어떻게 이용할까 ?

하지만 곧장 한 링크로 호스트 H1과 상대 호스트 H2가 연결되어 있는 상태가 아닙니다.

매우 복잡한 구조로 링크들이 이어져 있어 상대 호스트 H2까지 가는 경로를 알 수 없습니다.

때문에 너무 오랜시간이 걸려서 목적지에 도착할 수도 있고 아예 도착하지 못할 수도 있습니다.

이러한 문제를 해결하기 위해서는 현재 패킷이 어느 방향으로 가야하는지 판단할 수 있어야합니다.

 

 

 

 

 

3. 라우터의 데이터 평면 역할, 네트워크 제어 평면 역할

H1이 H2에게 데이터를 보낸다고 합니다.

 

H1 Network Layer은 H1의 Transport Layer으로부터 segment를 받아 각 segment를 datagramd으로 캡슐화합니다.

인접한 라우터 R1 에게 datagram을 보냅니다.

 

각 라우터의 데이터 평면 역할은

입력 링크에서 출력 링크로 datagram을 전달하는 것입니다.

이 때 적절한 출력 링크로 이동 시켜야 하는데 이것을 “포워딩"이라고 합니다.

 

 

 

네트워크 제어 평면의 역할은

datagram이 송신 호스트에서 목적지까지 잘 전달되게끔 로컬, 퍼 라우터 포워딩을 조정하는 것입니다.

패킷 경로를 결정하는 것인데 이것을 “라우팅"이라고 합니다.

이 때 경로를 계산하는 알고리즘을 “라우팅 알고리즘"이라고 부릅니다.

즉, 라우팅 알고리즘으로 경로를 계산하는 라우팅을 하여 “포워딩 테이블"이라는 것을 만듭니다.

데이터 평면에서 포워딩 할 때 라우팅으로 만들어지는 “포워딩 테이블”을 참조하여 적절한 출력 링크로 포워딩하는 것입니다.

 

 

 

 

3-1. 라우터의 등장

결국 입력 링크에서 받은 패킷을 출력 링크로 내보내주어 다음으로 전달해주는데 “올바른 방향"으로 보내주는 역할을 합니다.

 

말을 좀 더 풀어서 설명하기 위해서는 먼저 ‘패킷 스위치'에 대해서 간단하게 알아야 합니다.

 

 

 

 

3-2. 패킷 스위치

패킷 스위치 란?
패킷 헤더 내부의 필드 값에 따라 입력 링크 인터페이스에서 출력 링크 인터페이스로 패킷을 전달하는 일반적인 패킷 교환 장비를 의미합니다.

 

1. 링크 계층 스위치

링크 계층 스위치라고 불리는 일부 패킷 스위치는 링크 계층 프레임의 필드 값에 근거하여 포워딩을 결정합니다.

 

2. 라우터

링크 계층 스위치와 다른 패킷 스위치로 네트워크 계층 필드 값에 근거하여 포워딩을 결정합니다.

 

네트워크 구조를 보면 매우 많은 링크와 라우터가 존재합니다.

패킷이 링크를 타고 라우터를 만나고 라우터가 다시 방향을 정해주어 링크를 타고 나아갑니다.

 

 

 

 

3-3. 포워딩

  • “포워딩" 어디로 향할지 알려주기

즉, 라우터가 어떤 링크를 타고 가라고 할 지 판단하게 해줍니다.

이러한 판단을 “포워딩"이라고 합니다.

 

 

 

 

3-4. 포워딩과 라우팅

  • “포워딩 테이블, 라우팅" 어디로 향하는지 판단하기 위한 자료 구성법

그리고 이러한 판단을 “포워딩 테이블"을 가지고 하게 됩니다.

포워딩 테이블은 구성되어지는 것입니다.

이러한 포워딩 테이블 구성을 “라우팅"이라고 합니다.

 

 

 

 

 

4. 라우터 내부

  • 라우터 내부에서 어떻게 포워딩 테이블을 참조하여 패킷을 적절한 출력 링크로 이동시킬 수 있을까?입력 포트

입력 포트에서 검색 기능을 수행합니다. (가장 오른쪽 상자)

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

 

 

  • 포트

여기서 포트는 물리적인 입출력 라우터 인터페이스를 의미합니다.

 

 

  • 스위칭 구조

스위칭 구조는 라우터의 입력 포트와 출력 포트를 연결합니다.

스위칭 구조는 네트워크 라우터의 내부 네트워크입니다.

 

 

  • 출력 포트

출력 포트는 스위칭 구조에서 수신한 패킷을 저장하고 필요한 링크 계층 및 물리적 계층 기능을 수행하여 출력 링크로 패킷을 전송합니다.

 

 

  • 라우팅 프로세서

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

 

 

 

 

 

4-1. 입력 포트 처리

입력 포트에서 수행되는 검색은 라우터 동작의 핵심입니다. (포워딩 테이블 검색하여 참조하는 부분)

라우터는 포워딩 테이블을 사용하여 도착 패킷이 스위칭 구조를 통해 전달되는 출력 포트를 검색합니다.

 

 

 

  • 가장 간단하고 비효율적인 방법을 생각해보겠습니다.

32bit IP 주소일 때, 포워딩 테이블을 구현한다면 모든 가능한 목적지 주소마다 하나의 엔트리가 필요합니다.

즉, 2^32 인 40억 개 이상의 주소를 가지고 있어야 합니다.

 

 

 

  • 최장 프리픽스 매칭 규칙 (longest prefix matching rule)

테이블에서 가장 긴 대응 엔트리를 찾고, 여기에 연관된 링크 인터페이스로 패킷을 보내는 방식입니다.

기존에 40억 개 이상의 주소를 가지고 있지 않아도 되어 성능이 크게 향상 됩니다.

기존에 목적지 주소가 다음과 같이 있다고 가정하겠습니다.

목적지 주소                                       링크 인터페이스
11001000 000010111 00010000 00000000                 0
11001000 000010111 00010111 11111111                 1
11001000 000010111 00011000 00000000                 2
11001000 000010111 00011111 11111111                 3

이런 식으로 하나하나 정확하게 매칭이 되었어야 하지만

최장 프리픽스 매칭 규칙을 사용하면

프리픽스                                          링크 인터페이스
11001000 000010111 000100                            0
11001000 000010111 00010111                          1
11001000 000010111 00011                             2
             그 외                                    3

이런 식으로 연관된 링크로 보낼 수 있습니다.

 

 

 

 

 

 

5. IPv4

먼저 저희가 네트워크 계층에서 사용하고 있는 IPv4에 대해서 알아보겠습니다.

IPv4 데이터그램 주요 필드를 보겠습니다.

  • 버전 번호
    • 4비트로 데이터그램의 IP 프로토콜 버전을 명시합니다.
  • 헤더 길이
    • 헤더에 가변 길이의 옵션을 포함하므로 실제 payload가 시작하는 곳을 결정합니다.
    • 실제 payload 시작하는 곳이란 : 전송 계층 세그먼트가 시작하는 곳을 의미합니다.
  • 서비스 타입
    • TOS는 서로 다른 유형의 IP 데이터그램을 구별합니다.
  • 데이터그램 길이
    • 바이트로 계산한 IP 데이터그램의 전체 길이
  • 식별자, 플래그, 단편화 오프셋
    • IP 단편화와 관계 있습니다. (아래에서 따로 설명하겠습니다.)
  • TTL (Time-to-live)
    • 네트워크에 데이터그램이 무한히 순환하지 않도록한다. (라우팅 루프)
    • 라우터가 데이터그램을 처리할 때마다 감소한다.
    • TTL 필드가 0이 되면 라우터가 데이터그램을 폐기한다.
  • 프로토콜
    • IP 데이터 그램이 최종 목적지에 도착했을 때만 사용된다.
    • 값 6 → TCP
    • 값 17 → UDP
  • 헤더 체크섬
    • 라우터가 수신한 IP 데이터그램마다 헤더 체크섬을 계산하고 이 값과 데이터그램 헤더의 체크섬이 다르면 오류 상태임을 감지한다.
  • 출발지 / 목적지 IP 주소
  • 옵션
    • IP 헤더를 확장한다.
    • 모든 데이터그램 헤더 옵션 필드에 정보를 포함하지 않는 방법으로 오버헤드를 해결하기 위해 사용합니다.
  • 데이터 (페이로드)
    • 데이터그램이 존재하는 이유이자 가장 중요한 마지막 필드

 

 

 

5-1. IPv4 데이터그램 단편화

  • 모든 링크 계층 프로토콜은 같은 크기의 네트워크 계층 패킷을 전달하지 못합니다.

만약 이더넷 프레임은 최대 1500byte 전송할 수 있지만 광역 링크 프레임은 576byte 이상의 데이터를 전달할 수 없을 때 “단편화”를 이용할 수 있습니다.

 

  • MTU (Maximum Trans-mission Unit)

링크 계층 프레임이 전달할 수 있는 최대 데이터 양을 MTU라고 합니다.

 

위와 같은 초과하는 상황일 때 IP 데이터그램의 payload를 두 개 이상의 더 작은 IP 데이터그램으로 분할하고 각각의 더 작아진 IP 데이터그램을 별도의 링크 계층 프레임으로 캡슐화하여 출력 링크로 보냅니다.

 

그리고 이 조각들은 종단 시스템에서 데이터그램 재결합 합니다.

(라우터는 포워딩 테이블을 검색하고 포워딩하는데 바쁘기 때문에 라우터에서 처리하지 않습니다.)

 

 

이런 조각들을 재결합하기 위해서는 원본 데이터그램의 조각인지 판단해야 합니다.

목적지 호스트(종단 시스템)가 이러한 재결합을 수행할 수 있도록 다음과 같은 3가지 필드가 있습니다.

  1. 식별자
  2. 플래그
  3. 단편화 오프셋
  • 식별자

식별자 번호는 송신 호스트가 보내는 각 데이터그램마다 식별자 번호를 증가시킵니다.

목적지에서 같은 송신자로부터 일련의 데이터그램을 받으며 어떤 데이터그램이 어느 원본 데이터그램의 조각인지 알 수 있습니다.

 

 

  • 플래그

IP는 신뢰할 수 없는 서비스를 제공합니다.

데이터그램0, 데이터그램1, 데이터그램2, 데이터그램3 을 송신했는데 목적지 호스트는

데이터그램0, 데이터그램1, 데이터그램2까지만 받았을 때 이것이 끝인줄 알고 모든 패킷을 다 잘 받았다고 판단할 수 있습니다.

 

때문에 플래그로 표시해주는데 맨 마지막 데이터그램 플래그를 1로 나머지를 0으로 둠으로서 마지막 데이터그램인지 확인할 수 있게 해줍니다.

 

 

 

  • 단편화 오프셋

오프셋 필드는 조각이 분실되었는지 결정하기 위해 사용합니다.

원본 데이터 그램 내에 조각의 위치를 명시하기 위해 사용합니다.

 

 

 

 

5-2. IPv4 주소 체계

  • IP 주소는 무엇과 관련 있는가 ?

IP 주소는 인터페이스와 관련이 있습니다.

인터페이스란 호스트와 물리적 링크 사이의 경계를 의미합니다.

각 링크마다 하나의 인터페이스를 가지며

하나의 라우터는 여러 개의 인터페이스를 갖습니다.

따라서 기술 면에서 IP 주소는 인터페이스를 포함하는 호스트 라우터가 아닌 인터페이스와 관련되어 있습니다.

 

 

 

 

 

  • IP 주소 표현법

IP 주소는 32비트 길이입니다. → 2^32(약 40억) 주소가 사용 가능합니다.

일반적으로 주소의 각 바이트를 십진수로 표현합니다.

192.32.216.9라고 한다면

193은 주소의 첫 번째 8비트입니다.

32는 주소의 두 번째 8비트 입니다.

따라서 이진수로 나타낸다면

11000001 00100000 11011000 00001001 으로 나타낼 수 있습니다.

 

 

 

 

 

  • IP 주소가 상대 호스트로 가는 법 ?

IP 주소는 32비트로 이루어져 있는데 사람이 편하게 읽기 위해 8비트로 자르고 10진수로 읽습니다.

하지만 이런 구조로 “포워딩 테이블"을 구성하면 테이블 크기가 너무 커집니다.

때문에 IP 주소를 계층화 시켜서 해결합니다.

 

계층화를 보기위해서는 먼저 IP 주소를 어떤식으로 이용하게 됐는지 알아보겠습니다.

 

 

 

 

 

6. 호스트와 라우터가 인터넷에 연결되는 방식

호스트는 일반적으로 네트워크와 연결되는 하나의 링크를 갖습니다.

호스트 IP가 datagram을 보낼 때 이 링크를 통해 datagram을 보냅니다.

호스트 물리적 링크 사이의 경계를 “인터페이스"라고 부릅니다.

 

 

라우터의 작업은 한 링크로부터 datagram을 수신하여 다른 링크로 전달하므로 링크는 2개 이상의 연결된 링크가 필요합니다.

라우터와 링크 사이의 경계 또한 “인터페이스"라 합니다.

 

 

각 링크마다 하나의 인터페이스를 가지고 하나의 라우터는 여러 개의 인터페이스를 가집니다.

모든 호스트와 라우터는 IP datagram을 송수신하므로 IP는 각 호스트와 라우터 인터페이스가 IP 주소를 갖도록 요구합니다.

 

 

이제 모든 호스트와 라우터의 각 인터페이스는 고유한 IP주소를 갖습니다. (NAT 뒤 인터페이스 제외)

하지만 이러한 주소는 마음대로 선택할 수 없습니다.

인터페이스의 IP 주소 일부는 연결된 “서브넷"이 결정해줍니다.

 

 

 

 

 

6-1. 서브넷 (Subnets)

IP 주소는 네트워크 주소와 호스트 주소로 나눠집니다.

서브넷은 중간에 라우터를 거치지 않고 갈 수 있는 호스트들의 집합을 의미합니다.

 

만약 세 호스트들의 인터페이스들과 하나의 라우터 인터페이스로 연결된 네트워크는 서브넷을 구성한다고 합니다.

 

여기서 (/24)는 서브넷 마스크라고 부르는데, 32비트 주소의 24비트가 서브넷 주소임을 의미합니다.

 

 

 

 

 

 

6-2. 클래스 주소 체계 (classfu addressing) [과거]

IP 주소의 네트워크 부분을 8, 16, 24 비트로 제한했습니다.

8, 16, 24비트 서브넷 주소를 각각 A, B, C 로 분류 했습니다.

 

먼저 IP 주소를 네트워크 ID와 호스트 ID로 나눴습니다.

A 클래스 라고 하면

네트워크 부분을 24bit 로 두고 호스트를 8bit로 둡니다.

 

이 경우에 254의 호스트만을 제공하므로 조직에서 턱없이 부족했습니다.

 

 

 

 

6-3. 인터넷 주소 할당 방식 CIDR (Classless Inter-Domain Routing) [현재]

  • 서브넷 주소 체계

CIDR은 서브넷 주소체계 표기를 일반화하고 있습니다.

서브넷 주소체계로서, 32비트 IP 주소는 두 부분으로 나뉩니다.

이것은 십진수의 형태인 a.b.c.d/x 를 가지며, 여기서 x는 주소 첫 부분의 비트 수 입니다.

 

 

 

  • 프리픽스(prefix, 네트워크 프리픽스)

a.b.c.d/x 형식 주소에서 최상위 비트 (MSB, Most Significant Bit)를 의미하는 x는 IP 주소의 네트워크 부분을 구성합니다.

즉, 외부 기관의 라우터는 목적지 주소가 내부 기관인 데이터그램을 전달할 때, x 비트들만 고려합니다.

 

포워딩 테이블은 네트워크 prefix가 엔트리가 되어서 생성되는데

즉, 라우터는 목적지 주소가 내부 기관인 datagram을 전달할 때, 단지 앞의 prefix들만 고려합니다.

 

이 때 라우터가 하는 일 앞의 비트가 가장 길게 매치되는 곳으로 이동 시키는 것을

“Longest Prefix Match Forwarding”이라고 합니다.

 

이것은 a.b.c.d/x 형태의 한 엔트리만으로 기관 목적지로 패킷 전송이 충분하므로,

라우터들에게 포워딩 테이블의 크기를 상당히 줄여줍니다.

 

CIDR이 무엇이냐고 물어본다면

CIDR식 주소 a.b.c.d/21의 첫 21비트들은 기관의 네트워크 prefix를 나타낸다.

이 기관의 모든 장비의 IP 주소에 공통이고

나머지 11비트들은 기관 내부의 특정 호스트들을 식별한다.

 

 

CIDR 예시를 들어보겠습니다.

네트워크 192.168.0.0/16 이 있다고 했을 때

해당 네트워크 안에

서브넷 192.168.1.0/24

서브넷 192.168.2.0/24

서브넷 192.168.254.254 가 있을 수 있습니다.

그리고 서브넷 192.168.1.0/24 안에는

호스트 192.168.1.1

호스트 192.168.1.2

호스트 192.168.1.254 가 있을 수 있습니다.

 

 

이러한 CIDR 방법이 나오면서 좀더 많은 주소를 유연하게 가질 수 있으며

포워딩 테이블을 구성하는데에도 더 효율적으로 크기를 줄일 수 있었습니다.

 

 

 

 

 

 

6-4. 동적 호스트 구성 프로토콜 DHCP (Dynamic Host Configuration Protocol)

  • 주소 블록 획득 - 네트워크 시작

기관의 서브넷을 사용하기 위한 IP 주소 블록을 얻기 위해,

네트워크 관리자는 이미 할당받은 주소의 큰 블록에서 주소를 제공하는 ISP와 접촉해야 합니다.

 

사실 ISP도 주소 블록을 얻어야 합니다.

바로 ICANN (Internet Corporation for Assigned Names and Numbers)에서 IP 주소를 받습니다.

 

ICANN은 IP 주소 할당과 DNS 루트 서버를 관리합니다.

 

 

 

 

 

  • 호스트 주소 획득 : DHCP (동적 호스트 구성 프로토콜)

이제 네트워크가 어디서 부터 온건지 알 수 있었습니다.

저희는 ISP에서 주소 블록을 획득하여, 개별 IP 주소를 기관 내부의 호스트와 라우터 인터페이스에 할당합니다.

 

시스템 관리자는 라우터 안에 IP 주소를 할당합니다.

호스트에 IP 주소를 할당하는 것은 일반적으로 DHCP를 이용합니다.

 

DHCP 는 뭘까요 ?

먼저 왜 호스트가 IP 주소를 동적으로 얻어야 하는지 알아보겠습니다.

 

학생 A, B, C 가 있다고 합니다.

학생 A, B, C 가 네이버에 들어가기 위해서는 네이버에서 학생 A, B, C의 IP 주소를 항상 알고있어야 합니다.

학생 A, B, C가 쓰고 있지 않음에도 IP 주소를 기억해야하는 네이버 입장에서는 굳이 용량만 차지하는 일이 발생합니다.

 

또한 IP 주소는 호스트의 위치를 간접적으로 나타내는데 고정 IP 주소를 받은 학생 A가 해외에 놀러가서도 똑같은 고정 IP 주소를 사용한다는 것은 말이 되지 않습니다.

 

때문에 IP 주소는 동적으로 할당 받아야 합니다.

그리고 네트워크에서 자동으로 호스트와 연결해주는 능력을 지닌 DHCP가 해결해줍니다.

 

DHCP (Dynamic Host Configuration Protocol)는 다른 임시 IP 주소를 할당합니다.

호스트의 IP 주소, 서브넷 마스크, 홉 라우터(디폴트 게이트웨이) 주소, Local DNS Server Address 등 추가 정보를 얻게 해줍니다.

 

DHCP는 클라이언트/서버 프로토콜입니다.

간단하다면 각 서브넷은 DHCP 서버를 가질 것입니다.

만약 DHCP 서버가 서브넷에 없다면,

해당 네트워크에 대한 DHCP 서버 주소를 알려줄 DHCP 연결 에이전트로 서비스할 라우터를 보여줍니다.

 

 

 

새로운 호스트가 도착할 경우 DHCP 프로토콜의 4단계 과정을 거치게 됩니다.

  1. DHCP server discovery

브로드캐스팅 IP 주소 255.255.255.255로 설정하고 출발지 IP주소는 0.0.0.0으로 설정합니다.

호스트는 자신이 접속될 네트워크의 IP 주소를 알지 못하며 해당 네트워크의 DHCP 서버의 주소도 모르기 때문에 전체에 브로드캐스팅합니다.

  1. DHCP server offer

DHCP 발견 메시지를 받은 DHCP 서버는 DHCP 제공 메시지를 클라이언트로 응답합니다.

이 때도 다시 브로드캐스트 주소 255.255.255.255를 사용하여 서브넷의 모든 노드로 이 메시지를 브로드캐스트한다.

이 떄 서브넷의 모든 노드로 이 메시지를 브로드캐스트하는 이유는

서브넷에는 여러 DHCP 서버가 존재하기 때문에, 클라이언트는 여러 DHCP 제공 메시지로부터 가장 최적의 위치에 DHCP를 선택합니다.

  1. DHCP request

새롭게 도착한 클라이언트는 하나 또는 그 이상의 서버 제공자 중에서 선택합니다.

선택된 제공자에게 파라미터 설정으로 되돌아오는 DHCP 요청 메시지로 응답합니다.

  1. DHCP ACK

서버는 DHCP 요청 메시지에 대해 요청된 파라미터를 확인하는 DHCP ACK 메시지로 응답합니다.

 

 

 

 

 

6-5. 네트워크 주소 변환 NAT (Network Address Translation)

  • 모든 IP 활용 장치에는 IP 주소가 필요합니다.

NAT는

IP 패킷의 출발지, 목적지 IP 주소

TCP 또는 UDP의 포트 번호를

재기록하면서 라우터와 같은 네트워크 장치를 통해 네트워크 통신을 하는 기술입니다.

 

공유기는 이러한 기술을 이용하여 내부 네트워크에 있는 여러 대의 PC들에게는 사설 IP를 할당하고

해당 PC가 통신하려고 할 때 공인 IP로 변경해서 외부 네트워크와 통신하게 하는 역할을 수행합니다.

 

 

 

 

  • NAT 변환 테이블 (NAT translation table)

특정 출발지 IP와 특정 목적지 IP를 가진 네트워크 패킷이 NAT를 통해 변환되게 되면

NAT테이블에 기록하고

해당 패킷이 다시 돌아왔을 때 기록해둔 내용을 보고 원래의 출발지 경로로 패킷을 보내줍니다.

 

 

 

 

 

  • 포트 포워딩

사설 IP를 사용하는 PC는 NAT 테이블을 통해 기록된 내용이 있을 때만 직접 통신이 가능합니다.

즉, 패킷의 요청이 내부에서 외부로 나갔다가 응답이 들어오는 것은 가능하지만

처음부터 외부에서의 요청 패킷을 직접 사설 네트워크로 들어오는 것을 불가능 합니다.

 

 

이럴 때 “포트 포워딩"을 사용해주면 됩니다.

포트 포워딩은 NAT를 수행하는 장치에서 설정하며 특정 포트를 Open하고 해당 포트로 들어오는 모든 패킷을 내부의 사설 IP로 전달해주는 기능을 합니다.

이를 이용하면 내부에서 나간 적이 없는 패킷도 직접적으로 내부로 들어올 수 있습니다.

 

 

 

 

 

7. IPv6

IPv6와 IPv4의 차이

  • 확장된 주소 기능
    • 주소 크기 32비트 → 128비트 확장했으므로 주소가 고갈되는 일은 발생하지 않을 것입니다. (예상)
  • 간소화된 40바이트 헤더
    • IPv4의 많은 필드가 생략되거나 옵션으로 남겨졌습니다.
    • 40바이트 고정 길이 헤더는 라우터가 IP 데이터그램을 더 빨리 처리하게 해줍니다.
  • 흐름 라벨링
    • 정의하기 어려운 흐름(flow)를 가지고 있습니다.
    • 높은 사용자 우선 순위를 가지고 전달된 트래픽 또한 흐름처럼 처리될 수 있습니다.

 

 

 

 

 

 

7-1. IPv4에서 IPv6로의 전환

IPv4로 구축된 시스템은 IPv6 데이터그램을 처리할 수 없습니다.

따라서 이를 해결할 여러 방법들이 제시되었습니다.

  • 플래그 데이

모든 인터넷 장비를 끄고 IPv4에서 IPv6로 업그레이드하는 시간과 날짜를 정하는 것입니다.

  • 터널링

IPv6 데이터그램을 받고 IPv4 데이터그램의 데이터(페이로드) 필드에 이것을 넣습니다.

IPv4 데이터그램에 목적지 주소를 터널의 수신 측에 IPv6 노드로 적어서 보냅니다.

 

 

터널 내부에 있는 IPv4 라우터는 IPv4 데이터그램이 IPv6 데이터그램을 가지고 있다는사실을 모른채 다른 데이터그램을 처리한는 방식으로 IPv4 데이터그램을 처리합니다.

반응형

댓글