요약
TCP/IP를 올바르게 구성하려면 TCP/IP 네트워크의 주소를 지정하는 방법과 네트워크와 서브네트
TIP >
IP 주소: 네트워크 및 주소
IP 주소는 보통 네 개의 숫자가 점으로 분리된 십진수 형식으로 표현됩니다(예: 192.168.123.132).
예를 들어, 점으로 구분된 십진수 IP 주소 192.168.123.132는 이진 표기법으로 32비트 숫자 11000000
이러한 8비트 섹션을 옥텟(octet)이라고 합니다. 그러면 예제 IP 주소는 11000000.10101000.0111101
TCP/IP WAN(Wide Area Network)이 네트워크의 집합으로서 효율적으로 작동하도록 하기 위해서
이러한 프로세스가 작동하기 위해 IP 주소는 두 부분으로 이루어집니다. IP 주소의 첫째 부분은 네
192.168.123. 네트워크 .132 호스트
192.168.123.0 - 네트워크 주소. 0.0.0.132 - 호스트 주소.
서브넷 마스크
TCP/IP에서는 네트워크 주소와 호스트 주소로 사용되는 IP 주소의 부분이 고정되어 있지 않아 또
11111111.11111111.11111111.0000000
11000000.10101000.01111011.10000100 -- IP 주소(192.168.123.132)
11111111.11111111.11111111.00000000 -- 서브넷 마스크(255.255.255.0)
11000000.10101000.01111011.00000000 -- 네트워크 주소(192.168.123.0)
00000000.00000000.00000000.10000100 -- 호스트 주소(000.000.000.132)
거의 모든 십진 서브넷 마스크는 왼쪽은 모두 1이고 오른쪽은 모두 0인 이진 숫자로 변환됩니다.
십진 이진 255.255.255.192 1111111.11111111.1111111.11000000
255.255.255.224 1111111.11111111.1111111.11100000
네트워크 주소
• | 클래스 A 네트워크는 기본 서브넷 마스크 255.0.0.0을 사용하고 첫번째 옥텟으로 0-126 사이의 값을 갖습니다. 주소 10.52.36.11은 클래스 A 주소입니다. 이 주소의 첫번째 옥텟은 10으로, 1-126(포함) 사이에 있습니다. |
• | 클래스 B 네트워크는 기본 서브넷 마스크 255.255.0.0을 사용하고 첫번째 옥텟으로 128-191 사이의 값을 갖습니다. 주소 172.16.52.63이 클래스 B 주소입니다. 이 주소의 첫번째 옥텟은 172로, 128-191(포함) 사이에 있습니다. |
• | 클래스 C 네트워크는 기본 서브넷 마스크 255.255.255.0을 사용하고 첫번째 옥텟으로 192-223 사이의 값을 갖습니다. 주소 192.168.123.132가 클래스 C 주소입니다. 이 주소의 첫번째 옥텟은 192로, 192-223(포함) 사이에 있습니다. |
서브넷 구성
IP 주소 블록을 맡고 있는 시스템 관리자가 관리하는 네트워크가 이 주소에 잘 맞는 방식으로 구성
호스트 부분이 모두 1이거나 모두 0인 이진 주소는 유효하지 않기 때문에 이 예에서 192.168.123.0
이제 254대의 호스트에 IP 주소를 제공할 수 있을 것입니다. 이 경우 150대의 컴퓨터가 모두 하나의
이 경우에는 네트워크 주소는 늘리고 가능한 호스트 주소 범위는 줄이는 서브넷 마스크를 사용하여
서브넷 마스크 255.255.255.192를 사용하면 192.168.123.0 네트워크가 4개의 네트워크 192.168.12
192.168.123.1-62 192.168.123.65-126 192.168.123.129-190 192.168.123.193-254
두 호스트 주소, 192.168.123.71과 192.168.123.133을 보면 그 이유를 알 수 있습니다. 기본 클래스 C
기본 게이트웨이
호스트가 TCP/IP를 사용하여 다른 장치와 통신할 때는 정의된 서브넷 마스크와 목적지 IP 주소 대
이 프로세스의 결과에 따라 목적지가 로컬 호스트인 것으로 판단되면 컴퓨터가 해당 로컬 서브넷에
문제 해결
서브넷 마스크가 올바르지 않은 경우: 네트워크가 자신의 주소 클래스에 대해 기본 마스크 외에 다
IP 주소가 올바르지 않은 경우: 로컬 네트워크에서 서로 다른 별개의 서브넷에 있어야 하는 IP 주소
기본 게이트웨이가 올바르지 않은 경우: 올바르지 않은 기본 게이트웨이를 사용하여 구성된 컴퓨터
참조
"TCP/IP Illustrated, Volume 1: The Protocols," Richard Stevens, Addison Wesley, 1994
"Internetworking with TCP/IP, Volume 1: Principles, Protocols, and Architecture," Douglas E.
TCP/IP 네트워크를 담당하는 시스템 관리자라면 이들 참고 서적 중 최소한 한 권을 갖고 있는 것이
용어
호스트 -- TCP/IP 네트워크에 있는 컴퓨터나 기타 장치
인터넷 -- 함께 연결되어 있고 공통 범위의 IP 주소를 공유하는 전세계적인 네트워크 집합
InterNIC -- 인터넷에서 IP 주소의 관리를 맡고 있는 조직.
IP -- TCP/IP 네트워크나 인터넷을 통해 네트워크 패킷을 보내는 데 사용되는 네트워크 프로토콜
IP 주소 -- TCP/IP 네트워크나 인터네트워크에 있는 호스트에 대한 고유한 32비트 주소.
네트워크 -- 본 문서에서는 네트워크라는 용어가 두 가지 의미로 사용됩니다. 하나는 하나의 실제
네트워크 주소 -- 호스트 부분이 모두 0으로 이루어진 IP 주소
옥텟 -- 4개가 모여 32비트 IP 주소를 구성하는 8비트 숫자. 십진수 0-255에 해당하는
패킷 -- TCP/IP 네트워크나 광대역 네트워크를 통해 전달되는 데이터 단위
RFC(Request for Comment) -- 인터넷에서 표준을 정의하는 데 사용되는 문서
라우터 -- 다른 IP 네트워크 간에 네트워크 트래픽을 전달하는 장치
서브넷 마스크 -- IP 주소의 네트워크 부분과 호스트 부분을 구분하는 데 사용되는 32비트 숫자
서브넷 또는 서브네트워크 -- 규모가 큰 네트워크를 같은 크기로 나누면 만들어지는 작은 규모의
TCP/IP -- 넓은 의미에서, 인터넷이나 대규모 네트워크에서 일반적으로 사용되는 프로토콜,
WAN(Wide area network) -- 라우터로 구분된 작은 규모의 네트워크를 모은 대규모 네트워크.
서브넷팅
서브넷팅된 특정 IP 주소가 속한 네트워크와 브로드캐스트 주소를 쉽게 계산하기 위한 방법은 다음과 같다.
예를 들어 IP 주소 192.168.1.50/27이 속한 네트워크 주소와 브로드캐스트 주소를 알아 보자.
1. 디폴트 서브넷 마스크에 몇 비트가 더 추가되었는 지를 계산한다.
192.168.1.50/27인 경우 클래스 C 주소이므로 디폴트 서브넷 길이는 24비트이고, 서브넷 마스크가 /27이므로 27 - 24 = 3비트가 추가되었다.
서브넷 마스크가 255.255.255.224처럼 10진수로 표시된 것은 비트수로 다시 변환해야 하는데 다음 표를 이용하면 된다.
서브넷 마스크 비트수
|
0진 표기 |
1 |
128 |
2 |
192 |
3
|
224 |
4 |
240 |
5 |
248 |
6 |
252 |
7 |
254 |
8 |
255 |
2. 다음 공식에 의해 분할된 네트워크의 개수를 계산한다.
네트워크 개수 = 2ⁿ (n: 추가된 비트수)
192.168.1.50/27인 경우 3비트가 추가되었으므로 2³ = 8, 즉, 하나의 네트워크인 192.168.1.0/24가 8개의 서브넷으로 나누어졌다.
3. 다음 공식에 의해 각 서브넷에 들어갈 수 있는 호스트 개수 (네트워크와 브로드캐스트 주소
포함)를 계산한다.
호스트 개수 = 256/서브넷 개수
192.168.1.50/27인 경우 256/8 = 32, 즉 하나의 서브넷에 포함되는 호스트는 32개이다.
4. 서브넷 부분에 0부터 호스트 개수를 더해 나가면 모든 서브넷과 브로드캐스트 주소를 구할
수 있다. 즉, 192.168.1.0/24 네트워크를 27비트로 서브넷팅하면 다음처럼 한 네트워크에 포함
되는 호스트 수가 32인 서로 다른 8개의 네트워크가 만들어진다.
192.168.1.0 (네트워크 주소) - 192.168.1.31 (브로드캐스트 주소)
192.168.1.32 (네트워크 주소) - 192.168.1.63 (브로드캐스트 주소)
192.168.1.64 (네트워크 주소) - 192.168.1.95 (브로드캐스트 주소)
192.168.1.96 (네트워크 주소) - 192.168.1.127 (브로드캐스트 주소)
192.168.1.128 (네트워크 주소) - 192.168.1.159 (브로드캐스트 주소)
192.168.1.160 (네트워크 주소) - 192.168.1.191 (브로드캐스트 주소)
192.168.1.192 (네트워크 주소) - 192.168.1.223 (브로드캐스트 주소)
192.168.1.224 (네트워크 주소) - 192.168.1.255 (브로드캐스트 주소)
따라서 192.168.1.50/27이 속한 네트워크 주소는 192.168.1.32/27이고, 브로드캐스트 주소는
192.168.1.63/27이다.
IP 주소 192.168.1.64/24는 라우터의 특정 인터페이스나 PC 등에 부여할 수 있는 호스트 주소
이다.
RouterA(config)#int s0
RouterA(config-if)#ip address 192.168.1.64 255.255.255.0
RouterA(config-if)#
그러나 27비트로 서브넷팅된 IP 주소 192.168.1.64/27은 네트워크 주소이므로 특정 인터페이스
에 부여할 수 없다. 네트워크 주소를 인터페이스에 부여하면 다음처럼 ‘Bad mask...’ 에러 메
시지가 표시된다.
RouterA(config)#int s0
RouterA(config-if)#ip address 192.168.1.64 255.255.255.224
Bad mask /27 for address 192.168.1.64
RouterA(config-if)#
마찬가지로 IP 주소 192.168.1.63/24는 라우터의 특정 인터페이스나 PC 등에 부여할 수 있는
호스트 주소이다.
그러나 27비트로 서브넷팅된 IP 주소 192.168.1.63/27은 브로드캐스트 주소이므로 특정 인터
페이스에 부여할 수 없다. 브로드캐스트용 IP 주소를 인터페이스에 부여하면 다음처럼 ‘Bad
mask...’ 에러 메시지가 표시된다.
RouterA(config)#int s0
RouterA(config-if)#ip address 192.168.1.63 255.255.255.224
Bad mask /27 for address 192.168.1.63
RouterA(config-if)#
같은 이유로 31비트 마스킹은 사용할 수 없다. 즉, IP 주소를 31비트로 서브넷팅하면 하나의
서브넷당 IP 주소가 2개씩인데, 이중 하나는 네트워크 주소이고, 나머지는 브로드캐스트 주소
이므로 사용할 수 있는 호스트 주소가 없다. 서브넷 마스크 길이가 32비트인 주소를 호스트 루
트(host route)라고 하며, 특정 호스트로 가는 경로를 알릴 때 사용한다
================================================================================
* subnet mask의 역할
1) IP주소에서 Network ID와 Host ID를 구분
Class A - 255. 0. 0. 0
Class B - 255.255. 0. 0
Class C - 255.255.255. 0
----> 옥텟 단위로 나누어지기 때문에 이 형태로 고정된다.
2) 목적지 Host의 IP주소가 동일 네트워크상에 있는지 확인
- 자신의IP 주소와 목적지의 IP주소를 서브넷 마스크와 각각 AND bit 연산을 통해서 얻은 결과가 동일하면 Local Network상에 목적지 Host가 존재하는 것이고, 틀리다면 원격 네트워크상에 존재하는 것이다.
Local Network상에 존재한다면 ARP Broadcasting을 통해서 목적지 호스트의 하드웨어 주소(MAC Address)를 알아낸 후 데이터를 전달할 것이고, 원격에 존재한다면 기본 게이트웨이(Router)로 보낼 것이다.
용어
Broadcast
1) Directed Broadcast - 프로토콜의 주소 영역에서 Host ID에 해당하는 영역의 비트를 모두 1로 채워서특정 네트워크에 대한 브로트캐스트를 수행한다. 라우터가 지원하는 경유 원격 네트워크로 전달이 된다.
2) Limited Broadcast - 모든 주소 영역 비트를 1로 채워서 브로드캐스트 한다. 라우터가 지원하는 경우 원격 네트워크로 전달이 되지 않고 브로드캐스트 메시지를 발한 호스트와 같은 네트워크상에 존재하는 호스트들만 수신한다.
<AND bit 연산> - 둘 다 참일 경우에만 참
1 AND 1 : 1
1 AND 0 : 0
0 AND 1 : 0
0 AND 0 : 0
**자! 그럼 연습해 보도록 합시다**
위의 그림에서 네트워크 1과 2의 서브넷 마스크는 어떻게 될까요?
1은 Class C에 해당하므로 255.255.255.0이고,
2는 Class A에 속하므로 255.0.0.0이 된다는 것을 알 수 있습니다.
- 네트워크 1의 서브넷마스크와 컴퓨터 A의 IP주소와 컴퓨터 B의 IP주소와의
And 연산의 결과는 다음과 같습니다.
A : IP주소 11001011 11100000 00011101 00000101
서브넷마스크 11111111 11111111 11111111 00000000
11001011 11100000 00011101 00000000
B : IP주소 11001011 11100000 00011101 00001000
서브넷마스크 11111111 11111111 11111111 00000000
11001011 11100000 00011101 00000000
--> A와 B의 AND연산결과가 같다는 것을 볼 수 있는데 이는 동일 네트워크상에 존재한다는 것을 의미합니다. A컴퓨터는 ARP브로드캐스팅을 해서 B컴퓨터의 하드웨어 주소를 알아내서 목적지 호스트 B를 찾아가게 됩니다.
- 서브넷마스크와 C컴퓨터의 IP주소와의 AND연산을 해 보면…
C : IP 주소 01011001 00000000 00000000 00000111
서브넷마스크 11111111 00000000 00000000 00000000
01011001 00000000 00000000 00000000
--> A와 C의 And 연산 결과가 다르므로 이는 다른 네트워크상, 즉 목적지 호스트가 원격 호스트에 존재한다는 것을 의미합니다. 이때 네트워크 A에서는 사용자 컴퓨터 A가 아무리 불러도(브로드캐스팅을 해도) 반응이 오지 않습니다. 그러면 A는 패킷을 라우터에게 넘겨 목적지 호스트의 주소를 찾 아오게 합니다.
====================================================================================
서브넷은 LAN환경을 더욱 세분화 시키기 위해서 쓰는 건데요,
예를 들어서 설명하는게 이해가 더 빠르실 겁니다.
서브넷 마스크는 대부분 255.255.255.xxx 의 형태로 쓰여지는데요,
2진수로 바꾸면
11111111 . 11111111 . 11111111 . xxxxxxxx 정도 됩니다.
마스크 값의 1은 봐라! 라는 소리고 0은 볼필요 없다 라는 소린데요,
예를 들어서 설명하죠.
1) 서브넷 마스크가 255.255.255.0 이고, 자기의 ip가 210.100.150.100 일때
마스크의 앞의 3바이트가 모두 1이므로 210.100.150 모두 참조 합니다
마스크의 맨뒤 1바이트는 모두 0이므로 참조 할 필요 없습니다.
즉 앞의 3바이트 숫자만 같은면 모두 같은 네트웍으로 인식됩니다.
2) 서브넷 마스크가 255.255.255.192 이고 , 자기의 ip가 210.100.150.100 일때
앞의 경우와 비슷하나 마스크 맨 뒤의 바이트가 11000000 이네요
역시 1은 참조 해라. 0은 볼 필요 없다 이고요
자기 아이피 끝자리를 이진수로 보면 01100100 이네요
마스크가 11000000이므로
아이피의 맨마지막 바이트가 01xxxxxx로 시작하는 주소들은 모두 같은 네트웍 입니다.
이 주소들중 가장 작은 값은 01000000 이니까 64고요
가장 큰 값은 01111111 이니까 127 입니다.
즉 210.100.150.64 부터 210.100.150.127 까지가 같은 네트웍으로 인식됩니다.
=================================================================================
주소를 찾아 가는 방법
-IP ADDRESS(여러분들이 너무나도 잘 알고 있는 것이다.)
Internet Protocol의 주소로서 숫자로 이루어짐. 전 세계에 유일 무이한 주소이다.
-MAC ADDRESS
네트워크 카드의 주소로서 공장에서 네트워크 카드를 만들 때, 세상에서 유일무이한
주소를 할당한다. 따라서 본래의 의미로 컴퓨터가 가지는 유일 무이한 주소이며
컴퓨터는 이것으로 목적지를 찾아간다. 16진수로 된 진짜 주소이다.
네트워크 환경을 설정해 주면 할당된 IP주소와 해당 컴퓨터가 가지고 있는
네트워크 카드의 주소가 대응된다.
-->ARP와 RARP
예) 00:00:E8:61:76:07
-DOMAIN NAME
여러분들 요것을 모른다고는 말 못하겠죠. 숫자로 되어 있는 IP를 인간에게
친숙한 문자 주소 표기로 바꾼것을 말합니다.
예)dacker.wo.to
-HOST NAME
호스트는 별칭이다. 따라서 편하게 이름을 지여주면 된다. 도메인의 특정 서버를
표시하거나 특정 컴퓨터를 표시하는데 사용된다. dacker.wo.to라는 도메인에
ftp라는 호스트이름을 가진 컴퓨터를 ftp.dacker.wo.to라는
주소로 표시한다.
-NAME RESOLUTION
문자로 표시된 주소를 숫자로 표시된 IP로 해석하는 과정이다.
-IP RESOLUTION
숫자로 표시된 IP 주소를 16진수로 되어 있는 MAC주소로 변환하는 과정이다.
5)IP주소는 어떻게 이루어져 있는가??
IP주소는 크게 두 부분으로 나뉜다. 하나는 네트워크 주소를 나타내는 Network ID가
있고, 다른 하나는 호스트의 고유 주소를 나타내는 Host ID가 그것이다.
Network ID는 동일 네트워크를 대표하는 주소가 된다. 따라서 모든 동일
네트워크상에 존재하는 호스트에 대해서 동일하게 설정되어야 한다. 그리고
다른 네트워크상에 존재하는 호스트와는 구별되어야 한다. 반면 Host ID는
개별 호스트의 고유 주소를 나타내는 것이므로 반드시 각각의 호스트마다
고유한 ID가 할당되어야 한다. IP주소는 Network ID와 Host ID가 결합되어
이루어지므로결국 호스트에 할당된 개별 IP주소는 모두 고유한 주소를 가지게 된다.
IP주소는 32비트로 이루어져 있다. 그리고 이 32비트는 8비트씩 4부분으로
구분되는데 점(.)으로 표시한다.
8비트. 8비트. 8비트. 8비트(8*4=32비트)
예)192 . 168 . 11 . 0 <--10진수로 표시했을 때
11000000. 10101000. 00001011. 00000000 <--2진수로 표시했을 때
위와 같은 인터넷 주소는 중복되면 안되므로 이의 관리를 인터닉(InterNIC)이라는
곳에서 관리하는데 여기서는 네트워크 아이디까지만 할당한다. 네트워크 아이디를
할당 받은 어떤 네트워크가 있다고 하면 그 네트워크 안에는 또 여러 개의
서브 네트워크로 구성되어 있을 경우도 있을 것이다. 아니면 단지 몇개의 컴퓨터만이
연결되어 있을수 도 있다. 어느 경우이든 그 안의 호스트는 해당 네트워크 관리자가
번호를 할당하게 된다.
tip) 주소 할당시 주의 사항
-Network ID로 127을 사용할 수가 없다. 127번으로 사작하는, 그러니까
127.X.X.X 이런 형태의 주소는 모두 Loopback기능으로 예약되어 있다.
-모든 네트워크 아이디와 호스트 아이디의 비트가 1이어서는 안된다.
모든 비트가 1로 설정
되는 것은 브로드캐스팅으로 받아들여진다.
-모든 네트워크 아이디와 호스트 아이디의 비트가 0이어서는 안된다.
모든 비트가 0 이면
해당 주소는 이 네트워크의 전용이라는 의미로 해석된다.
-하나의 네트워크아이디에 대해서는 중복되는 호스트아이디가 존재할 수 없다.
(유일무이한 IP)
-IP클래스
인터넷에서는 많은 수의 네트워크가 존재한다. 거대 기업을 연결하는 대형
네트워크도 있겠고, 아니면 조그만 업체의 소규모 네트워크도 있을 것이다.
이들에 고유의 IP를 일일이 할당하는 것은 매우 불편한 일이다. 따라서 이들
네트워크의 규모에 따른 IP주소 할당 범위를 지정하게 되었는데 이것이 IP클래스이다.
type | 첫번째 진수 | Network ID | 서브넷마스크 | Host ID 개수 |
A클래스(대규모) | 1~126 | 0 | 255.0.0.0 | 약1670만개 |
B클래스(중소규모) | 128~191 | 1 0 | 255.255.0.0 | 약65000개 |
C클래스(소규모) | 192~223 | 1 1 0 | 255.255.255.0 | 254개 |
위의 표에서 A클래스에 127이 빠졌다. 그 이유는 127.0.0.1과 같은
루프백 주소를 위한 것이다.
서브넷 마스크: IP주소에서 네트워크 아이디와 호스트 아이디를 구분하고
목적지 호스트(데이터를 전송하고자 하는 대상)의
IP주소가 동일 네트워크상에 있는지를 확인하는 역할을 수행
-기본 서브넷 마스크: 위의 표에 나타난 서브넷 마스크의 형태
-사용자 서브넷 마스크: 기본적으로 할당된 클래스 주소에서 호스트 아이디로
사용 가능한 비트 가운데 일부를 사용해서 구성
지금쯤 이상한 숫자들과 문자들로 하여금 괴성을 지르며 머리를 쥐어 뜯고 있을
여러분들의 모습이 보인다. 좀 더 여러분들의 이해를 돕기 위해 예를 들어 보겠다.
(위의 표를 동시 참조)
예1)IP주소가 210.127.248.177이고 서브넷 마스크가 255.255.255.0 일 때
Network ID, Subnet ID, Host ID는??
자 보자!! IP주소의 첫번째 숫자가 210이다. 그러면 C클래스이다.
서브넷마스크는 255.255.255.0이다. 이것은 네트워크를 더 이상 나누지 않고
인터닉에서 부여 받은 네트워크아이디를 그대로 사용하고 있으며 여기에
호스트 아이디 177만을 준것이다. 따라서 서브넷아이디는 존재하지 않는다.
Network ID: 210.127.248
Subnet ID: 없음
Host ID: 177
예2)IP주소가 10.86.45.3이고 서브넷 마스크가 255.255.0.0 일 때
Network ID, Subnet ID, Host ID는??
자 보자!! IP주소의 첫번째 숫자가 10이다. 그러면 A클래스이다.
그런데 이상한 것은 서브넷마스크가 255.0.0.0이 아닌 255.255.0.0이다.
잘 생각해 보자. A클래스는 네트워크아이디 개수에 비해 호스트 아이디의 개수가
너무 많다. 따라서 기존의 네트워크 아이디를 더 세분해서 또 다른
서브(하위)네트워크를 구성하고 있는 것이다.
Network ID: 10
Subnet ID: 86
Host ID: 45.3
예3)IP주소가 200.75.134.33이고 서브넷 마스크가 255.255.255.224 일 때
Network ID, Subnet ID, Host ID는??
자 보자!! IP주소의 첫번째 숫자가 200이다. 그러면 C클래스이다. 또 서브넷마스크가
이상하다. 255.255.255.0이 아닌 255.255.255.128이다. 이것은 인터닉에서 부여 받은
네트워크아이디 하위(서브네트워크아이디)에 2개의 네트워크를
구성하고 있다는 뜻이 된다. 이해를 돕기 위해 실예를 들어 보자.
A라는 회사에 다섯개의 부서가 있고 이들 부서에는 각각 20대의 호스트가 존재할 때
이 회사가 최초 인터닉에서 할당 받은 네트워크 아이디는 200.75.134.X이고
기본 서브넷 마스크는 255.255.255.0이고 253개의 호스트 주소를 할당할 수 있다.
그러나 A회사의 사장은 서버관리자인 당신에게 네트워크 하드웨어를 통합하고
브로드캐스트를 줄여서 네트워크 트래픽을 감소시키기 위해 각 부서별로
서브넷팅을 지시했다고 하자. 당신은 과연 어떻게 할 것인가???
여기서 서브넷 분할을 위해서는 호스트 아이디에 할당된 비트를 사용한다.
먼저 필요한 서브넷의 수는 부서가 5개 이므로 5이다. 이 값을 이진수로 표현하면
101이 되므로 서브넷을 분할하는데 있어서 서브넷 아이디로 3비트가 필요하게 된다.
따라서 8비트 가운데서 서브넷 아이디로 3비트가 필요하게 되므로 실제로는 나머지
5비트만이 호스트를 위해서 할당될 수 있다. 5비트를 이용해서 할당 가능한
주소는 총 30개(2의 5승개에서 호스트 아이디가 0 과 1인 것을 제외)이므로
20개의 개별 호스트에 주소를 할당할 수가 있다. 따라서 서브넷 분할을 위한
서브넷 마스크는 11111111. 11111111. 11111111. 11100000이 되므로
255.255.255.224가 된다.
10진수: 200.75.134.33 / 255 . 255 . 255 . 224
2진수 : .00100001 / 11111111. 11111111. 11111111. 11100000
Network ID: 200.75.134
Subnet ID: 001
Host ID: 00001
6) DNS와 그것의 존재 이유
DNS란 Domain Name Server(System)의 약자이다. DNS의 필요성에 대해서 알아보자.
인터넷에 연결된 컴퓨터는 고유의 IP주소를 갖는다고 했다. 그런데 컴퓨터가
인식하는 이 32비트의 숫자들을 여러분들이 일일이 다 외우고 있어야 한다고
생각해 보자. 대단히 어렵고 소모적인 일이 아닐 수 없다. 따라서
사람들이 인식하기 편한 별도의 이름을 명명하게 되었는데 이것을
호스트 네임(host name:엄밀히 이야기 하자면
호스트이름+도메인이름으로 구성된 전체 주소)라 부른다.
'''''''''''''''''''''''''''''''''''''''''
| 호스트이름 | IP주소 |
'''''''''''''''''''''''''''''''''''''''''
| dacker.wo.to | 210.227.253.177 |
'''''''''''''''''''''''''''''''''''''''''
이처럼 숫자로 된 IP주소와 호스트 네임을 대응시킨 데이터베이스를 DNS라고 한다.
그런데 인터넷에서는 이모든 정보를 하나의 사이트에서 관리하지 않는다.
각각의 사이트마다 자신이 가지고 있는 정보를 가지고 서버프로그램을 실행함으로써
인터넷 상의 다른 호스트(클라이언트)가 찾아 볼 수 있도록 한다.
따라서 DNS란 클라이언트와 서버가 서로 주소와 호스트네임에 대하여 대화를
주고 받을 수 있게 설계된 프로토콜이다.
7)게이트웨이와 브로드캐스팅
-게이트웨이는 s/w게이트웨이와 h/w게이트웨이로 구분할수 있습니다.
같은 서브넷(동일 네트워크상에서는)은 라우팅(IP가 데이터그램을 목적지까지
배달하기위해 출발지에서 목적지까지 어떻게 갈 것인가에 대하여, 즉 경로를
찾는 것을 말한다.)이란 개념이 필요없어요. 같은 서브넷은 서로가 가야할길을
잘 알고 있기 때문이죠. 그래서 라우팅이 필요없는 네트웍입니다.
그런데 다른 네트웍을 갈때는 목적지가 어디인지 알수가 없죠.
그래서 알지못하는 곳을 갈때는 무조건 어떤주소로 보내라고 말할수가 있겠죠.
그 주소에 해당되는 것이 게이트웨이입니다.
NT에서 게이트웨이는 다른네트웍과 연계되는 다른 NT나 컴퓨터일수도 있구요.
아니면 WAN구간과 연결되는 라우터나, 스위치일수도 있습니다.
이 라우터는 운영되고 잇는 프로토콜의 종류에 따라 인접라우터의 라우팅테이블
만 가지고 있을수도 있구요. 아님. 다른 ISP의 라우팅테이블을 가질수 있는등
다양하게 보유할수가 있지요.
쉽게 표현하면
0.0.0.0. 0.0.0.0 게이트웨이
목적지가 어디인지 모르면 게이트웨이로 패킷을 보내라하고 명령을 주는것이죠.
이 게이트웨이는 목적지를 알면 그곳으로 패킷을 보내고 모르면 패킷을 폐기하게
되어있습니다. (라우터도 default route라는 개념이 있어 다른라우터(상위의 라우터)로
패킷을 보냅니다.) ping이란 개념을 알겠지요. 이건 icmp을 이용하는데
이곳에 TTL이란 개념이 잇죠. TTL은 255부터 시작해서 라우터를 거칠때마다
1씩 감소합니다. 만약 TTL이 0가 되면 이 패킷은 자동 폐기처분됩니다.
만약 자기가 원하는 곳이 현재컴퓨터에서 어떤경로를 거쳐 가는지 알고 싶다면
tracert를 이용해 보세요. 라우터나 유닉스계열에서는 traceroute를 이용하시구요.
그러면 목적지까지 어떤 경로를 통해 가는지 대강을 알수 있을겁니다.
-브로드캐스트
위에서 비트가 전부 0 인것과 1인 것은 일반적으로 사용되는 주소가 아님을
설명했다. 비트가 전부 0인 0과 전부 1인 255는 특별한 의미를 갖는다.
255는 브로드캐스트에 사용된다. 브로드캐스트의 의미는 여러분들이 생각하는 것처럼
쉽게 받아들이면 될 것같다. 브로드캐스트란 쉽게 말해서 유원지 같은 곳에서 사람을
찾기 위해 방송을 하는 것과 같이 하나의 네트워크에 연결된 전 호스트들에게 동시
다발적으로 데이터를 보내는 것을 말한다.
브로드캐스트에는 크게 2가지가 있다. 하나는 255.255.255.255로 표시되는
것으로서 로컬 네트워크 브로드캐스트 주소이다. 즉 직접적으로 연결된 같은
네트워크에서 브로드캐스트할 때 사용되는 주소이다. 다른 하나는 다이렉트
브로드캐스트라고 하는 것으로 네트워크 ID 부분을 제외한 나머지를 255로 하는 것이다.
예를 들어 10.0.0.0이라는 A클래스 네트워크의 다이렉트 브로드캐스트 주소는
10.255.255.255로 표시할 수 있다. 따라서 10.으로 시작되는 그 수많은 네트워크 안에,
또 그 네트워크 안에 있는 많은 호스트들에게 브로드캐스트 할 수 있다.
8)정리
자 이제 주소로 다른 컴퓨터를 찾아가는 경로를 그림을 통해 보면서 정리해 보도록 하자.
+--------+ +---------+ +--------+
| Client |-----------------------------| Web |----------------| Server |
+--------+ +---------+ +--------+
SMTP:[root]# mail root@dacker.wo.to SMTP:[root]# mail 확인
| |
|mail + Application 헤더=A mail 프로그램
| |
TCP:TCP 헤더 + A = TCP 세그먼트 TCP: TCP헤더 제거
| |
| |
| |
IP:IP 헤더 + TCP 세그먼트 = IP 데이터그램(패킷) IP: IP 헤더 제거
| |
| |
| |
PPP(ethernet):IP데이터그램 + 이더넷(PPP)프레임 포맷 PPP(ethernet):프레임 포맷 제거
| |
| ARP |
+-----------------------상호 MAC 주소확인-------------------+
RARP
참고 서적)권인택님 -해커를 위한 파워 핸드북-
이웅님 -Microsoft TCP/IP Windows NT 4.0-
참고사이트)nos.co.kr
www.networkcamp.co.kr
=====================================================================================
IP주소 203.10.24.27이란 호스트의 서브넷 마스크는 255.255.255.240이다. 이떄 이 네크워크의 호스트 범위와 브로드캐스트 주소는?
203.10.24.27의 호스트 주소가 가지는 서브넷 마스크가 255.255.255.240 이다
이 호스트가 가지는 네트웍 주소를 찾고 그네트웍 주소의 호스트 주소 대역을
구해봐라.
11001011.00001010.00011000.00011011 (203.10.24.27 을 2진수로 바꾼것)
11111111.11111111.11111111.11110000 (255.255.255.240을 2진수로 바꾼것)
-----------------------------------------------------------------------
11001011.00001010.00011000.00010000 (네트웍 이름)
11001011.00001010.00011000.00011111 (네트웍의 마지막 주소)
*여기서 네트웍이름의 구분은 서브넷마스크의 네트웍 비트인 1비트가 위치한
곳 까지를 나타 냅니다.
*여기서 네트웍의 마지막 주소는 해당 네트웍의 마지막 숫자를 의미합니다.
따라서 네트웍이름은 203.10.24.16 이고 마지막 주소는 203.10.24.31 이 됩니다.
여기서 주의 할게 네트웍의 이름은 호스트 주소로 할당 할수 없구요.
마지막 주소는 각 서브넷에서 브로드 케스트 주소가 되므로 호스트 주소로
할당 할수 없게 됩니다. 실제 사용할 수 있는 주소는
27 => 00011011 240=> 11110000
즉, 네트워크 이름은 앞에 0001=16, 마지막주소는 11111=31
주소범위 : 203.10.24.17~203.10.24.30
브로드캐스트 : 203.10.24.31
클래스 B 주소를 가지고 서브넷 마스크 255.255.255.240으로 서브넷을 만들었을때 나오는 서브넷의 수와 호스트의 수가 맞게 짝지어진 것은?
B클래스 주소를 서브넷팅 했다 서브넷 마스크는 255.255.255.240 이다
서브넷의 수와 호스트의 수를 구해 보아라.
11111111.11111111.00000000.00000000 (실제 B클래스의 서브넷 마스크)
11111111.11111111.11111111.11110000 (255.255.255.240 을 2진수로 바꿈)
-----------------------------------------------------------------------
11111111.1111(네트워크 비트 12개)
11110000(호스트 비트수 4개)
240이면 128+63+32+16
'Computer > Network' 카테고리의 다른 글
Windows Size의 크기에 따른 영향 (0) | 2007.01.17 |
---|---|
TCP/IP Sliding Window (0) | 2007.01.17 |
TCP/IP Protocol Suite (0) | 2007.01.17 |
TCP/IP (Transmission Control Protocol / Internet Protocol) (0) | 2007.01.17 |
홈네트워크 최근동향 (0) | 2007.01.17 |