아이피
IP(아이피)란 Internet Protocol의 약자로서, 숫자로 표시한 인터넷 주소이다. 인터넷 프로토콜이라고도 한다. IP는 컴퓨터가 사용하는 인터넷 주소 식별자(identifier)이다. IP의 종류에는 IPv4와 IPv6가 있다.
개요
IP(아이피)는 Internet Protocol의 약자로, 네트워킹이 가능한 장비를 식별하는 주소이다. IP주소라고도 불린다. 네트워킹이 가능한 장비라 하면, PC, 서버 장비, 스마트폰, 태블릿PC, 인터넷이 가능한 전자사전 등 인터넷에 연결되는 모든 장비를 말한다. 네트워크상에서 통신을 하기 위해서는 몇 가지 통신규약(Protocol)을 따라야 하는데, 그러한 규약들 중에는 "네트워킹을 하는 장비에게 숫자 12개의 고유한 주소를 주어, 그 주소로 통신을 할 상대를 구분한다."라는 의미를 가진 규약이 있다. 그 12개의 고유 주소가 IP이다.[1] OSI 7 계층에서 호스트의 주소지정과 패킷 분할 및 조립 기능을 한다. IP의 첫 번째 주요 버전인 IPv4(인터넷 프로토콜 버전 4)는 일반적으로 사용하는 IP이다. 그 뒤로 2006년부터 공공 인터넷에서 배치를 늘리고 있는 IPv6(인터넷 프로토콜 버전 6)가 있다. IPv4는 주소 공간의 고갈 문제가 있어 IPv6가 대중화될 것으로 보인다. 대부분의 운영체제는 IPv6 프로토콜을 지원한다.[2]
특징
IP는 TCP/IP의 기초를 이루는 프로토콜이다. 필요 시 패킷을 분할, 단편화한다. 최대 패킷의 크기는 65,535바이트이다. IP는 비신뢰성(unreliability)과 비연결성(connectionlessness)이 특징이다. 비신뢰성은 흐름에 관여하지 않기 때문에 보낸 정보가 제대로 갔는지 보장하지 않는다는 뜻이다. 예를 들어 전송과정에서 패킷이 손상될 수도 있고, 같은 호스트에서 전송한 패킷의 순서가 뒤죽박죽이 될 수도 있고, 같은 패킷이 두 번 전송될 수도 있으며, 아예 패킷이 사라질 수도 있다. 패킷 전송과 정확한 순서를 보장하려면 TCP 프로토콜과 같은 IP의 상위 프로토콜을 이용해야 한다.[2] 모든 TCP/UDP, ICMP, IGMP 데이터는 IP 데이터그램을 사용하여 전송된다. 즉, IP 패킷을 기반으로 하여 동작하는 프로토콜이다. 목적지를 기반으로 라우팅을 담당하며, 라우팅 알고리즘을 통해 최적의 경로를 선정하여 목적지를 찾아간다. IP 패킷은 단편화(Fragmentation)가 발생한다. L2 프레임의 payload의 최대 크기를 MTU(Maxium Transmission Unit)이라 하는데, 자주 사용하는 이더넷의 MTU는 1,500바이트이다. 즉, IP 패킷 전체가 1,500바이트에 실린다면 헤더 20바이트를 제하면 IP 패킷의 payload는 1,480바이트가 된다. 원본 IP 패킷의 크기가 15,00바이트 이상이라면 단편화되어 최종 목적지에서 조립되게 된다.[3]
컴퓨터는 이진수 체계이기 때문에 0과 1 두 수밖에 인식을 못 한다. 사람이 1010111101100010... 이런 수를 외우기는 힘들기에, 32자리를 8자리씩 쪼개어 가운데 점을 찍고 보기 쉽게 헥사 값으로 변경했다. 이렇게 생긴 각 마디를 옥텟이라고 한다. IP주소 체계는 계층적 구조 형식이다. 효율적으로 관리가 가능하기 때문이다. IP주소를 보면 네트워크 필드와 호스트 필드로 구분이 되어있다. 전화번호에 국번, 지역 번호, 내 번호로 되어있는 것과 같다. 이것은 IPv4 기준이고, 주소의 고갈로 점차 대중화될 것으로 보이는 IPv6는 다르다. IPv6는 21DA:D3:0:2F3B:2AA:FF:2AA:FF:FE28:9C5A와 같은 형태를 가지고 있는데 2의 128제곱 개 사용할 수 있다.[4]
IPv4
IPv4는 Internet protocol version 4의 약어로, 인터넷 프로토콜의 4번째 버전이다. 전 세계적으로 사용된 첫 번째 인터넷 프로토콜로, IETF(인터넷 표준화 기구) RFC 791(1981년 9월)에 문서화되어 있다. 또한 IPv6를 제외하고, 현재 인터넷에서 사용되는 유일한 프로토콜이다. IPv4의 주소체계는 네 개로 나눠진 최대 12자리의 번호로 이뤄져 있다. 예를 들면, ‘210.113.39.224’이다. 32비트로 이뤄진 IPv4는 최대 약 40억 개의 서로 다른 주소를 부여할 수 있다. 그러나 기하급수적으로 늘어나는 사용자 수요를 감안할 때, 현재 사용되고 있는 IPv4 체계로는 계속해서 요구되는 인터넷 어드레스 수요를 충족시킬 수 없다. 이에 따라 128비트 주소체계를 갖는 IPv6가 등장하였으며, IPv6를 연동ㆍ실험시킬 수 있는 실험 망으로 1996년 Bob Fink 등이 주축이 되어 6Bone이라는 가상 망을 만든 바 있다. [5] 대한민국은 2020년 08월 07일 기준 IPv4의 4,294,967,296개의 주소 가운데 대한민국에 112,476,928개가 할당되어 있다. 이는 전 세계에서 미국, 중국, 일본, 독일, 영국 다음으로 6위를 차지하고 있으며 아시아권에서는 중국, 일본 다음으로 3위를 차지하고 있다.
IPv4 주소는 인터넷주소 자원 관리기관에서 부여한 네트워크 주소와 네트워크상의 개별 호스트를 식별하기 위하여 네트워크 관리자가 부여한 호스트 주소로 구성된다. 호스트의 수에 따라 A, B, C, D, E 클래스로 나누어진다. A, B, C클래스는 일반 사용자에게 부여하는 네트워크 구성용, D클래스는 멀티캐스트용, E클래스는 향후 사용을 위하여 예약된 주소이다. 인터넷의 크기가 커짐에 따라 클래스 단위의 IP주소 할당은 라우팅 테이블을 복잡하게 하고, 인터넷 주소 공간을 낭비하는 문제점을 야기한다. 이에 따라 적당한 크기의 IP주소를 할당하는 CIDR(Classless Inter-Domain Routing) 방식이 사용된다. CIDR은 기존의 클래스 기반 할당 방법 대신 다양한 길이의 전치부를 이용한 할당 방법을 사용한다. 클래스 기반 주소 방식에서는 8, 16, 24로 한정된 전치부를 갖는 반면, CIDR에서는 13~27개에 이르는 다양한 전치부의 길이를 지원한다. 이에 따라 작게는 32개의 호스트를 갖는 네트워크부터 50,000개의 호스트를 갖는 다양한 네트워크를 할당할 수 있다. 예를 들어 "203.255.208.222/23"과 같은 CIDR에 의한 IPv4 주소 표기 방식은 IP주소를 2진수 표기법으로 변환하였을 때 나타나는 처음 23비트(11001011 1111111 1101000)가 네트워크 주소로 사용되며, 나머지 비트(0 11011110)가 네트워크가 가지는 512개의 호스트 중 자신의 호스트를 식별하는 숫자라는 것을 말한다. IP주소는 전화번호와 같이 국내에서 표준을 정하고 정책을 수립하여 이용자에게 무한히 배분할 수 있는 자원이 아니라 전 세계적으로 관리되는 유한한 자원이다. 일부는 특수한 목적으로 예약되었고, 주소 규정에 의하여 사용이 제한적이기 때문에 IP주소 할당 정책에 따라 부여하여 사용한다.[6]
IPv6
IPv6(Internet Protocol version 란 차세대 인터넷 주소 체계를 말한다. 인터넷에 연결된 기기는 각자 고유의 주소를 갖는데, 기존 IPv4로는 늘어나는 기기를 감당할 수 없어 그 대안으로 등장했다. IPv6와 IPv4와 비교했을 때 가장 큰 차이는 주소의 길이가 기존 32비트에서 128비트로 늘어난 것이다. 이에 따라 IPv4에서는 2의 32승, 즉 43억 개 주소를 할당할 수 있지만 IPv6에서는 2의 128승, 사실상 무한대로 쓸 수 있다. IPv6는 2001:0DB8:010F:0001:0000:0000:0000:0D0C 이렇게 생겼다. IPv4와는 달리 8묶음으로 되어 있고, 묶음을 구분하기 위해 :(콜론)을 사용한다. 16진수를 사용하므로 알파벳도 포함되어 있다. 주소가 복잡하다 보니 이를 보완하는 규칙이 있다. 앞쪽에 오는 0은 안 써도 된다. 앞서 말했던 주소는 2001:DB8:10F:1:0:0:0:D0C로 바꾸어 쓸 수 있다. 0이 연속으로 나올 때는 '::'으로 치환할 수 있다. 때문에 2001:DB8:10F:1::D0C로 쓸 수 있다. 단, '::'으로 치환하는 것은 한 번만 가능하다.
많은 인터넷 주소가 필요해진 것은 인터넷에 연결된 기기가 급속도로 늘고 있기 때문이다. 특히 사물인터넷이 확산하면서 CCTV부터 시계, TV, 냉장고 등 우리 주변의 거의 모든 기기가 인터넷에 연결되고 있다. 그래서 지난 1994년 국제 인터넷 표준화 기구에서 표준으로 채택된 이후 2017년 기준 전 세계에서 사용하고 있다. 이 밖에도 IPv6를 사용하면 네트워크에 접속하는 순간 자동으로 네트워크 주소를 부여받는다. 네트워크 관리자로부터 IP 주소를 받아 수동으로 설정하는 IPv4보다 편리해졌다. 또한, 특정 트래픽은 실시간 통신 등 별도 처리해 높은 품질의 서비스를 제공할 수 있는 '플로우 레이블링(Flow Labeling)' 기능이 추가됐고, 패킷 출처 인증과 데이터 무결성 및 비밀 보장 기능을 통해 보안을 강화했다. 또한, IPv6에서는 네트워크의 물리적 위치에 제한받지 않고 같은 주소를 유지하면서도 자유롭게 이동할 수 있다. 이를 이용하면 어디서든 고정된 IP 주소를 가질 수 있으므로, 서버나 다운로드하는 PC가 바뀌어 다운로드가 중간에 멈추는 경우를 크게 줄일 수 있다. 현재의 P2P(Peer to Peer) 파일 공유 방식이 P2G(Peer to Grid) 형태로 바뀔 수도 있다고 전문가들은 전망한다. 국내에서는 지난 2014년 9월, SK텔레콤이 IPv6를 처음 상용화했다. 이후 2016년 7월 기준 SK텔레콤 가입자의 약 25%인 600만 명이 IPv6 기기를 사용하고 있다.[7] 2020년 7월 기준 특수용도를 제외한 전 세계 IPv6 할당은 311,542개 이다. 대한민국은 5,260개를 보유하고 있으며, 이는 전 세계에서 15위이다. 미국, 중국, 독일이 1, 2, 3위이며, 일본은 8위이다.
IPv6은 IPv4에 비해 많은 점이 보완되었다. 첫 번째로, 브로드캐스트 대신 멀티캐스트로 변경됐다. 브로드캐스트는 해당 브로드캐스트 영역에 있는 모든 호스트들에게 다 전송되는 메시지이다. 때문에 무조건 모든 곳으로 원하는 원치 않든 전송하고, 받아야 했다. 브로드캐스트는 이런 점 때문에 항상 골칫거리였다. 하지만, ARP(상대방의 MAC 주소를 가져오는 프로토콜)를 할 때나 라우팅 정보를 업데이트하는 데 브로드캐스트가 이용된다. 이런 점을 고려하여 IPv6에서는 브로드캐스트를 삭제하고, 대신 멀티캐스트가 이를 대신하도록 했다. IPv6에서의 멀티캐스트는 4비트의 Scope ID를 사용하여 멀티캐스트의 전송 범위를 지정해줄 수 있다. 두 번째로, IP주소가 자동 구성된다. IPv4에서는 IP 주소 자동 할당을 위해 DHCP 서버를 만들고, 이 서버를 통해 IP 자동 할당이 가능해졌다. 이러한 방식을 상태 저장 자동 구성(Stateful Auto Configuration)이라고 한다. 그렇지만, IPv6에서는 DHCP 서버 없이도 라우터를 통해 IP 주소를 자동으로 구성할 수 있게 한다. 이러한 방식을 비보존형 자동 설정(Stateless Auto Configuration)이라고 한다. 물론 좀 더 자세히 호스트를 구성하고자 한다면 IPv6에서도 DHCPv6 서버를 구성하여 사용할 수 있다. 세 번째로, 헤더가 간단해졌다. IPv6의 주소 정보가 128비트로 크게 늘어났기에, 헤더 정보를 IPv4에 비해 반 정도로 줄이게 된다. 패킷 처리가 간단해지는 장점은 있지만, 워낙 크게 늘어난 주소 정보 탓에 주소를 확인하는 데 문제가 발생할 수 있다. 네 번째로, 보안이 좋아졌다. IPv6는 IPSec을 기본적인 보안 정책으로 채택하여 운영하고 있다. 인터넷에서 전자상거래 등에 필수적인 인증, 보안 암호화, 데이터 무결성 보호 기능을 제공한다. 마지막으로, 이동성이 좋아졌다. 모바일 장비가 네트워크 접속이 끊기지 않으면서 이동이 가능 하도록 해준다. IPv6에서는 이동성을 좀 더 효과적인 방법으로 제공한다.[8]
기술
IPv6로 이행하려는 움직임이 있지만, IPv4가 널리 쓰이고 있기 때문에 둘 사이를 연결해주는 기술이 있다. 바로 듀얼 스택, 주소 변환, 터널링이다. IPv4에서 IPv6로 넘어가는 기술은 있지만, 그 반대는 없다.
- 듀얼 스택 : 듀얼 스택(Dual Stack)은 하나의 시스템에서 IPv4와 IPv6 프로토콜을 모두 처리하는 기술이다. 따라서 듀얼 스택을 지원하는 시스템은 물리적으로 하나이지만 논리적으로 IPv4와 IPv6를 둘 다 지원한다. IPv4/IPv6 듀얼 스택 소프트웨어는 일반적으로 운영체제 커널에 소프트웨어 형태로 구현된다. 따라서 다양한 표준의 네트워크 카드(이더넷, ATM, 와이파이, Wibro, WCDMA 등)와 독립적으로 동작한다.
- 주소 변환 : 주소 변환 기술은 IPv4 네트워크와 IPv6 네트워크 사이에 주소변환기를 사용하여 상호 연동시키는 기술이다. IPv6 클라이언트가 IPv4 서버에 접속하거나 반대로 IPv4 클라이언트가 IPv6 서버에 접속할 때 사용되는 기술이다. 주소 변환 기술은 어떤 계층에서 변환하느냐에 따라 네트워크 계층(IP)에서 변환하는 헤더 변환 방식, 전송 계층(TCP)에서 변환하는 전송 계층 릴레이 방식, 응용 계층(HTTP)에서 변환하는 응용계층 게이트웨이 방식으로 나뉜다.
- 터널링 : 터널링(Tunneling) 기술은 트래픽이 IPv6 망에서 인접한 IPv4 망을 거쳐서 건너편 IPv6 망으로 통신할 때 IPv4 망에 터널을 만들어 IPv6 패킷을 통과시키는 개념을 의미한다. IPv6 도입 초기에는 소규모 섬 형태의 IPv6 망들이 구축될 것이기 때문에 터널링 기술이 많이 활용될 것이다. 전환기술 중에서도 터널링 기술에 대한 표준화 활동이 가장 활발히 진행됐으며, 그 결과 지금까지 다양한 터널링 기술이 표준으로 제안되었다.[8]
각주
- ↑ 모두의 근삼이, 〈IP주소란 무엇인가〉, 《티스토리》, 2015-11-04
- ↑ 2.0 2.1 인터넷 프로토콜 위키백과 - https://ko.wikipedia.org/wiki/%EC%9D%B8%ED%84%B0%EB%84%B7_%ED%94%84%EB%A1%9C%ED%86%A0%EC%BD%9C
- ↑ limithan, 〈05-1. IPv4 프로토콜〉, 《네이버 블로그》, 2017-07-17
- ↑ IT양햄찌(jhnyang), 〈IP주소란? IPv4와 IPv6. IP주소는 왜 필요한가? 내 컴퓨터 IP확인하는 법〉, 《티스토리》, 2015-11-04
- ↑ IPv4 네이버 지식백과 - https://terms.naver.com/entry.nhn?docId=74612&cid=43667&categoryId=43667
- ↑ 호샘, 〈IPv4란?〉, 《네이버 블로그》, 2007-03-20
- ↑ 박상훈 기자, 〈ITWorld 용어풀이 | IPv6〉, 《아이티월드》, 2017-08-01
- ↑ 8.0 8.1 Dali기, 〈IPv6란?〉, 《티스토리》, 2015-04-26
참고자료
- 모두의 근삼이, 〈IP주소란 무엇인가〉, 《티스토리》, 2015-11-04
- 인터넷 프로토콜 위키백과 - https://ko.wikipedia.org/wiki/%EC%9D%B8%ED%84%B0%EB%84%B7_%ED%94%84%EB%A1%9C%ED%86%A0%EC%BD%9C
- limithan, 〈05-1. IPv4 프로토콜〉, 《네이버 블로그》, 2017-07-17
- IT양햄찌(jhnyang), 〈IP주소란? IPv4와 IPv6. IP주소는 왜 필요한가? 내 컴퓨터 IP확인하는 법〉, 《티스토리》, 2015-11-04
- IPv4 네이버 지식백과 - https://terms.naver.com/entry.nhn?docId=74612&cid=43667&categoryId=43667
- 호샘, 〈IPv4란?〉, 《네이버 블로그》, 2007-03-20
- 박상훈 기자, 〈ITWorld 용어풀이 | IPv6〉, 《아이티월드》, 2017-08-01
- Dali기, 〈IPv6란?〉, 《티스토리》, 2015-04-26
같이 보기