요약
Microsoft Windows 컴퓨터에서 TCP/IP 프로토콜을 구성할 경우 TCP/IP 구성 설정에서 IP 주소, 서브넷 마스크 그리고 일반적으로 기본 게이트웨이가 필요합니다.


TCP/IP를 올바르게 구성하려면 TCP/IP 네트워크의 주소를 지정하는 방법과 네트워크와 서브네트 워크로 나누는 방법을 알고 있어야 합니다. 이 문서는 IP 네트워크와 서브넷 구성의 개념을 일반적 으로 소개하기 위한 것입니다. 문서 끝 부분에 용어집이 포함되어 있습니다.
추가 정보
TCP/IP가 인터넷의 네트워크 프로토콜로 널리 사용되는 가장 큰 이유는 크기가 다른 네트워크와 유형이 다른 시스템을 함께 연결할 수 있기 때문입니다. 이러한 네트워크는 세 가지 기본 클래스 (와 기타 클래스)로 나눌 수 있으며, 각 클래스는 미리 정의된 크기를 가지고 있고 시스템 관리자에 의해 보다 작은 서브 네트워크로 나눌 수 있습니다. 서브넷 마스크는 하나의 IP 주소를 두 부분으로 나누는 데 사용됩니다. 이 중 한 부분은 호스트(컴퓨터)를 식별하고, 다른 한 부분은 이 컴퓨터가 속해 있는 네트워크를 식별합니다. IP 주소와 서브넷 마스크가 어떻게 작동하는지 보다 잘 이해하 려면 IP(인터넷 프로토콜) 주소를 자세히 살펴보고 이 IP 주소가 어떻게 구성되어 있는지 보십시오.
IP 주소: 네트워크 및 주소
IP 주소란 어떤 TCP/IP 네트워크에 있는 호스트(컴퓨터 또는 프린터나 라우터 같은 다른 장치)를 고유하게 식별하는 32비트 숫자를 말합니다.


IP 주소는 보통 네 개의 숫자가 점으로 분리된 십진수 형식으로 표현됩니다(예: 192.168.123.132). 서브넷 마스크가 호스트, 네트워크 및 서브네트워크를 구분하는 데 어떻게 사용되는지 이해하려면 이진 표기법으로 된 IP 주소를 확인해 보십시오.


예를 들어, 점으로 구분된 십진수 IP 주소 192.168.123.132는 이진 표기법으로 32비트 숫자 11000000 0101000111101110000100에 해당합니다. 이 숫자는 알아보기 어려울 수도 있으므로 이진수로 8자리 씩 4부분으로 나누어집니다.


이러한 8비트 섹션을 옥텟(octet)이라고 합니다. 그러면 예제 IP 주소는 11000000.10101000.0111101 1.10000100이 됩니다. 이 숫자도 마찬가지로 알아보기가 어려우므로, 대부분의 경우 이진 주소를 점 으로 분리된 십진수 형식(192.168.123.132)으로 변환합니다. 점으로 분리된 각 십진수는 이진수를 십진 표기법으로 변환한 옥텟입니다.


TCP/IP WAN(Wide Area Network)이 네트워크의 집합으로서 효율적으로 작동하도록 하기 위해서
네트워크 사이에서 데이터 패킷을 전달하는 라우터는 정보 패킷이 향하는 호스트의 정확한 위치를
모릅니다. 라우터는 해당 호스트가 어떤 네트워크의 구성원인지만을 알고 있고 자신의 라우팅 테
이블에 저장되어 있는 정보를 사용하여 대상 호스트의 네트워크로 패킷을 가져가는 방법을 결정합
니다. 패킷은 대상 네트워크로 배달된 다음 해당 호스트로 배달됩니다.


이러한 프로세스가 작동하기 위해 IP 주소는 두 부분으로 이루어집니다. IP 주소의 첫째 부분은 네
트워크 주소로 사용되고, 마지막 부분은 호스트 주소로 사용됩니다. 예제 192.168.123.132를 두 부
분으로 나누면 다음과 같이 됩니다.
 192.168.123. 네트워크 .132 호스트
-또는-
 192.168.123.0 - 네트워크 주소. 0.0.0.132 - 호스트 주소.
서브넷 마스크
TCP/IP가 작동하기 위해 필요한 두 번째 항목이 바로 서브넷 마스크입니다. 서브넷 마스크는 TCP/
IP 프로토콜에 의해 호스트가 로컬 서브넷에 있는지 아니면 원격 네트워크에 있는지를 확인하는 데
사용됩니다.


TCP/IP에서는 네트워크 주소와 호스트 주소로 사용되는 IP 주소의 부분이 고정되어 있지 않아 또
다른 추가 정보가 있지 않는 한 위의 네트워크 주소와 호스트 주소를 확인할 수 없습니다. 이러한
추가 정보는 서브넷 마스크라고 하는 또 다른 32비트 숫자의 형태로 제공됩니다. 이 예제에서는 서
브넷 마스크가 255.255.255.0입니다. 이진 표기법에서는 255가 11111111에 해당하므로 이 서브넷 마
스크가 아래와 같다는 것을 모른다면 다음 숫자가 무엇을 의미하는지 이해하기 어려울 것입니다.
 11111111.11111111.11111111.0000000
