네 강사님 이 강의에서는
IPv6 혹은 인터넷 프로토콜 버전6을 둘러싼
개념을 소개하겠습니다
지금까지 IPv4에
대해 이야기했지만 IPv4의
문제점 중 하나는 주소 공간이 제한되어
있다는 것입니다.
이는 IPv4 주소를 구성하는
비트가 32비트이므로 4비트만
제공되기 때문입니다. 가능한 주소 조합이 20억 개예요
4는 알아요 20억 개요 20억 개면
엄청난 양의 ip 같지만 일부분을
제거하면 apipa 주소나 로컬 호스트 주소
개인 ip 등 엄청난 낭비가 발생해 서브넷을
쓰기도 전에 심각한 문제가
발생해 IPv4 내의 네트워크
주소가 바닥나기 시작했죠 ?
이는 주소 고갈로 알려져 있으며 실제로 발생합니다.
실제로 2019년 11월 유럽,
서아시아, 구 소련 및 NASA의
지역 인터넷 등록 기관인 RIPE NCC는
이미 전체 IPv4
주소 풀을 소진했습니다.
다행히 IETF(Internet Engineering
Task Force)는 이미 미래를 내다보기 시작했으며 1995년에 IPv6에
대한 비전을 문서화한 RFC를 통해 IPv6를 표준으로
개발했습니다. 이를 IP Next Generation(IPNG)이라고
합니다. .
이제 알다시피 IPv6은 실제로 사용 가능한 주소 수 측면에서 IPv4에
비해 크게 향상되었습니다.
우리가 IPv4에서 하듯이 32비트 주소를 사용하는
대신 IPv6는 128비트 주소를 사용합니다
이렇게 하면 훨씬 더 큰 주소 공간이 제공됩니다.
사실, 340 언데실리언
ip 주소를 제공할 가능성을 제공합니다
이는 지구상의 모든 남성,
여성, 어린이에게 충분한 ip 주소입니다.
이는 2의 128제곱입니다.
네 사실 전 세계 남성, 여성, 아이
모두 ip 주소가 많아요 사용 가능한
ip 주소가 많아서요?
자, 여러분은 아마도 우리가
4번에서 6번으로 바뀌었다고 생각하실 겁니다
버전 5는 어쩌고요?
왜 바로 버전 6으로 넘어갔죠?
버전 5가 만들어지긴 했지만 공식 프로토콜이나 표준으로
완전히 채택되진 않았어요
그래서 제작이 안 됐죠
대신 버전 5에서 개발된
많은 개념이 실험적 프로토콜이었기
때문에 공식 표준이 되면서
IPv6로 옮겨졌습니다
이번엔 IPv6의 장점에 대해 얘기해보죠
큰 장점 중 하나는
훨씬 큰 주소 공간입니다
128비트 주소 때문이죠
그 외에도 IPv6는
IPv4의 브로드캐스트 데이터 흐름 유형을
제거하여 네트워크의 효율성도 높였습니다.
네 IPv6는
이제 ,
또한 각 패킷에 대해 특정 크기의
MTU를 포함하는 IPv4와 달리 각 세션
내에서 검색할 최대 전송 단위가 없습니다.
ipv4에서 만약 최대 전송 유닛
크기보다 큰 패킷을 보내면 그걸 조각내서 네트워크로
보낼 겁니다 ?????
목적지에 도착하면 다시
조립해서 읽었죠
사실 이건 보안상 위험 요소였어요
추가 처리가 필요하고 네트워크를
느리게 할 수도 있어요 인터넷
연결 속도가 빠른 현대식 네트워크에서
비효율적인 방식으로
작업하니까요
IPv6는 파편을 완전히
제거하기로 했어요
그리고 이 새로운 혜택을 제공할
뿐 아니라 IPv6를 만든 사람들도
똑똑해서 IPv6를 완전히 수용하려면 IPv4와
역호환이 돼야 하고 두 가지가 같은 네트워크에서
공존해야 한다는 걸 깨달았죠
사실 이미 1990년대 후반 IPv6가
개발되고 출시되면서 많은 컴퓨터
네트워크가 이미 전
세계에서 달렸습니다
그러므로 우리가 하루 만에
모든 것을 바꾸는 것은 불가능할 것입니다.
네 현재의 이동을 생각해
보세요 가스로 가는 차에서
전기차로 가는 거요
이는 2020년대 전체에서 2030년대까지
계속해서 일어나고 있습니다.
자 이제 이렇게 말할 수는 없겠죠 여러분
2025년 1월 1일에는 아무도 휘발유를
못 씁니다
그날 이후로
전기차로 대체될 겁니다
네 정부가 그런 일을
했다면 혁명이 일어났을 거예요
이미 많은 사람이 휘발유로 가는 차를 소유하고
있고 그 차와 기반 시설에 많은 돈을 투자했으니까요
?
이제 그러한 이유로 우리는 모든 휘발유 자동차를 하루아침에
교체하지는 않을 것입니다.
대신 2030년이나 2040년까지는
가스차에서 전기차로 천천히 전환할 거라고
합니다 전 세계에서 전기차가 점점 더
많이 팔리고 가스차 판매도 줄어들
테니까요
IPv6에서도 정확히 같은 일이 일어나고 있습니다
즉 IPv6는 IPv4와 IPv6가 같은 네트워크에서
공존하게 하고 이런 네트워크를
실행하는 장비는 듀얼 스택이
되는데 같은 네트워크 장치에서 동시에 IPv4
프로토콜과 IPv6 프로토콜을 실행할
수 있다는 뜻이죠
듀얼 스택 장치를 사용하는 경우 클라이언트가 IPv6을 지원하면
라우터 스위치는 IPv6 사용을 선호하며 해당
방법으로 통신합니다.
네 이제 장치가 ipv6를 지원하지
못하면 다시 뒤로 가서
이러죠 옛날 프로토콜을 사용할게 ?
그래야 내가 먹여 살릴 수 있잖아요
터널링이라는 방법도 있어요
IPv6가 IPv4 장치를 통해 터널링되는 곳입니다.
구식 라우터가 6번 트래픽을
운반하게 해주죠
네 네 IPv6는 본질적으로 터널이
될 겁니다 IPv4 헤더 내에서 IPv6 패킷을
캡슐화하고 IPv4 라우터와 이미 존재하는 인프라를
통해 IPv6 데이터를 전달하기
위해서요
소스와 대상 사이에 지점 간 터널을
만들어 그 정보를 캡슐화함으로써
이런 작업을 합니다
이것은
네 "그것은
언젠가는 4번 국적도 완전히 사라질 겁니다
하지만 아직까진 그런 일이 없었어요
그리고 개인적으로 저는 숨을 참지 않습니다.
어떤 기사를 봤는데
IPv4가 2040년까지 우리와
함께 있을 것으로 예상됩니다 그러니 네트워크
기술자로서 가까운 미래에 두 가지를 모두
다룰 줄 알아야 합니다
IPv6의 또 다른 장점은 헤더를 단순화한다는 것입니다
네 그래서 필드 12개 대신 필드
5개만 갖게 됩니다 헤더를 축소해
네트워크로 전송하는
데 훨씬 효율적이죠
그렇다면 IPv6 헤더는
어떻게 생겼는지 궁금하실 것입니다.
글쎄요, 제가 보여드리겠지만, 시험을 위해 이것을 외울
필요는 없다는 점을 알아두시기 바랍니다.
네 대신에 상단에 있는 ipv4 내의
다른 필드를 보여드리고 하단에 있는
ipv6를 보여드릴게요
이제 IPv4보다 IPv6가
얼마나 간단한지 알 수 있죠
그럼 다시 돌아가서 시험을
위해 알아야 할 걸 알아보죠
IPv6 주소는 어떻게 생겼나요?
네 음 길이는 128비트라고 말씀드렸는데요
이진법으로 작성하면 128개나 0이 있다는 뜻이죠
하지만 그건 정말 안 좋은
생각 같아요 그래서 그건 안 하겠습니다
? 네
이제 IPv4에서 했던 것처럼 점으로
구분된 10진수 표기법을
사용할 수 있지만, 128비트를 모두 표현하려면
16옥텟이 필요하기 때문에 여전히 작성해야 할 옥텟이 많습니다.
Ietf는 이 문제를 해결하기
위해 16진수를 사용하기로
결정했습니다
아시다시피 16진수는 16진수입니다. 고등학교 대수학
수업에서 기억할 수도 있고 기억하지
못할 수도 있습니다.
이제 16진수에서
각 16진수는 실제로 4비트입니다.
네 그럼 IPv6 주소를 나타낼 수 있게
됩니다 4개의 16진수의 숫자를 조합해
세그먼트를 구성하죠
한 부분에 16조각을 넣을 거예요
이건 네 개의 16진수로 나타나요
그런 다음 콜론을 추가하고 최대
128비트에 도달할 때까지
세그먼트를 계속 추가할 것입니다. 이렇게 하려면
각각 4개의 16진수 숫자를 갖는
8개의 세그먼트가 필요합니다.
이것은 총 32개의 16진수 숫자를 제공하는데,
이는 여전히 꽤 깁니다.
이제 IPv6 주소에 128비트가 표시되므로
모든 세그먼트 내에 16진수 숫자가 32개
이하가 됩니다.
왜 제가 32자리 숫자로 8자리의 길이를
나누라고 했을까요?
네 왜 32개면 안 되죠? 32자리
숫자에 숫자당 4비트를 곱하면 128비트가
되니까요
글쎄, 이는 IPv6을 사용하면 실제로 매우 긴
IPv6 주소를 단순화할 수 있는
약어를 사용할 수 있기 때문입니다.
속기 규칙은 정말 중요해요
시험 문제를 볼 수 있거든요
따라서 세그먼트에 4개의 0이 있는
경우 실제로 거기에 0 하나를 넣고 선행
0을 삭제할 수 있습니다.
예를 들어 제가 IPv6
주소가 아주 길다고 가정해 보죠
네 간단한 규칙을 이용하면
0이 여러 개 있는 세그먼트를 0 하나로 바꿀 수
있습니다 ???
계산해 보면 4815 54ae예요
네 좋아요 이렇게 하면 16진수 숫자가
32에서 17로 줄어요 길이가 절반이 됐죠
나아지고 있지만 전 멈추지 않을 거예요
IPv6 속기 세계에서
사용할 수 있는 또 다른 규칙이 있습니다.
네 여러 세그먼트가 모두
0을 갖고 있고 다른
16진수 표시가 없는 경우 더블
콜론을 사용해 0을 모두 지울
수 있습니다
네 이 규칙은 특별한데요
ipv6 주소 내에서 더블 콜론은 한 번만
할 수 있거든요
따라서 이중 콜론 규칙을 사용하여
2018:0:0:0:0:0:4815:54ae 5개의 0 집합을 모두 제거하고 이를 이중 콜론으로 대체하여 2018::4815::54ae를 얻는 것으로
요약할 수 있습니다. .
네 32개의 16진수에서 17진수로
줄였어요 지금은 17자리에서
12자리로 줄었죠 훨씬 작아져서 작업하기 쉬워요
약칭이 얼마나 유용한지 아시겠죠
그렇다면 IPv6 주소와 IPv4 주소를 어떻게
인식할 수 있을까요?
첫 번째 방법은 IPv4가 무엇인지 보는 것입니다
IPv4는 항상 8진수 표기법을
써요
네 반면 IPv6는 숫자
사이에 콜론을 사용합니다 그리고
16진수로 작성되죠
네 좋습니다 테스트 날에
보실 질문 중 하나는 ipv6
주소를 봤을 때 식별하는 겁니다
예를 들어, 다음 중 IPv6 주소는 무엇입니까?라는
질문을 받을 수 있습니다.
공정한 질문 같군요
192 같은 옵션을 얻을 수 있어요 168번요 1 1은 아니죠?
IPv4 주소니까요
1234:5678:90ab를
볼 수 있어요
잠깐만요, 마지막 두 개는 정말 비슷하지
않나요?
네, 하지만 유효한 IPv6 주소는 한 개뿐이에요
그것이 어느 것인지 아시나요?
학생 대부분이 혼란스러워하거든요
두 번째 옵션은 IPv6 주소가 아닙니다
대신 mac 주소예요
네 기억하세요 mac주소는
레이어 2의 물리 주소인데 12개의
16진수 숫자를 가지고 있고 콜론으로 분리됩니다
?
일반적으로 각각 두 자리
숫자로 구성된 6개의 그룹으로 작성되며
각 그룹은 단일 콜론으로 구분됩니다.
네 반면 ipv6 주소는 항상 네 자리씩
나누어 작성되어야 합니다
항상 16개 나누어 집니다 더블
콜론이 없다면요
네 이 예제에선 세 번째 옵션의 첫 번째와 두
번째 세그먼트 사이에 더블 콜론이 있습니다 ,
네 이렇게 간단히 하면 IPv6 주소임을
확인할 수 있죠 주소 내의 첫 번째와
두 번째 세그먼트 사이의
0은 모두 제거했으니까요
네 IPv6 주소처럼
생긴 것을 세어보면 12개의
정확히 12개의 16진수들이 단일 콜론으로 나뉘어 있죠
그리고 더블 콜론은 아무
데도 보이지 않습니다 ipv6
주소가 아니라 mac 주소입니다
네 그렇지 않으면 이렇게 보이고
16진수 숫자가 포함되어
있다면 시험일에는 ipv6 주소가 되겠죠
시험에서는 IPv6 주소가
어떻게 생겼는지 알아볼 수만
있으면 됩니다 0을 빼서 통합할
수 있어야 합니다 더블 콜론 트릭을
이용해서요
이 두 가지 작업을 수행할 수 있다면
시험 당일 IPv6 주소 지정에 문제가 없을 것입니다.
네 이제 ipv6 주소 유형은
세 가지가 있어요 유니캐스트 주소
다중캐스트 주소와 아무
캐스트 주소죠 ?
IPv6과 IPv4를 실제로 구별하는
흥미로운 점 중 하나는 클라이언트의 단일
인터페이스에 여러 IPv6 주소를 할당할
수 있다는 것입니다.
세 가지입니다 이 세 가지 유형 중
어떤 것이든 택할 수 있습니다 유니카스트
멀티캐스트, 애니캐스트죠
그래서 설령 여러분의 워크스테이션이나 노트북에
네트워크 인터페이스 카드가
하나 뿐이라도 여러 개의 IPv6 주소를 가질
수 있고 카드 하나에 할당되는 다른 유형의
IPv6 주소가 있습니다
유니캐스트 주소는 단일 인터페이스를
식별하는 데 사용됩니다
전 세계 유니캐스트 주소와 링크-지역
주소로 나뉘어 있죠
네 전 세계 루트 유니캐스트
주소는 유니캐스트 a, b, c 클래스 주소를 이용한
ipv4의 공공 주소와 유사합니다 ,
네 IPv6에서는 전 세계 운행 유니캐스트
주소가 항상 첫 번째
부분으로 시작해요 2000-3999...
네 좋아요 첫 코너가 2000-3999라는
건 전 세계 우니캐스트 주소란 뜻이죠
예를 들어 IPv6 주소는 2584:0db8:0583:1234:5678:882e:03734
전 세계로 경로 배분될 겁니다 첫 번째 구획에
2584가 포함돼 있기 때문이죠 2000에서
3999 사이의...
반면, 로컬 사용 주소라고도
하는 링크 로컬 주소는 IPv4의
개인 IP 주소처럼 사용됩니다.
링크-로컬 주소는 IPv6의
링크-로컬 주소는 지역 네트워크에서만
사용될 수 있고 IPv6 주소 내의 첫 번째 세그먼트로 항상 FE80에서
시작하게 됩니다
네 이제 IPv6 시스템이 시작될 때마다 시스템에서
각 IPv6 인터페이스에 대한 링크-로컬
주소를 생성합니다 전역적으로 로타일 가능한 주소가
이미 수동으로 구성되었거나
DHCP 같은 구성 프로토콜을
통해 획득되었다고 해도요 ,
네 이걸 하려면 slaac이라는 걸 사용해야
합니다 상태 비저장 주소 자동 구성이죠 slaac라고도 합니다 ,
상태 비저장 자동 구성으로 호스트는
dhcp 같은 중앙 집중화된 서버에서
주소나 다른 구성 정보를
얻을 필요가 없습니다
대신 독립적으로 링크 로컬 주소를 할당하고
링크 로컬 주소의 고유성을
시험하고 링크 로컬 주소를 스스로
할당하고 라우터에 연락하여
노드에 방향을 제공하고 자동 구성 진행
방법을 알려줍니다
또한 사용하고자 하는 전역 유니캐스트 주소도
구성할 수 있습니다
네 이 개념은 잠시 후 좀 더 깊이 들어가면서
다시 살펴볼게요 eui-64와
이웃 디스커버리 프로토콜을 얘기할 테니까요
이 프로세스는 둘 다 slaac로
알려진 상태 비저장 주소 자동 구성
프로토콜과 함께 사용되거든요
다음은 멀티캐스트 주소예요
네 자 멀티캐스트 주소는 인터페이스
그룹을 식별하는 데 사용됩니다
그래야 패킷이 멀티캐스트 주소로 전송돼 그룹 내의
모든 인터페이스에 전달될 수 있으니까요 ?
네 ipv6에서는 멀티캐스트 주소는 항상 ff로 시작돼요
, 첫 세그먼트의 첫 두 자릿수로요
IPv6 주소의 시작 부분에 FF가
뜨면 멀티캐스트를 기억하세요
마지막 유형의 주소는
애니캐스트 주소입니다
네 네 네, 맞습니다
애니캐스트 주소는 실제로 유니캐스트
주소 공간에서 할당됩니다.
IPv6 주소만 보고 IPv6
주소가 unicast인지 anycast인지
알 수 있는 방법이 없어요
네 이제 이제 아주 쉬운 방법이 있지만
유니카스트와 애니캐스트를
쉽게 구분할 순 없어요
안 그래요?
네 좋습니다 slaac에
대해 좀 더 얘기해 보죠 상태 비저장
주소 자동 구성 과정입니다
네 이제 말씀드렸듯이 IPv6에는
SLAAC이라는 자동 구성 프로세스가 있어요
인터페이스가 위치한 현재 네트워크를
찾기 위해 사용하죠 그런 다음
MAC 주소 기반 호스트 ID를 선택할 수 있게
해줍니다 EUI-64라는 프로세스를 써서요 ?
이제 eui-64
이제 안
돼요!
Eui-64 포맷 주소는 인터페이스의
48비트 mac 주소를 이용해 획득한 겁니다
Mac 주소는 먼저 24비트 두 개로 나뉩니다
네 네 혹은 조직 고유 식별자죠
안 그러면
나머지 반은 특정 네트워크
인터페이스 카드를 포함합니다
그 사이에 16비트
16진수인 식염수를 넣을 거예요
네 이렇게 하면 24비트와 16비트 24비트를 합쳐
64비트 eui 주소를 얻을 수 있어요 ? 네, 64비트요
이제 해당 네트워크에서 인터페이스를 식별하는
데 필요한 64비트가 제공됩니다.
네 인터페이스는 자동 검색으로
있는 네트워크를 확인하고
IPv6 주소의 네트워크 부분을 추가합니다
우리 주소 내의 첫 64비트가 되겠죠
자... 네 전
세계적으로 로킹 가능한
IPv6 주소를 만드는 거죠
이제 사용할 수 있게요
네 이것들이 어떻게 동작하는지 볼 수 있습니다
mac주소를 이용해서
전역으로 실행 가능한 주소를 생성합니다 ,
DHCP는 원하면 IPv6에서도 사용할
수 있습니다
그렇게 하면 DHCPv6 프로토콜을 사용해야 합니다
DHCPv6 서버에서
자동으로 뭔가를 할당할 수 있도록 합니다
하지만 EUI-64의 자동 구성 프로세스는 이미 기본값으로 IPv6
프로토콜에 기본 제공되기 때문에 DHCPv6를
사용할 필요는 없어요
네 하지만 DHCPv6를 사용하길 원하면 사용하세요
그럼 인터페이스마다
어떤 주소를 얻을지 할당하게 됩니다 SLAAC의
자동 구성 프로토콜을
사용하게 하는 대신에요
네 이제 말했듯이 기본값으로 IPv6가 MAC주소에
기반해 고유 주소를 선택합니다 ndp
혹은 이웃 디스커버리 프로토콜이라는
것을 사용하게 되는데 MAC주소에
기반한 네트워크의 다른 레이어 2 주소를 알고 호스트 ID를 선택합니다
? 네
네 이제 시험입니다 NDP, 즉 NDPRC에 대해 깊이
알 필요는 없지만 NDP, 즉, Discovery
프로토콜은 IPv6에서 사용되고 라우터, 광고,
이웃 Discovery에서
많은 함수를 가져와서 처리합니다 ?