로그인하고 있지 않습니다. 편집하면 당신의 IP 주소가 공개적으로 기록됩니다. 계정을 만들고 로그인하면 편집 시 사용자 이름만 보이며, 위키 이용에 여러 가지 편의가 주어집니다.스팸 방지 검사입니다. 이것을 입력하지 마세요!== 버전 4 == 버전 4의 주소 체계는 4바이트(32비트) 정수형을 사용한다. 이 주소 공간에는 이론적으로 4,294,967,296개(42억 개)의 주소를 할당할 수 있다. 이 주소 공간은 버전 4가 제정될 당시의 컴퓨터가 충분히 처리를 가능할 수 있던 공간이면서도, 당시에 생각했던 네트워크 구성을 어느 정도 달성할 수 있다고 여겨졌기 때문에 이 정도로도 충분하다고 인식했던 것이다. 현재의 버전 4 주소 체계는 주소 공간의 부족으로 인해 많이 뒤틀려 있다. 주소의 표현 방식은 각각 1바이트씩 끊어서, 각 바이트는 10진수로, 각 바이트 사이에 온점 "."을 넣는 것이 일반적이다. v4의 IP 주소 체계는 크게 두 부분으로 나뉜다. * '''네트워크 주소''': 네트워크 식별자로, "네트워크 ID"라고 하기도 한다. 앞의 몇 자리(가변)이 네트워크 주소이다. * '''호스트 주소''': 네트워크 주소를 제외한 나머지 부분. 해당 네트워크 주소(네트워크) 안에서 장비를 구분하기 위한 주소이다. 각 주소 체계에서 네트워크 주소 부분만 남기고, 나머지 호스트 주소의 비트를 전부 0으로 채우는 경우를 '''네트워크 주소'''라 부르고, 반대로 호스트 주소의 비트를 전부 1로 채우는 경우를 '''[[브로드캐스트]] 주소'''라 부른다. 브로드캐스트 주소는 네트워크에 연결된 모든 호스트들에 자료를 전송하기 위한 주소이며, 주로 호출 용도로 사용한다. 이들 주소는 호스트에 할당할 수 없는 주소다. ==== Classful Addressing ==== 초창기의 구성에 사용된, 가장 먼저 출발한 것이 Classful Addressing이다. 이 방식은 IP 주소 체계의 앞 부분 몇 비트만을 보고, 해당 네트워크의 규모를 자동으로 설정하는 방식이었다. 목적지 주소가 내부 네트워크 주소 대역을 벗어나는 경우 호스트는 자동으로 [[라우터]]로 패킷을 보낸다. {| class="wikitable" |- ! 클래스 ! IP 주소<br />접두 비트 ! 속하는 IP 주소 범위 ! 서브넷 마스크<ref>사실 서브넷 마스크는 Classful 주소 체계의 공간에 한계가 있어, 서브네팅이란 개념이 고안되면서 생겨난 것이다. 참고용으로만 기입해둔다.</ref> ! 네트워크 주소 크기 ! 호스트 주소 크기 |- | style="text-align: center;" | 클래스 A | 0___ ____ ... | 0.0.0.0 ~ 127.255.255.255 | style="text-align: center;" | 255.0.0.0 | style="text-align: center;" | 8 비트<br />(127개 네트워크) | style="text-align: center;" | 24 비트<br />(16,777,216개 호스트) |- | style="text-align: center;" | 클래스 B | 10__ ____ ... | 128.0.0.0 ~ 191.255.255.255 | style="text-align: center;" | 255.255.0.0 | style="text-align: center;" | 16 비트<br />(16,384개 네트워크) | style="text-align: center;" | 16 비트<br />(65,536개 호스트) |- | style="text-align: center;" | 클래스 C | 110_ ____ ... | 192.0.0.0 ~ 223.255.255.255 | style="text-align: center;" | 255.255.255.0 | style="text-align: center;" | 24 비트<br />(2,097,152개 네트워크) | style="text-align: center;" | 8 비트<br />(256개 호스트) |- | style="text-align: center;" | 클래스 D | 1110 ____ ... | 224.0.0.0 ~ 239.255.255.255 | style="text-align: center;" | 지정되지 않음 | style="text-align: center;" colspan=2 | [[멀티캐스트]]용 주소 |- | style="text-align: center;" | 클래스 E | 1111 ____ ... | 240.0.0.0 ~ 255.255.255.255 | style="text-align: center;" | 지정되지 않음 | style="text-align: center;" colspan=2 | 예약됨, 장래 사용 용도 |- |} 하지만 보다시피, 클래스 A의 경우에는 네트워크 수가 고작 127개 밖에 되지 않지만 그 안에 1600만개가 넘는 호스트를 '''단일 네트워크'''에 구겨넣어야 하는 일이 벌어진다. 특히 인터넷 초창기에 MIT, IBM 등이 이 주소를 가져갔는데 상식적으로 그 안에서 이 만큼의 호스트를 물리적으로 단일 네트워크로 구성하는 것은 말이 안 되기 대문에 비효율적이라는 논란이 일었다. 클래스 B의 경우에도 65,536개면 그다지 크지는 않아 보이지만, 이 역시 물리적으로 6만개가 넘는 호스트를 하나로 묶어야 하기 때문에 상당한 부담이 발생한다. 물리적으로 그 만큼의 호스트를 하나의 네트워크로 묶을 수 있다고 해도, 그 안에서 발생하는 [[브로드캐스트]]의 홍수로 인해 네트워크가 항상 과부하 상태일 것이다. 다른 방향으로는 블럭 크기가 3단계로만 구분되다 보니 적당한 크기의 블럭을 지정하기 힘들다는 문제가 있었다. 효율적인 네트워크를 구축하기 위해서는 다운사이징이 필수불가결했고, 그래서 나온 개념이 바로 밑에서 서술하는 CIDR이다. === CIDR === * Classless Inter-Domain Routing 기존의 Classful 주소 체계가 IP 주소 앞 자리만 보고 IP 주소의 네트워크 주소 범위와 호스트 주소 범위를 별도로 설정했던 것과는 달리, 가변 길이 서브넷 마스크(VLSM) 개념을 도입해 네트워크 주소를 구분한다. 임의의 주소에 서브넷 마스크를 비트로 AND 연산하면 나오는 결과를 네트워크 주소로 인식해, 서브넷 마스크에 0으로 채워진 부분을 호스트 주소로 사용하겠다고 하는 것이다. 예를 들어 우리가 일반적으로 아는 사설 주소 중 하나인 192.168.17.235을 예로 들어보자. 이 주소는 클래스 C 대역이므로 서브넷 마스크 255.255.255.0이 자동으로 설정된다. {| class="wikitable" style="text-align: center;" |- ! 종류 ! 10진수 표현 ! 바이너리 표현 |- | 원본 주소 | 192.168.17.235 | <syntaxhighlight lang="c">11000000.10101000.00010001.11101011</syntaxhighlight> |- | colspan="2" | | AND (&) |- | 서브넷 마스크 | 255.255.255.0 | <syntaxhighlight lang="c">11111111.11111111.11111111.00000000</syntaxhighlight> |- | colspan="2" | | = |- | 네트워크 주소 | 192.168.17.0 | <syntaxhighlight lang="c">11000000.10101000.00010001.00000000</syntaxhighlight> |- | 호스트 주소 | 0.0.0.235 | <syntaxhighlight lang="c">00000000.00000000.00000000.11101011</syntaxhighlight> |- |} 이를 통해 네트워크 규모를 마음대로 정할 수 있게 되었다. 네트워크를 쪼개는 것은 서브네팅, 네트워크를 합치는 것은 슈퍼네팅이다. B클래스 대역의 주소 6만 5천개를 쪼개어 3만 여개의 주소 대역으로 만드는 것을 서브네팅, 이웃한 대역과 합쳐 12만 여개의 주소 대역으로 만드는 것을 슈퍼네팅이라고 할 수 있다. 대개는 서브네팅 개념만 활용되고, 슈퍼네팅은 상위 네트워크 규모를 서브네팅하는 것과 같고, 축약과 헷갈리기 쉬워서 잘 다루지 않는다. 서브넷 마스크는 IP와 같은 길이로 비트로 쪼개면 32개이며, 여기서 1의 갯수를 세서 "서브넷 프리픽스"라는 이름으로 표현하기도 한다. "192.168.25.228/16"이라는 표현은 해당 호스트의 IP 주소를 뜻하면서, 해당 호스트가 192.168.0.0 네트워크 ID와 255.255.0.0 서브넷 마스크를 가지는 네트워크에 속함을 동시에 표현한 것이다. 서브넷 마스크는 앞부터 1을 채워가므로 규칙적으로 표현된다. {| class="wikitable" |- ! 프리픽스 ! 서브넷 마스크 ! 바이너리 표현 ! 호스트 개수 ! 비고 |- | /0 | 0.0.0.0 | 00000000.00000000.00000000.00000000 | style="text-align:right;" | 4,294,967,296개 | 기본 라우팅 |- | /1 | 128.0.0.0 | 10000000.00000000.00000000.00000000 | style="text-align:right;" | 2,147,483,648개 | |- | /2 | 192.0.0.0 | 11000000.00000000.00000000.00000000 | style="text-align:right;" | 1,073,741,824개 | |- | /3 | 224.0.0.0 | 11100000.00000000.00000000.00000000 | style="text-align:right;" | 536,870,912개 | |- | /4 | 240.0.0.0 | 11110000.00000000.00000000.00000000 | style="text-align:right;" | 268,435,456개 | |- | /5 | 248.0.0.0 | 11111000.00000000.00000000.00000000 | style="text-align:right;" | 134,217,728개 | |- | /6 | 252.0.0.0 | 11111100.00000000.00000000.00000000 | style="text-align:right;" | 67,108,864개 | |- | /7 | 254.0.0.0 | 11111110.00000000.00000000.00000000 | style="text-align:right;" | 33,554,432개 | |- | /8 | 255.0.0.0 | 11111111.00000000.00000000.00000000 | style="text-align:right;" | 16,777,216개 | A클래스 |- | /9 | 255.128.0.0 | 11111111.10000000.00000000.00000000 | style="text-align:right;" | 8,388,608개 | |- | /10 | 255.192.0.0 | 11111111.11000000.00000000.00000000 | style="text-align:right;" | 4,194,304개 | |- | /11 | 255.224.0.0 | 11111111.11100000.00000000.00000000 | style="text-align:right;" | 2,097,152개 | |- | /12 | 255.240.0.0 | 11111111.11110000.00000000.00000000 | style="text-align:right;" | 1,048,576개 | |- | /13 | 255.248.0.0 | 11111111.11111000.00000000.00000000 | style="text-align:right;" | 524,288개 | |- | /14 | 255.252.0.0 | 11111111.11111100.00000000.00000000 | style="text-align:right;" | 262,144개 | |- | /15 | 255.254.0.0 | 11111111.11111110.00000000.00000000 | style="text-align:right;" | 131,072개 | |- | /16 | 255.255.0.0 | 11111111.11111111.00000000.00000000 | style="text-align:right;" | 65,536개 | B클래스 |- | /17 | 255.255.128.0 | 11111111.11111111.10000000.00000000 | style="text-align:right;" | 32,768개 | |- | /18 | 255.255.192.0 | 11111111.11111111.11000000.00000000 | style="text-align:right;" | 16,384개 | |- | /19 | 255.255.224.0 | 11111111.11111111.11100000.00000000 | style="text-align:right;" | 8,192개 | |- | /20 | 255.255.240.0 | 11111111.11111111.11110000.00000000 | style="text-align:right;" | 4,096개 | |- | /21 | 255.255.248.0 | 11111111.11111111.11111000.00000000 | style="text-align:right;" | 2,048개 | |- | /22 | 255.255.252.0 | 11111111.11111111.11111100.00000000 | style="text-align:right;" | 1,024개 | |- | /23 | 255.255.254.0 | 11111111.11111111.11111110.00000000 | style="text-align:right;" | 512개 | |- | /24 | 255.255.255.0 | 11111111.11111111.11111111.00000000 | style="text-align:right;" | 256개 | C클래스 |- | /25 | 255.255.255.128 | 11111111.11111111.11111111.10000000 | style="text-align:right;" | 128개 | |- | /26 | 255.255.255.192 | 11111111.11111111.11111111.11000000 | style="text-align:right;" | 64개 | |- | /27 | 255.255.255.224 | 11111111.11111111.11111111.11100000 | style="text-align:right;" | 32개 | |- | /28 | 255.255.255.240 | 11111111.11111111.11111111.11110000 | style="text-align:right;" | 16개 | |- | /29 | 255.255.255.248 | 11111111.11111111.11111111.11111000 | style="text-align:right;" | 8개 | |- | /30 | 255.255.255.252 | 11111111.11111111.11111111.11111100 | style="text-align:right;" | 4개 | |- | /31 | 255.255.255.254 | 11111111.11111111.11111111.11111110 | style="text-align:right;" | 2개 | 사용 불가 |- | /32 | 255.255.255.255 | 11111111.11111111.11111111.11111111 | style="text-align:right;" | 1개 | 사용 불가 |} 서브넷 마스크의 숫자가 커질수록 할당 가능한 호스트 개수는 감소한다. 위에서 언급했듯이 네트워크 ID와 [[브로드캐스트]] 주소는 실제 호스트에 할당할 수 없다고 했다. 이 2개 주소는 자연스럽게 네트워크 첫 주소와 마지막 주소를 가져간다. 그래서 통신에 필요한 최소 호스트 갯수인 2개 호스트에 IP주소를 주려면 최소 4개의 IP주소가 필요하다. 그러므로 4개 미만의 주소가 할당되는 /31과 /32는 이론상으로만 존재하고 실제로는 사용할 수 없다. 오래된 라우터를 굴리는 곳에서는 기존 Classful Addressing 기반과 충돌하지 않도록 각 클래스의 네트워크 ID, 브로드캐스트 주소를 담고 있는 서브넷(All-zero 서브넷, All-one 서브넷)을 사용하지 않는 것이 좋다. === 예약된 주소 === 예약된 주소는 통신망 운용의 효율성, 연구·개발, 자가진단 등의 목적으로 미리 제껴둔 주소들을 말한다. 이 주소들은 ISP를 포함한 글로벌 네트워크에 접속하는 호스트에 할당될 수 없으며 입력하려고 하면 오류를 뱉는다. {|class=wikitable ! 대역 || 시작 주소 || 끝 주소 || 목적 |- ! 0.0.0.0/8 | 0.0.0.0 || 0.255.255.255.255 || 미상의 주소(아직 IP가 할당되지 않은 상태) |- ! 10.0.0.0/8 | 10.0.0.0 || 10.255.255.255 || 사설 주소(클래스A 대역) |- ! 127.0.0.0/8 | 127.0.0.0 || 127.255.255.255 || 루프백 주소(자가진단용) |- ! 169.254.0.0/16 | 169.254.0.0 || 169.254.255.255 || 사설 주소(APIPA) |- ! 172.16.0.0/12 | 172.16.0.0 || 172.31.255.255 || 사설 주소(클래스B 대역) |- ! 192.168.0.0/16 | 192.168.0.0 || 192.168.255.255 || 사설 주소(클래스C 대역) |- ! 224.0.0.0/4 | 224.0.0.0 || 239.255.255.255 || 멀티캐스트(클래스D) |- ! 240.0.0.0/4 | 240.0.0.0 || 255.255.255.255 || 예약 주소(클래스E) |- ! CIDR 내 첫 주소 | colspan=3 | 네트워크 ID |- ! CIDR 내 마지막 주소 | colspan=3 | IP 브로드캐스팅 주소 |- ! 255.255.255.255 | colspan=3 | 로컬 브로드캐스팅 주소 |} 요약: 리브레 위키에서의 모든 기여는 크리에이티브 커먼즈 저작자표시-동일조건변경허락 3.0 라이선스로 배포됩니다(자세한 내용에 대해서는 리브레 위키:저작권 문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요. 글이 직접 작성되었거나 호환되는 라이선스인지 확인해주세요. 리그베다 위키, 나무위키, 오리위키, 구스위키, 디시위키 및 CCL 미적용 사이트 등에서 글을 가져오실 때는 본인이 문서의 유일한 기여자여야 하고, 만약 본인이 문서의 유일한 기여자라는 증거가 없다면 그 문서는 불시에 삭제될 수 있습니다. 취소 편집 도움말 (새 창에서 열림) | () [] [[]] {{}} {{{}}} · <!-- --> · [[분류:]] · [[파일:]] · [[미디어:]] · #넘겨주기 [[]] · {{ㅊ|}} · <onlyinclude></onlyinclude> · <includeonly></includeonly> · <noinclude></noinclude> · <br /> · <ref></ref> · {{각주}} · {|class="wikitable" · |- · rowspan=""| · colspan=""| · |} {{lang|}} · {{llang||}} · {{인용문|}} · {{인용문2|}} · {{유튜브|}} · {{다음팟|}} · {{니코|}} · {{토막글}} {{삭제|}} · {{특정판삭제|}}(이유를 적지 않을 경우 기각될 가능성이 높습니다. 반드시 이유를 적어주세요.) {{#expr:}} · {{#if:}} · {{#ifeq:}} · {{#iferror:}} · {{#ifexist:}} · {{#switch:}} · {{#time:}} · {{#timel:}} · {{#titleparts:}} __NOTOC__ · __FORCETOC__ · __TOC__ · {{PAGENAME}} · {{SITENAME}} · {{localurl:}} · {{fullurl:}} · {{ns:}} –(대시) ‘’(작은따옴표) “”(큰따옴표) ·(가운뎃점) …(말줄임표) ‽(물음느낌표) 〈〉(홑화살괄호) 《》(겹화살괄호) ± − × ÷ ≈ ≠ ∓ ≤ ≥ ∞ ¬ ¹ ² ³ ⁿ ¼ ½ ¾ § € £ ₩ ¥ ¢ † ‡ • ← → ↔ ‰ °C µ(마이크로) Å °(도) ′(분) ″(초) Α α Β β Γ γ Δ δ Ε ε Ζ ζ Η η Θ θ Ι ι Κ κ Λ λ Μ μ(뮤) Ν ν Ξ ξ Ο ο Π π Ρ ρ Σ σ ς Τ τ Υ υ Φ φ Χ χ Ψ ψ Ω ω · Ά ά Έ έ Ή ή Ί ί Ό ό Ύ ύ Ώ ώ · Ϊ ϊ Ϋ ϋ · ΐ ΰ Æ æ Đ(D with stroke) đ Ð(eth) ð ı Ł ł Ø ø Œ œ ß Þ þ · Á á Ć ć É é Í í Ĺ ĺ Ḿ ḿ Ń ń Ó ó Ŕ ŕ Ś ś Ú ú Ý ý Ź ź · À à È è Ì ì Ǹ ǹ Ò ò Ù ù · İ Ż ż ·  â Ĉ ĉ Ê ê Ĝ ĝ Ĥ ĥ Î î Ĵ ĵ Ô ô Ŝ ŝ Û û · Ä ä Ë ë Ï ï Ö ö Ü ü Ÿ ÿ · ǘ ǜ ǚ ǖ · caron/háček: Ǎ ǎ Č č Ď ď Ě ě Ǐ ǐ Ľ ľ Ň ň Ǒ ǒ Ř ř Š š Ť ť Ǔ ǔ Ž ž · breve: Ă ă Ğ ğ Ŏ ŏ Ŭ ŭ · Ā ā Ē ē Ī ī Ō ō Ū ū · à ã Ñ ñ Õ õ · Å å Ů ů · Ą ą Ę ę · Ç ç Ş ş Ţ ţ · Ő ő Ű ű · Ș ș Ț ț