1) IPv4 란??
IPv4는 Internet Protocol Ver. 4의 약어로 인터넷 프로토콜의 4번째 판이며, 전 세계적으로 사용된 첫 번째 인터넷 프로토콜이다. 또한 IPv6를 제외하고, 현재 인터넷에서 사용되는 유일한 프로토콜이다
IPv4는 패킷 교환 네트워크 상에서 데이터를 교환하기 위한 프로토콜이다. 데이터가 정확하게 전달될 것을 보장하지 않고, 중복된 패킷을 전달하거나 패킷의 순서를 잘못 전달할 가능성도 있다. 데이터의 정확하고 순차적인 전달은 그보다 상위 프로토콜인 TCP에서(그리고 UDP에서도 일부) 보장한다.
IPv4의 주소체계는 총 12자리이며 네 부분으로 나뉜다. 각 부분은 0~255까지 3자리의 수로 표현된다. IPv4 주소는 32비트로 구성되어 있으며, 현재 인터넷 사용자의 증가로 인해 주소공간의 고갈에 대한 우려가 높아지고 있다. 이에 따라 대안으로 128비트 주소체계를 갖는 IPv6가 등장하였다.
요약하면, IPv4 는 인터넷 프로토콜의 네 번째 버전으로서, 네트워크 상에서 데이터를 교환하기 위한 프로토콜이다.
IPv4 의 주소체계는 4 바이트(32 비트)로 표현되며, 총 12 자리로 나타난다. IPv4 에서 IP 주소는 네트워크 주소와 호스트 주소로 나뉜다.
예) 203.252.118.8 192.118.10.10 16.10.5.1
출처 : http://ko.wikipedia.org/wiki/IPv4
2) IPv4 의 IP 주소 체계에서 네트워크 클래스
IP 주소 체계는 클래스 별로 나뉘어 진다. 아래 표를 보자.
여기서 우리가 집중할 부분은 클래스 A 부터 C 이다. 네트워크 클래스를 알아야 하는 이유는 클래스 별로 IP 주소에서 네트워크 주소와 호스트 주소가 나뉘는 기준이 다르기 때문이다.
위의 표에서 보면 구성 부분에 굵게 처리되는 부분이 네트워크 주소 부분이고 굵체 처리되지 않은 부분이 호스트 주소 이다.
A 클래스의 경우에는 32 bit 중에 앞의 8 bit 가 네트워크 주소를 의미하며 뒤의 24 bit 는 호스트 주소를 의미 한다.
B 클래스의 경우에는 앞의 16 bit 가 네트워크 주소를 의미하고 뒤의 16 bit 가 호스트 주소를 의미한다.
C 클래스의 경우에는 앞의 24 bit 가 네트워크 주소이고 뒤의 8 bit 가 호스트 주소이다.
그러므로 가령, C 클래스의 경우, 가능한 네트워크 수는 이론적으로 2^24(2의 24 승) 이고 C 클래스의 하나의 네트워크 내에서 가능한 최대 호스트 수는 2^8 개이다. 사실 좀 더 엄밀히 말하면, 2^8 - 2 이다.
그럼 IP 주소를 보고 그 주소가 A 클래스인지 B 클래스인지 C 클래스인지 어떻게 알 수 있나?
A 클래스는 첫 번째 비트(가장 왼쪽에 있는 bit) 가 0 으로 시작하며
B 클래스는 처음 두 개 bit 가 10 으로 시작하고,
C 클래스는 처음 세 개 bit 가 110 으로 시작한다.
그러므로 가령 B 클래스는, 10******.********.********.******** 으로 표현되고, 그렇기 때문에
B 클래스의 가장 낮은 값은 10000000.00000000.00000000.00000000 이고
B 클래스의 가장 높은 값은 10111111.11111111.11111111.11111111 이 될 것이다.
네트워크 주소와 호스트 주소를 나눠야 되는 이유는 간단하다.
비유하면, 가령 우편물을 배달해야 하는 경우가 있다고 하자.
쉽게 설명하기 위해, A 아파트 B 아파트, C 아파트 밖에 없는 도시에 우체부가 우편물을 분류할 경우, 일단은 아파트 별로 분류를 할 것이다. 그러므로, 아파트가 세 개 이므로, 여러가지 우편물의 주소에서 아파트 단위로 분류를 한 뒤, 아파트에 가서 경비실 아저씨에게 각 동별로 우편물을 전달해 달라고 하는 것이다. (약간 비유가 억지가 있긴 하다. 사실 우체부 아저씨가 경비 아저씨께 맡기지 않고 직접 각 동 별 우편함에 우편물을 넣으니 말이다. 경비실 아저씨 비유를 든 것은, 라우터가 경비실 아저씨의 역할을 하기 때문이다.)
예를 들어, A 아파트 101동 101호 우편물의 경우 일단 A 아파트로 분류하고, A 아파트로 가서 A 아파트 경비 아저씨에게 101 동으로 가져다 주라는 식이 될 것이다.
그럼 슬슬 궁금할 것이다. 아파트가 네트워크 주소로 비유되고, 아파트 별 각 동이 호스트 주소로 비유된다면,, 그럼, 각 동 별로 호 수(가령 101호) 는 뭐에 비유 될 수 있나?
답은 : 각 호 수는 포트(port) 로 비유될 수 있다. 각 동 별로 여러 호 수가 있는 것 처럼, 각 호스트 별로 여러가지 프로세스가 돌고 있으므로, 해당 프로세스에게 전달되기 위해서는 포트 번호를 알아야 한다. 아파트 이름과 아파트의 동, 그리고 호 수를 알아야 제대로 전달되는 것처럼, IP 주소를 통해, 네트워크와 호스트를 알아낸 뒤, 호스트의 포트 번호를 통해 해당 호스트의 원하는 프로세스에 전달 될 수 있는 것이다.
끝으로,, IP 주소와 Port 를 합친 것이 socket 이라고 정의하는 곳도 있다.
'Network' 카테고리의 다른 글
network :: content-type, MIME, application/x-www-form-urlencoded (0) | 2011.05.26 |
---|