경고 : 최신판이 아닙니다. 이 문서의 오래된 판을 편집하고 있습니다. 이것을 저장하면, 이 판 이후로 바뀐 모든 편집이 사라집니다. 로그인하고 있지 않습니다. 편집하면 당신의 IP 주소가 공개적으로 기록됩니다. 계정을 만들고 로그인하면 편집 시 사용자 이름만 보이며, 위키 이용에 여러 가지 편의가 주어집니다.스팸 방지 검사입니다. 이것을 입력하지 마세요!'''Internet Protocol''' [[인터넷]]에 사용되는 통신 규약이다. 현재 버전 4와 버전 6이 사용되고 있다. == 대중적으로 사용되는 명칭 == 일반적으로 IP라고 하면 '''IP 주소'''를 말하는 경우가 대부분이다. '''IP 주소'''는 IP에서 목적지까지 패킷을 전달하기 위해 사용하는 주소 집합으로 자세한 내용은 밑을 참조. IP 주소만을 가지고 호스트의 위치를 특정할 수 있느냐 없느냐하는 경우가 많은데(이른바 IP 추적), IP 서브네팅 구성상 물리적으로 기지국 단위가 하나의 서브넷을 구성하는 경우가 많아서 사실 어느 정도 특정은 할 수 있다. 다만, 완벽한 것은 아니고 이러한 점을 ISP도 잘 알고 있기 때문에 일정 주기를 채우면 할당된 서브넷을 바꿔버리는 경우도 많다. 일반적으로 사용되는 단어에는 유동 IP과 고정 IP도 있다. 유동은 변하는 IP란 뜻인데, 사실 이는 IP를 받아오는 [[DHCP]]에 의해 주소가 바뀔 수 있기 때문에 일어나는 현상이다. 아니면 위에 말했듯이 ISP가 주기적으로 해당 네트워크 주소를 바꿈으로써 발생하는 현상일 수도 있다. 다만 이들 명칭은 정식 명칭은 아니며, 밑에서 그 원리를 찾아보길 바란다. == 원리와 목적 == IP는 [[패킷 스위칭]] 기법, 즉 선로를 예약하는 방식이 아니라, 신호를 툭 던지며 여러 신호를 한 선로에 다닐 수 있게 한 방식에서 출발했다. 때문에 한 사용자가 다른 사용자에게 전화를 걸면 그 선로는 그 두 사람간의 통신에 전부 사용되는(dedicate) 방식이 아니고, 선로를 여러 사람이 동시에 사용할 수 있도록 한 방식이다. IP 자체의 목적은 출발지에서 도착지를 찾아가기 위한 것이다. 그래서 도착지를 찾기 위한 단서로 도착지 주소를 가지고 있으며, 그걸 IP 주소라고 부르는 것이다. == 버전 4 == 버전 4는 [[1981년#9월|1981년 9월]]에 RFC 791을 통해 발표된, 상당히 역사 깊고, 현재 이 페이지를 보고 있는 대부분의 사용자 컴퓨터가 사용 중인 프로토콜이다. 버전 4의 주소 체계는 4바이트(32비트) 정수형을 사용한다. 이 주소 공간에는 이론적으로는 42억개의 주소를 할당할 수 있다. 이 주소 공간은 버전 4가 제정될 당시의 컴퓨터가 충분히 처리를 가능할 수 있던 공간이면서도, 당시에 생각했던 네트워크 구성을 어느 정도 달성할 수 있다고 여겨졌기 때문에 이 정도로도 충분하다고 인식했던 것이다. 주소의 표현 방식은 각각 1바이트씩 끊어서, 각 바이트는 10진수로, 각 바이트 사이에 온점 "."을 넣는 것이 일반적이다. 다음은 IP 주소의 예시이다. * 10.27.18.193 * 127.0.155.7 * 169.254.0.1 * 192.168.133.1 === 주소 체계 === 현재의 버전 4 주소 체계는 주소 공간 등의 부족으로 인해 많이 뒤틀려 있다. IP 주소 체계는 크게 두 부분으로 나뉜다. * '''네트워크 주소''': 같은 네트워크에 붙여지는 주소. 다른 네트워크인지 구분하기 위해서 붙여져 있다. 앞의 몇 자리(가변)이 네트워크 주소이다. * '''호스트 주소''': 네트워크 주소를 제외한 나머지 부분. 해당 네트워크 주소(네트워크) 안에서 구분하기 위한 주소이다. 각 주소 체계에서 네트워크 주소 부분만 남기고, 나머지 호스트 주소의 비트를 전부 0으로 채우는 경우를 '''네트워크 주소'''라 부르고, 반대로 호스트 주소의 비트를 전부 1로 채우는 경우를 '''브로드캐스트 주소'''라 부른다. 브로드캐스트 주소는 네트워크에 연결된 모든 호스트들에 자료를 전송하기 위한 주소다. ==== Classful Addressing ==== 초창기의 구성에 사용된, 가장 먼저 출발한 것이 Classful Addressing이다. 이 방식은 IP 주소 체계의 앞 부분 몇 비트만을 보고, 해당 네트워크의 규모를 자동으로 설정하는 방식이었다. {| class="wikitable" |- ! 클래스 ! IP 주소<br />접두 비트 ! 네트워크 주소 크기 ! 호스트 주소 크기 ! 속하는 IP 주소 범위 ! 서브넷 마스크<ref>사실 서브넷 마스크는 Classful 주소 체계의 공간에 한계가 있어, 서브네팅이란 개념이 고안되면서 생겨난 것이다. 참고용으로만 기입해둔다.</ref> ! 용도 |- | style="text-align: center;" | 클래스 A | 0__ ____ ... | style="text-align: center;" | 8 비트<br />(256개 호스트) | style="text-align: center;" | 24 비트<br />(16,777,216개 호스트) | 0.0.0.0 ~ 127.255.255.255 | style="text-align: center;" | 255.0.0.0 | style="text-align: center;" | 대형 기관 혹은 대형 ISP 할당 주소 |- | style="text-align: center;" | 클래스 B | 10__ ____ ... | style="text-align: center;" | 16 비트<br />(65,536개 호스트) | style="text-align: center;" | 16 비트<br />(65,536개 호스트) | 128.0.0.0 ~ 191.255.255.255 | style="text-align: center;" | 255.255.0.0 | style="text-align: center;" | 중형 기관 혹은 중형 ISP 할당 주소 |- | style="text-align: center;" | 클래스 C | 110_ ____ ... | style="text-align: center;" | 24 비트<br />(16,777,216개 호스트) | style="text-align: center;" | 8 비트<br />(256개 호스트) | 192.0.0.0 ~ 223.255.255.255 | style="text-align: center;" | 255.255.255.0 | style="text-align: center;" | 소형 기관 혹은 소형 ISP 할당 주소 |- | style="text-align: center;" | 클래스 D | 1110 ____ ... | style="text-align: center;" | 지정되지 않음 | style="text-align: center;" | 지정되지 않음 | 224.0.0.0 ~ 239.255.255.255 | style="text-align: center;" | 지정되지 않음 | style="text-align: center;" | [[멀티캐스트]]용 주소 |- | style="text-align: center;" | 클래스 E | 1111 ____ ... | style="text-align: center;" | 지정되지 않음 | style="text-align: center;" | 지정되지 않음 | 240.0.0.0 ~ 255.255.255.255 | style="text-align: center;" | 지정되지 않음 | style="text-align: center;" | 예약됨, 장래 사용 용도 |- |} 하지만 보다시피, 클래스 A의 경우에는 고작 호스트 수가 256개<ref>실제로는 몇몇 예약된 주소들 때문에 전부 사용 가능하지는 않다.</ref> 밖에 되지 않지만 그 안에 1600만개가 넘는 호스트를 '''단일 네트워크'''로 구성해야 하는 일이 벌어진다. 때문에 인터넷 초창기에 MIT, IBM 등은 이 주소를 가져갔는데 상식적으로 그 안에서 이 만큼의 호스트를 물리적으로 단일 네트워크로 구성하는 것은 말이 안 되기 대문에 비효율적이라는 논란이 일었다. 클래스 B의 경우에도 65,536개<ref>실질적으로는 네트워크 주소와 브로드캐스트 주소를 제외하기 때문에 2개를 빼야한다</ref>면 그다지 크지는 않아 보이지만, 이 역시 물리적으로 6만개가 넘는 호스트를 하나로 묶어야 하기 때문에 상당한 부담이 발생했다. 그래서 나온 개념이 바로 밑에서 서술하는 서브네팅이다. === 서브네팅 === 기존의 Classful 주소 체계가 IP 주소 앞 자리만 보고 IP 주소의 네트워크 주소 범위와 호스트 주소 범위를 별도로 설정했던 것과는 달리, 서브네팅은 '''서브넷 마스크'''라는 개념을 도입해 네트워크 주소를 구분한다. 임의의 주소에 서브넷 마스크를 AND 연산하면 나오는 결과를 네트워크 주소로 인식해, 서브넷 마스크에 0으로 채워진 부분을 호스트 주소로 사용하겠다고 하는 것이다. 예를 들어 우리가 일반적으로 아는 사설 주소 중 하나인 192.168.17.235을 예로 들어보자. {| class="wikitable" style="text-align: center;" |- ! 종류 ! 10진수 표현 ! 바이너리 표현 |- | 원본 주소 | 192.168.17.235 | <source lang="c">11000000.10101000.00010001.11101011</source> |- | colspan="2" | | AND (&) |- | 서브넷 마스크 | 255.255.255.0 | <source lang="c">11111111.11111111.11111111.00000000</source> |- | colspan="2" | | = |- | 네트워크 주소 | 192.168.17.0 | <source lang="c">11000000.10101000.00010001.00000000</source> |- | 호스트 주소 | 0.0.0.235 | <source lang="c">00000000.00000000.00000000.11101011</source> |- |} 이를 통해 큰 범위의 네트워크를 쪼갤 수 있게 되었다. == 버전 6 == {{주석}} [[분류:인터넷]] 요약: 리브레 위키에서의 모든 기여는 크리에이티브 커먼즈 저작자표시-동일조건변경허락 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: Ă ă Ğ ğ Ŏ ŏ Ŭ ŭ · Ā ā Ē ē Ī ī Ō ō Ū ū · à ã Ñ ñ Õ õ · Å å Ů ů · Ą ą Ę ę · Ç ç Ş ş Ţ ţ · Ő ő Ű ű · Ș ș Ț ț 이 문서에서 사용한 틀: 틀:각주 (원본 보기) (준보호됨)틀:주석 (편집)