ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [네트워크] 25. 클라우드, IPv6
    네트워크 2024. 1. 6. 12:45

    이 게시물은 후니의 쉽게 쓴 CISCO 네트워킹 4판을 공부한 내용을 바탕으로 작성됨.


    클라우드

     

    네트워크 관리 시스템 (NMS, Network Management System) ➜ 네트워크가 점점 크고 복잡해지면서 네트워크 장비들을 하나하나 관리하고 운영하는 것이 어려워졌다. 그리하여 NMS가 등장하여 관리가 제법 편리해졌지만, NMS 역시 사람이 직접 설치하고 운영 해야하는 것이라 NMS 자체를 배워야 하는 어려움이 있다.

     

     

    클라우드 (Cloud) ➜ 장비만 연결해주면 어디서나 웹사이트에서 로그인하여 네트워크 장비를 관리할 수 있는 시스템이다. 사람이 장비에 미리 구성을 설정해 줄 필요가 없고, 장비를 인터넷에 연결 해놓으면 웹 사이트에서 모든 장비 구성을 쉽게 관리할 수 있다.

     

     

     

    클라우드가 개발되기 전에는 네트워크 엔지니어들이 직접 장비 하나하나에 케이블 연결, 네트워크 연결, NMS를 장비 서버에 설치하고 추가 configuration 설정, 관리까지 해야만 했다. 반면 클라우드 방식은 장비에 인터넷 연결이 가능한 케이블만 꼽아주면 웹사이트에서 로그인하여 원격으로 장비 설정이 가능하다. 장비가 설치된 장소까지 가지 않아도 된다는 엄청난 장점을 가진다.

     

     

     

     

     

    위 사진은 시스코에서 사용되는 클라우드 관리 시스템인 '시스코 머라키'의 화면이다. 시스코 머라키 장비는 일단 인터넷에 연결만 되면 그 후 모든 관리는 웹 사이트를 통해서 이루어진다.

     

     

     

     

     

     

     


    IPv6 (IP version 6)의 탄생 배경

     

     

     

    IPv6의 탄생 이유

     

    ➜ IPv4의 공간 부족

     

    IPv4는 1981년도부터 본격적으로 사용되었으며, 4년 후인 1985년에 전체 주소 중 1/16을 사용하고 있었으므로, 그 당시에는 주소 부족을 걱정할 필요가 없었다. 하지만 1991년 World Wide Web, 1993년 Mosaic가 개발되며 IP 주소의 사용이 점점 늘어났고, 1995년에는 전체의 1/3, 2000년에는 1/2을 사용하게 되었다.

     

    IPv4는 32bits로 이루어지므로 이론적으로 총 $2^{32}$=43억 개의 주소를 가진다. 하지만 Private용 등으로 예약된 주소 영역이 있고, Class E는 연구용으로 사용되는 등의 이유로 실제 배정이 가능한 IP 주소는 약 2억 5000만 개 밖에 되지 않는다.

     

    세계 인구가 80억인데 2억 5천개는 적어도 너무 적다. 더불어 PC뿐만 아니라 지능형 디바이스 전부 IP를 사용하므로 IP 주소에 대한 요구는 계속 증가하고 있다. 즉, IPv4에서 제공하는 IP 주소를 다 써버렸다.

     

     

     

     

     

     

    ➜ IPv4의 그 외 문제점

     

    • IPv4는 복잡한 Header를 가지는데, 이는 전체 필드를 불필요하게 늘려 라우터가 효과적인 header 관리를 할 수 없게 한다. 
    • IP 배정 방식이 복잡하여 DHCP가 개발되었지만, 이 역시 DHCP를 사용하기 위해 또 다른 서버를 구성해야 한다는 오버헤드를 요구한다는 단점이 있다.
    • 주소가 부족하다보니 체계적인 주소 배정이 불가하여 Aggregation이 어렵고, 그에 따라 라우팅 테이블이 점점 더 크고 복잡해질 수밖에 없었다.
    • 그 외에 보안기능이 번거롭고 효율적이지 못하다는 문제점도 가진다.

     

     

     

     

     

    ➜ 주소 부족을 해결하기 위한 노력

     

    • 책에서 NAT에 대한 찰진 비유가 나온다. 흥부네 가족은 가족 구성원이 매우 많은데 입고 나갈 외출은 충분하지 못했다. 이때 밖에 나갈 사람들만 외출복을 입고 나갔다가 다시 집에 왔을 때 옷을 걸어둔다면 적은 옷으로도 생활할 수 있다! (물론 모든 가족이 동시에 외출하면 안되겠지만..)
    • 이것이 바로 NAT(Network Address Translation)이다. 내부 네트워크 (집)에선 어떻게 할당해도 상관 없는 Private 주소를 사용하다가, 인터넷으로 (외출) 나갈 때만 공인 IP 주소를 사용하면 IP 주소가 충분하지 않아도 인터넷을 사용할 수 있다.
    • 요즘 사용되는 공유기 역시 이 원리를 이용한 것이다. NAT는 한정된 IP 주소를 이용하여 많은 기기들에 IP를 배정할 수 있다는 장점이 있지만, 한 기기당 하나의 IP가 부여되는 이상적인 상황과 비교했을 때 공인 IP 주소를 할당해주는 것 자체로 시간이 더 걸린다는 한계가 있다.
    • 이에 더하여 Subnetting 역시 IP 주소 부족을 해결하기 위해 사용하는 기술이다. IPv4 주소가 널널했던 옛날에는 서브네팅을 거의 하지 않았지만, 최근에는 서브네팅을 하는게 당연해졌으며 네트워크를 쪼개는 방식 또한 굉장히 정교해졌다.
    • 또한 DHCP(Dynamic Host Configuration Protocol)을 사용하여 IP 주소 배정을 편리하게 하고, 안 쓰는 IP 주소를 다시 회수하여 주소 낭비를 막는다.

     

     

     

     

     

     

    간단하게 정리하면 IPv4 방식의 IP 주소는 2억 5천개로 낭낭한 듯 보였으나, 세계인이 PC나 지능형 디바이스를 사용함에 따라 IP 주소가 고갈되었다. 네트워크 엔지니어들은 NAT, Subnetting, DHCP 등 다양한 알고리즘들을 개발하여 주소 고갈을 최대한 해결하고 있었지만, 근본적으로 '주소 부족 문제'는 해결할 수 없었다. 그리하여 IPv4를 대체하면서도 훨씬 개선된 IP 방식에 대한 요구가 생겨났고, IPv6가 탄생하게 되었다.

     

     

     

     

     

     

    ➜ IPv6의 탄생 과정

     

    • 1990년 : 인터넷이라는 것 자체가 생소한 시기. IETF (Internet Engineering Task Force)에서는 class B 주소가 1994년 쯤 고갈될 것임을 예견함.
    • 1991년 11월 : IETF에서는 이 문제를 해결하기 위해 ROAD(ROuting and ADdress)라는 그룹을 만들게 됨.
    • 1995년 : IPNG(IP Next Generation) Workgroup에서 'RFC 1883'이라는 첫 번째 세부안을 제시하였고, 이것이 IPv6의 근간이 되었다.
    • 1996년 : IPv6의 테스트베드인 6Bone이 인터넷을 통해 시작됨. 6Bone은 IPv6의 운용을 테스트하기 위한 망으로, IPv4 망에는 영향을 주지 않으면서 IPv6에 대한 여러 실험을 해볼 수 있도록 만들어 놓은 IPv6의 망이다. (해당 망은 테스트 목적이었기 때문에 2006년 6월 6일에 그동안 사용하던 주소 영역을 IANA에 다시 반납함)
    • 1999년 : IPv6 포럼이 발족하였고, 해당 포럼에서는 IPv6에 대한 여러 기능으르 협의하고 표준에 대한 의견을 수렴함.
    • 2011년 : IANA에서 IPv4의 할당 중지를 선언함. 즉 IANA에서 각 대륙별 IP 관리 기관에 IPv4를 더 이상 배정하지 않는다는 것. 대륙별 IP 관리 기관에 남아있는 IPv4 주소는 아직 사용 가능.
    • 현재 : 거의 모든 네트워크 제품들이 IPv6 기능을 탑재하고 있음.

     

     

     

     

    2014년 기준 IPv4 주소를 가장 많이 할당받은 국가는 미국으로, 약 14억 개를 할당 받았는데 이는 전체 공인 IP 주소의 1/3에 해당한다. 한국은 약 1.1억 개, 일본은 2억 개, 중국은 3억 개 할당 받았다.

     

    2020년 기준 한국은 총 112,872,244개 IPv4 주소를 가지고 있는데, 현재는 IPv4 주소가 고갈되었기 때문에 예약된 주소가 풀리지 않는 한, (연구용 등으로 예약해서 사용하고 있는 주소들) 추가 할당은 없을 것으로 보인다. 또한 한국에서 IPv4 주소를 가장 많이 가지고 있는 통신사는 KT이다.

     

    또한 2020년 기준으로 한국은 IPv6/32 대역을 5259개 할당 받았는데, 대역당 7.9양 개 이므로 총 4구 1666양 개를 할당받았다고 한다.

     

    출처 : IP - 나무위키 (namu.wiki)

     

     

     

     

     

     

     

     


    IPv5는 어디로 갔나?

     

     

    우리는 IPv4를 사용하다가 갑자기 IPv6를 사용하게 되었다. 그렇다면 IPv5는 없는 것인가?

     

    IPv5도 있다. 하지만 이는 IPv4를 대체하기 위해 만들어진 프로토콜이 아니라, 인터넷에서 디지털 사운드나 멀티미디어 데이터를 효과적으로 전송하기 위해 만들어진 프로토콜이다. 더하여, IPv5와 IPv4는 동일한 IP 주소 구조를 가지고있기 때문에 IPv4의 주소 고갈 문제를 해결하는 용도로 사용될 수 없다.

     

     

     

     

     

     


    IPv6에서 달라진 점

     

     

     

    1. 넓어진 주소 공간

     

    주소 공간이 $2^{128}$개로 (340간 2823구 6692 양.....개) 미친듯이 넓어졌다. 이제 IP 주소가 겹치는 일 없이 전 세계적으로 유일한 주소를 쓸 수 있게 된 것이다. 이렇게 Global한 주소를 갖게 되면 Felxibility가 생겨 주소 배정이 융통성이 생기며 IP 주소를 체계적으로 배정할 수 있게 된다. 더불어 Aggregation (주소 묶어주기)를 효과적으로 수행할 수 있고, 한 경로 또는 장비의 문제시 끊김없이 전송하기 위한 Multi-homing (한 곳에 문제가 생겼을 때 다른 IP를 사용하여 전송하는 것)도 훨씬 편리하게 수행할 수 있게 되었다.

     

     

    앞으로 주소 고갈에 대한 걱정은 아예 하지 않아도 된다. IPv6의 주소 공간은 말도 안되는 수준이기 때문에, 적어도 내가 이 세상 떠날때 까지는 다 못 쓴다.

     

     

     

     

     

    2. IP Header의 구조가 대폭 개선되었다. 

     

    IP 패킷의 머리부분 Header라는 여러가지 정보가 담겨있는 부분이 있는데, IPv4에서는 Header 구조가 매우 복잡해서 Routing 성능 개선이 어려웠다. IPv6에서는 Header의 정보를 간소화하고 효과적으로 배치하여 라우팅 성능을 획기적으로 개선하였다. IPv4에서는 머리가 복잡했는데 IPv6으로 발전하며 머리가 맑아졌다 ~

     

     

     

     

     

    3. IPv4와의 호환성도 제공한다.

     

    성능짱짱한 IPv6가 개발되었다고 한들 IPv4를 사용하던 모든 기기들이 한순간에 IPv6로 넘어갈 수 있는 것은 아니다. 어느 기간동안은 IPv6로 넘어가는 유예기간이 필요하기 때문에 IPv6에서는 IPv4와 호환되는 옵션들을 제공한다.

     

     

     

     

     

     

     

     


    IPv6의 주요 특징

     

     

     

     

    1. Reachability

     

    앞서 IPv6은 주소공간이 거의 무한하기 때문에 개개의 장비가 각자 자신의 고유한 IP를 가질 수 있다고 하였다. Global Reachability란, 전 세계 네트워크 어디에서나 자신의 고유한 IP 주소를 가지고 접속이 가능하다는 것을 의미한다. 

     

    IPv4를 사용하면 중간에 NAT를 지원하는 장비를 설치하여 IP주소를 변환해가며 서비스를 제공하다보니 진정한 End-to-End Reachability 제공이 어려웠다. (End-to-End Reachability는 출발점에서 도착점까지 IP주소 변환 없이 연결되는 것을 의미한다.)

     

    IPv6처럼 End-to-End Reachability가 가능한 경우 애플리케이션 적용 측면이나 보안 측면에서 굉장히 효과적이다.

     

     

     

     

     

    2. 주소의 계층화가 가능해졌다.

     

    무지막지하게 넓은 주소 공간을 사용하다보니 계층화된 주소 배정이 가능해졌다. 이 기술을 Addressing Hierarchy라고 하는데, 긴 IP 주소를 목차 나누듯이 나누어준다는 개념이다. 예를 들어 128bit의 IPv6 주소의 처음 16bit를 상용 주소로 사용하고, 17~23번째 bit를 이용하여 대륙을 구분, 23~32번째 bit를 이용하여 해당 대륙의 ISP를 구분, 32~48번째 bit를 이용하여 회사, 기관, 학교 등의 사용처를 구분, 48~64번째 bit를 이용하여 각 LAN을 구분한다면 주소 관리가 훨씬 수월해진다.

     

     

    이렇게 되면 IP 주소만 봐도 대충 어느나라의 어떤 ISP에서 부여받은 IP이며, 이것을 통해 어느 기관에서 사용하고 있는지 알 수 있게 된다. IPv4 주소도 이런식의 구분을 두려고 노력하였는데, 아무래도 주소가 32bit로 짧기도 하고, 거기다 짧은 주소를 여기저기 예약하여 나눠주기까지 하였기에 IPv6처럼 구분짓는 것은 매우 어렵다.

     

     

    또한 체계적인 주소 구분은 주소를 알아보기 쉽게 할 뿐만 아니라, 여러 개의 트래픽을 하나로 묶어주는 것도 가능하게 한다. 같은 방향으로 가는 트래픽을 구분하여 하나로 묶어 보내면 네트워크 상의 트래픽 양을 대폭 감소시킬 수 있다. 더하여 IPv4에서의 Super netting처럼 여러 개의 라우팅 경로를 하나로 묶어 라우팅 테이블의 용량을 획기적으로 줄일 수도 있다.

     

     

    예를 들어 미국에서 한국으로 편지를 보낼 때, 한국으로 가는 편지를 전부 모아서 한국의 대표 우체국 (Border Router)에 보내고, 그것이 한국에 있는 각 지방 우체국에 전송하는 것과 같다. 만약 이렇게 모아서 전송하지 않고 하나하나 따로 전송했다면 정말 참사였을 것이다.

     

     

     

     

     

     

    3. Aggregation

     

     

    위 예시에서 고객 사이트 #1에 2개의 네트워크가 존재한다. 하나는 2001:0200:0001:0001::/64이며, 다른 하나는 2001:0200:0001:0002::/64 이다. IPv6 주소는 16진수로 표기하며 4자리마다 콜론 :으로 구분한다. 이 2개의 네트워크가 밖으로 나갈 때는 하나로 묶어서 2001:0200:0001::/48으로 나갈 수 있다.

     

    IPv4와 마찬가지로 주소 뒤에 붙은 /64, /48의 숫자는 Network part / Host part를 구분하는 subnet mask이다.

     

    /64를 갖는 두 네트워크는 /48의 하나의 네트워크로 묶어줄 수 있다. 만약 2001:0200:0001::/48 뿐만 아니라 2001:0200:0002::/48도 존재한다면 이 둘을 묶어서 2001:0200::/32로 만들 수 있으며, 위 그림에서 고객 사이트 #1,2를 전부 합친 하나의 네트워크인 ISP가 되는 것이다.

     

    이 기법은 Prefix Aggregation이라고도 하는데, 네트워크의 IP 주소 앞 부분(공통되는 부분)을 서로 묶어 라우팅 테이블을 줄여 메모리를 절약하고 라우팅을 훨씬 더 효과적이고 빠르게 진행할 수 있다.

     

     

     

    IPv4에서는 라우팅 테이블의 정보를 줄이기 위해 CIDR(Classless Inter Domain Routing)이나 Supernetting등의 다양한 노력을 하고있지만, 체계적인 주소 배정이 불가능하기 때문에 라우팅 정보를 줄이는 데 한계가 있다. 하지만 IPv6는 아예 주소 배정을 계층적인 구조로 수행하기 때문에 훨씬 효과적인 라우팅이 가능하다.

     

     

     

     

     

     

     

    4. Auto Configuration

     

    IPv6는 Stateless Auto Configuration 특징을 갖는다. Stateless의 반대인 Stateful는 어떤 의미를 갖는지 먼저 살펴보자.

     

    Stateful Auto Configuration은 어떤 state를 계속 유지하면서 configuration을 지원한다는 의미이다. 예를 들어 DHCP는 특정 server에서 라우팅 테이블을 관리하며 IP 주소를 분배한다. 

     

    Stateless Auto Configuration은 IPv6에서만 지원되는데, Server 없이도 라우터 등에서 자동으로 host의 IP configuration이 가능하게 하는 방식이다. 따라서 IPv6부터는 사용자가 PC의 IP 주소할당을 걱정할 필요가 없다.

     

     

     

    Stateless Auto Configuration 과정

    1. 네트워크에 어떤 PC가 새로 접속한다. 그 PC는 라우터에게 자신에게 주소를 하나 배정해달라고 요청.
    2. PC는 원래 48bit의 MAC address를 가지는데, 일단 이 주소를 64bit로 만든다. (이 부분은 다음에 배운다.)
    3. 라우터는 PC에게 64bit의 Prefix를 제공하여 PC는 총 128bit 짜리 IPv6 주소를 만들어낸다.

     

    ➜  라우터와 host PC가 알아서 소통하며 IPv6 주소를 배정하므로 사용자가 해줄 것은 하나도 없다. 간편!!

     

     

     

     

     

     

     

    그렇다면 IPv6는 Stateful Auto Configuration은 사용하지 않는 것일까?

     

    IPv6도 Stateful을 사용한다. host 중에서는 Stateless 기법만으로는 configuration이 부족한 경우가 있다. (DNS Server, NTP Server, SIP Server 등에 대한 정보에 대한 세팅은 Stateless로 구성해줄 수 없다.) 따라서 이러한 경우에는 IPv6도 Stateful 기법을 사용하는데, 대표적인 방법이 DHCPv6이다.

     

     

    호스트가 라우터로부터 Stateless를 통해 IP를 배정받을 때, 그 안의 정보들을 확인한 후 추가적인 정보를 Stateful을 통해 받아야 할지 말지 결정한다. 즉 호스트 구성을 좀 더 자세히 할 필요가 있을 경우에 Stateful (DHCPv6)을 사용한다.

     

     

     

     

     

     

    5. IPv6의 멀티캐스트

     

    IPv4에서 브로드캐스트는 과한 트래픽을 발생시키는 골칫덩어리였다. 브로드캐스트가 한번 발생하면 원치 않는 수신자에게도 메시지가 전달되어 트래픽이 과하게 증가한다. 하지만 ARP, 라우팅 정보 update에 반드시 사용해야만 했기에 이를 놔둘수도 없고 막을수도 없어 제법 난처했었다.

     

     

    이를 타파하기 위해 IPv6에서는 '개선된 멀티캐스트'를 사용한다. IPv4에서도 멀티캐스트가 존재했지만 IPv6에서는 그 기능이 훨씬 강화되었다. IPv6의 멀티캐스트에서는 4bit의 Scope ID를 사용한다. 이를 통해 멀티캐스트의 전송 영역을 지정한다. 따라서 멀티캐스트를 어디까지 받을 수 있게 전송할 것인지 지정할 수 있으므로 브로드캐스트를 더 이상 사용하지 않아도 된다.

     

    IPv6에서는 브로드캐스트 대신 강화된 멀티캐스트를 사용하여 트래픽 증폭을 예방한다.

     

     

     

     

     

    6. 맑아진 머리. (간단해진 Header)

     

    Header는 IP 패킷의 앞부분에 부착되는 정보이다. 우리도 편지를 보낼 때 봉투에 송수신자 주소, 깨짐 주의 등의 정보를 써넣는 것처럼 IP 패킷의 Header에도 Source Address, Destination Address, 그리고 서비스 등급을 나타내는 Type of Service, Header length, Flag 등 다양한 옵션들이 담겨있다. 라우터는 Header에 담긴 이 정보들을 이용하여 데이터 패킷을 목적지까지 전송할 수 있는 것이다.

     

     

     

    IPv4와 비교하여 IPv6에서는 Header 정보가 많이 간단해졌다. 원래 IPv4에 있던 헤더 정보를 절반가량 날려버렸다. IPv6는 애초에 주소 길이가 128bit나 되므로 기존 헤더길이를 그대로 사용하는 것이 부담스러웠다. 따라서 헤더를 효과적으로 줄여야만 했고, IPv4를 사용하며 굳이 필요없었던 정보들을 과감히 제거하였다.

     

     

    이렇게 Header 길이를 줄이면 패킷 처리가 훨씬 간단해지고 라우팅 성능도 향상된다. 하지만 주소 길이 (위 그림에서 Source, Destination Address)가 32bit에서 128bit로 늘어났기 때문에 아무리 Header를 줄인다 한들 데이터 패킷의 전체 길이는 굉장히 증가하였다. 따라서 처리 속도가 이슈가 될 수 있다. (주소길이가 4배나 길어졌으므로 주소 확인에 걸리는 시간이 당연히 더 늘어난다.)

     

     

     

     

     

     

     

    7. 움직이는 네트워크 (Mobility)

     

    Mobility는 이동성을 의미한다. 과거에는 컴퓨터가 크고 무거워서 한 번 설치해놓고 나면 네트워크를 이동시킬 일이 거의 없었다. 하지만 요즘은 많은 사용자가 노트북을 사용하기 때문에 Mobility 특성이 반드시 필요해졌다.

     

    예를 들어 자동차를 주행하며 인터넷 검색을 하는 것을 Mobility라고 한다. 지하철이나 비행기를 타며 인터넷을 하는 것도 모두 포함이다. 이러한 네트워크 Mobility 기능은 IPv4에서도 지원 되던 IETE (Internet Engineering Task Force)의 표준이었다. 하지만 IPv4에서는 Mobility가 옵션으로 제공되었기 때문에 이를 사용하기 위해서는 반드시 그 기능을 추가했어야만 했다. 하지만 IPv6에서는 해당 기능이 Built-in으로 제공되기 때문에 필요할 때마다 바로 사용할 수 있다.

     

     

    더불어 IPv6의 Mobility는 IPv4의 그것보다 기능이 대폭 향상되어 빠르고 안정된 이동성이 보장된다. 

     

     

     

     

     


    IPv6 주소의 생김새

     

     

     

    IPv4 주소와 비교하여 IPv6 주소에서 달라진 가장 큰 차이점은 바로 10진수가 아닌 16진수를 사용한다는 점이다. 

     

    IPv6로 넘어오면서 주소 길이가 32bit에서 128bit로 4배 길어지며 더 이상 10진수로 표기하기 어려워졌다. 또한 16진수가 2진수와 궁합이 더 잘 맞기 때문에 16진수를 채택하였다. (2진수 4개는 16진수 1개로 표현할 수 있다.)

     

     

    2진수 16진수
    0000 0
    0001 1
    ... ...
    1010 A
    1011 B
    1100 C
    1101 D
    1110 E
    1111 F

     

     

    따라서 2진수-10진수 변환보다 2진수-16진수가 훨씬 쉽다.

     

    규칙1

     

    IPv6에서 IP 주소는 16진수 네 자리를 쓰고 콜론 (:)을 써준다. 예를들어 다음과 같이 표현한다.

    2001:0DB8:010F:0001:0000:0000:0000:0D0C

     

    또한 알파벳은 10~15의 숫자를 나타내는 것이기 때문에 대/소문자 구분이 없다.

     

     

     

    규칙2

    앞쪽에 오는 0은 쓰지 않아도 된다. 예를들어 위의 주소는 다음과 같이 다시 쓸 수 있다.

    2001:DB8:10F:1:0:0:0:D0C

     

    콜론을 기준으로 앞에있는 0들은 싹다 쳐내도 된다. 하지만 중간에 있는 0은 생략할 수 없다.

     

     

     

     

    규칙3

    0이 연속으로 나오면 이것을 '::'으로 표현할 수 있다. 위 주소를 다시쓰면 다음과 같다.

    2001:DB8:10F:1:0:0:0:D0C
    
    2001:DB8:10F:1::0D0C

     

     

    하지만 :: 표현을 한 주소에서 두 번 이상 사용할 수 없다.

    2001:0DB8:0000:0000:FFFF:0000:0000:0D0C
    
    
    2001:0DB8::FFFF:0000:0000:0D0C (O)
    
    2001:0DB8:0000:0000:FFFF:0D0C (O)
    
    2001:0DB8::FFFF::0D0C (X)

     

     

    :: 표현을 두 번 이상 사용해버리면 어느 ::에 0이 몇 개 생략되었는지 파악할 수 없기 때문이다.

     

     

     

     


    IPv6 주소의 종류

     

     

      주소 종류
    IPv4 유니캐스트 / 멀티캐스트 / 브로드캐스트
    IPv6  애니캐스트 / 멀티캐스트

     

     

    IPv6에서는 브로드캐스트를 사용하지 않는 대신 강화된 멀티캐스트를 사용한다. 그리고 Anycast라는 것이 추가되었는데, 이것은 아무나 받아라~ 이다. 아무나 제일 먼저 받는 host가 이 메시지를 가져간다.

     

     

     

     

     

     


    IPv6와의 동거

     

     

    우리는 이제껏 IPv6의 장점에 대해서 알아보았다. 그렇다면 IPv4를 사용하던 전 세계인이 갑자기 전부 IPv6를 사용할 수 있을까? 그렇지 않다. 아무리 신기술이 나왔다 한들 한 순간에 모두가 그것을 사용할 수는 없다. 따라서 IPv4와 IPv6는 한동안 동거하게 되었다. 그들의 동거 방식에 대하여 알아보도록 한다.

     

    • 듀얼스택 (Dual Stack) - IPv4와 IPv6를 모두 인식할 수 있도록 하여 신기술인 IPv6를 인식하지 못하는 애플리케이션의 경우에는 IPv4만으로 사용할 수 있도록 하고, IPv6를 이해할 수 있는 경우에는 IPv6를 이용하도록 하는 방식이다. 따라서 듀얼스택이 적용된 라우터는 IPv4, IPv6 주소 둘 다 세팅되어 있다.

     

    • 터널 방식 - 기존에 이미 널리 사용되던 네트워킹 기술이다. 한쪽 IPv6 망에서 다른 쪽에 있는 IPv6에 통신할 때 터널 기술을 사용하면 중간경로에 있는 망이 IPv6를 지원하지 않더라도 통신이 가능하다. 하지만 중간에 문제가 발생했을 때 이를 해결하기 어렵다는 단점이 있다.

     

     

     

     

     


    라우터의 IPv6 구성

     

     

    실제 라우터에 IPv6를 구성하는 방식은 두 step으로 이루어진다.

     

    1. 나 IPv6 쓸래요.
    2. 라우터의 interface에 IPv6 주소 지정해주기.

     

     

    1번 과정에 대한 명령어는 다음과 같다.

     

    Router(config)#ipv6 unicast-routing

     

     

     

    이제 특정 interface에 IPv6 주소를 지정해주면 된다.  interfaace 구성모드에서 IPv6 주소를 지정하기 위한 명령어는 여러가지가 있다.

     

     

    1. Router(config-if)# Ipv6 address <ipv6addr> [/prefix-length] [link-local]
    2. Router(config-if)# Ipv6 address <ipv6prefix>/<prefix-length> eui-64
    3. Router(config-if)# IPv6 unnumbered <interface>

     

     

    1번 - IPv6 주소를 전부 다 적어주어야 한다. 다른 방식들은 IPv6 주소를 전부 다 적어주지 않아도 자동으로 만들 수 있지만, 이 방식을 사용하는 경우에는 전부 다 적어주어야 함.

     

    2번 - 1번에서의 <ipv6addr>는 IPv6 전부를 전부 다 적어주어야 하는 것인 반면, 여기서 <ipv6prefix>는 IPv6 주소 중 앞쪽 prefix만 적어주면 된다. 그리고 뒤의 eui-64의 의미는 eui-64가 이미 가지고 있는 MAC address를 가지고 IPv6의 뒷부분을 채워서 128bit의 IPv6 주소를 완성시킨다는 의미이다.

     

    3번 - IPv6 주소를 아예 부여하지 않는다. <interface> 부분에 이미 IPv6 주소를 가지고 있는 다른 interface 번호를 부여해주면 그 주소를 같이 사용한다. 3번은 그냥 이런게 있다고만 알아두자.

     

     

     

     

     

     

     

    Gigabit Ethernet 0/0에 IPv6 주소를 지정하고, Gigabit Ethernet 0/1에는 unnumbered 명령을 이용해보도록 하자.

     

    Router(config)#interface GigabitEthernet 0/0
    Router(config-if)#ipv6 addr 2001:200:1:1::/64 eui-64
    
    Router(config)#interface GigabitEthernet 0/1
    Router(config-if)#ipv6 unnumbered gi 0/0

     

    unnumbered gi 0/0을 통하여 0/1에서 0/0과 동일한 IPv6 주소를 사용하도록 지정하였다.

     

     

    Router#show ipv6 interface gigabitEthernet 0/1
    GigabitEthernet0/1 is administratively down, line protocol is down
      IPv6 is tentative, link-local address is FE80::201:C7FF:FE71:4601 [TEN]
      No Virtual link-local address(es):
      Interface is unnumbered. Using address of GigabitEthernet0/0
      No global unicast address is configured
      Joined group address(es):
        FF02::1
      MTU is 1500 bytes
      ICMP error messages limited to one every 100 milliseconds
      ICMP redirects are enabled
      
      ...

     

    GigabitEthernet 0/1의 상태를 보면 위와 같다. 5번째 줄에서 0/0과 동일한 주소를 사용하겠다라고 나와있다.

     

     

     

     

     

     

    2번 방식을 사용하여 라우터 인터페이스에게 주소를 배정하는 실습을 진행해보자.

     

    Router(config)#ipv6 unicast-routing
    Router(config)#interface gigabitEthernet 0/0
    Router(config-if)#ipv6 address 2001:0200:0001:0001::/64eui-64

     

    구성이 완료되었으므로 어떤 상태인지 확인해보자.

     

     

    Router#show ipv6 interface gi 0/0
    GigabitEthernet0/0 is administratively down, line protocol is down
      IPv6 is tentative, link-local address is FE80::201:C7FF:FE71:4601 [TEN]
      No Virtual link-local address(es):
      Global unicast address(es):
        2001:200:1:1:201:C7FF:FE71:4601, subnet is 2001:200:1:1::/64 [EUI/TEN]
      Joined group address(es):
        FF02::1
      MTU is 1500 bytes
      ICMP error messages limited to one every 100 milliseconds

     

     

    우리가 배정한 주소는 2001:200:1:1: 까지인데, 뒤에 0201:C7FF:FE71:4601이 붙어서

    전체 주소 2001:200:1:1:201:C7FF:FE71:4601이 만들어졌다. eui-64 명령어를 통하여 해당 interface의 48bit MAC address를 64bit로 바꾸어 주소 뒤에 붙이는 것이라고 했었다.

     

    원래 해당 interface의 MAC address는 0001:C771:4061이었다. 이때 MAC address의 중간을 벌려서 FF:EE를 집어넣는다. 그러면 0001:C7FF:FE71:4601를 얻는다. 맨 앞 8bit는 MAC address의 유일성을 나타내는데 이 주소가 유일한 주소인 경우에는 '02'를 대입하고, 그렇지 않은 경우에는 '00'으로 표시한다.

     

    따라서 최종 64bit는 0201:C7FF:FE71:4601가 된다. (MAC address가 유일한가보다. 대부분의 경우에 '02'가 대입된다고 한다.)

     

     

     

     

     

     

     

    여기까지 후니의 쉽게 쓴 Cisco 네트워킹 책을 전부 다 공부해보았다. 입문용 책이다보니 개념 자체가 이해하기 쉬운편이었고, 저자께서 최대한 쉽게 설명하려고 노력했다는 것이 절실히 느껴졌다. 

     

    덕분에 네트워크 맛보기는 확실히 한 것 같아 감사하다. 중간중간 실습 부분에서 애먹은 부분이 좀 있어서 다시 복습하면서 고쳐나가야 겠다.

Designed by Tistory.