티스토리 뷰

Network

[Network]IP 주소(IP Address)

heyhyo 2018. 7. 10. 13:32

IP(Internet Protocol)



IP 주소를 알기전에 간단하게 IP를 먼저 알아보자. 이는 Internet Protocol의 약자로 패킷 교환 네트워크(인터넷)에서 데이터를 주고받을 때의 통신 규약이다. OSI계층에서 IP계층은 호스트의 주소지정과 패킷분할 및 조립 기능을 담당한다.




IP Address(Internet Protocol Address)



우리는 편지를 보낼때 도착 주소를 반드시 명시해야한다. 그래야 그 편지는 우리가 원하는 목적지에 잘 전달될 것이다. 그리고 보낸 곳이 어딘지 정확히 명시해 주어야 받는 사람이 알 수 있을 것이다.


컴퓨터에서도 마찬가지 이다. 각기 떨어져 있는 컴퓨터들이 다른 컴퓨터로 데이터를 전송하고 주고받기 위해서는 각 컴퓨터들의 주소가 존재해야 한다. 그래야 내가 어떤 데이터를 전송할 때 그 데이터의 최종 목적지를 알 수 있기 때문이다. 그래서 네트워크(인터넷) 상에서 데이터를 주고받기 위해 모든 컴퓨터들은 각자의 주소를 가지는데 그 주소가 IP 주소(IP Address)이다.


* 일반적으로 IP 주소를 IP라고 부르는 경우가 있지만, IP라는 것은 통신 프로토콜 자체를 의미하는 것이고, IP 주소는 인터넷 상에서 데이터를 주고 받을 때 사용되는 주소이므로 혼동하지 말아야 한다.


IP = 프로토콜

IP 주소 = 주소


한 마디로 IP 주소는 IP에 의한 패킷 교환을 위한 컴퓨터의 네트워크 상의 고유 주소이다.




IPv4 & IPv6



앞에서 IP와 IP 주소의 전반적인 개념에 대해서 알아보았다. 그렇다면 이 IP 주소를 부여하는 방식은 어떤 것이 있을까? 대표적으로 두 가지를 말하는데, 현재 가장 대중적으로 사용하는 IPv4와 상대적으로 최근에 고안된 IPv6가 있다.



IPv4(IP Version 4)


먼저 IPv4에 대해 설명하겠다. 현재 우리가 일반적으로 사용하는 주소는 IPv4라고 보면 된다. 이 주소는 32비트로 이루어져 있으며, 8비트씩 4개의 구간으로 나누어서 나타낸다. 각 자릿수는 0~255(2^8)의 범위로 표현이 가능하다. 따라서 이론적으로 42억 9496만 7296개의 IP가 존재한다. 하지만 일부 IP주소들은 특별한 용도를 위해 예약되어 있어서 실질적으로는 더 적은 수의 IP 주소만 사용할 수 있다고 생각하면 되겠다.



옥텟(Octet)


여기서 옥텟이라는 개념을 잡고 넘어갈 필요가 있다. 먼저 사전적인 의미로는 컴퓨터에서 8개의 비트가 한데 모인 것을 말한다. 초기 컴퓨터에서는 1바이트가 꼭 8비트만을 표현하지는 않았기 때문에 옥텟이라는 용어를 생성하게 되었다.


IPv4 주소에서의 옥텟이라는 말의 의미는 32비트의 IP 주소를 8비트로 나누는 단위라고 할수 있다. IP 주소는 32비트로 이루어져 있고, 그것을 옥텟(Octet)단위로 끊어서 표현한다. 각 옥텟은 10진수로 0~255의 값을 가지게 된다. 그리고 나누어진 옥텟을 마침표(.)단위로 나누어서 표기하는 것이다.


IPv4 주소는 총 32비트로 이루어져 있는데 4구간으로 나누어서 사용된다. 그래서 8비트씩 4구간으로 나누어서 사용하게 되는데 8비트씩 나누어진 것을 옥텟이라고 한다.





위 그림을 보면 알 수 있다. 실제로 IP 주소는 컴퓨터에 저장 될 때 비트 단위로 저장되어 있을 것이다. 그것을 옥텟 단위로 구분하여 10진수의 정수로 표현하고 각 옥텟사이를 마침표(.)로 구분해 주면 우리가 일상적으로 사용하는 IPv4 주소가 된다.


왜 이렇게 옥텟단위로 나눠서 10진수로 표시하는 것일까? 그 이유는 사람이 보기 편하게 다루기 위해서이다. 사람이 비트를 일일히 보고 다루는 것은 정말 무식하고 어려운 일이다. 따라서 우리는 개발의 편의성을 위하여 몇개의 수를 사람이 보기쉬운 10진수로 표현한 것이다.


