IP Address의 이해
TCP/IP를 사용하는 모든 컴퓨터들은 IP Address를 가지고 있다. 이 IP Address는 각각의 컴퓨터를 네트워크에서 유일하게 구분해 줄 수 있는 고유번호를 의미한다. 굳이 TCP/IP를 전혀 모르더라도 집에서 전화, ADSL, 케이블모뎀 등을 통해서 인터넷에 접근한다거나, PC방에서 어디 있는지 모르는 누군가와 채팅을 하거나, 네트워크 게임을 즐기고 있다면 이미 당신은 TCP/IP를 사용하고 있고 당신의 컴퓨터는 IP Address를 가지고 있어야만 한다. 관리자는 이러한 IP Address의 체계에 대해서 잘 이해하고, 관리할 수 있어야 한다. TCP/IP를 구성하고 있는 IP Address, Subnet Mask, Default Gateway등의 역할들에 대해서 살펴보고, IP Address에 대해서 구체적으로 살펴보도록 한다.
컴퓨터에서 TCP/IP등록정보에 접근해 보면 두가지 유형의 설정을 확인할 수 있다.
수동(정적) IP구성, 자동(동적) IP구성
분명히 달라 보이지만, 경우도 보조프로그램의 명령프롬프트를 열고 "ipconfig"를 입력해 보면 TCP/IP의 구성을 확인할 수 있다. IPCONFIG Utility를 이용한 TCP/IP 구성 확인
이렇듯 TCP/IP를 사용하기 위해서는 IP Address, Subnet Mask, Default Gateway등의 정보들이 구성이 되어 있어야 하는데 네트워크 관리자라면 당연히 이들의 역할들에 대한 명확한 이해를 해야 할 것이다. 어려운 수학은 아니지만 아무래도 숫자만 나오면 머리아파지는 우리들로서는 차근차근 접근해 볼 필요가 있다. 먼저 IP Address에 대한 설명을 하도록 한다.
IP Address = Network ID + Host ID
IP Address는 Network ID와 Host ID로 구성되어 있다. 다른 통신도 마찬가지이긴 하지만 특히 TCP/IP통신은 우리들의 생활과도 아주 밀접한 연관성이 있다. 우리가 현실에서 외부 누군가와 편지를 주고 받는 과정이 TCP/IP통신과정과 아주 유사하다. 우리가 편지를 주고 받을 때의 상황을 상기하면서 이해를 하면 쉽다. 대한민국의 가구수가 얼마나 될까? 뭐 중요한 건 아니다. 2천만가구라고 가정을 해 보겠다.
각 가구들을 구별하기 위해서 우리는 "번지"라는 개념을 사용하는데 1번지부터 2천만번지까지 존재하는 것은 아니다. 행정구역이라는 개념으로 시,도,동... 등을 구분하여 사용하며 최종적으로 번지라는 단위로써 각각의 가구들을 구분해 주고 있다. 만일 시,도,동 등의 큰 단위를 사용하지 않고 전체가구가 개별적인 번지수 하나만으로 주소를 이루고 있다면 어떻게 될까? 물론 이 경우도 편지를 주고 받는데는 문제가 없다. 1번지에 사는 사람은 2천만번지에 사는 사람에게 편지를 보내기 위해 편지 겉봉에 받을 사람 주소를 쓰고 우체국에 편지를 부칠 것이며, 우체국에서는 2천만번지인 주소를 찾아서 편지를 배달해 줄 것이다. 이때 우체국에서는 큰 노력이 필요해진다. 대한민국 전체를 오로지 "번지"로만 나누었기에 2천만번지가 어디쯤 있는지 지도책을 펴 놓고 찾을 것이며 직접 그곳까지 배달을 해야 할 것이다. 우체국 입장에서는 자신이 배달해야할 경로가 총 2천만가지의 수가 있는 것이다.
조금 더 편한 방법은 무엇일까? 당연히 그것은 그룹으로 나누는 방법에서 찾을 수 있다. 여러개의 번지를 묶어서 그룹으로 나누면 그만큼 경로의 수가 줄어들기 때문에 배달업무에 효율성을 기할 수 있게 될 것이다. 개별적인 번지수까지 신경쓸 이유는 없어지고 다만 그 주소가 속해있는 그룹에게 편지를 배달해 주면 되기 때문이다.
Network ID도 바로 그러한 것이다. 전체 IP Address를 따로 따로 관리하기 보다는 Network ID라는 이름으로 그룹을 만들어서 Network ID 단위로 IP Address를 관리하면 그만큼 효율적으로 IP Address를 관리하고 무엇보다도 보다 원활한 Routing이 가능해질 수 있기 때문이다.
Network ID에 관련한 중요한 개념 한가지를 챙겨보도록 하자. 그림을 예로 들어 설명을 한다. 우리가 실생활에서 편지를 보낼 때의 절차를 통해서 정리를 할 것인데, 먼저 2가지를 가정한다.
(1)편지의 주소는 "동"과 "번지"만으로 이루어져 있다.
(2)같은 동에 속한 사람들끼리는 직접 편지를 교환하고, 다른 동으로 편지를 보내기 위해서는 반드시 우체국을 이용해야 한다.
예제에서는 "삼성동"과 "대치동"사이에 어떻게 편지가 교환이 되는지에 대한 그림을 보여준다. 예제에서 "동"에 해당하는 것이 "Network ID"이고, "번지"에 해당하는 것이 "Host ID"가 된다. 우체국은 다른 네트워크 패킷을 라우팅해 주는 "라우터(Router)"에 해당한다.
Network ID의 이해
"삼성동 100번지"에 사는 사람이 "대치동 100번지"로 편지를 발송하는 상황이다.
"삼성동 100번지"에서는 편지(data)를 쓴 다음 겉봉투(packet)에 넣고 수신인란에는 "대치동 100번지"라고 기록을 했다. 그 다음 편지를 발송하기 위해 첫 번째로 하는 일은 수신처가 자신과 같은 "동(Network ID)"에 있는지 다른"동"에 있는지를 파악하는 일이다(①).
같은 "동"이라면 직접 편지를 배달할 것이고,다른 "동"이라면 "자신의 관할 우체국(로컬 라우터)"에게 편지배달을 요청해야 하기 때문이다.
예제에서 수신처가 자신과는 다른 "대치동"관할에 있으므로 두 번째로 할 일은 "삼성동 우체국"으로 편지를 보내러 가야 한다(②).
삼성동우체국에서는 발신자는 중요하지 않다. 중요한 정보는 수신자의 주소인 "대치동 100번지"가 되는데 그 중에서도 100번지라는 "번지(Host ID)"수는 의미가 없다. 자신이 직접 최종목적지까지 편지를 배달할 것은 아니기 때문이다. 다만 "대치동"이라는 "동(Network ID)"정보가 필요할 뿐이다. 그래서 삼성동우체국에서는 "대치동"이라는 목적지를 확인한 다음 그 목적지로 가기 위한 경로(Routing Table)를 확인하여 대치동 우체국으로 편지를 발송한다. 이때 발송방법은 여러 가지가 있을 것이다. 비행기,자동차,선박 등을 이용해서 상대방 우체국까지 편지를 발송해주게 된다(③).
대치동 우체국에서 편지를 받고서 자신의 관할영역임을 확인한 다음, 편지겉봉의 수신처 주소중 "번지"를 확인하게 된다. "100번지"라는 번지를 근거로 "대치동 100번지"의 우체통에 편지를 배달해 줄 수가 있게 된다.(④) 이렇듯 다른 "동(Network ID)"로 편지를 보내기 위해서는 반드시 자신의 관할 우체국(Local Router)의 도움을 받아야 하는 것을 확인할 수 있다.
Network ID의 이해 2
[그림5]에서는 같은 "동"에 있는 "삼성동 200번지"로 편지를 배달하고 있다. 과정은 앞의 예제와 다를바가 없다. 다만 편지를 작성한 다음 가장 먼저 수신처가 자신과 같은 동에 있는지 다른 동에 있는지를 판단해서 같은 동에 있다는 판단을 하였기에 우체국에 편지를 부치지 않고 직접 편지를 배달하고 있다.
당연한 것을 왜 설명하는지 의아해 하는 독자가 있을 것이다. 하지만 여기서 중요한 원칙 하나가 나오게 된다. 물리적으로 같은 "동"에 위치한 집들은 반드시 같은 "동"의 주소를 할당받아야 하고 다른 "동"에 위치한 집들은 반드시 다른 "동"의 주소를 할당받아야 한다는 것이다. 다시 정리하면 같은 네트워크에 존재하는 컴퓨터들은 반드시 같은 "Network ID"를 사용해야 하고, 다른 네트워크에 존재하는 컴퓨터는 반드시 다른 "Network ID"를 사용해야 한다는 것을 의미한다.
설명하도록 한다. Network ID의 이해
상황은 "삼성동200번지"에 살던 [B]라는 사람이 "대치동"으로 이사를 했다. 당연히 대치동에서 새로운 번지를 할당받아야겠지만 고집스럽게도 [B]는 물리적으로는 "대치동"관할에 있으면서 주소는 예전 그대로 "삼성동200번지"를 사용하고 있다고 가정해 보자. 결과적으로는 [B]는 어느 누구와도 편지를 주고 받을 수 없다. 왜 그럴지 살펴보자.
먼저 "삼성동100번지"에 있는 [A]와의 통신을 고려해 보면 [A]는 [B]에게 편지를 보내기 위해 편지 겉봉에 "삼성동200번지"라는 주소를 기록할 것이다.
같은 "동(네트워크ID)"에 있는 사람이기에 우체국에 편지를 부치는 것이 아니라 직접 편지를 배달하려고 시도를 하겠지만 실제로는 다른 "동"으로 이사를 가 버린 [B]에게는 편지가 도착될 수가 없게 된다.
이번엔물리적으로 같은 "동"에 위치한 "대치동100번지"의 [C]와 [B]의 통신을 고려해 보자. [C]는 역시 [B]에게 편지를 부치기 위해 편지겉봉에 수신처주소에는 "삼성동200번지"를 사용할 것이다. 자신과 다른 "동"에 위치해 있다는 것을 알 게 되고 직접 발송하는 것이 아니라 "대치동 우체국"에 발송을 요청하게 될 것이다.
대치동우체국에서는 목적지가 "삼성동"으로 되어 있으므로 "삼성동우체국"으로 편지를 보낼 것이고, 우체국에서는 번지를 확인해서 "200번지"를 찾게 되지만 실제로는 이사를 해 버린 [B]를 찾을 수가 없게 된다. 역시 편지발송이 실패하게 된다.
위에서 예제에 따르면 "같은 동에 사는 사람들은 주소역시 같은 동의 주소를 가져야 하며, 다른 동에 사는 사람과는 다른 동의 주소를 사용하여야 한다"라는 결과가 나온다.
TCP/IP통신에 맞춰서 얘기한다면"같은 물리적인 네트워크에 존재하는 컴퓨터들은 반드시 같은 "Network ID"를 사용해야 하고, 다른 네트워크에 존재하는 컴퓨터는 반드시 다른 "Network ID"를 사용해야 한다". 이것은 TCP/IP를 사용하는 컴퓨터들간의 통신을 위해서 반드시 지켜져야 하는 원칙이다.
예를 들면 192.168.5.0이라는 네트워크 ID를 할당한 세그먼트에 A와 B가 있다면 이들 둘의 통신을 위해서는 A와 B는 동일하게 192.168.5.0 네트워크 ID를 사용하는 Host ID가 할당되어야만 한다.
A에게 192.168.5.1을 할당하고, B에게 192.168.5.20을 할당했다면 둘은 통신이 되겠지만, 만일 B에게 192.168.6.20을 할당했다면 둘은 통신을 할 수가 없게 된다. 물리적으로 같은 네트워크에 서로 다른 네트워크ID가 할당되었게 때문이다.
192.168.5.1과 192.168.6.20이 어디가 어떻게 다른거냐구? 이제부터 그런 내용을 배우게 된다.
잘 아는 사람들에게는 불필요한 정도로 부연설명을 했다. 하지만 이 개념은 IP Addressing, TCP/IP통신의 흐름을 이해라는데 필요한 너무나 중요한 개념이다.
'전자기기그룹 > 정보통신' 카테고리의 다른 글
Ring generator (0) | 2010.09.23 |
---|---|
디지털 오디오 전송 방식 (0) | 2010.09.06 |
TCP /IP Protocol 04 (0) | 2010.09.06 |
TCP/IP Protocol 03 (0) | 2010.09.06 |
TCP/IP Protocol 02 (0) | 2010.09.06 |