IP 주소(Internet Protocol Adress)

 

IP 주소란 TCP/IP 프로토콜을 사용하여 통신을 할 때, 송신자와 수신자를 구별하기 위한 고유의 주소를 말한다. 그리고 인터넷에 연결된 모든 통신망과 그 통신망에 연결된 컴퓨터에 부여되는 고유의 식별 주소를 의미한다.

 

이 주소는 내부에서 32비트(4byte)로 기억되지만 표기할 때에는 4개의 10진수를 점(.)으로 구분하여 표시한다.

 

32비트로 구성된  IP주소는 모두다 동일하게 구분되는 것이 아니라 네트워크 부분과 호스트 부분으로 구분된다.

 

ipconfig_r.png

 

네트워크 부분은 통신을 위해서 데이터를 전송 하였을 때 라우터를 거치지 않고 전송이 가능한 영역이다. 이런 영역을 브로트 캐스트 영역이라고 한다.

 

호스트 부분은 각각의  PC를 나타낸다.

 

이해하기 쉽게 설명하면 네트워크 부분은 전화번호의 지역번호에 해당하고 호스트 부분은 그외 번호라고 이해하면 쉽다.네트워크 부분과 호스트 부분을 나누는 방법은 미리 정해져 있고 그것을 IP주소의 클래스 라고 한다.

 

클래스는 IP주소는 통신망의 크기, 즉 통신망에 연결되는 컴퓨터의 수에 따라 A,B,C,D 클래스로 구분한다.

A클래스는 255.0.0.0 으로  1바이트의 Network 부분과 3바이트의 HOST 부분을 사용한다.

B클래스는 255.255.0.0 으로 2바이트의 Network 부분과 2바이트의 HOST 부분을 사용한다.

C클래스는 255.255.255.0으로 3바이트의 Network 부분과 1바이트의 HOST 부분을 사용한다.

D클래스는 4바이트 모두 멀티캐스트 주소로 사용한다..

그리고 0과 255의 HOST ID는 예약되어 있기 때문에 사용할 수 없다.

 

예를 들어 C클래스의 경우 192.168.10.0 과 192.168.10.255 는 사용할 수 없다.

 

그리고 루프백 주소(Loop Back Adress)가 있다. 루프백 주소란 첫 번째 바이트가 127인 IP주소를 의미한다. IP주소가 127.x.x.x 이면 루프백 주소 이다.

통상적으로 디버깅을 목적으로 네트워크 상에서 자기 자신을 나타내는 주소를 말한다.

localhost 로 불리는 IP주소는 127.0.0.1을 사용하고 루프백 사용으로 예약되어 있는 A클래스의 주소는 127.0.0.0 이다.

PC에서 프로토콜을 처리 할 때 는 127로 시작하는 IP주소를 담은 각각의 패킷을 외부 네트워크 쪽으로 전송하지 않는다. 또한 라우터 에서도 이를 전송하지 않는다.

 

 

Port 포트

포트란 호스트 내에서 실행되고 있는 프로세스를 구분짓기 위한 16비트의 논리적 할당 이다. 0~65536개의 갯수를 가진다.

 

간단하게 설명하면 IP주소는 컴퓨터를 찾을 때 필요한 주소를 나타내며, 포트는 컴퓨터 안에서 프로그램을 찾을 때 를 나타내는 것이다.

 

다시 예를들어 PC의 IP주소가 192.168.10.20 이라고 하면 컴퓨터에서 FTP로 자료를 받을 때 사용하는 IP주소는 자신의 주소인 192.168.10.20이고 채팅을 할 때의 IP주소도 192.168.10.20이다. FTP서버와 채팅 서버가 각각 패킷을 192.168.10.20 주소로 보내려고 하면 서로 혼동이 생기게 된다. 그 IP주소를 사용하는 프로그램이 하나가 아닌 것이다.

 

그래서 포트번호가 생겼고, FTP서버가 포트 9000을 사용하면 채팅 서버는 포트 9001을 사용함으로 써 프로세스를 구분한다.

컴퓨터의 주소가 IP주소이며, 프로그램의 주소가 포트 번호 이다.

 

TCP/IP 의 상위 프로토콜을 사용하는 응용프로그램에서는 인터넷번호 할당 허가위원회(IANA)에 의해 미리 지정된 포트번호들을 가지고 있다. 이런 포트번호들은 '잘 알려진 포트들' 이라고 불린다. 다은 응용프로그램 프로세스들은 접속할 때만다 포트번호가 새로 부여된다. 포트번호는 0부터 65535 까지이며, 0부터 1023까지는 어떤 특권을 가진 서비스에 의해 사용될 수 있도록 예약되어 있다. HTTP서비스를 위해서는 대개 80번 포트가 지정된다.

 

port.png

 

etc

 

2012년 현재 인터넷에 연결된 컴퓨터나 모바일 기기등에 할당된 IP주소는 거의 대부분 IPv4(IP version4)형태이다. 이 IPv4의 주소 체계는 3자리 숫자가 4마디로 표현된다. 따라서 IPv4체계의 IP주소로는 0.0.0.0부터 255.255.255.255까지 2의 32제곱, 약 42억 개의 주소를 사용할 수 있다. 숫자로 보면 IP주소가 많은 듯 하지만, 점차 IP주소 고갈 현상이 나타나고 있다.전 세계 컴퓨터를 비롯한 다양한 기기가 고유한 IP주소를 가져야 하기 때문이다.

이와 같은 IP주소 부족 문제를 해결하기 위해 제안된 새로운 IP주소 체계가 IPv6 다. 이는 IPv4가 32개의 이진수로 처리하던 IP주소를 128개의 이진수 (128비트)로 처리하게 된다. 따라서, 2의 128제곱인 약 3.4 X 10³²  에 해당하는 IP주소를 사용할 수 있게 된다. 한 마디로 거의 무한대로 사용할 수 있다. 이렇게 되면 비단 컴퓨터 관련 기기뿐 아니라, 냉장고, TV, 세탁기, 전자레인지 등 일반 가전에도 IP주소를 부여할 수 있어 각 기기 간의 통신이 가능해 진다.(이러한 통신 환경을 일컬어 '유비쿼터스' (Ubiquious) 라고도 한다.)

 

ubiquitous_computing.gif

 

IPv4의 IP개수 : 10^28 개 = 42억 9496만 7296개

IPv6의 IP개수 : 10^128개 = 340간 2823구 6692양 0938자 4634해 6337경 4607조 4317억 6821만 1456개

 

서브넷 마스크

 

IP주소에 따라오는 서브넷 마스크 라는 것이 있다. 네트워크에 연결되려면 이 두 정보는 반드시 짝을 이뤄 입력 되어야 한다.

 

서브넷 마스크라는 용어를 풀어 보면 '하위(sub) 네트워크(net)를 구분하는 표기(mask)법' 이라 할 수 있다.

네트워크 구역을 정확하게 구분하는데 사용된다. 즉, 같은 IP주소 대역이라도 네트워크를 A,B,C 등의 구역으로 나눌 수 있는데, 이를 구분하는 기준이라는 것이다. 따라서 IP주소가 정확하더라도 서브넷 마스크가 틀리면 인터넷 접속이 불가능 하다. 서브넷 마스크는 일반적으로 255.0.0.0(클래스 A) 또는 255.255.0.0(클래스 B) 또는  255.255.255.0(클래스 C) 등의 형식으로 표현된다.

netmask.png