익명 사용자
로그인하지 않음
계정 만들기
로그인
youngwiki
검색
IPv4 Addressing 문서 원본 보기
youngwiki
이름공간
문서
토론
더 보기
더 보기
문서 행위
읽기
원본 보기
역사
←
IPv4 Addressing
문서 편집 권한이 없습니다. 다음 이유를 확인해주세요:
요청한 명령은 다음 권한을 가진 사용자에게 제한됩니다:
사용자
.
문서의 원본을 보거나 복사할 수 있습니다.
상위 문서: [[Internet Protocol]] ==개요== '''호스트와 물리적 네트워크 링크(physical network link) 간의 접점을 인터페이스(interface)'''라고 한다. 예를 들어 호스트는 보통 Wi-Fi나 이더넷(Ethernet) 포트을 통해서만 네트워크와 연결될 수 있으므로, Wi-Fi나 이더넷이 호스트의 인터페이스이다. 또한 라우터(router)는 여러개의 링크(네트워크)와 연결되어 있으므로 해당 링크의 개수만큼 인터페이스를 가진다. 이때 각 호스트와 라우터는 IP 데이터그램을 송수신할 수 있기 때문에 IP(Internet Protocol)는 각 호스트와 라우터의 인터페이스마다 고유한 IP 주소를 요구한다. 즉, '''IP 주소는 호스트나 라우터 자체가 아닌 그 안에 있는 개별 인터페이스에 할당'''된다. 이는 라우터와 같이 여러 인터페이스를 가지고 있는 장치가 있을 수 있기 때문이다.<ref>어떤 라우터는 192.168.1.1, 10.0.0.1, 172.16.0.1 같은 여러 주소를 가질 수 있다.</ref><br> 각 IP 주소는 32비트(4바이트) 길이이며, 따라서 총 2<sup>32</sup>개, 약 40억 개의 IP 주소가 존재할 수 있다. 이 주소들은 <code>.</code>으로 구분된 10진수 표기로 쓰인다. 즉, 주소의 각 바이트를 10진수로 쓰고, 각 바이트를 마침표(.)로 구분한다. 예를 들어 IP 주소 <code>193.32.216.9</code>는 다음과 같다: * 193은 처음 8비트를 10진수로 나타낸 것, * 32는 두 번째 8비트, * 216은 세 번째, * 9는 마지막 8비트에 해당한다. 따라서 <code>193.32.216.9</code>는 2진수로 표현하면 다음과 같다: 11000001 00100000 11011000 00001001 인터넷에 연결된 모든 호스트와 라우터의 각 인터페이스는 전세계에서 유일한 IP 주소를 가져야 한다.<ref>단, NAT 뒤에 있는 인터페이스는 예외이다.</ref> 이때 IP 주소는 아무렇게나 지정되지 않고 '''ICANN'''(Internet Corporation for Assigned Names and Numbers)이라고 하는 협회에서 관리한다. ==Subnet== Figure 4는 각각의 인터페이스에 IP 주소가 지정이되는 예시를 보여준다. 해당 이미지에서는 세 개의 인터페이스를 가진 하나의 라우터가 일곱 개의 호스트를 연결하고 있는데, 인터페이스에 할당된 IP 주소를 유심히 살펴보면 주목할 점이 존재한다. Figure 4의 왼쪽 상단에 있는 세 개의 호스트와, 이들이 연결된 라우터의 인터페이스는 모두 223.1.1.xxx 형식의 IP 주소를 가지고 있다. 즉, 이 네 개의 인터페이스는 IP 주소의 왼쪽 24비트가 동일하다. 또한 해당 네 개의 인터페이스는 라우터 없이 하나의 네트워크로 연결되어 있다.<ref>해당 인터페이스들은 이더넷 스위치로 연결되어 있거나, 무선 액세스 포인트에 의해서 연결되었을 것이다.</ref><br> 이렇게 '''라우터를 통하지 않고 물리적으로 통신할 수 있는 호스트들 사이의 네트워크'''를 '''subnet'''이라고 한다. 즉, 네트워크에서 라우터를 뜯어내면 존재하는, 하위 네트워크를 의미한다. 이때 각각의 subnet에는 주소가 할당되며, 해당 예시에서는 <code>223.1.1.0/24</code>에 해당한다. 이때 <code>/24</code>는 subnet mask'''라고 불리며, '''왼쪽부터 24비트가 subnet 주소를 정의'''한다는 것을 의미한다. 해당 subnet에 추가로 호스트를 연결하기 위해서는 해당 호스트의 IP 주소도 <code>223.1.1.0/24</code> 형식을 따라야 한다.<br> IP에서 정의하는 subnet은 호스트가 라우터 인터페이스에 연결된 이터넷 세그먼트에만 국한되지 않는다. Figure 5에는 세 개의 라우터가 point-to-point link로 서로 연결되어있으며 각각 세 개의 인터페이스를 가진다. 이때 figure 5에 존재하는 subnet 중 <code>223.1.1.0/24</code>, <code>223.1.2.0/24</code>, <code>223.1.3.0/24</code>은 figure 4의 subnet들과 비슷하다. 하지만 이 예시에는 추가로 세 개의 subnet이 존재한다: * 라우터 R1과 R2를 연결하는 subnet <code>223.1.9.0/24</code> * 라우터 R2와 R3를 연결하는 subnet <code>223.1.8.0/24</code> * 라우터 R3와 R1을 연결하는 subnet <code>223.1.7.0/24</code> 따라서 호스트와 라우터 시스템에서 subnet을 정하는 것은 어려운 일이지만, 다행히 아래와 같은 subnet을 식별하는 가이드 라인이 있다. 각 인터페이스를 호스트나 라우터에서 분리(detach)시키면, 인터페이스들이 끝점이 되는 고립된 네트워크들의 집합이 형성된다. 각 고립된 네트워크는 하나의 subnet이다. 따라서 이 가이드라인을 figure 5에 적용하면 총 6개의 subnet을 얻을 수 있다.<br> ==CIDR== '''CIDR'''(Classless InterDomain Routing)은 '''subnet 주소 지정 개념을 일반화'''한 인터넷의 주소 할당 전략이다. Subnet 주소 지정과 같이, 32비트 IP 주소는 두 부분으로 나뉘며, 주소 형식은 <code>a.b.c.d/x</code>이다. 이때 <code>x</code>는 주소 앞부분의 비트 수를 의미한다.<br> <code>a.b.c.d/x</code>에서 x개의 최상위 비트는 주소의 네트워크 부분이며, prefix라고 불린다. 이때 어떤 조직(enterprise)에 복수의 라우터들이 존재한다고 하더라도, 같은 조직내에 있는 인터페이스들은 동일한 prefix를 공유한다.<br> 조직 외부의 라우터들은 오직 prefix(최상위 x 비트)만 보고 라우팅을 수행한다. 이는 라우팅의 forwarding table 크기를 크게 줄여준다. 나머지 32-x 비트는 조직 내부의 인터페이스들을 구분하는데 사용된다. 조직 내부의 라우터들은 이 하위 비트들을 기반으로 라우팅 결정을 내린다. 예를 들어, <code>a.b.c.d/21</code>과 같은 IP 주소는 조직의 네트워크 prefix가 21 비트라는 뜻이다. 그리고 남은 11비트는 해당 조직 내의 개별 호스트들의 인터페이스들을 구분하는데 사용된다. 또한 이 11비트 중 일부를 다시 subnetting<ref>Subnet을 또 다른 subnet으로 나누는 것이다.</ref>을 하는데 사용할 수 있다. 예를 들어, <code>a.b.c.d/24</code>와 같은 IP 주소는 추가로 8개의 subnet의 IP 주소를 지정할 수 있다. ===Classful Addressing=== CIDR이 도입되기 전에는 IP 주소의 '''prefix 길이가 반드시 8, 16, 24비트'''로 고정되었는데, 이를 '''Classful Addressing'''이라고 한다. 이는 figure 6와 같이 prefix의 크기를 class로 나누어 구분한다. * [[파일:Classful Addressing.jpg|대체글=Figure 6. Classful Addressing|섬네일|300x300픽셀|Figure 6. Classful Addressing]]A class: 첫 옥텟<ref>맨 앞의 8비트의 10진수 표기이다.</ref>이 1~126에 해당한다. ** 첫 옥텟에 0과 127이 포함되지 않는 이유는 첫 옥텟이 0과 127인 IP 주소는 예약이 되어있기 때문이다.<ref>0은 미지정 주소, 127은 자기 자신을 가리키는 루프백 주소이다.</ref> ** 첫 비트는 항상 0이며 첫 8비트를 네트워크 ID로 사용하고, 나머지 24비트를 호스트 ID로 사용한다. ** 네트워크 ID의 개수는 126개이며, 호스트 ID의 개수는 약 1600만 개이다. ** A 클래스의 주소 범위는 <code>1.0.0.0</code>~<code>126.255.255.255</code>이다. * B class: 첫 옥텟이 128~191에 해당한다. ** 첫 두비트는 항상 10이며 첫 16비트를 네트워크 ID로 사용하고, 나머지 16비트를 호스트 ID로 사용한다. ** 네트워크 ID의 개수는 16,328개이며, 호스트 ID의 개수는 약 65534개이다. ** B 클래스의 주소 범위는 <code>128.0.0.0</code>~<code>191.255.255.255</code>이다. * C class: 첫 옥텟이 192~223에 해당한다. ** 첫 세비트는 항상 110이며 첫 24비트를 네트워크 ID로 사용하고, 나머지 8비트를 호스트 ID로 사용한다. ** 네트워크 ID의 개수는 209만 7150개이며, 호스트 ID의 개수는 254개이다. ** B 클래스의 주소 범위는 <code>192.0.0.0</code>~<code>223.255.255.255</code>이다. 위에서 class C의 호스트 ID의 개수는 8비트를 쓰고 있음에도 256개가 아닌 254개이다. 즉, 2개의 IP 주소가 특수한 용도로 사용되어 호스트에 할당 불가하다. 그 중 하나는 ''''네트워크 주소(network address)'''로 subnet 자체를 나타내는 주소이다. 즉, subnet 전체를 의미하므로 개별 장치에 할당할 수 없다. 네트워크 주소는 IP 주소에서 호스트 ID 부분을 전부 0으로 만든 값에 해당한다.<br> 또다른 하나는 '''브로드캐스트 주소(broadcast address)'''로, subnet 내의 모든 호스트에게 메시지를 전송할 때 사용된다. 즉, 특정 장치가 아닌 전체 호스테에게 전송할 때 사용하므로 개별 장치에 할당할 수 없다. 브로드캐스트 주소는 IP 주소에서 '''호스트 ID 부분을 전부 1으로 만든 값'''에 해당한다. ===Subnetting=== Classful Addressing의 가장 큰 문제는 낭비되는 IP 주소가 많다는 것이다. 예를 들어 class C는 최대 ==각주== [[분류:컴퓨터 네트워크]]
IPv4 Addressing
문서로 돌아갑니다.
둘러보기
둘러보기
대문
최근 바뀜
임의의 문서로
미디어위키 도움말
위키 도구
위키 도구
특수 문서 목록
문서 도구
문서 도구
사용자 문서 도구
더 보기
여기를 가리키는 문서
가리키는 글의 최근 바뀜
문서 정보
문서 기록