[컴퓨터 네트워크] 07. IPv6(차세대 IP)

2024. 4. 17. 20:22·Computer Science/Network
목차
  1. IPv6 주소
  2. 표현
  3. 주소공간
  4. 주소 공간 할당
  5. 자동설정
  6. Renumbering
  7. IPv6 프로토콜
  8. 패킷 포맷
  9. 확장헤더
  10. ICMPv6 프로토콜
  11. Error-Reporting Messages
  12. Informational Messages
  13. Neighbor-Discovery 메시지
  14. Group Membership Message
  15. IPv4에서 IPv6로의 전환
  16. 3가지 전환 전략
  17. IP 주소의 사용

IPv6


IPv6 주소

  • IPv6로의 전환의 주된 이유는 주소공간 부족
  • IPv6의 거대한 주소 공간은 주소 고갈의 문제 해결
  • IPv6 조소는 128 비트 (16 바이트 (옥텟))
    • IPv4의 4배 길이

표현

  • 128 비트를 컴퓨터는 쉽게 저장하지만, 인간은 다루기 쉽지 않다
  • 바이너리 표기법과 16진 표기법 (Coloned Hexadecimal)
    • 32개의 16진수를 4개씩 끊어서 FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF 이런식으로 적는다

주소공간

  • IPv6의 주소 개수는 2^128 개
  • 주소 고갈 문제 해결
  • IPv4 주소(43억 개)의 296 배 (1028배)
  • 3.4x10^34 개

주소 공간 할당

  • IPv6의 주소공간은 가변길이의 여러 블럭으로 분할하고, 각 공간은 특수 목적으로 사용
  • 대부분의 공간은 아직 미할당
    • 미래 사용 위해 남겨둠

IPv6 주소에 할당된 프리픽스

 

자동설정

  • IPv6의 흥미로운 특징중의 하나가 호스트 주소의 자동설정 기능
  • IPv4에서는 수동설정, 혹은 DHCP에 의한 자동설정
  • DHCP는 IPv6에서도 주소할당에 사용
  • IPv6에서는 호스트가 스스로 주소설정 가능

Renumbering

  • 서비스 제공자를 변경하는 경우에, 인터페이스 ID 는 동일하고, 네트워크 프리픽스와 서브넷 ID만 변경하면 됨
  • 네트워크 프리픽스와 서브넷 ID는 라우터가 주기적으로 메시지를 통하여 알리고, 각 호스트는 자신의 주소를 이 값으로 변경한다
  • 네트워크 주소가 바뀌면 관리자가 바꿔주는 것이 아니라, 라우터가 바뀐 주소를 주기적으로 네트워크 안 라우터에게 알려줌으로써 호스트가 수신하여 앞부분 주소를 자동적으로 사용 

IPv6 프로토콜

  • IPv6 패킷 포맷
    • 고정헤더
    • 확장헤더
  • 메시지 유형

패킷 포맷

  • 40 바이트 기본 헤더
  • 유료부하 (payload)
    • 확장 헤더 (Optional) + 데이터(상위계층)
    • 최대 65535 바이트

 

확장헤더

  • 6가지 확장헤더
    • IPv4에서는 옵션
  • hop-by-hop option
  • source routing
  • Fragmentation
  • Authentication
  • encrypted security payload
  • destination option

ICMPv6 프로토콜

  • ICMPv6는 ICMPv4 보다 복잡
    • ARP, IGMP 기능 흡수
  • 새로운 메시지 추가됨

Error-Reporting Messages

  • 보고되는 4가지 에러 종류
    • destination unreachable
    • packet too big
    • time exceeded(ex. TTL)
    • parameter problems
  • Source-quenched 메시지는 제외됨
    • IPv4에서 혼잡제어 용도
    • IPv6에서는 헤더의 priority, flow label 필드를 활용하여 혼잡제어

Informational Messages

  • 2 종류
    • echo request 메시지(ex. ping)
    • Echo reply 메시지
  • 인터넷에서 통신 가능 상태 체크

Neighbor-Discovery 메시지

  • 내 주변에 목적지가 있는지? 해당 목적지의 주소는?
  • 2개의 새로운 프로토콜 지원
    • Neighbor-Discovery (ND) protocol
    • Inverse-Neighbor-Discovery (IND) protocol

Group Membership Message

  • 해당 네트워크에 그룹멤버가 있나 없나 찾는 것
  • IPv4에서 그룹 통신 관리를 다루는 프로토콜은 IGMPv3 프로토콜
  • IPv6에서는 Multicast Listener Delivery 프로토콜이 담당
    • MLDv1이 IGMPv2의 IPv6 버젼
    • MLDv2가 IGMPv3의 IPv6 버전
  • MLDv2의 2 메시지 유형
    • membership-query 메시지(라우터)
    • membership-report 메시지(호스트)