IP 주소와 서브넷 마스크를 나란히 놓으면 주소의 네트워크 부분과 호스트 부분을 아래와 같이 분리
할 수 있습니다.
11000000.10101000.01111011.10000100 -- IP 주소(192.168.123.132)
11111111.11111111.11111111.00000000 -- 서브넷 마스크(255.255.255.0)
처음 24비트(서브넷 마스크에서 1로 이루어진 숫자)는 네트워크 주소이고 마지막 8비트(서브넷 마
스크에서 나머지 0으로 이루어진 숫자)는 호스트 주소입니다. 이 숫자가 의미하는 것은 아래와 같습
니다.
11000000.10101000.01111011.00000000 -- 네트워크 주소(192.168.123.0)
00000000.00000000.00000000.10000100 -- 호스트 주소(000.000.000.132)
이제 255.255.255.0이라는 서브넷 마스크를 사용하는 이 예제에서 네트워크 ID는 192.168.123.0이고,
호스트 주소는 0.0.0.132라는 것을 알 수 있을 것입니다. 패킷이 로컬 서브넷이나 원격 네트워크로
부터 192.168.123.0 서브넷에 도달하여 해당 서브넷에 목적지 주소 192.168.123.132가 있으면 컴퓨
터가 네트워크로부터 해당 패킷을 받아서 처리합니다.


