IPv6의 주요 특징에 대한 이해-1
상태바
IPv6의 주요 특징에 대한 이해-1
  • 승인 2005.02.11 00:00
  • 댓글 0
이 기사를 공유합니다

[Tech Guide] 후니와 함께 하는 IPv6 맛보기
“진정한 나만의 주소가 생겼다”

주소의 계층적 관리 가능… 확장 가능한 라우팅 적용 ‘수월’

진강훈
시스코코리아 부장
gaijin@cisco.com

지금까지 IPv6의 등장 배경과 함께 기존 IPv4에서는 어떤 방법으로 주소부족 문제를 해결해왔는지를 살펴봤다. 이번 호에서는 IPv6의 주요 특징을 자세하게 알아보도록 하자. 이번 IPv6 연재에 대해 좀더 궁금한 점은 필자가 운영하고 있는 후니의 쉽게 쓰는 네트워크 이야기(cafe.naver.com/hoonycafe.cafe)로 문의하면 된다. <편집자>

이번 시간에는 지난 시간에 대충 짚어봤던 IPv6의 특징을 하나하나 설명 드리도록 하겠습니다.
이제부터가 진짜 IPv6에 대한 설명이니까 긴장하시고요. 조금 어려워지더라도 포기하지 마시기 바랍니다. 자 시작해볼까요.

진정한 나만의 주소 세상
지난 시간에 IPv6의 특징에 대해 설명 드리면서 글로벌 주소(Global address)에 대해 언급한 적이 있을 겁니다. 기억나세요? 아마 안 나시겠죠.^^
아무튼 보통 글로벌이란 말이 들어가면 ‘전세계적으로’ 아니면 ‘모든 네트워크를 통틀어’라는 의미로 기억해두시면 될 것 같네요. 그래서 IPv6의 특징에서 주로 나오는 글로벌 주소라든지 오늘 설명드릴 글로벌 접속(reachability)과 같은 말은 IPv6의 주소범위가 광대해짐으로써 가능해진 기능이라고 볼 수 있습니다.
제가 앞으론 영어로 된 말들을 좀 쓸 것 같은데요. 이런 이유는 다른 문서들을 보시더라도 그 개념을 쉽게 이해시켜드리기 위한 것입니다. 제가 여기서 저 만의 언어(?)로 설명을 드리면 다른 자료를 보시면서 제가 설명 드린 내용이 이 말인지 아닌지 이해하기 어려우실 겁니다. 그래서 좀 어려우시더라도 네트워크 쪽에서 같이 사용되는 영어로 설명을 드리는 게 좋다는 생각입니다. 가끔 영어가 나오더라도 너무 기분 나빠하지 마시고 이해해 주시기 바랍니다.
자 다시 돌아가서 아무튼 여기서 말하는 글로벌 접속이란 전세계의 네트워크 어디에서나 주소를 변경하지 않고, 즉 고유의 주소를 가지고 접속이 가능하다는 걸 뜻합니다. 이미 전에도 설명 드렸지만 최근에는 네트워크에 PC나 프린터뿐 아니라 PDA, 무선 전화기, 핸드폰, 팩스, 셋톱박스 등 많은 장비들이 접속되고 있어 각자에게 고유의 IP 주소를 부여해야 했지만 IPv4 환경에선 충분한 주소가 없었습니다.
따라서 중간에 NAT 기능을 지원하는 장비를 두고 주소를 몇 번씩 변환해가면서 서비스를 수행하다 보니 진정한 엔드 투 엔드 접속을 실행하기가 어려웠습니다. 엔드 투 엔드 접속이란 한쪽 끝 장비에서 다른 쪽 끝 장비까지의 연결을 의미합니다. 즉, 한쪽 끝에서 다른 쪽 끝까지 주소 변환이 없이 도착 가능하다는 거죠.
한쪽 끝에서 다른 쪽 끝까지 주소변환 없이 도달 가능하다는 게 뭐가 좋다는 거냐고 궁금해하실 분도 있겠지만 사실 이건 큰 의미가 있습니다. 애플리케이션의 적용에서도 그렇고 보안 측면에서도 엔드 투 엔드 접속은 훨씬 효과적인 구현이 가능하기 때문입니다.