IPv4에서 IPv6로의 전환

  • 전환은 IPv4와 IPv6 시스템 사이에 어떠한 문제도 발생하지 않도록 매끄럽게 (smooth)

3가지 전환 전략

  • 듀얼 스택 (Dual stack)
  • 터널링 (Tunneling)
  • 헤더 변환 (Header translation)

 

IP 주소의 사용

  • 전환기간 동안에는 IPv4와 IPv6 두 방식의 주소 모두 사용
  • 전환 완료 시 IPv4 주소는 없어질 것
  • DNS 서버가 호스트 이름으로부터 두 방식의 주소 모두를 매핑해줄 것이고, 전세계의 모든 호스트가 IPv6로 전환되면 IPv4 디렉토리는 없어질 것임

 

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

[컴퓨터네트워크] 09. 전송계층(2)  (0) 2024.05.18
[컴퓨터네트워크] 08. 전송계층(1)  (0) 2024.05.18
[컴퓨터네트워크] 06. 멀티캐스트 라우팅(Multicast Routing)  (0) 2024.04.17
[컴퓨터네트워크] 05. 통신절차  (0) 2024.04.10
[컴퓨터네트워크] 04. 유니캐스트 라우팅(2) - 유니캐스트 라우팅 프로토콜  (0) 2024.04.10
  1. IPv6 주소
  2. 표현
  3. 주소공간
  4. 주소 공간 할당
  5. 자동설정
  6. Renumbering
  7. IPv6 프로토콜
  8. 패킷 포맷
  9. 확장헤더
  10. ICMPv6 프로토콜
  11. Error-Reporting Messages
  12. Informational Messages
  13. Neighbor-Discovery 메시지
  14. Group Membership Message
  15. IPv4에서 IPv6로의 전환
  16. 3가지 전환 전략
  17. IP 주소의 사용
'Computer Science/Network' 카테고리의 다른 글
  • [컴퓨터네트워크] 09. 전송계층(2)
  • [컴퓨터네트워크] 08. 전송계층(1)
  • [컴퓨터네트워크] 06. 멀티캐스트 라우팅(Multicast Routing)
  • [컴퓨터네트워크] 05. 통신절차
lumana
lumana
배움을 나누는 공간 https://github.com/bebeis
  • lumana
    Brute force Study
    lumana
  • 전체
    오늘
    어제
    • 분류 전체보기 (456)
      • Software Development (27)
        • Performance (0)
        • TroubleShooting (1)
        • Refactoring (0)
        • Test (8)
        • Code Style, Convetion (0)
        • DDD (0)
        • Software Engineering (18)
      • Java (71)
        • Basic (5)
        • Core (21)
        • Collection (7)
        • 멀티스레드&동시성 (13)
        • IO, Network (8)
        • Reflection, Annotation (3)
        • Modern Java(8~) (12)
        • JVM (2)
      • Spring (53)
        • Framework (12)
        • MVC (23)
        • Transaction (3)
        • AOP (11)
        • Boot (0)
        • AI (0)
      • DB Access (1)
        • Jdbc (1)
        • JdbcTemplate (0)
        • JPA (14)
        • Spring Data JPA (0)
        • QueryDSL (0)
      • Computer Science (129)
        • Data Structure (27)
        • OS (14)
        • Database (10)
        • Network (21)
        • 컴퓨터구조 (5)
        • 시스템 프로그래밍 (23)
        • Algorithm (29)
      • HTTP (8)
      • Infra (1)
        • Docker (1)
      • 프로그래밍언어론 (15)
      • Programming Language(Sub) (77)
        • Kotlin (1)
        • Python (25)
        • C++ (51)
        • JavaScript (0)
      • FE (11)
        • HTML (1)
        • CSS (9)
        • React (0)
        • Application (1)
      • Unix_Linux (0)
        • Common (0)
      • PS (13)
        • BOJ (7)
        • Tip (3)
        • 프로그래머스 (0)
        • CodeForce (0)
      • Book Review (4)
        • Clean Code (4)
      • Math (3)
        • Linear Algebra (3)
      • AI (7)
        • DL (0)
        • ML (0)
        • DA (0)
        • Concepts (7)
      • 프리코스 (4)
      • Project Review (6)
      • LegacyPosts (11)
      • 모니터 (0)
      • Diary (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
lumana
[컴퓨터 네트워크] 07. IPv6(차세대 IP)
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.