슈마: 미돌양..IP 주소가 무엇일까 ???
미돌양: IP는 Internet Protocol 의 준말이죠..인터넷을 하기위해서는 PC,
서버, 라우터 등의 장비간의 통신을 하기 위해서 공인 IP주소를 등록하며,
이 IP주소를 가지고 통신을 하는 것으로 알고 있는데요..
슈마: 그렇지, 미국에 있는 서버와 인터넷 접속을 하기위해서는, 미돌양 PC에
서 부터 ISP(인터넷서비스업체) 업체를 통해서 미국서버까지 접속하기 위해서
는 고유의 IP주소를 설정하게 되어 있지
허접군: 얼마 전에 PC를 P-IV (펜티엄-IV)에 windows 2000 서버를 OS로
설치하였는데...IP주소를 어떻게 하면 볼수 있나요 ??
슈마: 윈도우2000 사용자는 시작을 누르고 command 명령으로 dos프롬프트
화면에서 ipconfig명령을 이용하여 PC에 설정된 IP주소를 알수 있지..
윈도우화면에서 시작 -> 실행 -> COMMAND를 입력한후에
C:\> IPConfig
Windows 2000 IP Configuration
Ethernet adapter 로컬 영역 연결:
Connection-specific DNS Suffix :
Autoconfiguration IP Address. . . : 169.254.154.117
Subnet Mask . . . . . . . . . . . : 255.255.0.0
Default Gateway . . . . . . . . . :
PPP adapter HanaNet:
Connection-specific DNS Suffix . :
IP Address. . . . . . . . . . . . : 211.204.63.46
Subnet Mask . . . . . . . . . . . : 255.255.255.255
Default Gateway . . . . . . . . . : 211.204.63.46
슈마: 자세히 보면 IP address, subnet mask, default gateway와 같은 생소
한 단어가 나오는데 네트워크를 배우기 위해서는 어떤 용도인지를 알아야
하며 앞으로 배우게 될거야
허접군: 굳이 그런 것들을 배울 필요가 있나요. 얼마전에 저희 집에 ADSL
설치 하러 왔는데 통신 직원이 나와서 처음부터 끝까지 친절하게 설치해
주던데. 전..숫자만 나오면..머리가 아픈 체질이라.. ^^;;
슈마: 그렇지 않어...요즘은 네트워크나 서버 관리자 뿐아니라 프로그래머
들도 IP의 구조나 네트워크의 기초를 알어야 서버 설치, 프로그램 개발 및
테스트를 진행할 때 도움이 많이 된단다.
이제 부터는 본격적으로 IP를 배워보자. 회사에서 야후 사이트를 접속하기
위해서는 어떤 절차를 거치게 될까? 아는사람…
허접군: 그야 쉽지요, PC에서 웹브라우저를 실행한후 www.yahoo.com을
입력하면, 그 다음부터는 컴퓨터가 알아서 야후 사이트가 나타나죠.
슈마: 과연 그런가 확인해 보자. 허접군 말대로 사용자는 URL 주소를 입력
하고 몇초있다가 야후사이트가 나타나기 까지 복잡한 일들이 벌어지게 되지.
처음에는 PC에 설정되어 있는 DNS서버의 IP를 접속하여 www.yahoo.com
의 IP주소를 알아내며, 회사내의 라우터는 www.yahoo.com IP
(64.58.76.228) 회사 내에 있는지 외부에 있는지를 판단하지,
외부의 서버 IP주소라고 결정되면 외부 통신회사쪽으로 라우팅을 하고
해저 광케이블로 미국에 있는 YAHOO 서버까지 접속될때까지 몇 개의
라우터를 거치게 되지..
허접군: 와~ 몇초의 짧은 시간에 여러 절차를 거치는구나. 믿기 어려운데요..
슈마: 그럼 실습을 통해 여러 단계의 경로를 추적해 보면 이해가 빠를 거야..
윈도우에서 제공하는 "tracert" 명령으로 PC에서부터 미국 www.yahoo.com
사이트까지의 거쳐가는 경로를 눈으로 알 수 있지
C:\>TRACERT www.yahoo.com
Tracing route to www.yahoo.akadns.net [64.58.76.228]
over a maximum of 30 hops:
1 20 ms 20 ms 20 ms 211.204.48.1 -> 하나로통신
2 10 ms 10 ms 10 ms 211.201.158.93 -> 하나로통신
3 <10 ms 10 ms 10 ms 211.117.0.11 -> 하나로통신
4 10 ms 10 ms 10 ms 211.117.39.19 -> 하나로통신
5 140 ms 130 ms 140 ms 210.180.97.174 -> 하나로통신
6 130 ms 161 ms 140 ms 210.180.97.114 -> 하나로통신
7 130 ms 140 ms 140 ms paix.exodus.net -> 미국 exodus사
8 141 ms 130 ms 140 ms bbr01-p4-0.sntc04... [209.185.249.29]
9 130 ms 170 ms 161 ms bbr02-g6-0.sntc04.exodus.net
......
14 200 ms 201 ms 220 ms 216.35.210.126 -> 미국 exodus사
15 220 ms 190 ms 201 ms w7.dcx.yahoo.com -> yahoo 서버
Trace complete.
<tracert로 야후서버까지의 경로 확인 >
허접군: 왼쪽의 숫자는 무슨 의미가 있나요 ?
슈마: 왼쪽의 숫자는 라우터등의 네트워크장비가 순차적으로 경유되는 것을
표시하며, 숫자 20ms (0.02초),130ms (0.13초) 는 단계별로 경유되는 시간을
표시하고 있지. 즉 1번을 보면 집에 있는 PC에서 시작을 하여 하나로통신의
네트워크장비로 연결되며 경과되는 시간이 20ms (0.02초)인것을 알수 있지.
숫자가 15까지 되어 있으니 집에서 미국 yahoo서버까지 15개의 네트워크장비
를 거쳐서 접속한다고 보면 되겠지..
허접군: 한국에서 거리가 멀수록 경로 숫자가 많이 표시되겠네요. 유럽지역
처럼 멀면 40개~50개의 경유지가 생기는 건가요 ?
슈마: 거리가 가까운 일본이라고 경로수가 적고 먼 유럽이라고 경로수가
많지는 않지. 인터넷은 미국에서 시작하여 발전하여 인터넷의 중심이라 볼수
있으니 아시아국가라고 한국에서 직접 연결되지 않고 한국->미국->아시아
이런식으로 경로가 정해질수 있으니 거리가 아닌 네트워크 망의 구성에 따라
경로수가 정해지며, TRACERT는 최대 30개까지만 접속경로수가 표시되고
그 이후는 표시되지 않는다
미돌양: DNS 서버는 뭔가요 ?
슈마: DNS서버는 숫자로 구성된 IP주소를 사용자가 쉽게 기억할수 있는 문자
로 변환하는 장비인데, 야후의 IP주소인 64.58.76.228과 사용자가 인터넷을
접속할 때 사용하는 WWW.YAHOO.COM의 정보를 가지고 있지 참고로
웹 브라우저에 야후 IP 인 "66.58.76.228"를 입력해도 접속이 되지
허접군: IP주소로도 야후를 접속할수 있다면 숫자로 하지 왜 어려운 영어로
접속을 해요 ???
슈마: 숫자로 되어 있으면 외우기가 힘이 드니까..그렇지..친구에게 메일로
편지를 쓸때 숫자로된 suma@66.58.76.228 이라고 하는 것 보다 영문으로된
suma@yahoo.co.kr이 더 친근하지 않을까. 아무리 기억력 좋은 사람도
수백개의 사이트를 숫자로 기억하는 것은 쉽지 않을걸
미돌양: 웹서버를 설치할 때 고유의 IP주소를 설정하며 도메인 서버명등 DNS
서버에 등록하여 외부에서 접속을 한다고 이해를 하고 있는데, 그럼 IP주소에
도 소유자를 어떻게 확인할수 있나요?
슈마 : tracert의 야후 경로 추적때 보였던 “209.185.249.29” IP주소가 어느
나라 소속이지 알수가 없으니. 한국인터넷정보센타 (http://whois.nic.or.kr)
로 접속한 후 "whois 검색"을 하니 다음과 같은 메시지가 나왔군
조회하신 해당 IP주소는 국내(KRNIC)에 배정된 주소가 아닙니다.
http://www.apnic.net(APNIC) 또는 http://www.arin.net(ARIN)에서 조회해
주십시오.(UNIX: whois -h whois.apnic.net [IP주소] 또는 whois -h whois.arin.net [IP주소])
< who is 검색 결과 메시지>
슈마: 위와 같은 메시지 뜻은 국내가 아닌 국외의 IP관리센타에서 관장을
한다는 말이며, 한국이 아닌 국외의 서버로 경로가 간다는 말로 이해하면
되겠지.. 결국 집 -> 한국 ISP업체(하나로통신) -> 미국 ISP업체 (exodus)
-> 미국 yahoo 로 접속이 되는군
미돌양: IP주소 관련하여 뉴스에서 Ipv4, Ipv6니 하는 말들을 하던데,
그게 뭔가요
슈마: IPv4는 IP 버젼 4라는 의미이고, 32비트 체계로 되어 있어서 43억 개의
주소공간을 만들 수 있다는 의미를 담고 있지.현재 70% 정도를 사용하고 있고
2005년~2011년에는 할당할수 있는 IP주소가 없어지므로 아프리카등과 같이
뒤늦게 인터넷을 사용하려는 나라는 IP를 신청을 해도 줄 수가 없다는 말이지..
허접군: 어떻게 그런일이 있을 수가, 인터넷은 정보의 바라로 모두가 사용해야
하는데..
슈마 : 처음에는 인터넷이 이렇게 널리 보급이 될 줄은 예상을 못했거든..
현재 전세계 인구는 60억이 조금 넘는데...인당 1개의 IP주소를 줄려고 해도
Ipv4의 43억개의 IP로는 당연히 부족 하지.더구나 향후에는 냉장고, 핸드폰,
TV등에도 IP를 부여 인터넷 정보도 볼수 있게되면 개인들도 IP 한 개가 아닌
여러 개의 IP를 사용할 날이 멀지 않았지. 그래서 등장한 것이 128비트 체계인
IPv6 이지. 개인에게 여러 개의 IP주소를 줄수가 있거든
허접군: 앞서 32비트 체계에서 IP가 43억개 라고 했는데..어떻게 그런 계산이
나오나요
슈마: 비트란 "0"과 "1"로 표현되는 이진수를 말하지...2비트 이면 몇개의 경우의 수가 나올까
미돌양 : 슈마오빠..4개요..
슈마 : 그렇지. 4개지..2비트 이면 "이진수 2자리로 표현되는 수"이므로
00, 01, 10, 11 이렇게 4개의 경우의 수가 나오지. 만약 4비트이면
"이진수 4자리로 표현되는 수"로 0000,0001,0010,0011,0100,0101,
0110,0111,1000,1001,1010,1011,1100,1101,1110,1111에 해당하는
16개가 나오겠지. 계산식은 2비트이면 2의 2승이니까 4개,
4비트이면 2의 4승이니까 16개,그리고 32비트이면 2의 32승이니까 43억개가
나오는거야
2비트이면 2^2 (2의 2승) = 4개
4비트이면 2^4 (2의 4승) = 16개
32비트이면 2^32 = 4,294,967,296개 (반올림 해서 43억개)
128비트이면 2^128 = 340,282,366,920,938,000,000,000,000,000,000,000,000개
< 2진수로 표현되는수>
미돌양: 천문학적 수치군요. 향후 100억 인구가 모두 인터넷 IP를 할당해
준다고 해도 풍족하게 사용할수 있겠군요. IPv6로 되면 라우터 장비도
새로 사야 하나요 ?
슈마 : 신제품을 개발할때 IPv6를 포함시키고 있으며 문제될게 없고,
기존 장비는 업그레이드를 하면되지,시스코는 현재 자사의 운영 소프트웨어인
IOS 12.1(5)T에서 IPV6를 구현하고 있지
허접군: 그런데 IP를 표시할 때 왜 중간에 점(.)을 넣는 거예요
슈마 : 그건 사람들이 보기에 편하라고 8비트마다 점(.)으로 구분을 하지.
컴퓨터는 이진수인 "0"과"1" 이진수만 인식을 하니까 만약 점없이
“11000011 10110111”과 같이 표시하려면 많이 불편할거야
IP를 서로 확인할 때 "슈마님이 사용하는 IP가 11000011 10110111 10100111
10100111 IP가 맞습니까”
“예. 잘 안들린다구요. 다시 불러달라구요.헉헉헉”라고 해야 하겠지.그래서
다음과 같이 8비트(1옥텟) 마다 점(.)로 구분하고 8비트를 10진수로 바꿔서
표시하는 거야
컴퓨터 : 11001111 11000111 10100111 00001110 -> 2진수 사용
사람 : 207 199 167 14 -> 2진수 8비트마다 점(.)
로 구분하고 8비트(1개 옥텟)을 10진수로 표시함
허접군: 모르는 영어가 나오니 어렵네요. 옥텟(octet)이 뭐고, 어떻게
이진수 "11000011"이 십진수 "203"이 되는지..모르겠네요 ㅠ.ㅠ “
슈마: 옥텟은 라틴어에서 유래했고, 8비트를 한 묶음으로 묶는 것을 1개의 옥텟
이라 하지. 32비트이면 "4개의 옥텟"이 되는거야.. 음악에서는 도,레,미,파,솔,
라,시,도의 8개의 음도를 1옥타브라고 같은 의미로 사용하는 거야
허접군: 제가 좋아하는 가수는 가창력이 4옥타브가 넘는다고 하던데..그 말은
8개의 음도를 저음에서 고음으로 4번이나 표현 할수 있다는 말이군..
저도 3옥타브 정도 음계가 나오지 않을까..
도~레~미~파~솔~라~시~도~레...
슈마: 허걱. 목소리만 커지고 듣기 참 거북하네...정말 음치당..허접군 입 좀
어떻게 좀 막어봐라...
미돌양: 잠깐 귀막고 계세요.. (푹~퍽 )..조용하죠..마저 2진수를 10진수로
변환하는 방법을 설명해 주세요
슈마: 2진수를 10진수로 변환하는 방법은 아래처럼 각 비트별 할당된 10진수
값을 적은 다음 “각 비트별 수 X 10진수 값”을 모두 더하는 거야
슈마 : 그럼 미돌양이 2진수인 "00001110" 을 10진수로 변화 해볼수 있을까
미돌양: 이진수 표현중에 "1"로 표시된것에 각 비트에 할당된 10진수 값을
곱하고 나서. 십진수값을 더했더니 "14"가 나오네요..^ㅇ^
0 0 0 0 1 1 1 0 ----> 2진수 표현
| | +------ 1 X 2^1 = 2
| +-------- 1 X 2^2 = 4
+---------- 1 X 2^3 = 8
----
14 ----> 10진수로 변환
슈마: 잘했다. 그 많은 IP주소 관리를 어디서 할지 궁금할거야. NIC (Network
information Center)에서 전세계 IP관리 및 할당에 관한 일을 하고 있지.
NIC 하부조직에 아시아 태평양 지역의 IP 할당은 "APNIC"에서, 북아메리카
및 기타지역은 "ARIN"에서 담당하고 있으며, 한국은 KRNIC에서 관리를 하고
있지
허접군: 음. IP 신청을 할려면 KRNIC에 해야 하는군요
슈마: 아니지. 개인은 한국통신,데이콤,하나로통신등의 ISP (Internet Service
Provider) 에게 인터넷 회선을 임대하면서 IP를 신청하면, ISP는 KRNIC에서
사전에 할당 받은 IP를 재 분배해서 주는거야
허접군: 곰곰 생각해보니..IP가 부족하니..지금이라도 미리 추가로 신청하면
안되나요
슈마: IP가 부족하니보니 실제 사용하고 있는 IP를 보고 여유가 없으면 추가
로 할당해 주게되지. IP에 대해서는 이해가 되었겠지 ? IP와 밀접한 관련이
있는 서브넷을 알아보자. 미돌양 서브넷이 뭐지?
미돌양: 서브넷은 32비트 클래스 체계에서 네트워크 부분과 호스트 부분을
나누기 위한 방법으로 알고 있어요.
허접군: 아이구 머리야~ 클래스는 뭐고, 네트워크를 배우는데 호스트란 말이
나오고 참내
미돌양: 이그..IP를 배우는데 그정도는 알아야지. IP주소의 32비트 체계를
네트워크와 호스트 두 부분으로 나누지. 네트워크 어드레스를 나타내는
네트워크와 서버나 PC등의 호스트에 어드레스를 부여하는 호스트로 부분이야
네트워크 어드레스는 동일 네트워크를 대표하는 어드레스가 되므로 같은
세그먼트에 있는 모든 호스트에 대해서는 어드레스가 동일하게 설정되어야
하지. 반면 호스트 어드레스는 개별로 호스트의 고유 어드레스를 나타내므로
반드시 각각의 호스트마다 고유한 어드레스를 할당하야야 해.
슈마: 덧붙이자면 전화번호와 비슷한 개념으로 성수동 전화번호가 499-3389
이면 앞의 499는 성수동 지역을 뜻는 지역번호이고 3389는 성수동내의
고유 번호가 되지. 동일지역에 전화를 걸게 되며 지역 전화국 교환기에서
앞부분의 499번호를 보고 동일지역으로 판단을 하며, 앞번호가 다른번호이면
다른지역으로 판단을 하여 다른 전화국에 연결하는 구조화된 시스템으로 되어
있듯이 지역번호가 네트워크부분이고 고유번호가 호스트부분이 되는 네트워크
의 주소 체계로 구성되어 있지
허접군: 치~ 잘난척 하기는.. 그럼 클래스는 뭐야 ?
미돌양: IP체계는 A,B,C의 세가지 클래스로 구분돼 있지. 물론 D,E도 있지만
특수목적이나 과학목적으로 사용돼지. IP 클래스는 네트워크와 호스트의 규모
에 따라 정해지게 되는데 요새는 규모가 큰 기업도 C 클래스가 할당되고 있지
허접군: 규모에 따라 클래스를 할당한다고 했는데 기준이 있을 것 아닌가요
슈마: 미돌양이 잘 설명 해주었다. 1개층에 호스트가 300대 규모라면
C 클래스 2개가 필요하겠지. C 클래스는 254개의 호스트를 사용할수 있느니
두개가 필요할것이고, 다국적 회사처럼 건물수도 수백개이고 층당 호스트수도
수백대 규모라면 A 클래스나 B 클래스가 필요하겠지.
슈마: 32비트 IPv4 체계에서는 IP주소를 특정 기준에 따라 A,B,C 클래스
(class)로 구성하고 있지. 서브넷은 32비트 class 체계에서 network 부분과
host부분을 나누기 위한 방법인데..네트워크 2개 와 호스트 50개를 사용하는
규모에서 IP가 여유가 있다면 2개의 c 클래스인 204.100.100.0 와
204.100.101.0 를 할당해주겠지요.
한 개의 C 클래스에서 호스트는 0~255까지 256개의 호스트를 사용할수
있지만 0와 255는 다른 용도로 예약되어 실제 사용할 수 있는 호스트는 1~254
까지인 254개가 되지
네트워크 서브넷마스크 호스트수 사용 가능한 호스트 개수
------------- ----------- ---------------- -------------------
204.100.100.1 255.255.255.0 204.100.100.1~254 254개
204.100.101.1 255.255.255.0 204.100.101.1~254 254개
< C 클래스로 사용가능한 호스트수>
그러나 IP가 부족하다보니 1개의 c 클래스인 204.100.100.1 를 가지고 2개의
네트워크와 50개의 호스트주소를 위해 서브넷 마스크를 255.255.255.192로
하게 되면 네트워크는 4개, 호스트를 64개가 나오고, 0와 255는 호스트주소로
사용할 수 없으므로 2개를 제외시키면 실제적으로 네트워크는 2개, 호스트는
62개를 사용할 수 있겠지
슈마: 서브넷은 큰 네트워크를 여러 개의 작은 네트워크로 분할하는 것을
말하며 서브네트워크라고도 불린다
허접군: 왜 네트워크를 분할하는 귀찮은 과정을 거치죠
슈마: C 클래스 1개는 네트워크 1개, 호스트 254개를 사용할수 있다고 하였지.
그런데 IP가 부족하다보니 서브넷마스크를 하여 네트워크수를 늘리고
호스트수를 증가해서 낭비가 없이 사용해야 하거든.
예를들면 C 클래스인 204.100.100.1 에 대해 255.255.255.192 서브넷은 간단
하게 "204.100.100.1 /26" 표시할수 있지
미돌양: /26의 뜻은 뭔가요
슈마: 십진수인 255.255.255.192를 이진수로 표시하면
"11111111.11111111.11111111.11000000"
이 되고, 각 옥텟에 있는 "1"의 비트수를 모두 더하면 8+8+8+2 = 26개가 되지.
그래서 /26이라 표시한단다
미돌양: 203.100.100.0 처럼 마지막이 "0" 인 경우가 있던데,어떤 의미 인가요
슈마: 203.100.100 네트워크을 의미하지, ISP업체에서 C 클래스 1개인
203.100.200.0을 할당 받았다고 하면.."203.100.200.0 네트워크 1개을 할당
받았다" 라는 의미이고, 203.100.100.255 처럼 마지막이 "255" 이면
"203.100.100 네트워크의 모든 호스트”를 의미하지,
바꾸어 말하면 브로드캐스트 도메인이 되는거야.
203.100.100.255 IP주소에 브로드캐스트 전달하면
203.100.100.1~203.100.100.254 IP주소를 가지고 있는 모든 호스트에 신호를
보낼수 있게 되지
미돌양: 큰 네트워크를 작은 네트워크로 나누는 서브넷을 하기위해서 필요한
것이 서브넷 마스크 군요
슈마: 그렇지. 이정도로 정리가 되었으면 문제를 풀어볼까. 203.100.100.1 ,
203.100.101.1 , 203.100.100.3의 3개의 IP가 있다면, 255.255.255.0로 서브넷
마스크를 한다면 다른 네트워크 일까?
미돌양: 흠. 어렵다
슈마: 203.100.100.1 과 203.100.100.3은 같은 네트워크에 속하지,
203.100.101.1은 별도의 네트워크로 둘간에는 서로 다른 네트워크 이지..
아래처럼 콤마(.)에 맞추어 배열을 한다음 "255"가 있는 부분은 네트워크 부분
이고 "0"가 있는 부분은 호스트 부분으로 생각하면 쉽게 이해될거야
203.100.100.1 203.100.101.1 203.100.100.3
255.255.255.0 255.255.255.0 255.255.255.0
--------------- --------------- ----------------
네트워크 203.100.100 203.100.101 203.100.100
호스트 1 1 3
슈마: 다음문제는 IP가 203.100.1.2 일때 기본 서브넷은 무엇일까 ?
미돌양: 첫 옥텟의 십진수가 192 부터 223 까지이면 C 클래스라고 했으니,
문제의 IP는 C 클래스 이며 기본 서브넷은 255.255.255.0 혹은 203.100.1.2 /24
입니다..
허접군: 어떻게 255.255.255.0 와 203.100.1.2 /24가 같은 뜻이죠 ?
슈마: /24는 다른 표현으로 255.255.255.0 이며, 이진수로 변환하면
11111111.11111111.11111111.00000000 이 되겠지. 앞의 "1"을 모두 더하면 24개
가 되니까../24라고 표현을 하지
허접군: 사나이의 갑빠가 있지..나도 IP에 대해 공부 열심히 할거니까..
미돌누나만 이뻐하지마.. 씩씩~~
슈마: 그럼 몇 개의 문제를 풀어봐라. IP 어드레스가 203.100.54.19 이고
서브넷 마스크가 255.255.255.240 일때 이 네트워크의 호스트 범위와
브로드캐스트 주소는 어떻게 될까?
허접군 : (한참 머리 굴려 계산을 한후) 호스트 범위는 17~30 일 경우
브로드캐스트는 31 입니다
슈마 : 그럼 한번 확인해 볼까..허접군이 계산한 것이 맞는지..십진수 240을
이진수로 바꿀려면 아래와 같이 계산을 한후 나머지를 아래 자리에서 윗자리
순으로 차례로 배열하는 방식으로 하면
11111111.11111111.11111111.11110000 이 나오겠지
미돌양: 그 다음은 마지막 옥텟인 11110000를 가지고 네트워크와 호스트수를
나누면 되겠군요.
즉 203.100.54.0001 네트워크에는 0000~1111 의 16개의 호스트가 올수 있으며
203.100.54.0010 네트워크에도 0000~1111 의 16개의 호스트가 올수 있으니..
결론적으로 14개의 서브넷이 가능하고 각 서브넷 마다 14개의 호스트 사용이
가능해죠
허접군: 네트워크 마다 16개의 호스트가 올수있는데 사용가능한 것은 14개
뿐이라니 2개는 어디간거야 ?
슈마: 보충 설명하자면, 서브넷수나 호스트수 계산식은 2^4승으로 16개가 사용
가능하나. 예약된 0000,1111 두개를 제외하면 14개만 실제 사용가능 한거야.
그래서 호스트수나 서브넷수를 계산할때는 항상 "2^비트수-2"로 계산을 하지.
미돌양이 잘 설명해 주었다
네트워크 주소 host주소
------------------- ---------
203.100.54.1111 0000 ---------------------> 제외 (예약되어 있음)
0001 0001 -- 10진수로 바꾸면 1
0010 0010 -- // 2
0011 0011 -- // 3
0100 0100
0101 .... ....
1110 -- // 10진수로 바꾸면 14
1111 -----------> 제외 (예약되어 있음)
네트워크 주소 host개수 호스트 범위 브로드캐스트
----------------------------- ------------ ---------- -----------
203.100.54.00010000 203.100.54.16 + 1~14 17~30 31
203.100.54.00100000 203.100.54.32+ 1~14 33~46 47
........
203.100.54.11100000 203.100.54.224 1~14 225~238 239
슈마 : 또 다음 문제 내볼까. 203.100.100.0 /24 에서 각 서브넷 마다 5개의
호스트가 연결되어야 한다면 어떤 서브넷 마스크로 해야 할까
허접군 : 음~ 이번 문제는 어렵네요..해설해 주세요..
슈마: 203.100.100.0 /24는 서브넷이 255.255.255.0로 한다는 말이고..
네트워크는 203.100.100.0 네트워크 1개이고 , 호스트는 203.100.100.1~254
까지 호스트가 254개가 가능하다는 말이지.
이때 각 서브넷 마다 호스트가 5개가 되려면..서브넷마스크를 변경하여
호스트와 네트워크를 분리할 때 네트워크 범위를 크게하고 호스트범위를
줄여야 해. 그럼 11111111 8개 비트에서 첫번째 부터 다섯번째를 네트워크
영역으로 하고 아래 3비트 (6비트~8비트)를 호스트 영역으로 한다면
사용가능 호스트수는 6개이지 (2^3-2 = 6개 )
1 1 1 1 1 1 1 1
--------------- --------
네트워크 범위 호스트범위
그럼 서브넷마스크는 기존 24개에다가 마지막 옥텟 8비트중에 5개를 네트워크
로 지정하므로 1로 된 비트를 모두 더하면 29개가 되어 203.100.100.0 / 29 로
표현하거나 십진수로 변화을 하면 255.255.255.248 이 되는 거야
11111111.11111111.11111111.11111000
-------- -------- -------- ---------
255 255 255 248
허접군: 도대체..머리만 빙빙 돌고...서브넷으로 네트워크와 호스트를
분리한다는 말은 알겠는데..분리해서 어디에 쓸려고 하는지..
정확한 이해가 안되네요
슈마 : 분명히 IP Network은 3가지 크기로 나누어지는 Class 개념이었는데
이제 보니까 /26,/28 등의 복잡한 서브넷 방식이 사용되었지? 원래 TCP/IP 망
이 미국에서 전쟁중 한곳에 장애가 발생하도 다른곳으로 우회하여 통신할 수
있도록 만들어진 망이라 오늘날처럼 인터넷을 통해 전세계의 모든 PC들이
연결되리라고는 생각하지 못했던거지. 그래서 초기에는 IP 수를 생각하지
않고 신청하는대로 A Class나 B Class를 통째로 할당해주곤 했지.
하지만 인터넷이 발달하고 점점 IP가 모자라게 되자 가장 작은 크기인
C Class 조차도 모자라게 되었고 그 해결책을 생각하게 되었지. 물론 근본적
인 해결책은 32bit 체계인 현재의 IPv4를 128bit 체계인 IPv6로 전환하는
것이지만 이것은 시간이 많이 걸리는 일이겠지?
허접군 : 미국도 첨에는 먼저 신청한 사람이 장땡이었군여. 이럴줄 알았으면
먼저 A Class 몇 개를 확보해 놓고 지금 파는건데..
슈마 : 정말 생각하는 거라곤….
미돌양 : 허접이 말은 신경쓰지 마시고 계속 이야기 해 주세요.
슈마 : 흠흠.. 그래서 IPv4의 낭비를 조금이라도 막아보기 위해 나온게
Subnetting과 Supernetting이야. 서브네팅은 말그대로 네트워크를 작게 쪼개
는 것이고, 수퍼네팅은 작은 네트워크 여러 개를 하나로 합친다는 것이지.
허접군 : 머리 복잡하게 왜 나누고, 합치고 그러죠? 첨부터 잘 하지...원.
슈마 : 그러게나 말이다. 예를들어 허접이가 사무실을 차릴려고 하는데 PC가
300개정도 되고 이것을 하나의 네트워크로 만들려면 어떻게 해야할까?
미돌양 : 음.. C Class는 254개의 호스트만 가능하니까 B Class를 할당받아야겠네요.
슈마 : 그래. 그 방법밖에 없지. 하지만 B Class는 65534개의 호스트를 쓸 수
있는데 300개만 쓰고 나머지는 안쓴다면 너무 낭비겠지?
허접군 : 나중에 다 쓸모가 있을 테니 미리 맡아 두는 거죠 모. ㅋㅋ
슈마 : 너 같은 생각을 하니 부동산 투기가 문제가 되는거란다. 이궁...
또 PC가 60개 정도만 필요하다고 하면 어떨까? C class 하나를 받더라도
280여개는 안쓰고 낭비되는 것이지?
미돌양 : 정말 그렇군요. 필요한 수에 맞게 Network 크기도 조절할 수 있으면
좋을텐데 말이예요.
슈마 : 그래서 나온 것이 서브네팅과 슈퍼네팅이란다. IP를 Class별로
구분하는게 아니라 Network Mask로 그 크기를 지정하는 것이지.
이렇게 Class에 상관없이 설정한다고 해서 Classless 방식이라고 하지.
예를들어 164.124.0.0이라는 B Class를 하나 받아서 서울 사무실 네트워크로
쓰고 있는데 부산에 지점을 낸다고 하면 전화국이나 ISP에 신청해서 또다른
Network을 할당받아야 할거다. 하지만 서브네팅을 사용한다면 164.124.1.0은
서울 사무실로, 164.124.2.0은 라우터 전용선 구간으로, 164.124.3.0은
부산 사무실에 할당해서 쓸 수 있는것이지.
허접군 : 그런식으로 나누어 줄 수 있다면 낭비가 많이 줄어들겠군요.
하지만 전용선 구간에 164.124.2.0을 다 쓰는 것도 낭비로 보이는데요?
더 줄일 수는 없나요?
슈마 : 하하.. 허접이도 이제 제법이구나. 원래 서브네팅은 동일한 크기로
나누는 것이 원칙이다. 하지만 허접이의 지적대로 용도에 따라서 작게 혹은
크게도 나누어줄 필요가 생겼지. 그래서 등장한 개념이 VLSM(Variable Length Subnet Mask)이란다.
예를들어 192.168.4.0/24의 네트웍을 서울 20대, 부산 10대인 사무실로
나누어서 사용하려고 하면 서브네팅을 해야겠지? 첫번째 네트웍과 마지막
네트웍은 사용할 수 없으니까 전용선 구간까지 해서 3개의 네트웍이
필요하다면 각각 27비트로 나누어 주어야 하지. 그렇게 되면 192.168.4.32/27,
192.168.4.64/27, 192.168.4.96/27... 192.168.4.224/27의 6개의 네트웍이
나오고 그중에 3개를 쓰면 된단다.
이것도 처음에 비해서는 낭비가 많이 줄었지만 나머지 3개의 네트웍이
쪼개지게 되니까 30개 이상의 IP가 필요할때는 더 복잡해 지겠지?
그래서 한번에 여러크기로 나누어주는 VLSM을 사용하는 거란다.
그럼 이렇게 바꿀 수 있지.
192.168.4.0 – 사용안함
192.168.4.4/30 – IP 2개 가능 ;전용선 구간
…
192.168.4.16/28 – IP 14개 가능 ; 부산 사무실
192.168.4.32/27 – IP 30개 가능 : 서울 사무실
...
192.168.4.64/26 – IP 62개 : 비워둠
...
허접군 : 왜 첫 네트웍은 사용할 수가 없죠?
그것도 사용하면 좋을텐데 말이예요.
슈마 : 우리가 배운 Classless라는 개념이 처음부터 나온게 아니기 때문에
RIP이나 IGRP같은 라우팅프로토콜에선 이러한 방식을 사용하지 못하지.
위의 라우팅 프로토콜이 Classful 방식이란건 한번쯤 들어봤지?
예를들어 192.168.4.0 이라는 네트웍이 C class 그대로라면 192.168.4.0은
네트웍의 주소가 될것이고 192.168.4.255가 브로드캐스트 주소가 되겠지.
이 네트웍을 26비트로 나누고 이것을 원래의 네트웍과 비교해보자.
미돌양 : 192.168.4.0/26의 Network 주소, 192.168.4.192/26의 Broadcast
주소가 원래의 주소와 동일하네요.
슈마 : 바로 그렇단다. 이렇게 되다보면 RIP 같은 Routing Protocol의
업데이트라던가, 네트웍 엔지니어가 설계를 하게 될 때 자칫 실수를 하게되면
큰 장애가 발생할 수 있지. 그래서 RFC-1122에서는 zero subnet 이라고 하여
맨 첫 네트워크와 맨 마지막 네트워크는 사용하지 않도록 권장하고 있었단다.
허접군 : 제가 가본 PC 방에서 설정된 것을 잠깐 보니까 첫 네트워크도 쓰던
거 같던데요?
슈마 : 사실 위의 제약은 RIP같은 프로토콜을 안쓰고 엔지니어가 조금만
주의하면 되니까 Cisco 같은 회사에서는 ip subnet-zero라는 명령을 두어서
zero subnet 네트워크도 사용할 수 있게 했단다.
그뒤로 CIDR, VLSM같은 개념이 나오고 OSPF 같은 프로토콜이 등장하면서
RFC-1812를 통해 이러한 제약을 무효화 시켰단다.
허접군 : 우와. 슈마형은 정말 아는것도 많으셔라...
슈마: 그럼 가상시나리오를 가지고 실제로 라우터에 ip를 구현해 보자
- 회사에서 서울본사와 대구지점,부산지점에 네트워크를 설치하기로 하였고
- 서울은 3개층(1층~3층)을 사용하며 한층당 10개의 PC를 사용하고,
1층에는 메일서버, 파일서버, 웹서버를 설치하기로 하였고
- 대구지점과 부산지점에도 PC 10대를 사용중이며.. 장비는 라우터와
스위치 허브를 이용하기로 하였고
- ISP(인터넷서비스제공업체)에 연락하여 인터넷회선 256Kbps을 사용하기로
하였고
- 공인IP인 C class 1개 (요새는 24비트를 받았다고 함)인 203.100.100.1 /24
를 할당 받았음
<IP주소를 할당해 봅시다>
1) 네트워크와 host수가 몇개가 되는지 확인해야 합니다..
각층의 PC 및 지방지점의 PC들은 IP주소를 등록해야 인터넷이나 메일서버,
파일서버, 웹서버를 이용할 수 있으니..3층에 10개, 2층에 10개, 1층에 10개,
부산랩실에 10개, 대구랩실에 10개, 서버용 3개의 IP가 필요하군요
스위치허브에는 IP를 등록해도 되고 안해도 되는데..여기서는 안하기로
하겠습니다. 왜냐하면 NMS(네트워크 모니터링 시스템)을 이용하여 트래픽
분석, 실시간 장애을 보면 좋겠지만.. NMS장비가 없으니 IP등록은 안하기로 하죠..
라우터의 이더넷인터페이스(e0)에는 IP를 등록해야 합니다..또한 라우터의
시리얼 인터페이스인 s0,s1,s2 3개에도 IP를 등록해야 하지요..유의하실
사항은 라우터의 이더넷 인터페이스와 각각 시리얼 인터페이스는 서로 다른
네트워크로 구성해야 한다는 사실입니다..즉 E0,S0,S1,S2 은 4개의 네트워크
로 구성을 해야 하지요..
네트워크수 호스트수
---------- ----------
3층 PC 1 10
2층 PC 1 10
1층 PC 1 10
1층 서버 1 3
라우터 (e0) 1 2
라우터 (s0) 1 2
라우터 (s1) 1 2
라우터 (s2) 1 2
부산랩실 1 10
대구랩실 1 10
---------- ------- ----------
계 10 61
2) 203.100.100.1 /24 로는 네트워크는 1개가 되고 호스트는 254개가 되므로
할수 없이.. 서브넷마스크를 변경하여 네트워크수 증가시키고 호스트수를
줄여야 하지요..
공인 IP : 203.100.100.1 /24 203.100.100.1 /28
서브넷 : 255.255.255.0 255.255.255.240
사용가능 네트워크수: 1 14
사용가능 호스트수 : 254 14
3) 각 IP를 장비에 할당을 하도록 하죠
사용처 네트워크 호스트주소 서브넷마스크 Default Gateway
---------- ---------------- ---------- ------------------ --------------------
3층PC(10대) 203.100.100.16 17~30 255.255.255.240 203.100.100.17
2층PC(10대) 203.100.100.32 33~46 // 203.100.100.33
1층PC(10대) 203.100.100.48 49~62 // 203.100.100.49
1층서버(3대) 203.100.100.64 65~78 // 203.100.100.65
부산지점(10대) 203.100.100.80 81~94 // 203.100.100.81
대구지점(10대) 203.100.100.96 97~110 // 203.100.100.97
라우터 e0(1개) 203.100.100.112 113~126 //
라우터 s0(2개) 203.100.100.128 129~142 //
라우터 s1(2개) 203.100.100.144 145~158 //
라우터 s2(2개) 203.100.100.160 161~174 //
여유분 203.100.100.176
여유분 203.100.100.192
여유분 203.100.100.208
여유분 203.100.100.224
이상과 같이 종합을 하면 IP, 서브넷마스크을 그린다면 아래와 같겠죠 ..^^
1~3층 각층PC,서버 부산랩실 대구랩실
---------------- ---------------- ---------------- ----------------
Default Gateway : 203.100.100.113 203.100.100.81 203.100.100.97
Subnet Mask : 255.255.255.240 255.255.255.240 255.255.255.240
슈마 : 물론 위의 IP할당에 대해 몇 가지 유의할 사항이 있는데..
첫째는 3계층 스위치에서 각 Subnet별로 IP를 하나씩 가지게 하여 Routing을
시킬 수도 있으나 여기서는 3계층 스위치를 스위칭허브 기능으로만 사용하였
고..
둘째는 ISP업체에서 회선개통 할 때에 서울본사의 라우터 시리얼과 ISP의
시리얼쪽의 IP 주소는 ISP업체에서 제공을 하므로..구지 서울본사에서 가지고
있는 IP주소를 사용 안해도 되지요..
셋째는 지방지점과의 시리얼인터페이스의 IP는 두개만 있으면 되므로..서브넷
을 255.255.255.240으로 하면 14개의 호스트주소를 사용 가능하게되며
그 중에서 2개만 사용하면 12개가 남으므로 낭비가 되지요..라우터의 시리얼
인터페이스 구간에는 30bit 서브넷마스크를 하여 호스트수를 2개만 사용할 수
도 있습니다

Comments List