자 잠깐 정리해볼까요?
IPv6의 넓은 주소공간은 점점 늘어나고 있는 네트워크 지원장비들 모두에게 충분한 IP 주소를 제공해줄 수 있기 때문에 전세계 어디에 있더라도 한쪽 끝에서 다른 쪽 끝까지 주소변환 없이 자기 자신의 주소를 가지고 접속이 가능한 엔드 투 엔드 접속을 지원한다. 따라서 애플리케이션이나 보안 측면에서 훨씬 더 효과적이다. 여기까지입니다.
주소의 계층화가 이루어진다면…
이번 시간에는 넓은 주소공간의 또 다른 이점에 대해서 설명 드리겠습니다. 바로 계층화된 주소 배정이 가능해진다는 것입니다.
왠 계층? 이렇게 반문하는 분이 있을 겁니다. 요즘 우리 사회는 계층없는 사회를 만들자는 게 주 모토이긴 하지만 네트워킹에선 계층을 만들어주는 게 관리에 훨씬 편리하죠. 무슨 계층인지 알아볼까요?
영어로 말하자면 계층(Hierarchy), 즉 주소 체계의 계층화(Hierarchical addressing 또는 Addressing hierarchy)는 긴 주소를 목차 나누듯이 나누어준다는 개념이죠.
예를 들어 128비트의 IPv6주소를 가지고 처음 16비트까지는 상용 주소를 구분하고, 17비트부터 23비트까지는 대륙(아시아, 아메리카, 아프리카, 유럽 등)을 구분하고, 23비트부터 32비트까지는 그 대륙에 있는 ISP들을 구분하게 하고, 또 32비트부터 48비트까지는 하나의 사이트인 회사나 기관, 학교 등과 같은 걸 구분하게 하고, 48비트부터 64비트까지를 이용해서 각 랜을 구분해준다면 지금보다 훨씬 수월한 주소관리가 가능해질 것입니다.
이는 현재 우리가 사용하고 있는 우편번호 관리나 전화번호 관리 그리고 자동차번호 관리와도 비슷한 개념입니다. 그렇게 되면 우린 IPv6 체계에서 IP 주소만 보게 되더라도 대충 어느 나라에서 사용되는 어떤 ISP에서 부여받은 어떤 사이트 주소인지를 알 수 있게 된다는 겁니다.
물론 현 IPv4 체계에서도 이런 구분을 두려고 많이 노력했지만 아무래도 주소 범위가 작다 보니 그렇게 구현하기가 만만치 않았습니다. 게다가 여기저기 나누어주고 쪼개 쓰다 보니 오히려 그런 구분을 한다는 건 더더욱 어려워지게 된 거죠.
이러한 체계적인 주소 구분은 주소를 알아보기 쉽게 한다는 장점뿐 아니라 여러 개의 트래픽을 하나로 묶어주는 어그리게이션(aggregation) 역시 가능하게 해주었습니다. 즉, 같은 방향으로 가는 트래픽을 구분해서 하나로 묶어 보내게 되면 네트워크의 트래픽을 훨씬 줄일 수 있다는 개념이죠. 같은 방향으로 출근하는 사람끼리 모여서 같은 차를 타고 가는 카풀과도 비슷하네요.
또한 IPv4 체계에서의 수퍼넷팅(Supernetting) 개념과 같이 여러 개의 라우팅 경로를 하나로 묶어줄 수도 있게 됩니다. 이렇게 되면 라우팅 테이블에 저장돼야 할 경로를 획기적으로 줄일 수 있겠죠? 즉, 내부에서는 여러 개의 네트워크가 있지만 이걸 외부로 뿌릴 때는 하나로 묶어서 뿌리게 된다면 외부에선 여러 개의 네트워크 경로를 따로 따로 관리할 필요가 없게 된다는 겁니다.
예를 들어 미국에서 누군가가 편지를 보낼 때 한국주소를 번지수까지 적어서 보낸다고 하더라도 미국에선 일단 주소를 다 확인해 보는 게 아니고 한국으로 가는 건 모두 모아서 한국의 대표 우체국(네트워크에선 이런 역할을 하는 라우터를 보더 라우터(Border Router) 또는 관문 라우터라고 합니다)으로 보내게 되고 그 다음 주소는 우리나라 우체국에서 각 지방으로 보내는 것과 같은 개념이죠.
만약 미국에서 우리나라로 가는 편지를 주소별로 하나씩 배달한다고 하면 훨씬 복잡해지겠죠? 바로 계층적 주소 배치는 이렇게 주소를 체계적으로 관리함으로써 여러 개의 주소를 하나의 주소로 묶는 어그리게이션이 효과적으로 이루어지게 해준다는 겁니다.
지금까지 내용을 다시 정리해볼까요?
IPv6에서는 주소공간이 128비트로 넓어졌기 때문에 주소의 계층적 관리가 가능해졌고, 이러한 관리 기법으로 인해 효과적인 주소배치가 가능해졌을 뿐 아니라 여러 개의 네트워크를 하나의 네트워크로 묶어 트래픽을 줄일 수 있게 되었다. 여기까지입니다.

