본문 바로가기

etc

IP(Internet Protocol)

IP(Internet Protocol)

 

오늘은 네트워크의 기초가 되는 IP에 대해서 알아보자. 인터넷을 하려면 IP(Internet Protocol)주소가 있어야 한다. IP는 쉽게 생각하면 인터넷을 할 때 필요한 내가 가지고 있는 고유한 주소이다. 한 컴퓨터당 하나의 주소(IP)가 있어야 다른 컴퓨터와 데이터를 주고 받을 수 있다.

 

예를 들어서 내가 지금 다음에 접속하고 싶다면 나는 인터넷 주소창에 다음의 도메인 주소를 쳐서 접속하면 된다. 이것은 외적으로 보여지는 내용이고, 실제로는 내 컴퓨터의 IP가 다음의 IP에 요청을 보내는 것이다. 여기서 데이터를 주고 받으려면 프로토콜이란 표준화된 통신규약을 이용해야 한다. 내가 다음에 요청했을 때 내가 보내는 요청과 응답하는 쪽의 내용이 같아야 효율적인 통신이 되고 데이터가 정확하게 전달되는 것을 보장해주기 때문에 표준을 정해놓고 사용하는 것이다.

  

그렇다면 한번 내 컴퓨터의 IP 주소를 알아보자.

시작 -> 실행 -> cmd입력 -> ipconfig 입력

 

실행해 보았다면 자신의 IP 주소를 알 수 있을 것이다. IP 주소는 현재 IPv4(Internet Protocol version 4) 방식을 사용하기 때문에 123.123.123.123과 같이 3자리가 4번 들어가는 방식으로 나올 것이다. 123 이라고 되어있는 것을 하나의 octet이라고 읽는다. 각 부분은 0~255까지의 숫자가 들어가는데, 이유는 각 octet마다 8bit이므로 2^8을 하면 256이 되는데 0부터 시작하기 때문에 0~255의 숫자가 들어가는 것이다. IPv48bit octet 4자리 있으므로 총 32bit로 구성되어 있다. IPv4 방식은 약 43억 개(256*256*256*256)의 주소를 표현할 수 있다.

 

IP는 네트워크 부분과 호스트 부분으로 나누어 지는데, 네트워크부분은 데이터를 주고받을 때 라우터를 거치지 않고 전송 가능한 영역이다. 라우터란, 예를 들어 내가 서울에 있고 부산에 있는 컴퓨터에 접속한다고 가정하자. 이때 서울과 부산이 하나의 선으로 연결되어있겠는가? 아마 대전도 지나고 대구도 지나고.. 여러 곳을 지나가야 할 것이다. 라우터는 이 과정에서 최적의 경로를 찾아주는 역할을 한다. 즉 라우터를 거치지 않고 전송 가능한 영역이란 쉽게 하나의 작은 지역 정도라고 생각하면 되겠다. 호스트 부분은 말 그대로 그 컴퓨터의 호스트이다. 각 각의 컴퓨터는 하나의 호스트를 가지고 있고, 이것이 컴퓨터를 구분해주는 것이다.

 

IPv4는 크게 5가지의 클래스 (A,B,C,D,E)가 있다. 여기서 실제 사용하는 클래스는 A,B,C 클래스이다.

 

IP 클래스

IP

A Class

1.0.0.0 / 127.0.0.0

B Class

128.0.0.0 / 191.255.0.0

C Class

192.0.0.0 / 223.255.255.0

 

호스트 개수로 보면 A>B>C 클래스 순으로 많다. 순서대로 A클래스는 1,677,214(256*256*256-2), B클래스는 65,534(256*256-2), C클래스는 254(256-2)개의 호스트를 사용할 수 있다. 뒤에 2개씩 뺀 이유는 숫자의 처음과 끝은 다른 용도로 사용하기 때문이다. A 클래스는 주로 국가나 대형 통신망에서 사용하고, B 클래스는 중·대형 네트워크에서 사용하고, 소규모 네트워크에서는 주로 C클래스를 사용한다.

 

지금 IPv4의 주소는 거의 고갈되어가고 있다. 이것을 해결하기 위해 IPv6가 새롭게 부각되고 있다. IPv6란 차세대 인터넷 프로토콜로서 IPv4의 대안으로 제정되었다. IPv6 128bit로 현재 32bit IPv4에 비해 엄청난 네트워크 주소를 만들 수 있다. IPv68개의 16bit 정수의 짝으로 표현한다. 예를 들면, 1234 : 5678 : 9ABC : DEF0 : 1234: 5678 : 9ABC : DEF0 (16진수로 표기) 이처럼 나타낼 수 있다.