IPv4 방식의 주소들이 고갈되었기 때문에 더 많은 컴퓨터에서 사용하도록 하기 위한 방벙 중에 대표적으로 사용되는 방식에 서브넷 마스크라는 방식이 있다. 이 내용도 상당히 긴 내용이기 때문에 다음 포스트에서 따로 다뤄보도록 하겠다. 



IPv6(IP Version 6)


위에서 보여준 IPv4가 현재 가장 많이 사용되고 있다. 하지만 이 주소체계로는 약 42억개의 주소만을 표현할 수 있다. 현재 전 세계 인구수는 2017년 기준으로 74억명에 이른다고 한다. 그렇다면 컴퓨터가 굉장히 보편화된 지금의 상황에서 한 명당 하나의 컴퓨터에 IP만 부여해도 그 IP의 수는 현저히 부족하게 된다. 따라서 당연히 현재 IPv4방식의 IP주소는 고갈되었다.


물론 이런 부족한 IP주소를 더 많은 컴퓨터에서 사용할 수 있도록하는 기술은 다양하게 존재한다.(유동 IP, 서브넷 마스크 등) 하지만 이런 것들도 언젠가는 한계가 있을 것이다. 따라서 사람들은 더 풍족한 IP주소를 원하게 되고 이는 곧 IPv6의 탄생의 배경이 된다.


IPv4에서 32비트를 사용했다면, IPv6에서는 128비트로 확장하였다. 32비트의 주소체계로 표현할 수 있는 IP주소의 수는 약 42억개 였다면 IPv6는 2의128제곱개의 IP주소를 표현할 수 있고 이를 계산하보면, 340,282,366,920,938,463,463,374,607,431,768,211,456개라고 한다. 읽어내기 조차 힘든 엄청난 수이다. 내가 죽기 전까지 이 주소가 고갈되는 것은 볼 수 없을 것 같다.


IPv4를 옥텟단위로 4등분하여 표기하였다면, IPv6는 2옥텟(16비트) 단위로 8등분하여 표기한다. 따라서 각 자리는 네자리의 16진수로 표현되고, 각 자릿수들은 콜론(:)으로 구분하여 표기한다.


2001:0db8:85a3:08d3:1319:8a2e:0370:7334


위 형식으로 표현될 수 있다.         




그렇다면 그냥 IPv6로 다 바꿔버리면 안될까?



현재 사용중인 장비들은 IPv4방식을 처리하기 위해서 만들어진 것이 많다고 한다. 따라서 IPv6를 사용한다고 해도 그 것을 IPv4형식으로 변환하여 사용한다.


변환해서 사용이 가능하다면 더 최신 IP 주소 체계인 IPV6를 대중적으로 사용하면 되는것이 아니냐고 반문할 수 있다. 하지만 여기서 문제인 것은 IPv4방식으로 지금까지 사용해 왔기 때문에 IPv4방식을 사용하는데 있어서는 보안대책이 잘 마련되어 있다. 하지만 IPv6는 아직 인프라가 많이 약한 상태이다. 따라서 보안대책이 많이 약한 상태이기 때문에 섣불리 전환할 수 없다고 한다.


만약에 DDos 공격이 IPv6 주소체계로 이루어 진다면, 그 IP 주소를 추적하는 것도 상당히 어려울 것이다.


하지만 이러한 보안문제들이 해결된다면 충분히 IPv6로 넘어갈 수 있는 기술들은 갖춰진 상태이다.




참고



https://ko.wikipedia.org/wiki/IP_%EC%A3%BC%EC%86%8C

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

http://gotocloud.co.kr/?p=320

https://ko.wikipedia.org/wiki/%EC%98%A5%ED%85%9F_(%EC%BB%B4%ED%93%A8%ED%8C%85)

https://ko.wikipedia.org/wiki/IPv6

http://www.findip.kr/ip_info.php

https://m.blog.naver.com/PostView.nhn?blogId=loljackie&logNo=100111818026&proxyReferer=https%3A%2F%2Fwww.google.co.kr%2F

http://rityn.tistory.com/139

http://article2.tistory.com/554


'Network' 카테고리의 다른 글

[Network]DNS Server(Domain Name System Server)  (0) 2018.09.05
[Network]네트워크 클래스(Network Class)  (0) 2018.08.31
[Network]서브넷(Subnet)  (15) 2018.08.31
[Network]Web Server & WAS  (5) 2018.07.02
[Network]3-Way Handshake  (0) 2018.06.27
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함