묶자! 묶자! 모두 다 묶자!
자 이번엔 IPv6의 또 하나의 장점인 어그리게이션에 대한 이야기입니다. 지난번에도 잠깐 언급했었죠? 어그리게이션에 대해서요.
어그리게이션이 뭐냐? 한마디로 말하면 묶는다는 겁니다. 즉, 여러 개의 네트워크 주소를 하나로 묶어준다는 거죠. 이렇게 어그리게이션이 가능한 건 앞서 설명을 드린 계층적인 주소배정이 가능하게 되었기 때문입니다.
그럼 왜 묶어줄까요? 답은 바로 간단하게 하기 위해서 입니다.
위쪽의 그림을 보면서 설명 드리겠습니다.
그림에 고객사이트 #1을 먼저 보시죠. 고객사이트 1에는 두 개의 네트워크가 있다고 가정하겠습니다. 하나는 2001:0200:0001:0001::/64이고 또 다른 하나는 2001:0200:0001:0002::/64 입니다.
이게 뭐냐고요? 이게 바로 IPv6 주소입니다.^^
IPv6주소는 16진수로 표시하고 4자리마다 ‘:(콜론)’으로 구분을 해주는 방식입니다. 좀 헛갈리시죠? 주소에 대한 이야기는 다음에 설명을 드리겠습니다. 우선은 그냥 보시기 바랍니다. 두 주소를 보면 앞에서부터 3번째 콜론까진 똑같죠? 그리고 4번째 묶음(?)에서 하나는 0001이고 또 하나는 0002로 서로 다릅니다. 서로 다른 두 개의 네트워크가 있는 거죠.
하지만 이 두개의 네트워크가 밖으로 나갈 땐 하나로 묶어서 내보낼 수 있다는 겁니다. 즉, 2001:0200:0001::/48로 말이죠.
아마 이쯤이면 눈치채신 분도 있으실 텐데요. 뒤에 붙는 /64나 /48과 같은 수는 바로 IPv4에서의 서브넷마스크 비트랑 비슷합니다. 즉, /48이란 맨 앞에서 48비트까지가 같은 네트워크라는 거죠. /64는 맨 앞에서 64비트까지가 같아야 하는 네트워크구요.
그럼 /48과 /64는 어떤 게 큰 네트워크일까요? 답은 /48 이겠죠? 앞에서부터 48비트까지만 같고 나머진 다 달라도 같은 네트워크가 되니까 128에서 48을 뺀 80비트가 바로 호스트 비트가 되는 개념이죠.^^
이야기가 샜네요. 암튼 다시 돌아와서 /64비트인 두 네트워크는 /48 비트인 하나의 네트워크로 묶어줄 수 있습니다.
그림에서 고객사이트 #2 역시 같은 개념으로 2001:0200 :0002::/48로 묶었다고 가정했을 때 고객사이트 #1과 고객사이트 #2를 묶어줄 수도 있겠죠? 이렇게 2001:0200:으로 시작하는 네트워크들을 다 모아준다면 2001:0200::/32라는 하나의 네트워크가 되는 거죠. 그림에 있는 ISP가 바로 그런 네트워크입니다.
이렇게 된다면 이 ISP에서는 인터넷 쪽으로 2001:0200::/32의 라우팅 정보만을 알려주게 되는 거죠. 따라서 인터넷 쪽에선 목적지가 2001:0200::/32로만 시작하는 네트워크가 온다면 다 여기 있는 ISP 쪽으로 보내주겠죠? 이게 바로 어그리게이션의 개념입니다.
나중에 설명 드리겠지만 2001:로 시작되는 주소는 IPv6에서 인터넷 상용서비스를 위해 할당된 번호구요. 2001: 뒤에 200으로 나오는 즉, 2001:0200:으로 시작되는 주소는 아시아 쪽에 배당된 주소랍니다.
이렇게 주소를 묶어주는 이유가 간단하게 하기 위해서라고 말씀 드렸는데 이걸 좀더 네트워크 적인 용어로 설명 드린다면...이처럼 프리픽스 어그리게이션(prefix aggregation - 네트워크의 앞부분을 묶는 방식)을 해주는 이유는 경로 정보 여러 개를 하나로 묶어줌으로써 라우팅 테이블을 줄여줄 수 있고, 이렇게 라우팅 테이블을 줄여 라우터의 메모리 절약은 물론 라우팅을 훨씬 더 효과적이고 빠르게 진행 할 수 있기 때문입니다.
사실 현재 IPv4 망에서도 라우팅 경로 정보를 줄여주기 위해서 CIDR(Classless InterDomain Routing)이나 수퍼넷팅 등의 다양한 노력을 하고 있지만 역시 체계적인 주소배정이 안되어 있다 보니 구현의 어려움을 겪고 있답니다. 하지만 IPv6에서는 아예 배정부터 계층적인 구조를 지원하다 보니 훨씬 효과적인 라우팅이 가능해 진다는 거죠.
예를 들어 오래된 도시는 길이 모두 좁고 꼬불꼬불해서 차들이 엉키고 뒤섞여 운전하기가 여간 까다롭지 않죠. 그렇다고 길을 하나 새로 만들어보려고 해도 기존에 있던 건물들이 체계적으로 지어지지 않아서 어려움이 많죠. 하지만 미리 도시계획에 의거해서 만들어진 계획도시들은 널따란 길과 반듯하게 세워진 건물들 때문에 도시의 교통 통제가 훨씬 간편하다는 거죠. 이게 바로 IPv4와 IPv6의 차이라고 볼 수 있습니다.^^
서울, 경기권에 사시는 분들이라면 일산, 분당을 생각하시면 되고요. 경상도 쪽이라면 창원과 같은 도시를 생각하면 되겠죠? 그게 바로 기존 도시와는 다른 차별화된 IPv6 도시의 형태이기 때문입니다.^^
자 그럼 배운걸 다시 정리해볼까요? IPv6 주소는 체계적으로 배정된 주소 때문에 여러 개의 주소를 하나로 묶어주는 기능인 프리픽스 어그리게이션이 가능합니다. 따라서 라우팅 테이블을 줄일 수 있을 뿐 아니라 효과적이고 확장 가능한 라우팅의 적용이 훨씬 더 수월해집니다.
여기까지입니다.^^ 안녕~!


댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글 0
댓글쓰기
계정을 선택하시면 로그인·계정인증을 통해
댓글을 남기실 수 있습니다.