Post date: Nov 30, 2016 3:40:29 AM
IP에 대해서 좀 더 깊이 있게 알아보자.
위에서는 IP를 여러분의 집주소에 비교를 했다. 여러분들의 집 주소는 다른 사람들이 볼 때 알아 보기 쉽게 적혀 있다.
예를 들면, "서울시 용산구 한남 1 동 297/2 번지" 와 같이 되어 있으면 이 주소가 대충 어디 쯤인지 쉽게 알 수 있다. 이와 비슷하게 컴퓨터 주소 엮시 다른 컴퓨터가 보면 알아 보기 쉽게 되어 있는 데 0 과 1로 이루어진 32비트 숫자로 되어있다.
이러한 32 비트로 이루어진 주소를 컴퓨터의 고유 주소를 IP라 부르는 데 사람이 알아보기에는 쉽지가 않다.
그래서 사람들은 꽤(?)를 내어 32비트를 4 부분으로 나눠 각 부분을 10진수로 표기해 사용한다.
에를 들면 11000011 10110111 10100111 01000101을 네 부분으로 나눈 뒤 203.237.229.162와 같이 십진수로 나타내어 사용한다. 아무래서 위의 2 진수 보다는 외우기가 훨씬 편하다.
IP 주소는 분류와 관리상 편리하게 몇 개의 클래스로 나누어져 있는 데 표를 이용해 나타내어 보았다.
클래스 네트웍 구분자 네트웍 주소 사용가능한 IP 주소 용도
위 표를 보고 한 눈에 이해하기가 힘드리라 생각한다.
IP에는 분류 구분을 위해 처음 부분의 일련된 비트를 둔다. 먼저 어떤 IP가 0으로 시작하면 A 클래스라는 것을 위 표에서 알 수가 있다. 이 것은 2 번 째 비트부터 8 번째 비트 까지가 네트웍 주소가 되며 반대로 사용가능 한 IP 주소(이하, 호스트 수)는 24비트가 된다. 즉, A 클래스로 나누어 지는 네트웍크 수는 2의 7승인 128개가 되며 호스트의 수는 2의 24승으로 16,777,216 개가 된다.
IP 주소가 0으로 시작한다는 말은 0000 0011 11111101 00000011 0000 0111 와 같은 IP 주소가 그 한 예라고 할 수 있는 데 이를 네부분으로 나눠 십진 수로 표시해 본다면 3.253.3.7과 같다. 본인이 여기서 말하고자 하는 의도는 8 비트 중 그 첫 비트가 0으로 시작한다면 그 첫 부분의 최소 값은 0이며 최 대 값은 127 이라는 것이다. IP의 주소가 0 부터 127 사이의 값으로 시작이 된다면 그것은 틀림 없이 A클래스라는 말이된다.
IP 주소가 10으로 시작하면 B 클래스임을 나타내며 3 번째 비트부터 16번째 비트가 네트웍 주소를 가리키며 나머지 17번째 비트부터 32 비트 까지가 호스트 주소임을 나타낸다. 8비트 중 두 비트가 10으로 시작하면 최소 128의 값을 가지며 최대 191의 값을 가진다. 즉, 십진수로 표기한 IP 의 네 부분 중 그 첫부분이 128에서 191의 값을 가진다면 그 IP주소는 틀림없이 B 클래스에 속해 있다.
C 클래스의 경우는 110으로 시작하며 4 번째 비트부터 24 번째 비트까지(즉, 2의 20승이므로 2,097,152개의 네트웍 주소가 C 클래스로 나타내어 질 수 있다)가 네트웍 주소가 되고 나머지 25비트부터 32비트 까지가 호스트 주소가 된다. C 클래스 하나에 나타낼 수 있는 호스트 수는 256개로수 비교적 작다.
C 클래스의 IP 주소의 첫 부분은 십진수 192부터 223의 값을 가진다.
현재 네트웍상에서 많이 쓰이는 IP 클래스는 A,B, 그리고 C 이다. D 클래스나 E 클래스는 특별한 용도로 쓰이는 데 그 사용빈도 수가 아주 드물다.
서브 넷팅
IP를 분류별로 나눈 것의 제일 큰 목적은 뭐니 뭐니해도 그 관리의 편성성 때문이라 하겠다. 예를 들어 203.237.229 라는 C 네트워크 클래스 IP를 하나 할당 받았다면 우리는 이론상 256개의 호스트를 사용할 수 있다. 하지만 이 IP 주소를 가지는 256대의 컴퓨터가 모두 한 건물내에 있지 않고 여러 건물에 흩어져 있다면 여러분은 이 C 네트웍 클래스를 또 다른 서브 네트웍으로 분류하기를 원할 것이다. 만얀 여러분이 할당받은 203.237.229 네트웍 클래스를 다시 두 개의 서브 네트웍으로 나눈다고 가정을 한다면 어떻게 네트웍을 설정해야 하는 지 살펴보자.
우리는 하나의 C 네트워크 클래스가 256개의 IP를 가진다는 것을 알고 있다.
이 것을 두 개로 분류하면 0~127 까지를 하나의 분류로 하고 나머지 128~125 까지를 또 다른 하나의 네트웍으로 분류할 수 있다.
C 네트웍 클래스에서는 32비트의 IP중 24 비트가 네트웍 주소이고 8비트가 호스트 주소인데 이 8비트를 다시 두 개로 나었으니 그 8 비트 중 첫 번째 비트를 네트웍 구분자로 두어 0으로 시작하면 203.237.229 C 네트웍 클래스의 첫 번째 네트웍이라 가정하고 1로 시작하면 203.237.229. C 네트웍 클래스의 두 번째 네트웍이라고 할 수 있다. 이 때 첫 번째 네트웍의 네트웍 주소는 203.237.229.0이 되고 두 번째 네트웍 클래스의 네트웍 주소는 203.237.229.128이 된다.
이 두 네트웍의 구분을 위해서 넷 마스크는 203.237.229.128을 사용하면 된다.
4. OSI 7 Layer와 TCP/IP의 비교
우리는 TCP/IP에 관해서 3장에서 자세히 공부를 했다.
그럼 여기서 OSI 7 Layer 에대해 한 번 알아보고 이게 TCP/IP랑 무슨연관이 있는지도 알아보자. (사실, 별 상관이 없지만 OSI 7 Layer는 표준적인 모델이라 거의 모든 네트워크 프로토콜을 구현을 설명할 때 비교되어 설명된다.)
그리고 미리 한가지 말해 둘 것은 이 절은 OSI 7 Layer와 TCP/IP의 비교를 위한 장으로 OSI 7 Layer에 대해서는 자세히 언급하지 않겠다. 여러분들 중 네트웍 프로토콜을 직접 만들거나 혹은 다른 네트웍 프로토콜을 분석해야 할 입장에 있는 사람이 있다면 OSI 7 Layer에 대한 관련내용을 다른 서적에서 참고해야 할 것이다.
OSI 7 Layer에 대해서 설명하기 이전에 먼저 OSI 7 Layer와 TCP/IP를 가지고 비교 설명을 한 번 해 보겠다.
OSI 7 계층과 TCP/IP 비교 설명
1. 7 계층 vs 4 계층
2. 모델(방식, 형식) vs 2개가 하나로 이루어진 프로토콜
3. 나중에 나옴 vs 먼저나옴 (OSI 7 계층의 모든 역활을 해 냄),
위에서 3 번째 비교 내용을 보면 TCP/IP가 OSI 7 Layer 보다 먼저 나왔다는 것을 알 수가 있다. 이는 TCP/IP 프로토콜이 만들어 질 당시 OSI 7 Layer통신 프로토콜 표준 모델이라는 것이 없었기 때문에 당연히 TCP/IP 프로토콜은 OSI 7 Layer의 모델과는 일치할 수 없다.
특히, TCP/IP가 OSI 7 Layer 와 달리 4 계층으로 이루져 있다는 것만 보더라도 알 수가 있다. 하지만 TCP/IP 프로토콜 구조가 비록 4 계층으로 이루어져 있지만 OSI 7 Layer가 가지고 있는 각 층 모든 기능을 다 수행한다.
[표 4-1] OSI 7 Layer와 TCP/IP의 계층별 차이점
OSI 7 Layer
TCP/IP