거의 모든 십진 서브넷 마스크는 왼쪽은 모두 1이고 오른쪽은 모두 0인 이진 숫자로 변환됩니다.
또다른 일반적으로 사용되는 서브넷 마스크는 아래와 같습니다.
십진 이진 255.255.255.192 1111111.11111111.1111111.11000000
255.255.255.224 1111111.11111111.1111111.11100000
http://ds.internic.net에서 구할 수 있는 Internet RFC 1878에 TCP/IP 네트워크에서 사용할 수 있는
유효한 서브넷과 서브넷 마스크에 대한 설명이 있습니다.
네트워크 주소
인터넷 주소는 인터넷을 관리하는 조직인 InterNIC(http://www.internic.net)에서 할당하고 있습니
다. 이러한 IP 주소는 클래스로 나누어 집니다. 이러한 클래스 중 가장 일반적으로 사용되는 클래스
는 A, B, C입니다. 클래스 D와 E도 있지만 일반 사용자는 대개 사용하지 않습니다. 각 주소 클래스
는 서로 다른 기본 서브넷 마스크를 갖고 있습니다. 첫번째 옥텟을 보면 IP 주소의 클래스를 식별할
수 있습니다. 다음은 클래스 A, B, C의 인터넷 주소 범위와 예제 주소입니다.


• 클래스 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(포함) 사이에 있습니다.


어떤 시나리오에서는 해당 네트워크의 실제 토폴로지 때문에, 또는 네트워크나 호스트 수가 기본
서브넷 마스크 제한을 초과하여 기본 서브넷 마스크 값이 조직의 필요 사항과 맞지 않을 수도 있습
니다. 다음 절에서는 서브넷 마스크를 사용하여 네트워크를 나누는 방법에 대해 설명합니다.
서브넷 구성
클래스 Class A, B, C TCP/IP 네트워크는 시스템 관리자에 의해 더 작은 단위로, 즉 서브넷으로 나
누어질 수 있습니다. 인터넷의 논리적 주소 체계(IP 주소와 서브넷으로 이루어진 추상적 세계)와 실
제로 사용되는 실제 네트워크를 맞출 때 이러한 작업이 필요합니다.


IP 주소 블록을 맡고 있는 시스템 관리자가 관리하는 네트워크가 이 주소에 잘 맞는 방식으로 구성
되어 있지 않을 수도 있습니다. 예를 들어 각각 다른 사이트에 있는 3개의 네트워크에서 150대의 호
스트를 갖고 있고 하나의 TCP/IP 라우터로 연결되어 있는 광역 네트워크를 갖고 있다고 가정해 봅
시다. 3개의 네트워크는 각각 50대의 호스트를 갖고 있습니다. 클래스 C 네트워크 192.168.123.0을
할당 받았다고 가정해 봅시다. 이 주소는 설명을 위한 것으로 실제로는 인터넷에서 할당되는 범위
에 있지 않습니다. 따라서 150대의 호스트에 대해 192.168.123.1 - 192.168.123.254 사이의 주소를
사용할 수 있습니다.


호스트 부분이 모두 1이거나 모두 0인 이진 주소는 유효하지 않기 때문에 이 예에서 192.168.123.0
주소와 192.168.123.255 주소는 사용할 수 없습니다. 0 주소는 호스트를 지정하지 않고 네트워크만
을 지정하는 데 사용되므로 유효하지 않습니다. 255 주소(이진 표기법에서 호스트 주소가 모든 1인
주소)는 네트워크 상의 모든 호스트에 메시지를 브로드캐스트하는 데 사용됩니다. 이렇게 네트워
크 또는 서브넷의 첫번째 주소와 마지막 주소는 개별 호스트에 할당될 수 없습니다.


이제 254대의 호스트에 IP 주소를 제공할 수 있을 것입니다. 이 경우 150대의 컴퓨터가 모두 하나의
네트워크에 있어야 적절합니다. 하지만 이 예에서는 150대의 컴퓨터가 3개의 실제 네트워크에 나
뉘어져 있습니다. 각 네트워크에 추가로 주소 블록을 요청하는 대신 하나의 주소 블록을 여러 개의
실제 네트워크에 사용할 수 있도록 네트워크를 여러 개의 서브넷으로 나눕니다.


이 경우에는 네트워크 주소는 늘리고 가능한 호스트 주소 범위는 줄이는 서브넷 마스크를 사용하여
네트워크를 4개의 서브넷으로 나눕니다. 즉, 호스트 주소에 사용되는 비트 중 일부를 '빌려' 이를
주소의 네트워크 부분에 사용합니다. 서브넷 마스크 255.255.255.192는 각각 62대의 호스트로 이루
어진 4개의 네트워크에 사용할 수 있습니다.
이진 표기법에서는 255.255.255.192가 1111111.11111111.1111111.11000000과 같기 때문에 그렇습니다. 마지막 옥텟의 처음 두 자릿수는 네트워크 주소가 되어 추가 네트워크 00000000(0), 01000000(6
4), 10000000(128), 11000000(192)를 가질 수 있습니다. 어떤 관리자는 서브넷 마스크로 255.255.25
5.192를 사용할 경우 서브네트워크를 두 개만 사용하기도 합니다. 이에 대한 자세한 내용은 RFC 18
78를 참조하십시오. 이러한 4개의 네트워크에서 마지막 6자리 이진수는 호스트 주소에 사용할 수
있습니다.


서브넷 마스크 255.255.255.192를 사용하면 192.168.123.0 네트워크가 4개의 네트워크 192.168.12
3.0, 192.168.123.64, 192.168.123.128, 192.168.123.192로 나누어집니다. 이들 4개 네트워크에서 유
효한 호스트 주소는 다음과 갖습니다.
192.168.123.1-62 192.168.123.65-126 192.168.123.129-190 192.168.123.193-254
모두 1과 모두 0인 이진 호스트 주소는 유효하지 않으므로 마지막 옥텟이
0, 63, 64, 127, 128, 191, 192, 255인 주소는 사용할 수 없다는 점을 기억하십시오.


두 호스트 주소, 192.168.123.71과 192.168.123.133을 보면 그 이유를 알 수 있습니다. 기본 클래스 C
서브넷 마스크 255.255.255.0을 사용할 경우 이 두 주소가 모두 192.168.123.0 네트워크에 있습니다.
그러나, 서브넷 마스크 255.255.255.192를 사용한다면 이 두 주소가 각각 다른 네트워크에 있게 됩
니다. 즉, 192.168.123.71은 192.168.123.64 네트워크에 있고 192.168.123.133은 192.168.123.128 네
트워크에 있게 됩니다.
기본 게이트웨이
어떤 TCP/IP 컴퓨터가 다른 네트워크에 있는 호스트와 통신해야 할 경우 대개 라우터라고 하는 장
치를 통해 통신합니다. TCP/IP 용어에서 호스트에서 지정되는 라우터는 해당 호스트의 서브넷을
다른 네트워크에 링크하므로 기본 게이트웨이라고 불립니다. 이 절에서는 네트워크의 다른 컴퓨터
나 장치에 도달시키기 위해 패킷을 해당 기본 게이트웨이에 보낼지 여부를 TCP/IP가 어떻게 결정
하는지에 대해 설명합니다.


호스트가 TCP/IP를 사용하여 다른 장치와 통신할 때는 정의된 서브넷 마스크와 목적지 IP 주소 대
서브넷 마스크와 고유의 IP 주소 사이에서 비교 프로세스를 수행합니다. 이러한 비교의 결과는 목
적지가 로컬 호스트인지 아니면 원격 호스트인지 여부를 컴퓨터에 알려줍니다.


이 프로세스의 결과에 따라 목적지가 로컬 호스트인 것으로 판단되면 컴퓨터가 해당 로컬 서브넷에
서 패킷을 보냅니다. 비교 결과 목적지가 원격 호스트인 것으로 판단되면 컴퓨터가 자신의 TCP/IP
등록 정보에 정의된 기본 게이트웨이로 패킷을 전달합니다. 그러면 라우터가 해당 패킷을 올바른
서브넷으로 전달해야 합니다.
문제 해결
TCP/IP 네트워크 문제는 종종 컴퓨터의 TCP/IP 등록 정보에서 세 가지 주요 항목을 잘못 구성하기
때문에 발생합니다. TCP/IP를 구성할 때의 오류가 네트워크 동작에 어떠한 영향을 미치는지 이해
하고 있으면 일반적인 많은 TCP/IP 문제를 해결할 수 있습니다.


서브넷 마스크가 올바르지 않은 경우: 네트워크가 자신의 주소 클래스에 대해 기본 마스크 외에 다
른 서브넷 마스크를 사용하는 반면 클라이언트는 여전히 주소 클래스에 대해 기본 서브넷 마스크를
사용하도록 구성되었다면 멀리 있는 네트워크에 대한 통신은 성공하지만 인접한 네트워크에 대한
통신은 실패합니다. 예를 들어 앞 부분에 있는 서브넷 구성 예에서처럼 서브넷을 4개 만들었지만 T
CP/IP 구성에서 잘못된 서브넷 마스크 255.255.255.0을 사용하면 어떤 컴퓨터가 다른 서브넷에 있
는지 여부를 호스트가 판단할 수 없습니다. 이러한 현상이 발생하면 같은 클래스 C 주소에 속하는
다른 실제 네트워크에 있는 호스트를 목적지로 하는 패킷이 배달을 위해 기본 게이트웨이로 보내
지지 않습니다. 어떤 컴퓨터가 자신이 속한 로컬 네트워크의 호스트와는 통신할 수 있고, 가까이에
있고 같은 클래스 A, B, C 주소를 갖고 있는 네트워크를 제외한 모든 원격 네트워크와 교신할 수 있
을 경우에 이러한 현상이 일반적으로 발생합니다. 이 문제를 해결하려면 TCP/IP 구성에서 해당 호
스트에 대해 올바른 서브넷 마스크를 입력하면 됩니다.


IP 주소가 올바르지 않은 경우: 로컬 네트워크에서 서로 다른 별개의 서브넷에 있어야 하는 IP 주소
를 컴퓨터에 부여하면 이들 컴퓨터가 통신할 수 없습니다. 이들 컴퓨터는 대상 컴퓨터에 올바르게
전달할 수 없는 라우터를 통해 서로에게 패킷을 보내게 됩니다. 이러한 문제가 발생하면 컴퓨터가
원격 네트워크에 있는 호스트와 교신할 수 있지만 로컬 네트워크에 있는 일부 컴퓨터나 모든 컴퓨
터와는 통신할 수 없습니다. 이 문제를 해결하려면 동일한 실제 네트워크 상의 모든 컴퓨터가 동일
한 IP 서브넷의 IP 주소를 갖도록 하십시오. 한 네트워크 세그먼트에 있는 IP 주소를 모두 사용한 경
우에 대한 해결책은 본 문서의 범위에서 벗어나므로 다루지 않습니다.


기본 게이트웨이가 올바르지 않은 경우: 올바르지 않은 기본 게이트웨이를 사용하여 구성된 컴퓨터
는 자신이 속한 네트워크 세그먼트에 있는 호스트와는 통신할 수 있지만 일부 또는 모든 원격 네트
워크에 있는 호스트와는 통신할 수 없습니다. 하나의 실제 네트워크가 라우터를 두 개 이상 가지고
있고 잘못된 라우터가 기본 게이트웨이로 구성된 경우 호스트가 일부 원격 네트워크와는 통신할
수 있지만 다른 원격 네트워크와는 통신할 수 없습니다. 일반적으로 이 문제는 어떤 조직에 내부 T
CP/IP 네트워크에 대한 라우터와 인터넷에 연결된 라우터가 따로 있는 경우에 발생합니다.
참조
TCP/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.
Comer, Prentice Hall, 1995


TCP/IP 네트워크를 담당하는 시스템 관리자라면 이들 참고 서적 중 최소한 한 권을 갖고 있는 것이
좋습니다.
용어
브로드캐스트 주소 -- 호스트 부분이 모두 1로 이루어진 IP 주소


호스트 -- TCP/IP 네트워크에 있는 컴퓨터나 기타 장치


인터넷 -- 함께 연결되어 있고 공통 범위의 IP 주소를 공유하는 전세계적인 네트워크 집합


InterNIC -- 인터넷에서 IP 주소의 관리를 맡고 있는 조직.


IP -- TCP/IP 네트워크나 인터넷을 통해 네트워크 패킷을 보내는 데 사용되는 네트워크 프로토콜


IP 주소 -- TCP/IP 네트워크나 인터네트워크에 있는 호스트에 대한 고유한 32비트 주소.


네트워크 -- 본 문서에서는 네트워크라는 용어가 두 가지 의미로 사용됩니다. 하나는 하나의 실제
네트워크 세그먼트에 있는 컴퓨터 그룹을 나타내고, 다른 하나는 시스템 관리자가 할당한 IP 네트워
크 주소 범위를 나타냅니다.


네트워크 주소 -- 호스트 부분이 모두 0으로 이루어진 IP 주소


옥텟 -- 4개가 모여 32비트 IP 주소를 구성하는 8비트 숫자. 십진수 0-255에 해당하는
00000000-11111111의 범위를 갖고 있습니다.


패킷 -- TCP/IP 네트워크나 광대역 네트워크를 통해 전달되는 데이터 단위


RFC(Request for Comment) -- 인터넷에서 표준을 정의하는 데 사용되는 문서


라우터 -- 다른 IP 네트워크 간에 네트워크 트래픽을 전달하는 장치


서브넷 마스크 -- IP 주소의 네트워크 부분과 호스트 부분을 구분하는 데 사용되는 32비트 숫자


서브넷 또는 서브네트워크 -- 규모가 큰 네트워크를 같은 크기로 나누면 만들어지는 작은 규모의
네트워크


TCP/IP -- 넓은 의미에서, 인터넷이나 대규모 네트워크에서 일반적으로 사용되는 프로토콜,
표준 및 유틸리티 세트.


WAN(Wide area network) -- 라우터로 구분된 작은 규모의 네트워크를 모은 대규모 네트워크.
인터넷을 아주 큰 규모의 WAN이라고 할 수 있습니다.
서브넷팅



서브넷팅된 특정 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
 
 



요약
Microsoft Windows 컴퓨터에서 TCP/IP 프로토콜을 구성할 경우 TCP/IP 구성 설정에서 IP 주소, 서브넷 마스크 그리고 일반적으로 기본 게이트웨이가 필요합니다.


TCP/IP를 올바르게 구성하려면 TCP/IP 네트워크의 주소를 지정하는 방법과 네트워크와 서브네트 워크로 나누는 방법을 알고 있어야 합니다. 이 문서는 IP 네트워크와 서브넷 구성의 개념을 일반적 으로 소개하기 위한 것입니다. 문서 끝 부분에 용어집이 포함되어 있습니다.
추가 정보
TCP/IP가 인터넷의 네트워크 프로토콜로 널리 사용되는 가장 큰 이유는 크기가 다른 네트워크와 유형이 다른 시스템을 함께 연결할 수 있기 때문입니다. 이러한 네트워크는 세 가지 기본 클래스 (와 기타 클래스)로 나눌 수 있으며, 각 클래스는 미리 정의된 크기를 가지고 있고 시스템 관리자에 의해 보다 작은 서브 네트워크로 나눌 수 있습니다. 서브넷 마스크는 하나의 IP 주소를 두 부분으로 나누는 데 사용됩니다. 이 중 한 부분은 호스트(컴퓨터)를 식별하고, 다른 한 부분은 이 컴퓨터가 속해 있는 네트워크를 식별합니다. IP 주소와 서브넷 마스크가 어떻게 작동하는지 보다 잘 이해하 려면 IP(인터넷 프로토콜) 주소를 자세히 살펴보고 이 IP 주소가 어떻게 구성되어 있는지 보십시오.
IP 주소: 네트워크 및 주소
IP 주소란 어떤 TCP/IP 네트워크에 있는 호스트(컴퓨터 또는 프린터나 라우터 같은 다른 장치)를 고유하게 식별하는 32비트 숫자를 말합니다.


IP 주소는 보통 네 개의 숫자가 점으로 분리된 십진수 형식으로 표현됩니다(예: 192.168.123.132). 서브넷 마스크가 호스트, 네트워크 및 서브네트워크를 구분하는 데 어떻게 사용되는지 이해하려면 이진 표기법으로 된 IP 주소를 확인해 보십시오.


예를 들어, 점으로 구분된 십진수 IP 주소 192.168.123.132는 이진 표기법으로 32비트 숫자 11000000 0101000111101110000100에 해당합니다. 이 숫자는 알아보기 어려울 수도 있으므로 이진수로 8자리 씩 4부분으로 나누어집니다.


이러한 8비트 섹션을 옥텟(octet)이라고 합니다. 그러면 예제 IP 주소는 11000000.10101000.0111101 1.10000100이 됩니다. 이 숫자도 마찬가지로 알아보기가 어려우므로, 대부분의 경우 이진 주소를 점 으로 분리된 십진수 형식(192.168.123.132)으로 변환합니다. 점으로 분리된 각 십진수는 이진수를 십진 표기법으로 변환한 옥텟입니다.


TCP/IP WAN(Wide Area Network)이 네트워크의 집합으로서 효율적으로 작동하도록 하기 위해서
네트워크 사이에서 데이터 패킷을 전달하는 라우터는 정보 패킷이 향하는 호스트의 정확한 위치를
모릅니다. 라우터는 해당 호스트가 어떤 네트워크의 구성원인지만을 알고 있고 자신의 라우팅 테
이블에 저장되어 있는 정보를 사용하여 대상 호스트의 네트워크로 패킷을 가져가는 방법을 결정합
니다. 패킷은 대상 네트워크로 배달된 다음 해당 호스트로 배달됩니다.


이러한 프로세스가 작동하기 위해 IP 주소는 두 부분으로 이루어집니다. IP 주소의 첫째 부분은 네
트워크 주소로 사용되고, 마지막 부분은 호스트 주소로 사용됩니다. 예제 192.168.123.132를 두 부
분으로 나누면 다음과 같이 됩니다.
 192.168.123. 네트워크 .132 호스트
-또는-
 192.168.123.0 - 네트워크 주소. 0.0.0.132 - 호스트 주소.
서브넷 마스크
TCP/IP가 작동하기 위해 필요한 두 번째 항목이 바로 서브넷 마스크입니다. 서브넷 마스크는 TCP/
IP 프로토콜에 의해 호스트가 로컬 서브넷에 있는지 아니면 원격 네트워크에 있는지를 확인하는 데
사용됩니다.


TCP/IP에서는 네트워크 주소와 호스트 주소로 사용되는 IP 주소의 부분이 고정되어 있지 않아 또
다른 추가 정보가 있지 않는 한 위의 네트워크 주소와 호스트 주소를 확인할 수 없습니다. 이러한
추가 정보는 서브넷 마스크라고 하는 또 다른 32비트 숫자의 형태로 제공됩니다. 이 예제에서는 서
브넷 마스크가 255.255.255.0입니다. 이진 표기법에서는 255가 11111111에 해당하므로 이 서브넷 마
스크가 아래와 같다는 것을 모른다면 다음 숫자가 무엇을 의미하는지 이해하기 어려울 것입니다.
 11111111.11111111.11111111.0000000
IP 주소와 서브넷 마스크를 나란히 놓으면 주소의 네트워크 부분과 호스트 부분을 아래와 같이 분리
할 수 있습니다.
11000000.10101000.01111011.10000100 -- IP 주소(192.168.123.132)
11111111.11111111.11111111.00000000 -- 서브넷 마스크(255.255.255.0)
처음 24비트(서브넷 마스크에서 1로 이루어진 숫자)는 네트워크 주소이고 마지막 8비트(서브넷 마
스크에서 나머지 0으로 이루어진 숫자)는 호스트 주소입니다. 이 숫자가 의미하는 것은 아래와 같습
니다.
11000000.10101000.01111011.00000000 -- 네트워크 주소(192.168.123.0)
00000000.00000000.00000000.10000100 -- 호스트 주소(000.000.000.132)
이제 255.255.255.0이라는 서브넷 마스크를 사용하는 이 예제에서 네트워크 ID는 192.168.123.0이고,
호스트 주소는 0.0.0.132라는 것을 알 수 있을 것입니다. 패킷이 로컬 서브넷이나 원격 네트워크로
부터 192.168.123.0 서브넷에 도달하여 해당 서브넷에 목적지 주소 192.168.123.132가 있으면 컴퓨
터가 네트워크로부터 해당 패킷을 받아서 처리합니다.


거의 모든 십진 서브넷 마스크는 왼쪽은 모두 1이고 오른쪽은 모두 0인 이진 숫자로 변환됩니다.
또다른 일반적으로 사용되는 서브넷 마스크는 아래와 같습니다.
십진 이진 255.255.255.192 1111111.11111111.1111111.11000000
255.255.255.224 1111111.11111111.1111111.11100000
http://ds.internic.net에서 구할 수 있는 Internet RFC 1878에 TCP/IP 네트워크에서 사용할 수 있는
유효한 서브넷과 서브넷 마스크에 대한 설명이 있습니다.
네트워크 주소
인터넷 주소는 인터넷을 관리하는 조직인 InterNIC(http://www.internic.net)에서 할당하고 있습니
다. 이러한 IP 주소는 클래스로 나누어 집니다. 이러한 클래스 중 가장 일반적으로 사용되는 클래스
는 A, B, C입니다. 클래스 D와 E도 있지만 일반 사용자는 대개 사용하지 않습니다. 각 주소 클래스
는 서로 다른 기본 서브넷 마스크를 갖고 있습니다. 첫번째 옥텟을 보면 IP 주소의 클래스를 식별할
수 있습니다. 다음은 클래스 A, B, C의 인터넷 주소 범위와 예제 주소입니다.


• 클래스 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(포함) 사이에 있습니다.


어떤 시나리오에서는 해당 네트워크의 실제 토폴로지 때문에, 또는 네트워크나 호스트 수가 기본
서브넷 마스크 제한을 초과하여 기본 서브넷 마스크 값이 조직의 필요 사항과 맞지 않을 수도 있습
니다. 다음 절에서는 서브넷 마스크를 사용하여 네트워크를 나누는 방법에 대해 설명합니다.
서브넷 구성
클래스 Class A, B, C TCP/IP 네트워크는 시스템 관리자에 의해 더 작은 단위로, 즉 서브넷으로 나
누어질 수 있습니다. 인터넷의 논리적 주소 체계(IP 주소와 서브넷으로 이루어진 추상적 세계)와 실
제로 사용되는 실제 네트워크를 맞출 때 이러한 작업이 필요합니다.


IP 주소 블록을 맡고 있는 시스템 관리자가 관리하는 네트워크가 이 주소에 잘 맞는 방식으로 구성
되어 있지 않을 수도 있습니다. 예를 들어 각각 다른 사이트에 있는 3개의 네트워크에서 150대의 호
스트를 갖고 있고 하나의 TCP/IP 라우터로 연결되어 있는 광역 네트워크를 갖고 있다고 가정해 봅
시다. 3개의 네트워크는 각각 50대의 호스트를 갖고 있습니다. 클래스 C 네트워크 192.168.123.0을
할당 받았다고 가정해 봅시다. 이 주소는 설명을 위한 것으로 실제로는 인터넷에서 할당되는 범위
에 있지 않습니다. 따라서 150대의 호스트에 대해 192.168.123.1 - 192.168.123.254 사이의 주소를
사용할 수 있습니다.


호스트 부분이 모두 1이거나 모두 0인 이진 주소는 유효하지 않기 때문에 이 예에서 192.168.123.0
주소와 192.168.123.255 주소는 사용할 수 없습니다. 0 주소는 호스트를 지정하지 않고 네트워크만
을 지정하는 데 사용되므로 유효하지 않습니다. 255 주소(이진 표기법에서 호스트 주소가 모든 1인
주소)는 네트워크 상의 모든 호스트에 메시지를 브로드캐스트하는 데 사용됩니다. 이렇게 네트워
크 또는 서브넷의 첫번째 주소와 마지막 주소는 개별 호스트에 할당될 수 없습니다.


이제 254대의 호스트에 IP 주소를 제공할 수 있을 것입니다. 이 경우 150대의 컴퓨터가 모두 하나의
네트워크에 있어야 적절합니다. 하지만 이 예에서는 150대의 컴퓨터가 3개의 실제 네트워크에 나
뉘어져 있습니다. 각 네트워크에 추가로 주소 블록을 요청하는 대신 하나의 주소 블록을 여러 개의
실제 네트워크에 사용할 수 있도록 네트워크를 여러 개의 서브넷으로 나눕니다.


이 경우에는 네트워크 주소는 늘리고 가능한 호스트 주소 범위는 줄이는 서브넷 마스크를 사용하여
네트워크를 4개의 서브넷으로 나눕니다. 즉, 호스트 주소에 사용되는 비트 중 일부를 '빌려' 이를
주소의 네트워크 부분에 사용합니다. 서브넷 마스크 255.255.255.192는 각각 62대의 호스트로 이루
어진 4개의 네트워크에 사용할 수 있습니다.
이진 표기법에서는 255.255.255.192가 1111111.11111111.1111111.11000000과 같기 때문에 그렇습니다. 마지막 옥텟의 처음 두 자릿수는 네트워크 주소가 되어 추가 네트워크 00000000(0), 01000000(6
4), 10000000(128), 11000000(192)를 가질 수 있습니다. 어떤 관리자는 서브넷 마스크로 255.255.25
5.192를 사용할 경우 서브네트워크를 두 개만 사용하기도 합니다. 이에 대한 자세한 내용은 RFC 18
78를 참조하십시오. 이러한 4개의 네트워크에서 마지막 6자리 이진수는 호스트 주소에 사용할 수
있습니다.


서브넷 마스크 255.255.255.192를 사용하면 192.168.123.0 네트워크가 4개의 네트워크 192.168.12
3.0, 192.168.123.64, 192.168.123.128, 192.168.123.192로 나누어집니다. 이들 4개 네트워크에서 유
효한 호스트 주소는 다음과 갖습니다.
192.168.123.1-62 192.168.123.65-126 192.168.123.129-190 192.168.123.193-254
모두 1과 모두 0인 이진 호스트 주소는 유효하지 않으므로 마지막 옥텟이
0, 63, 64, 127, 128, 191, 192, 255인 주소는 사용할 수 없다는 점을 기억하십시오.


두 호스트 주소, 192.168.123.71과 192.168.123.133을 보면 그 이유를 알 수 있습니다. 기본 클래스 C
서브넷 마스크 255.255.255.0을 사용할 경우 이 두 주소가 모두 192.168.123.0 네트워크에 있습니다.
그러나, 서브넷 마스크 255.255.255.192를 사용한다면 이 두 주소가 각각 다른 네트워크에 있게 됩
니다. 즉, 192.168.123.71은 192.168.123.64 네트워크에 있고 192.168.123.133은 192.168.123.128 네
트워크에 있게 됩니다.
기본 게이트웨이
어떤 TCP/IP 컴퓨터가 다른 네트워크에 있는 호스트와 통신해야 할 경우 대개 라우터라고 하는 장
치를 통해 통신합니다. TCP/IP 용어에서 호스트에서 지정되는 라우터는 해당 호스트의 서브넷을
다른 네트워크에 링크하므로 기본 게이트웨이라고 불립니다. 이 절에서는 네트워크의 다른 컴퓨터
나 장치에 도달시키기 위해 패킷을 해당 기본 게이트웨이에 보낼지 여부를 TCP/IP가 어떻게 결정
하는지에 대해 설명합니다.


호스트가 TCP/IP를 사용하여 다른 장치와 통신할 때는 정의된 서브넷 마스크와 목적지 IP 주소 대
서브넷 마스크와 고유의 IP 주소 사이에서 비교 프로세스를 수행합니다. 이러한 비교의 결과는 목
적지가 로컬 호스트인지 아니면 원격 호스트인지 여부를 컴퓨터에 알려줍니다.


이 프로세스의 결과에 따라 목적지가 로컬 호스트인 것으로 판단되면 컴퓨터가 해당 로컬 서브넷에
서 패킷을 보냅니다. 비교 결과 목적지가 원격 호스트인 것으로 판단되면 컴퓨터가 자신의 TCP/IP
등록 정보에 정의된 기본 게이트웨이로 패킷을 전달합니다. 그러면 라우터가 해당 패킷을 올바른
서브넷으로 전달해야 합니다.
문제 해결
TCP/IP 네트워크 문제는 종종 컴퓨터의 TCP/IP 등록 정보에서 세 가지 주요 항목을 잘못 구성하기
때문에 발생합니다. TCP/IP를 구성할 때의 오류가 네트워크 동작에 어떠한 영향을 미치는지 이해
하고 있으면 일반적인 많은 TCP/IP 문제를 해결할 수 있습니다.


서브넷 마스크가 올바르지 않은 경우: 네트워크가 자신의 주소 클래스에 대해 기본 마스크 외에 다
른 서브넷 마스크를 사용하는 반면 클라이언트는 여전히 주소 클래스에 대해 기본 서브넷 마스크를
사용하도록 구성되었다면 멀리 있는 네트워크에 대한 통신은 성공하지만 인접한 네트워크에 대한
통신은 실패합니다. 예를 들어 앞 부분에 있는 서브넷 구성 예에서처럼 서브넷을 4개 만들었지만 T
CP/IP 구성에서 잘못된 서브넷 마스크 255.255.255.0을 사용하면 어떤 컴퓨터가 다른 서브넷에 있
는지 여부를 호스트가 판단할 수 없습니다. 이러한 현상이 발생하면 같은 클래스 C 주소에 속하는
다른 실제 네트워크에 있는 호스트를 목적지로 하는 패킷이 배달을 위해 기본 게이트웨이로 보내
지지 않습니다. 어떤 컴퓨터가 자신이 속한 로컬 네트워크의 호스트와는 통신할 수 있고, 가까이에
있고 같은 클래스 A, B, C 주소를 갖고 있는 네트워크를 제외한 모든 원격 네트워크와 교신할 수 있
을 경우에 이러한 현상이 일반적으로 발생합니다. 이 문제를 해결하려면 TCP/IP 구성에서 해당 호
스트에 대해 올바른 서브넷 마스크를 입력하면 됩니다.


IP 주소가 올바르지 않은 경우: 로컬 네트워크에서 서로 다른 별개의 서브넷에 있어야 하는 IP 주소
를 컴퓨터에 부여하면 이들 컴퓨터가 통신할 수 없습니다. 이들 컴퓨터는 대상 컴퓨터에 올바르게
전달할 수 없는 라우터를 통해 서로에게 패킷을 보내게 됩니다. 이러한 문제가 발생하면 컴퓨터가
원격 네트워크에 있는 호스트와 교신할 수 있지만 로컬 네트워크에 있는 일부 컴퓨터나 모든 컴퓨
터와는 통신할 수 없습니다. 이 문제를 해결하려면 동일한 실제 네트워크 상의 모든 컴퓨터가 동일
한 IP 서브넷의 IP 주소를 갖도록 하십시오. 한 네트워크 세그먼트에 있는 IP 주소를 모두 사용한 경
우에 대한 해결책은 본 문서의 범위에서 벗어나므로 다루지 않습니다.


기본 게이트웨이가 올바르지 않은 경우: 올바르지 않은 기본 게이트웨이를 사용하여 구성된 컴퓨터
는 자신이 속한 네트워크 세그먼트에 있는 호스트와는 통신할 수 있지만 일부 또는 모든 원격 네트
워크에 있는 호스트와는 통신할 수 없습니다. 하나의 실제 네트워크가 라우터를 두 개 이상 가지고
있고 잘못된 라우터가 기본 게이트웨이로 구성된 경우 호스트가 일부 원격 네트워크와는 통신할
수 있지만 다른 원격 네트워크와는 통신할 수 없습니다. 일반적으로 이 문제는 어떤 조직에 내부 T
CP/IP 네트워크에 대한 라우터와 인터넷에 연결된 라우터가 따로 있는 경우에 발생합니다.
참조
TCP/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.
Comer, Prentice Hall, 1995


TCP/IP 네트워크를 담당하는 시스템 관리자라면 이들 참고 서적 중 최소한 한 권을 갖고 있는 것이
좋습니다.
용어
브로드캐스트 주소 -- 호스트 부분이 모두 1로 이루어진 IP 주소


호스트 -- TCP/IP 네트워크에 있는 컴퓨터나 기타 장치


인터넷 -- 함께 연결되어 있고 공통 범위의 IP 주소를 공유하는 전세계적인 네트워크 집합


InterNIC -- 인터넷에서 IP 주소의 관리를 맡고 있는 조직.


IP -- TCP/IP 네트워크나 인터넷을 통해 네트워크 패킷을 보내는 데 사용되는 네트워크 프로토콜


IP 주소 -- TCP/IP 네트워크나 인터네트워크에 있는 호스트에 대한 고유한 32비트 주소.


네트워크 -- 본 문서에서는 네트워크라는 용어가 두 가지 의미로 사용됩니다. 하나는 하나의 실제
네트워크 세그먼트에 있는 컴퓨터 그룹을 나타내고, 다른 하나는 시스템 관리자가 할당한 IP 네트워
크 주소 범위를 나타냅니다.


네트워크 주소 -- 호스트 부분이 모두 0으로 이루어진 IP 주소


옥텟 -- 4개가 모여 32비트 IP 주소를 구성하는 8비트 숫자. 십진수 0-255에 해당하는
00000000-11111111의 범위를 갖고 있습니다.


패킷 -- TCP/IP 네트워크나 광대역 네트워크를 통해 전달되는 데이터 단위


RFC(Request for Comment) -- 인터넷에서 표준을 정의하는 데 사용되는 문서


라우터 -- 다른 IP 네트워크 간에 네트워크 트래픽을 전달하는 장치


서브넷 마스크 -- IP 주소의 네트워크 부분과 호스트 부분을 구분하는 데 사용되는 32비트 숫자


서브넷 또는 서브네트워크 -- 규모가 큰 네트워크를 같은 크기로 나누면 만들어지는 작은 규모의
네트워크


TCP/IP -- 넓은 의미에서, 인터넷이나 대규모 네트워크에서 일반적으로 사용되는 프로토콜,
표준 및 유틸리티 세트.


WAN(Wide area network) -- 라우터로 구분된 작은 규모의 네트워크를 모은 대규모 네트워크.
인터넷을 아주 큰 규모의 WAN이라고 할 수 있습니다.
서브넷팅



서브넷팅된 특정 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


서브넷마스크/서브넷팅

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다